import { useLayoutEffect, useState } from "react"; import { View } from "react-native"; import stylesheet from "./stylesheet"; import { NCoreUIKitLocalize, NCoreUIKitTheme, PageContainer, CodeViewer, SelectBox, TextInput, Header, Switch, Chip, Text } from "ncore-ui-kit"; import { useNavigation } from "@react-navigation/native"; import type RootStackParamList from "../../../navigation/type"; import type { NativeStackNavigationProp } from "@react-navigation/native-stack"; import type { IChipProps } from "ncore-ui-kit"; const CHIP_TYPES: Array = [ "primary", "danger", "warning", "success", "info" ]; const CHIP_SPREAD_BEHAVIOURS: Array = [ "baseline", "free" ]; const CHIP_SIZES: Array = [ "small", "medium", "large" ]; const CHIP_TYPES_DATA = CHIP_TYPES.map((item) => ({ __title: item as string, __key: item as string })); const CHIP_SPREAD_BEHAVIOURS_DATA = CHIP_SPREAD_BEHAVIOURS.map((item) => ({ __title: item as string, __key: item as string })); const CHIP_SIZES_DATA = CHIP_SIZES.map((item) => ({ __title: item as string, __key: item as string })); const ChipPage = () => { const { radiuses, borders, spaces, colors } = NCoreUIKitTheme.useContext(); const { localize } = NCoreUIKitLocalize.useContext(); const navigation = useNavigation>(); const [ spreadIndex, setSpreadIndex ] = useState(0); const [ typeIndex, setTypeIndex ] = useState(0); const [ sizeIndex, setSizeIndex ] = useState(1); const [ isClosable, setIsClosable ] = useState(true); const [ isDisabled, setIsDisabled ] = useState(false); const [ isLoading, setIsLoading ] = useState(false); const [ title, setTitle ] = useState("Chip Title"); useLayoutEffect(() => { navigation.setOptions({ header: () =>
, headerShown: true }); }, []); return {localize("chip-desc")} {localize("usage")} "} language="tsx" /> { if (selectedItems.length > 0) { const index = CHIP_TYPES.indexOf( selectedItems[0]! .__key as IChipProps["type"], ); if (index !== -1) setTypeIndex(index); } }} initialSelectedItems={ CHIP_TYPES_DATA[typeIndex] ? [ CHIP_TYPES_DATA[typeIndex]! ] : [] } titleExtractor={(item) => item.__title} title={localize("chip-changeType")} keyExtractor={(item) => item.__key} spreadBehaviour="free" data={CHIP_TYPES_DATA} /> { if (selectedItems.length > 0) { const index = CHIP_SPREAD_BEHAVIOURS.indexOf( selectedItems[0]! .__key as IChipProps["spreadBehaviour"], ); if (index !== -1) setSpreadIndex(index); } }} initialSelectedItems={ CHIP_SPREAD_BEHAVIOURS_DATA[spreadIndex] ? [ CHIP_SPREAD_BEHAVIOURS_DATA[spreadIndex]! ] : [] } titleExtractor={(item) => item.__title} title={localize("chip-changeSpread")} keyExtractor={(item) => item.__key} data={CHIP_SPREAD_BEHAVIOURS_DATA} spreadBehaviour="free" /> { if (selectedItems.length > 0) { const index = CHIP_SIZES.indexOf( selectedItems[0]! .__key as IChipProps["size"], ); if (index !== -1) setSizeIndex(index); } }} initialSelectedItems={ CHIP_SIZES_DATA[sizeIndex] ? [ CHIP_SIZES_DATA[sizeIndex]! ] : [] } titleExtractor={(item) => item.__title} title={localize("chip-changeSize")} keyExtractor={(item) => item.__key} data={CHIP_SIZES_DATA} spreadBehaviour="free" /> { setIsClosable(!isClosable); }} spreadBehaviour="free" isActive={isClosable} /> { setIsLoading(!isLoading); }} spreadBehaviour="free" isActive={isLoading} /> { setIsDisabled(!isDisabled); }} spreadBehaviour="free" isActive={isDisabled} /> ; }; export default ChipPage;