@lmb-it/kitsconcerto-native 0.1.243 → 0.1.245
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/animations/index.cjs +25 -15
- package/animations/index.cjs.map +1 -1
- package/animations/index.js +25 -15
- package/animations/index.js.map +1 -1
- package/apps/mobile/src/Core/AutoComplete/index.cjs +105 -64
- package/apps/mobile/src/Core/AutoComplete/index.cjs.map +1 -1
- package/apps/mobile/src/Core/AutoComplete/index.js +106 -65
- package/apps/mobile/src/Core/AutoComplete/index.js.map +1 -1
- package/apps/mobile/src/Core/Dropdown/index.cjs +2 -0
- package/apps/mobile/src/Core/Dropdown/index.cjs.map +1 -1
- package/apps/mobile/src/Core/Dropdown/index.js +2 -0
- package/apps/mobile/src/Core/Dropdown/index.js.map +1 -1
- package/apps/mobile/src/Core/Trees/components/CoreToolbar.cjs +2 -0
- package/apps/mobile/src/Core/Trees/components/CoreToolbar.cjs.map +1 -1
- package/apps/mobile/src/Core/Trees/components/CoreToolbar.js +2 -0
- package/apps/mobile/src/Core/Trees/components/CoreToolbar.js.map +1 -1
- package/apps/mobile/src/Factory/ResponsiveElement.cjs +2 -0
- package/apps/mobile/src/Factory/ResponsiveElement.cjs.map +1 -1
- package/apps/mobile/src/Factory/ResponsiveElement.js +2 -0
- package/apps/mobile/src/Factory/ResponsiveElement.js.map +1 -1
- package/apps/mobile/src/Factory/helpers/cssVarMap.cjs +16 -0
- package/apps/mobile/src/Factory/helpers/cssVarMap.cjs.map +1 -1
- package/apps/mobile/src/Factory/helpers/cssVarMap.js +16 -0
- package/apps/mobile/src/Factory/helpers/cssVarMap.js.map +1 -1
- package/apps/mobile/src/Factory/helpers/style.cjs +17 -1
- package/apps/mobile/src/Factory/helpers/style.cjs.map +1 -1
- package/apps/mobile/src/Factory/helpers/style.js +17 -1
- package/apps/mobile/src/Factory/helpers/style.js.map +1 -1
- package/apps/mobile/src/Factory/useSeparator.cjs +1 -0
- package/apps/mobile/src/Factory/useSeparator.cjs.map +1 -1
- package/apps/mobile/src/Factory/useSeparator.js +1 -0
- package/apps/mobile/src/Factory/useSeparator.js.map +1 -1
- package/components/Accordion/accordion.cjs +2 -0
- package/components/Accordion/accordion.cjs.map +1 -1
- package/components/Accordion/accordion.js +2 -0
- package/components/Accordion/accordion.js.map +1 -1
- package/components/Badge/index.cjs +2 -0
- package/components/Badge/index.cjs.map +1 -1
- package/components/Badge/index.js +2 -0
- package/components/Badge/index.js.map +1 -1
- package/components/BottomTabBar/index.cjs +2 -0
- package/components/BottomTabBar/index.cjs.map +1 -1
- package/components/BottomTabBar/index.js +2 -0
- package/components/BottomTabBar/index.js.map +1 -1
- package/components/Button/Button.cjs +2 -0
- package/components/Button/Button.cjs.map +1 -1
- package/components/Button/Button.js +2 -0
- package/components/Button/Button.js.map +1 -1
- package/components/MessageComposer/index.cjs +2 -0
- package/components/MessageComposer/index.cjs.map +1 -1
- package/components/MessageComposer/index.js +2 -0
- package/components/MessageComposer/index.js.map +1 -1
- package/components/SegmentedControl/index.cjs +2 -0
- package/components/SegmentedControl/index.cjs.map +1 -1
- package/components/SegmentedControl/index.js +2 -0
- package/components/SegmentedControl/index.js.map +1 -1
- package/components/SkeletonText/index.cjs +2 -0
- package/components/SkeletonText/index.cjs.map +1 -1
- package/components/SkeletonText/index.js +2 -0
- package/components/SkeletonText/index.js.map +1 -1
- package/components/Tabs/index.cjs +2 -0
- package/components/Tabs/index.cjs.map +1 -1
- package/components/Tabs/index.js +2 -0
- package/components/Tabs/index.js.map +1 -1
- package/components/overlay/ConfirmDialog/index.cjs +146 -89
- package/components/overlay/ConfirmDialog/index.cjs.map +1 -1
- package/components/overlay/ConfirmDialog/index.js +147 -90
- package/components/overlay/ConfirmDialog/index.js.map +1 -1
- package/components/overlay/Dialog/index.cjs +90 -64
- package/components/overlay/Dialog/index.cjs.map +1 -1
- package/components/overlay/Dialog/index.js +91 -65
- package/components/overlay/Dialog/index.js.map +1 -1
- package/components/overlay/Toast/index.cjs +59 -24
- package/components/overlay/Toast/index.cjs.map +1 -1
- package/components/overlay/Toast/index.js +62 -27
- package/components/overlay/Toast/index.js.map +1 -1
- package/contexts/Locale/index.cjs +2 -0
- package/contexts/Locale/index.cjs.map +1 -1
- package/contexts/Locale/index.js +2 -0
- package/contexts/Locale/index.js.map +1 -1
- package/contexts/Main/index.cjs +2 -0
- package/contexts/Main/index.cjs.map +1 -1
- package/contexts/Main/index.js +2 -0
- package/contexts/Main/index.js.map +1 -1
- package/contexts/Theme/KitsThemeProvider.cjs +2 -0
- package/contexts/Theme/KitsThemeProvider.cjs.map +1 -1
- package/contexts/Theme/KitsThemeProvider.js +2 -0
- package/contexts/Theme/KitsThemeProvider.js.map +1 -1
- package/contexts/Theme/index.cjs +1 -0
- package/contexts/Theme/index.cjs.map +1 -1
- package/contexts/Theme/index.js +1 -0
- package/contexts/Theme/index.js.map +1 -1
- package/contexts/Theme/resolvers.cjs +4 -0
- package/contexts/Theme/resolvers.cjs.map +1 -1
- package/contexts/Theme/resolvers.js +4 -0
- package/contexts/Theme/resolvers.js.map +1 -1
- package/data/DataView/Pagination/index.cjs +2 -0
- package/data/DataView/Pagination/index.cjs.map +1 -1
- package/data/DataView/Pagination/index.js +2 -0
- package/data/DataView/Pagination/index.js.map +1 -1
- package/data/TreeView/index.cjs +2 -0
- package/data/TreeView/index.cjs.map +1 -1
- package/data/TreeView/index.js +2 -0
- package/data/TreeView/index.js.map +1 -1
- package/form/controls/Checkbox/checkbox.cjs +2 -0
- package/form/controls/Checkbox/checkbox.cjs.map +1 -1
- package/form/controls/Checkbox/checkbox.js +2 -0
- package/form/controls/Checkbox/checkbox.js.map +1 -1
- package/form/controls/RadioButton/radiobutton.cjs +2 -0
- package/form/controls/RadioButton/radiobutton.cjs.map +1 -1
- package/form/controls/RadioButton/radiobutton.js +2 -0
- package/form/controls/RadioButton/radiobutton.js.map +1 -1
- package/form/controls/SelectButton/index.cjs +2 -0
- package/form/controls/SelectButton/index.cjs.map +1 -1
- package/form/controls/SelectButton/index.js +2 -0
- package/form/controls/SelectButton/index.js.map +1 -1
- package/form/controls/TriStateCheckbox/index.cjs +2 -0
- package/form/controls/TriStateCheckbox/index.cjs.map +1 -1
- package/form/controls/TriStateCheckbox/index.js +2 -0
- package/form/controls/TriStateCheckbox/index.js.map +1 -1
- package/form/file-pickers/MainUploader/index.cjs +1 -0
- package/form/file-pickers/MainUploader/index.cjs.map +1 -1
- package/form/file-pickers/MainUploader/index.js +1 -0
- package/form/file-pickers/MainUploader/index.js.map +1 -1
- package/form/helpers/ErrorMessage/errormessage.cjs +2 -0
- package/form/helpers/ErrorMessage/errormessage.cjs.map +1 -1
- package/form/helpers/ErrorMessage/errormessage.js +2 -0
- package/form/helpers/ErrorMessage/errormessage.js.map +1 -1
- package/form/helpers/FormContainer/index.cjs +2 -0
- package/form/helpers/FormContainer/index.cjs.map +1 -1
- package/form/helpers/FormContainer/index.js +2 -0
- package/form/helpers/FormContainer/index.js.map +1 -1
- package/form/helpers/Label/label.cjs +2 -0
- package/form/helpers/Label/label.cjs.map +1 -1
- package/form/helpers/Label/label.js +2 -0
- package/form/helpers/Label/label.js.map +1 -1
- package/form/inputs/InputMask/index.cjs +2 -0
- package/form/inputs/InputMask/index.cjs.map +1 -1
- package/form/inputs/InputMask/index.js +2 -0
- package/form/inputs/InputMask/index.js.map +1 -1
- package/form/inputs/InputNumber/index.cjs +2 -0
- package/form/inputs/InputNumber/index.cjs.map +1 -1
- package/form/inputs/InputNumber/index.js +2 -0
- package/form/inputs/InputNumber/index.js.map +1 -1
- package/form/inputs/InputPassword/index.cjs +2 -0
- package/form/inputs/InputPassword/index.cjs.map +1 -1
- package/form/inputs/InputPassword/index.js +2 -0
- package/form/inputs/InputPassword/index.js.map +1 -1
- package/form/inputs/InputSwitch/index.cjs +2 -0
- package/form/inputs/InputSwitch/index.cjs.map +1 -1
- package/form/inputs/InputSwitch/index.js +2 -0
- package/form/inputs/InputSwitch/index.js.map +1 -1
- package/form/inputs/InputText/index.cjs +2 -0
- package/form/inputs/InputText/index.cjs.map +1 -1
- package/form/inputs/InputText/index.js +2 -0
- package/form/inputs/InputText/index.js.map +1 -1
- package/form/inputs/InputTextarea/index.cjs +2 -0
- package/form/inputs/InputTextarea/index.cjs.map +1 -1
- package/form/inputs/InputTextarea/index.js +2 -0
- package/form/inputs/InputTextarea/index.js.map +1 -1
- package/form/inputs/PhoneInput/index.cjs +2 -0
- package/form/inputs/PhoneInput/index.cjs.map +1 -1
- package/form/inputs/PhoneInput/index.js +2 -0
- package/form/inputs/PhoneInput/index.js.map +1 -1
- package/form/inputs/RadiusPicker/components/NumericRadiusInput.cjs +1 -0
- package/form/inputs/RadiusPicker/components/NumericRadiusInput.cjs.map +1 -1
- package/form/inputs/RadiusPicker/components/NumericRadiusInput.js +1 -0
- package/form/inputs/RadiusPicker/components/NumericRadiusInput.js.map +1 -1
- package/form/selects/AutoComplete/index.cjs +2 -0
- package/form/selects/AutoComplete/index.cjs.map +1 -1
- package/form/selects/AutoComplete/index.js +2 -0
- package/form/selects/AutoComplete/index.js.map +1 -1
- package/form/selects/Dropdown/index.cjs +2 -0
- package/form/selects/Dropdown/index.cjs.map +1 -1
- package/form/selects/Dropdown/index.js +2 -0
- package/form/selects/Dropdown/index.js.map +1 -1
- package/form/selects/ListBox/index.cjs +2 -0
- package/form/selects/ListBox/index.cjs.map +1 -1
- package/form/selects/ListBox/index.js +2 -0
- package/form/selects/ListBox/index.js.map +1 -1
- package/form/selects/MultiSelect/index.cjs +2 -0
- package/form/selects/MultiSelect/index.cjs.map +1 -1
- package/form/selects/MultiSelect/index.js +2 -0
- package/form/selects/MultiSelect/index.js.map +1 -1
- package/form/selects/TreeSelect/index.cjs +2 -0
- package/form/selects/TreeSelect/index.cjs.map +1 -1
- package/form/selects/TreeSelect/index.js +2 -0
- package/form/selects/TreeSelect/index.js.map +1 -1
- package/form-renderer/components/layout/FieldWrapper.cjs +2 -0
- package/form-renderer/components/layout/FieldWrapper.cjs.map +1 -1
- package/form-renderer/components/layout/FieldWrapper.js +2 -0
- package/form-renderer/components/layout/FieldWrapper.js.map +1 -1
- package/hooks/shadowPresets.cjs +1 -0
- package/hooks/shadowPresets.cjs.map +1 -1
- package/hooks/shadowPresets.js +1 -0
- package/hooks/shadowPresets.js.map +1 -1
- package/hooks/useFocusStyles.cjs +2 -0
- package/hooks/useFocusStyles.cjs.map +1 -1
- package/hooks/useFocusStyles.js +2 -0
- package/hooks/useFocusStyles.js.map +1 -1
- package/index.cjs +5 -0
- package/index.cjs.map +1 -1
- package/index.d.ts +60 -3
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/layout/Center/index.cjs +2 -0
- package/layout/Center/index.cjs.map +1 -1
- package/layout/Center/index.js +2 -0
- package/layout/Center/index.js.map +1 -1
- package/layout/Container/container.cjs +2 -0
- package/layout/Container/container.cjs.map +1 -1
- package/layout/Container/container.js +2 -0
- package/layout/Container/container.js.map +1 -1
- package/layout/Flex/index.cjs +2 -0
- package/layout/Flex/index.cjs.map +1 -1
- package/layout/Flex/index.js +2 -0
- package/layout/Flex/index.js.map +1 -1
- package/layout/HStack/index.cjs +2 -0
- package/layout/HStack/index.cjs.map +1 -1
- package/layout/HStack/index.js +2 -0
- package/layout/HStack/index.js.map +1 -1
- package/layout/List/index.cjs +2 -0
- package/layout/List/index.cjs.map +1 -1
- package/layout/List/index.js +2 -0
- package/layout/List/index.js.map +1 -1
- package/layout/ListItem/index.cjs +2 -0
- package/layout/ListItem/index.cjs.map +1 -1
- package/layout/ListItem/index.js +2 -0
- package/layout/ListItem/index.js.map +1 -1
- package/layout/ScrollView/index.cjs +2 -0
- package/layout/ScrollView/index.cjs.map +1 -1
- package/layout/ScrollView/index.js +2 -0
- package/layout/ScrollView/index.js.map +1 -1
- package/layout/VStack/index.cjs +2 -0
- package/layout/VStack/index.cjs.map +1 -1
- package/layout/VStack/index.js +2 -0
- package/layout/VStack/index.js.map +1 -1
- package/package.json +1 -1
- package/packages/types/src/Theme/alphaColors.cjs +24 -0
- package/packages/types/src/Theme/alphaColors.cjs.map +1 -0
- package/packages/types/src/Theme/alphaColors.js +19 -0
- package/packages/types/src/Theme/alphaColors.js.map +1 -0
- package/packages/types/src/Theme/resolvers.cjs +6 -0
- package/packages/types/src/Theme/resolvers.cjs.map +1 -1
- package/packages/types/src/Theme/resolvers.js +6 -0
- package/packages/types/src/Theme/resolvers.js.map +1 -1
- package/primitives/Box/index.cjs +2 -0
- package/primitives/Box/index.cjs.map +1 -1
- package/primitives/Box/index.js +2 -0
- package/primitives/Box/index.js.map +1 -1
- package/primitives/Card/index.cjs +2 -0
- package/primitives/Card/index.cjs.map +1 -1
- package/primitives/Card/index.js +2 -0
- package/primitives/Card/index.js.map +1 -1
- package/primitives/Divider/index.cjs +2 -0
- package/primitives/Divider/index.cjs.map +1 -1
- package/primitives/Divider/index.js +2 -0
- package/primitives/Divider/index.js.map +1 -1
- package/primitives/Heading/index.cjs +2 -0
- package/primitives/Heading/index.cjs.map +1 -1
- package/primitives/Heading/index.js +2 -0
- package/primitives/Heading/index.js.map +1 -1
- package/primitives/Icon/index.cjs +1 -0
- package/primitives/Icon/index.cjs.map +1 -1
- package/primitives/Icon/index.js +1 -0
- package/primitives/Icon/index.js.map +1 -1
- package/primitives/Image/index.cjs +2 -0
- package/primitives/Image/index.cjs.map +1 -1
- package/primitives/Image/index.js +2 -0
- package/primitives/Image/index.js.map +1 -1
- package/primitives/Skeleton/index.cjs +2 -0
- package/primitives/Skeleton/index.cjs.map +1 -1
- package/primitives/Skeleton/index.js +2 -0
- package/primitives/Skeleton/index.js.map +1 -1
- package/primitives/Svg/index.cjs +2 -0
- package/primitives/Svg/index.cjs.map +1 -1
- package/primitives/Svg/index.js +2 -0
- package/primitives/Svg/index.js.map +1 -1
- package/primitives/Text/index.cjs +2 -0
- package/primitives/Text/index.cjs.map +1 -1
- package/primitives/Text/index.js +2 -0
- package/primitives/Text/index.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/form/selects/ListBox/index.native.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport { ScrollView, Pressable, TextInput } from \"react-native\";\nimport { VStack, Box, Text } from '../../../_compat';\nimport type { IListBoxSelect } from \"@lmb-it/kitsconcerto-types\";\nimport { useSelectBase } from \"../hooks/useSelectBase\";\nimport KitsContainer from \"../../helpers/FormContainer\";\nimport { resolveThemeTokenForNative } from \"@lmb-it/kitsconcertomobile\";\nimport { useComponentDefaults, useResolvedStyle } from \"@lmb-it/kitsconcerto/hooks\";\n\nconst KitsListBox = (rawProps: IListBoxSelect) => {\n const { mergedProps: props, themeStyle, elementStyles } = useComponentDefaults('ListBox', rawProps, 'Select');\n const resolvedThemeStyle = useResolvedStyle(themeStyle);\n const resolvedRootStyle = useResolvedStyle(elementStyles?.root || {});\n const {\n id,\n label,\n disabled,\n invalid,\n errors,\n helperText,\n inputSize = \"md\",\n isMultiple,\n withFilter,\n filterBy,\n hideError,\n } = props;\n\n const { list, labelKey, valueKey, childrenKey, onChange, selectedValue } = useSelectBase();\n\n const [filterText, setFilterText] = useState(\"\");\n\n const t = resolveThemeTokenForNative;\n const primaryBg = t('highlight-bg') || t('primary.100') || '#E8EAF6';\n const primaryText = t('primary.700') || '#303F9F';\n const borderClr = invalid ? (t('danger') || '#EF4444') : (t('border') || '#D1D5DB');\n const textColor = t('text') || '#1F2937';\n const placeholderColor = t('text-secondary') || '#9CA3AF';\n const groupBg = t('surface-ground') || '#F9FAFB';\n\n const isSelected = useCallback((val: any) => {\n if (isMultiple && Array.isArray(selectedValue)) {\n return selectedValue.includes(val);\n }\n return selectedValue === val;\n }, [isMultiple, selectedValue]);\n\n const onSelect = useCallback((val: any, item: any) => {\n if (isMultiple && Array.isArray(selectedValue)) {\n const newVals = selectedValue.includes(val)\n ? selectedValue.filter((v: any) => v !== val)\n : [...selectedValue, val];\n onChange({ target: { value: newVals } }, newVals);\n } else {\n onChange({ target: { value: val } }, item);\n }\n }, [isMultiple, selectedValue, onChange]);\n\n const filteredList = useMemo(() => {\n if (!withFilter || !filterText.trim()) return list;\n const query = filterText.toLowerCase();\n const searchKey = filterBy || labelKey;\n\n if (childrenKey) {\n return list.reduce((acc: any[], group: any) => {\n const children = group[childrenKey];\n if (Array.isArray(children)) {\n const matched = children.filter((item: any) =>\n String(item[searchKey] ?? \"\").toLowerCase().includes(query)\n );\n if (matched.length > 0) {\n acc.push({ ...group, [childrenKey]: matched });\n }\n }\n return acc;\n }, []);\n }\n\n return list.filter((item: any) =>\n String(item[searchKey] ?? \"\").toLowerCase().includes(query)\n );\n }, [list, filterText, withFilter, filterBy, labelKey, childrenKey]);\n\n const renderItem = (item: any, index: number) => {\n const val = item[valueKey];\n const selected = isSelected(val);\n return (\n <Pressable\n key={`${val}-${index}`}\n style={{\n padding: 10,\n backgroundColor: selected ? primaryBg : 'transparent',\n }}\n onPress={() => !disabled && onSelect(val, item)}\n >\n <Text\n color={selected ? primaryText : textColor}\n fontWeight={selected ? \"bold\" : \"normal\"}\n size={inputSize}\n >\n {item[labelKey]}\n </Text>\n </Pressable>\n );\n };\n\n const renderGroupedItems = () => {\n return filteredList.map((group: any, gi: number) => {\n const children = group[childrenKey!];\n if (!Array.isArray(children)) {\n return renderItem(group, gi);\n }\n return (\n <Box key={`group-${gi}`}>\n <Box style={{ backgroundColor: groupBg, paddingHorizontal: 12, paddingVertical: 8 }}>\n <Text fontWeight=\"600\" color={textColor} size={inputSize}>\n {group[labelKey]}\n </Text>\n </Box>\n {children.map((item: any, ci: number) => renderItem(item, ci))}\n </Box>\n );\n });\n };\n\n return (\n <KitsContainer\n id={id}\n label={label}\n invalid={!!invalid}\n hideError={hideError}\n helperText={helperText}\n errors={errors}\n elementStyles={elementStyles}\n >\n <Box\n borderWidth={1}\n borderColor={borderClr}\n borderRadius=\"$sm\"\n height={250}\n opacity={disabled ? 0.5 : 1}\n style={resolvedRootStyle && Object.keys(resolvedRootStyle).length ? resolvedRootStyle : (Object.keys(resolvedThemeStyle).length ? resolvedThemeStyle : undefined)}\n >\n {withFilter && (\n <TextInput\n value={filterText}\n onChangeText={setFilterText}\n placeholder=\"Search...\"\n placeholderTextColor={placeholderColor}\n style={{\n borderBottomWidth: 1,\n borderBottomColor: borderClr,\n paddingHorizontal: 12,\n paddingVertical: 8,\n fontSize: 14,\n color: textColor,\n }}\n />\n )}\n <ScrollView>\n <VStack>\n {childrenKey\n ? renderGroupedItems()\n : filteredList.map((item: any, i: number) => renderItem(item, i))\n }\n </VStack>\n </ScrollView>\n </Box>\n </KitsContainer>\n );\n};\n\nexport default KitsListBox;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/form/selects/ListBox/index.native.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport { ScrollView, Pressable, TextInput } from \"react-native\";\nimport { VStack, Box, Text } from '../../../_compat';\nimport type { IListBoxSelect } from \"@lmb-it/kitsconcerto-types\";\nimport { useSelectBase } from \"../hooks/useSelectBase\";\nimport KitsContainer from \"../../helpers/FormContainer\";\nimport { resolveThemeTokenForNative } from \"@lmb-it/kitsconcertomobile\";\nimport { useComponentDefaults, useResolvedStyle } from \"@lmb-it/kitsconcerto/hooks\";\n\nconst KitsListBox = (rawProps: IListBoxSelect) => {\n const { mergedProps: props, themeStyle, elementStyles } = useComponentDefaults('ListBox', rawProps, 'Select');\n const resolvedThemeStyle = useResolvedStyle(themeStyle);\n const resolvedRootStyle = useResolvedStyle(elementStyles?.root || {});\n const {\n id,\n label,\n disabled,\n invalid,\n errors,\n helperText,\n inputSize = \"md\",\n isMultiple,\n withFilter,\n filterBy,\n hideError,\n } = props;\n\n const { list, labelKey, valueKey, childrenKey, onChange, selectedValue } = useSelectBase();\n\n const [filterText, setFilterText] = useState(\"\");\n\n const t = resolveThemeTokenForNative;\n const primaryBg = t('highlight-bg') || t('primary.100') || '#E8EAF6';\n const primaryText = t('primary.700') || '#303F9F';\n const borderClr = invalid ? (t('danger') || '#EF4444') : (t('border') || '#D1D5DB');\n const textColor = t('text') || '#1F2937';\n const placeholderColor = t('text-secondary') || '#9CA3AF';\n const groupBg = t('surface-ground') || '#F9FAFB';\n\n const isSelected = useCallback((val: any) => {\n if (isMultiple && Array.isArray(selectedValue)) {\n return selectedValue.includes(val);\n }\n return selectedValue === val;\n }, [isMultiple, selectedValue]);\n\n const onSelect = useCallback((val: any, item: any) => {\n if (isMultiple && Array.isArray(selectedValue)) {\n const newVals = selectedValue.includes(val)\n ? selectedValue.filter((v: any) => v !== val)\n : [...selectedValue, val];\n onChange({ target: { value: newVals } }, newVals);\n } else {\n onChange({ target: { value: val } }, item);\n }\n }, [isMultiple, selectedValue, onChange]);\n\n const filteredList = useMemo(() => {\n if (!withFilter || !filterText.trim()) return list;\n const query = filterText.toLowerCase();\n const searchKey = filterBy || labelKey;\n\n if (childrenKey) {\n return list.reduce((acc: any[], group: any) => {\n const children = group[childrenKey];\n if (Array.isArray(children)) {\n const matched = children.filter((item: any) =>\n String(item[searchKey] ?? \"\").toLowerCase().includes(query)\n );\n if (matched.length > 0) {\n acc.push({ ...group, [childrenKey]: matched });\n }\n }\n return acc;\n }, []);\n }\n\n return list.filter((item: any) =>\n String(item[searchKey] ?? \"\").toLowerCase().includes(query)\n );\n }, [list, filterText, withFilter, filterBy, labelKey, childrenKey]);\n\n const renderItem = (item: any, index: number) => {\n const val = item[valueKey];\n const selected = isSelected(val);\n return (\n <Pressable\n key={`${val}-${index}`}\n style={{\n padding: 10,\n backgroundColor: selected ? primaryBg : 'transparent',\n }}\n onPress={() => !disabled && onSelect(val, item)}\n >\n <Text\n color={selected ? primaryText : textColor}\n fontWeight={selected ? \"bold\" : \"normal\"}\n size={inputSize}\n >\n {item[labelKey]}\n </Text>\n </Pressable>\n );\n };\n\n const renderGroupedItems = () => {\n return filteredList.map((group: any, gi: number) => {\n const children = group[childrenKey!];\n if (!Array.isArray(children)) {\n return renderItem(group, gi);\n }\n return (\n <Box key={`group-${gi}`}>\n <Box style={{ backgroundColor: groupBg, paddingHorizontal: 12, paddingVertical: 8 }}>\n <Text fontWeight=\"600\" color={textColor} size={inputSize}>\n {group[labelKey]}\n </Text>\n </Box>\n {children.map((item: any, ci: number) => renderItem(item, ci))}\n </Box>\n );\n });\n };\n\n return (\n <KitsContainer\n id={id}\n label={label}\n invalid={!!invalid}\n hideError={hideError}\n helperText={helperText}\n errors={errors}\n elementStyles={elementStyles}\n >\n <Box\n borderWidth={1}\n borderColor={borderClr}\n borderRadius=\"$sm\"\n height={250}\n opacity={disabled ? 0.5 : 1}\n style={resolvedRootStyle && Object.keys(resolvedRootStyle).length ? resolvedRootStyle : (Object.keys(resolvedThemeStyle).length ? resolvedThemeStyle : undefined)}\n >\n {withFilter && (\n <TextInput\n value={filterText}\n onChangeText={setFilterText}\n placeholder=\"Search...\"\n placeholderTextColor={placeholderColor}\n style={{\n borderBottomWidth: 1,\n borderBottomColor: borderClr,\n paddingHorizontal: 12,\n paddingVertical: 8,\n fontSize: 14,\n color: textColor,\n }}\n />\n )}\n <ScrollView>\n <VStack>\n {childrenKey\n ? renderGroupedItems()\n : filteredList.map((item: any, i: number) => renderItem(item, i))\n }\n </VStack>\n </ScrollView>\n </Box>\n </KitsContainer>\n );\n};\n\nexport default KitsListBox;\n"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,8 @@ require('yup');
|
|
|
61
61
|
require('../../../packages/types/src/Css/map/index.cjs');
|
|
62
62
|
require('../../../packages/types/src/Theme/shadows.cjs');
|
|
63
63
|
require('../../../packages/types/src/Theme/defaultTheme.cjs');
|
|
64
|
+
require('../../../packages/types/src/Theme/alphaColors.cjs');
|
|
65
|
+
require('../../../apps/mobile/src/Factory/helpers/cssVarMap.cjs');
|
|
64
66
|
require('../../../apps/mobile/src/Factory/DimensionsContext.cjs');
|
|
65
67
|
require('i18next');
|
|
66
68
|
require('react-i18next');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../../src/form/selects/MultiSelect/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect} from \"react\";\nimport {MultiSelect} from \"@lmb-it/kitsconcertomobile\";\nimport KitsContainer from \"../../helpers/FormContainer\";\nimport type {IMultiSelect} from \"@lmb-it/kitsconcerto-types\";\nimport {ClHelper} from \"../../helpers/Functions\";\nimport {checkKeys} from \"../helper\";\nimport {useSelectBase} from \"../hooks/useSelectBase\";\nimport {useComponentDefaults, useResolvedStyle} from \"@lmb-it/kitsconcerto/hooks\";\n\nconst KitsMultiSelect = ({ className, ref, ...rawProps }: IMultiSelect) => {\n const {mergedProps: props, themeStyle, elementStyles} = useComponentDefaults('MultiSelect', rawProps, 'Select');\n const resolvedThemeStyle = useResolvedStyle(themeStyle);\n const resolvedRootStyle = useResolvedStyle(elementStyles?.root || {});\n const {\n id,\n disabled,\n isFloatedLabel,\n rightAddon,\n leftAddon,\n required,\n errors,\n invalid,\n placeholder,\n virtualScroll,\n label,\n inputSize,\n helperText,\n emptyFilterMessage,\n selectionLimit,\n localProps,\n hideError,\n withFilter,\n loading,\n showClear,\n valueMode,\n } = props;\n\n const { list, keys, onChange, selectedValue, childrenKey, labelKey, valueKey } = useSelectBase();\n\n useEffect(() => {\n checkKeys(list, labelKey, !childrenKey ? valueKey : undefined);\n }, [list]);\n\n const ClState = ClHelper({\n inputSize: inputSize ?? \"\",\n isChecked: false,\n isInvalid: !!invalid,\n isDisabled: !!disabled,\n });\n\n const handleChange = useCallback((e: any, items: any) => {\n if (selectionLimit && Array.isArray(e?.target?.value) && e.target.value.length > selectionLimit) {\n return;\n }\n onChange && onChange(e, items);\n }, [selectionLimit, onChange]);\n\n const Element = <MultiSelect\n emptyFilterMessage={emptyFilterMessage}\n value={selectedValue}\n onChange={handleChange}\n disabled={disabled}\n loading={loading}\n showClear={showClear}\n options={typeof list !== \"function\" ? list : []}\n placeholder={placeholder}\n {...keys}\n filter={withFilter !== false}\n selectionLimit={selectionLimit}\n display={valueMode === \"comma\" ? \"comma\" : (localProps?.maxSelectedLabels ? undefined : \"chip\")}\n maxSelectedLabels={selectionLimit ?? localProps?.maxSelectedLabels ?? 10}\n className={`w-full ${ClState}`}\n style={{ borderRadius: 0, ...(resolvedRootStyle && Object.keys(resolvedRootStyle).length > 0 ? resolvedRootStyle : resolvedThemeStyle) }}\n {...(localProps ? localProps : {})}\n />\n\n return (\n <KitsContainer\n id={id}\n inputSize={inputSize}\n isFloatedLabel={isFloatedLabel}\n rightAddon={rightAddon}\n leftAddon={leftAddon}\n required={required}\n hideError={hideError}\n errors={errors}\n helperText={helperText}\n invalid={invalid}\n label={label}\n elementStyles={elementStyles}\n >\n {Element}\n </KitsContainer>\n );\n}\n\nKitsMultiSelect.displayName = \"MultiSelect\";\nexport default KitsMultiSelect;\n"],"names":["useComponentDefaults","useResolvedStyle","useSelectBase","useEffect","checkKeys","ClHelper","useCallback","jsx","MultiSelect","KitsContainer"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../../src/form/selects/MultiSelect/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect} from \"react\";\nimport {MultiSelect} from \"@lmb-it/kitsconcertomobile\";\nimport KitsContainer from \"../../helpers/FormContainer\";\nimport type {IMultiSelect} from \"@lmb-it/kitsconcerto-types\";\nimport {ClHelper} from \"../../helpers/Functions\";\nimport {checkKeys} from \"../helper\";\nimport {useSelectBase} from \"../hooks/useSelectBase\";\nimport {useComponentDefaults, useResolvedStyle} from \"@lmb-it/kitsconcerto/hooks\";\n\nconst KitsMultiSelect = ({ className, ref, ...rawProps }: IMultiSelect) => {\n const {mergedProps: props, themeStyle, elementStyles} = useComponentDefaults('MultiSelect', rawProps, 'Select');\n const resolvedThemeStyle = useResolvedStyle(themeStyle);\n const resolvedRootStyle = useResolvedStyle(elementStyles?.root || {});\n const {\n id,\n disabled,\n isFloatedLabel,\n rightAddon,\n leftAddon,\n required,\n errors,\n invalid,\n placeholder,\n virtualScroll,\n label,\n inputSize,\n helperText,\n emptyFilterMessage,\n selectionLimit,\n localProps,\n hideError,\n withFilter,\n loading,\n showClear,\n valueMode,\n } = props;\n\n const { list, keys, onChange, selectedValue, childrenKey, labelKey, valueKey } = useSelectBase();\n\n useEffect(() => {\n checkKeys(list, labelKey, !childrenKey ? valueKey : undefined);\n }, [list]);\n\n const ClState = ClHelper({\n inputSize: inputSize ?? \"\",\n isChecked: false,\n isInvalid: !!invalid,\n isDisabled: !!disabled,\n });\n\n const handleChange = useCallback((e: any, items: any) => {\n if (selectionLimit && Array.isArray(e?.target?.value) && e.target.value.length > selectionLimit) {\n return;\n }\n onChange && onChange(e, items);\n }, [selectionLimit, onChange]);\n\n const Element = <MultiSelect\n emptyFilterMessage={emptyFilterMessage}\n value={selectedValue}\n onChange={handleChange}\n disabled={disabled}\n loading={loading}\n showClear={showClear}\n options={typeof list !== \"function\" ? list : []}\n placeholder={placeholder}\n {...keys}\n filter={withFilter !== false}\n selectionLimit={selectionLimit}\n display={valueMode === \"comma\" ? \"comma\" : (localProps?.maxSelectedLabels ? undefined : \"chip\")}\n maxSelectedLabels={selectionLimit ?? localProps?.maxSelectedLabels ?? 10}\n className={`w-full ${ClState}`}\n style={{ borderRadius: 0, ...(resolvedRootStyle && Object.keys(resolvedRootStyle).length > 0 ? resolvedRootStyle : resolvedThemeStyle) }}\n {...(localProps ? localProps : {})}\n />\n\n return (\n <KitsContainer\n id={id}\n inputSize={inputSize}\n isFloatedLabel={isFloatedLabel}\n rightAddon={rightAddon}\n leftAddon={leftAddon}\n required={required}\n hideError={hideError}\n errors={errors}\n helperText={helperText}\n invalid={invalid}\n label={label}\n elementStyles={elementStyles}\n >\n {Element}\n </KitsContainer>\n );\n}\n\nKitsMultiSelect.displayName = \"MultiSelect\";\nexport default KitsMultiSelect;\n"],"names":["useComponentDefaults","useResolvedStyle","useSelectBase","useEffect","checkKeys","ClHelper","useCallback","jsx","MultiSelect","KitsContainer"],"mappings":"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"}
|
|
@@ -57,6 +57,8 @@ import 'yup';
|
|
|
57
57
|
import '../../../packages/types/src/Css/map/index.js';
|
|
58
58
|
import '../../../packages/types/src/Theme/shadows.js';
|
|
59
59
|
import '../../../packages/types/src/Theme/defaultTheme.js';
|
|
60
|
+
import '../../../packages/types/src/Theme/alphaColors.js';
|
|
61
|
+
import '../../../apps/mobile/src/Factory/helpers/cssVarMap.js';
|
|
60
62
|
import '../../../apps/mobile/src/Factory/DimensionsContext.js';
|
|
61
63
|
import 'i18next';
|
|
62
64
|
import 'react-i18next';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/form/selects/MultiSelect/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect} from \"react\";\nimport {MultiSelect} from \"@lmb-it/kitsconcertomobile\";\nimport KitsContainer from \"../../helpers/FormContainer\";\nimport type {IMultiSelect} from \"@lmb-it/kitsconcerto-types\";\nimport {ClHelper} from \"../../helpers/Functions\";\nimport {checkKeys} from \"../helper\";\nimport {useSelectBase} from \"../hooks/useSelectBase\";\nimport {useComponentDefaults, useResolvedStyle} from \"@lmb-it/kitsconcerto/hooks\";\n\nconst KitsMultiSelect = ({ className, ref, ...rawProps }: IMultiSelect) => {\n const {mergedProps: props, themeStyle, elementStyles} = useComponentDefaults('MultiSelect', rawProps, 'Select');\n const resolvedThemeStyle = useResolvedStyle(themeStyle);\n const resolvedRootStyle = useResolvedStyle(elementStyles?.root || {});\n const {\n id,\n disabled,\n isFloatedLabel,\n rightAddon,\n leftAddon,\n required,\n errors,\n invalid,\n placeholder,\n virtualScroll,\n label,\n inputSize,\n helperText,\n emptyFilterMessage,\n selectionLimit,\n localProps,\n hideError,\n withFilter,\n loading,\n showClear,\n valueMode,\n } = props;\n\n const { list, keys, onChange, selectedValue, childrenKey, labelKey, valueKey } = useSelectBase();\n\n useEffect(() => {\n checkKeys(list, labelKey, !childrenKey ? valueKey : undefined);\n }, [list]);\n\n const ClState = ClHelper({\n inputSize: inputSize ?? \"\",\n isChecked: false,\n isInvalid: !!invalid,\n isDisabled: !!disabled,\n });\n\n const handleChange = useCallback((e: any, items: any) => {\n if (selectionLimit && Array.isArray(e?.target?.value) && e.target.value.length > selectionLimit) {\n return;\n }\n onChange && onChange(e, items);\n }, [selectionLimit, onChange]);\n\n const Element = <MultiSelect\n emptyFilterMessage={emptyFilterMessage}\n value={selectedValue}\n onChange={handleChange}\n disabled={disabled}\n loading={loading}\n showClear={showClear}\n options={typeof list !== \"function\" ? list : []}\n placeholder={placeholder}\n {...keys}\n filter={withFilter !== false}\n selectionLimit={selectionLimit}\n display={valueMode === \"comma\" ? \"comma\" : (localProps?.maxSelectedLabels ? undefined : \"chip\")}\n maxSelectedLabels={selectionLimit ?? localProps?.maxSelectedLabels ?? 10}\n className={`w-full ${ClState}`}\n style={{ borderRadius: 0, ...(resolvedRootStyle && Object.keys(resolvedRootStyle).length > 0 ? resolvedRootStyle : resolvedThemeStyle) }}\n {...(localProps ? localProps : {})}\n />\n\n return (\n <KitsContainer\n id={id}\n inputSize={inputSize}\n isFloatedLabel={isFloatedLabel}\n rightAddon={rightAddon}\n leftAddon={leftAddon}\n required={required}\n hideError={hideError}\n errors={errors}\n helperText={helperText}\n invalid={invalid}\n label={label}\n elementStyles={elementStyles}\n >\n {Element}\n </KitsContainer>\n );\n}\n\nKitsMultiSelect.displayName = \"MultiSelect\";\nexport default KitsMultiSelect;\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/form/selects/MultiSelect/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect} from \"react\";\nimport {MultiSelect} from \"@lmb-it/kitsconcertomobile\";\nimport KitsContainer from \"../../helpers/FormContainer\";\nimport type {IMultiSelect} from \"@lmb-it/kitsconcerto-types\";\nimport {ClHelper} from \"../../helpers/Functions\";\nimport {checkKeys} from \"../helper\";\nimport {useSelectBase} from \"../hooks/useSelectBase\";\nimport {useComponentDefaults, useResolvedStyle} from \"@lmb-it/kitsconcerto/hooks\";\n\nconst KitsMultiSelect = ({ className, ref, ...rawProps }: IMultiSelect) => {\n const {mergedProps: props, themeStyle, elementStyles} = useComponentDefaults('MultiSelect', rawProps, 'Select');\n const resolvedThemeStyle = useResolvedStyle(themeStyle);\n const resolvedRootStyle = useResolvedStyle(elementStyles?.root || {});\n const {\n id,\n disabled,\n isFloatedLabel,\n rightAddon,\n leftAddon,\n required,\n errors,\n invalid,\n placeholder,\n virtualScroll,\n label,\n inputSize,\n helperText,\n emptyFilterMessage,\n selectionLimit,\n localProps,\n hideError,\n withFilter,\n loading,\n showClear,\n valueMode,\n } = props;\n\n const { list, keys, onChange, selectedValue, childrenKey, labelKey, valueKey } = useSelectBase();\n\n useEffect(() => {\n checkKeys(list, labelKey, !childrenKey ? valueKey : undefined);\n }, [list]);\n\n const ClState = ClHelper({\n inputSize: inputSize ?? \"\",\n isChecked: false,\n isInvalid: !!invalid,\n isDisabled: !!disabled,\n });\n\n const handleChange = useCallback((e: any, items: any) => {\n if (selectionLimit && Array.isArray(e?.target?.value) && e.target.value.length > selectionLimit) {\n return;\n }\n onChange && onChange(e, items);\n }, [selectionLimit, onChange]);\n\n const Element = <MultiSelect\n emptyFilterMessage={emptyFilterMessage}\n value={selectedValue}\n onChange={handleChange}\n disabled={disabled}\n loading={loading}\n showClear={showClear}\n options={typeof list !== \"function\" ? list : []}\n placeholder={placeholder}\n {...keys}\n filter={withFilter !== false}\n selectionLimit={selectionLimit}\n display={valueMode === \"comma\" ? \"comma\" : (localProps?.maxSelectedLabels ? undefined : \"chip\")}\n maxSelectedLabels={selectionLimit ?? localProps?.maxSelectedLabels ?? 10}\n className={`w-full ${ClState}`}\n style={{ borderRadius: 0, ...(resolvedRootStyle && Object.keys(resolvedRootStyle).length > 0 ? resolvedRootStyle : resolvedThemeStyle) }}\n {...(localProps ? localProps : {})}\n />\n\n return (\n <KitsContainer\n id={id}\n inputSize={inputSize}\n isFloatedLabel={isFloatedLabel}\n rightAddon={rightAddon}\n leftAddon={leftAddon}\n required={required}\n hideError={hideError}\n errors={errors}\n helperText={helperText}\n invalid={invalid}\n label={label}\n elementStyles={elementStyles}\n >\n {Element}\n </KitsContainer>\n );\n}\n\nKitsMultiSelect.displayName = \"MultiSelect\";\nexport default KitsMultiSelect;\n"],"names":[],"mappings":"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"}
|
|
@@ -62,6 +62,8 @@ require('yup');
|
|
|
62
62
|
require('../../../packages/types/src/Css/map/index.cjs');
|
|
63
63
|
require('../../../packages/types/src/Theme/shadows.cjs');
|
|
64
64
|
require('../../../packages/types/src/Theme/defaultTheme.cjs');
|
|
65
|
+
require('../../../packages/types/src/Theme/alphaColors.cjs');
|
|
66
|
+
require('../../../apps/mobile/src/Factory/helpers/cssVarMap.cjs');
|
|
65
67
|
require('../../../apps/mobile/src/Factory/DimensionsContext.cjs');
|
|
66
68
|
require('i18next');
|
|
67
69
|
require('react-i18next');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../../src/form/selects/TreeSelect/index.native.tsx"],"sourcesContent":["import React from \"react\";\nimport KitsContainer from \"../../helpers/FormContainer\";\nimport type { ITreeSelect } from \"@lmb-it/kitsconcerto-types\";\nimport { TreeSelect } from \"@lmb-it/kitsconcertomobile\";\nimport { ClHelper } from \"../../helpers/Functions\";\nimport { useTreeBuild } from \"../hooks/useTreeBuild\";\nimport { useComponentDefaults, useResolvedStyle } from \"@lmb-it/kitsconcerto/hooks\";\n\nconst KitsTreeSelect = <T = any,>({ ref, ...rawProps }: ITreeSelect) => {\n const { mergedProps: props, themeStyle, elementStyles } = useComponentDefaults('TreeSelect', rawProps, 'Select');\n const resolvedThemeStyle = useResolvedStyle(themeStyle);\n const resolvedRootStyle = useResolvedStyle(elementStyles?.root || {});\n const {\n rightAddon,\n leftAddon,\n errors,\n invalid,\n label,\n id,\n placeholder,\n required,\n disabled,\n helperText,\n attached,\n isFloatedLabel,\n inputSize,\n valueMode,\n isMultiple,\n localProps,\n withFilter,\n filterBy,\n hideError,\n onlyParentsWithChildren,\n resetFilterOnHide,\n scrollHeight,\n emptyMessage,\n showClear,\n containerStyle,\n } = props;\n\n const { nodes, value, handleChange } = useTreeBuild<T>({\n isStructured: props.isStructured,\n ref,\n });\n\n\n\n const Element = (\n <TreeSelect\n value={value}\n filter={withFilter}\n filterBy={filterBy}\n options={nodes}\n display={isMultiple ? valueMode : \"comma\"}\n onChange={handleChange}\n selectionMode={isMultiple ? 'checkbox' : 'single'}\n placeholder={placeholder}\n disabled={disabled}\n invalid={invalid}\n showClear={showClear ?? !required}\n isModal={false}\n onlyParentsWithChildren={onlyParentsWithChildren}\n resetFilterOnHide={resetFilterOnHide}\n scrollHeight={scrollHeight}\n emptyMessage={emptyMessage}\n style={resolvedRootStyle && Object.keys(resolvedRootStyle).length ? resolvedRootStyle : (Object.keys(resolvedThemeStyle).length ? resolvedThemeStyle : undefined)}\n {...localProps}\n />\n );\n\n if (attached) {\n return Element;\n }\n\n return (\n <KitsContainer\n id={id}\n inputSize={inputSize}\n isFloatedLabel={isFloatedLabel}\n rightAddon={rightAddon}\n leftAddon={leftAddon}\n required={required}\n hideError={hideError}\n errors={errors}\n helperText={helperText}\n invalid={invalid}\n label={label}\n containerStyle={containerStyle}\n elementStyles={elementStyles}\n >\n {Element}\n </KitsContainer>\n );\n}\nexport default KitsTreeSelect;\n"],"names":["useComponentDefaults","useResolvedStyle","useTreeBuild","jsx","TreeSelect","KitsContainer"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../../src/form/selects/TreeSelect/index.native.tsx"],"sourcesContent":["import React from \"react\";\nimport KitsContainer from \"../../helpers/FormContainer\";\nimport type { ITreeSelect } from \"@lmb-it/kitsconcerto-types\";\nimport { TreeSelect } from \"@lmb-it/kitsconcertomobile\";\nimport { ClHelper } from \"../../helpers/Functions\";\nimport { useTreeBuild } from \"../hooks/useTreeBuild\";\nimport { useComponentDefaults, useResolvedStyle } from \"@lmb-it/kitsconcerto/hooks\";\n\nconst KitsTreeSelect = <T = any,>({ ref, ...rawProps }: ITreeSelect) => {\n const { mergedProps: props, themeStyle, elementStyles } = useComponentDefaults('TreeSelect', rawProps, 'Select');\n const resolvedThemeStyle = useResolvedStyle(themeStyle);\n const resolvedRootStyle = useResolvedStyle(elementStyles?.root || {});\n const {\n rightAddon,\n leftAddon,\n errors,\n invalid,\n label,\n id,\n placeholder,\n required,\n disabled,\n helperText,\n attached,\n isFloatedLabel,\n inputSize,\n valueMode,\n isMultiple,\n localProps,\n withFilter,\n filterBy,\n hideError,\n onlyParentsWithChildren,\n resetFilterOnHide,\n scrollHeight,\n emptyMessage,\n showClear,\n containerStyle,\n } = props;\n\n const { nodes, value, handleChange } = useTreeBuild<T>({\n isStructured: props.isStructured,\n ref,\n });\n\n\n\n const Element = (\n <TreeSelect\n value={value}\n filter={withFilter}\n filterBy={filterBy}\n options={nodes}\n display={isMultiple ? valueMode : \"comma\"}\n onChange={handleChange}\n selectionMode={isMultiple ? 'checkbox' : 'single'}\n placeholder={placeholder}\n disabled={disabled}\n invalid={invalid}\n showClear={showClear ?? !required}\n isModal={false}\n onlyParentsWithChildren={onlyParentsWithChildren}\n resetFilterOnHide={resetFilterOnHide}\n scrollHeight={scrollHeight}\n emptyMessage={emptyMessage}\n style={resolvedRootStyle && Object.keys(resolvedRootStyle).length ? resolvedRootStyle : (Object.keys(resolvedThemeStyle).length ? resolvedThemeStyle : undefined)}\n {...localProps}\n />\n );\n\n if (attached) {\n return Element;\n }\n\n return (\n <KitsContainer\n id={id}\n inputSize={inputSize}\n isFloatedLabel={isFloatedLabel}\n rightAddon={rightAddon}\n leftAddon={leftAddon}\n required={required}\n hideError={hideError}\n errors={errors}\n helperText={helperText}\n invalid={invalid}\n label={label}\n containerStyle={containerStyle}\n elementStyles={elementStyles}\n >\n {Element}\n </KitsContainer>\n );\n}\nexport default KitsTreeSelect;\n"],"names":["useComponentDefaults","useResolvedStyle","useTreeBuild","jsx","TreeSelect","KitsContainer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM,iBAAiB,CAAW,EAAE,GAAA,EAAK,GAAG,UAAS,KAAmB;AACpE,EAAA,MAAM,EAAE,aAAa,KAAA,EAAO,UAAA,EAAY,eAAc,GAAIA,4BAAA,CAAqB,YAAA,EAAc,QAAA,EAAU,QAAQ,CAAA;AAC/G,EAAA,MAAM,kBAAA,GAAqBC,yBAAiB,UAAU,CAAA;AACtD,EAAA,MAAM,iBAAA,GAAoBA,wBAAA,CAAiB,aAAA,EAAe,IAAA,IAAQ,EAAE,CAAA;AACpE,EAAA,MAAM;AAAA,IACF,UAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,EAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,cAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,uBAAA;AAAA,IACA,iBAAA;AAAA,IACA,YAAA;AAAA,IACA,YAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACJ,GAAI,KAAA;AAEJ,EAAA,MAAM,EAAE,KAAA,EAAO,KAAA,EAAO,YAAA,KAAiBC,yBAAA,CAAgB;AAAA,IACnD,cAAc,KAAA,CAAM,YAAA;AAAA,IACpB;AAAA,GACH,CAAA;AAID,EAAA,MAAM,OAAA,mBACFC,cAAA;AAAA,IAACC,sBAAA;AAAA,IAAA;AAAA,MACG,KAAA;AAAA,MACA,MAAA,EAAQ,UAAA;AAAA,MACR,QAAA;AAAA,MACA,OAAA,EAAS,KAAA;AAAA,MACT,OAAA,EAAS,aAAa,SAAA,GAAY,OAAA;AAAA,MAClC,QAAA,EAAU,YAAA;AAAA,MACV,aAAA,EAAe,aAAa,UAAA,GAAa,QAAA;AAAA,MACzC,WAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA,EAAW,aAAa,CAAC,QAAA;AAAA,MACzB,OAAA,EAAS,KAAA;AAAA,MACT,uBAAA;AAAA,MACA,iBAAA;AAAA,MACA,YAAA;AAAA,MACA,YAAA;AAAA,MACA,KAAA,EAAO,iBAAA,IAAqB,MAAA,CAAO,IAAA,CAAK,iBAAiB,CAAA,CAAE,MAAA,GAAS,iBAAA,GAAqB,MAAA,CAAO,IAAA,CAAK,kBAAkB,CAAA,CAAE,SAAS,kBAAA,GAAqB,MAAA;AAAA,MACtJ,GAAG;AAAA;AAAA,GACR;AAGJ,EAAA,IAAI,QAAA,EAAU;AACV,IAAA,OAAO,OAAA;AAAA,EACX;AAEA,EAAA,uBACID,cAAA;AAAA,IAACE,oBAAA;AAAA,IAAA;AAAA,MACG,EAAA;AAAA,MACA,SAAA;AAAA,MACA,cAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,KAAA;AAAA,MACA,cAAA;AAAA,MACA,aAAA;AAAA,MAEC,QAAA,EAAA;AAAA;AAAA,GACL;AAER;;;;"}
|
|
@@ -58,6 +58,8 @@ import 'yup';
|
|
|
58
58
|
import '../../../packages/types/src/Css/map/index.js';
|
|
59
59
|
import '../../../packages/types/src/Theme/shadows.js';
|
|
60
60
|
import '../../../packages/types/src/Theme/defaultTheme.js';
|
|
61
|
+
import '../../../packages/types/src/Theme/alphaColors.js';
|
|
62
|
+
import '../../../apps/mobile/src/Factory/helpers/cssVarMap.js';
|
|
61
63
|
import '../../../apps/mobile/src/Factory/DimensionsContext.js';
|
|
62
64
|
import 'i18next';
|
|
63
65
|
import 'react-i18next';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/form/selects/TreeSelect/index.native.tsx"],"sourcesContent":["import React from \"react\";\nimport KitsContainer from \"../../helpers/FormContainer\";\nimport type { ITreeSelect } from \"@lmb-it/kitsconcerto-types\";\nimport { TreeSelect } from \"@lmb-it/kitsconcertomobile\";\nimport { ClHelper } from \"../../helpers/Functions\";\nimport { useTreeBuild } from \"../hooks/useTreeBuild\";\nimport { useComponentDefaults, useResolvedStyle } from \"@lmb-it/kitsconcerto/hooks\";\n\nconst KitsTreeSelect = <T = any,>({ ref, ...rawProps }: ITreeSelect) => {\n const { mergedProps: props, themeStyle, elementStyles } = useComponentDefaults('TreeSelect', rawProps, 'Select');\n const resolvedThemeStyle = useResolvedStyle(themeStyle);\n const resolvedRootStyle = useResolvedStyle(elementStyles?.root || {});\n const {\n rightAddon,\n leftAddon,\n errors,\n invalid,\n label,\n id,\n placeholder,\n required,\n disabled,\n helperText,\n attached,\n isFloatedLabel,\n inputSize,\n valueMode,\n isMultiple,\n localProps,\n withFilter,\n filterBy,\n hideError,\n onlyParentsWithChildren,\n resetFilterOnHide,\n scrollHeight,\n emptyMessage,\n showClear,\n containerStyle,\n } = props;\n\n const { nodes, value, handleChange } = useTreeBuild<T>({\n isStructured: props.isStructured,\n ref,\n });\n\n\n\n const Element = (\n <TreeSelect\n value={value}\n filter={withFilter}\n filterBy={filterBy}\n options={nodes}\n display={isMultiple ? valueMode : \"comma\"}\n onChange={handleChange}\n selectionMode={isMultiple ? 'checkbox' : 'single'}\n placeholder={placeholder}\n disabled={disabled}\n invalid={invalid}\n showClear={showClear ?? !required}\n isModal={false}\n onlyParentsWithChildren={onlyParentsWithChildren}\n resetFilterOnHide={resetFilterOnHide}\n scrollHeight={scrollHeight}\n emptyMessage={emptyMessage}\n style={resolvedRootStyle && Object.keys(resolvedRootStyle).length ? resolvedRootStyle : (Object.keys(resolvedThemeStyle).length ? resolvedThemeStyle : undefined)}\n {...localProps}\n />\n );\n\n if (attached) {\n return Element;\n }\n\n return (\n <KitsContainer\n id={id}\n inputSize={inputSize}\n isFloatedLabel={isFloatedLabel}\n rightAddon={rightAddon}\n leftAddon={leftAddon}\n required={required}\n hideError={hideError}\n errors={errors}\n helperText={helperText}\n invalid={invalid}\n label={label}\n containerStyle={containerStyle}\n elementStyles={elementStyles}\n >\n {Element}\n </KitsContainer>\n );\n}\nexport default KitsTreeSelect;\n"],"names":["TreeSelect"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/form/selects/TreeSelect/index.native.tsx"],"sourcesContent":["import React from \"react\";\nimport KitsContainer from \"../../helpers/FormContainer\";\nimport type { ITreeSelect } from \"@lmb-it/kitsconcerto-types\";\nimport { TreeSelect } from \"@lmb-it/kitsconcertomobile\";\nimport { ClHelper } from \"../../helpers/Functions\";\nimport { useTreeBuild } from \"../hooks/useTreeBuild\";\nimport { useComponentDefaults, useResolvedStyle } from \"@lmb-it/kitsconcerto/hooks\";\n\nconst KitsTreeSelect = <T = any,>({ ref, ...rawProps }: ITreeSelect) => {\n const { mergedProps: props, themeStyle, elementStyles } = useComponentDefaults('TreeSelect', rawProps, 'Select');\n const resolvedThemeStyle = useResolvedStyle(themeStyle);\n const resolvedRootStyle = useResolvedStyle(elementStyles?.root || {});\n const {\n rightAddon,\n leftAddon,\n errors,\n invalid,\n label,\n id,\n placeholder,\n required,\n disabled,\n helperText,\n attached,\n isFloatedLabel,\n inputSize,\n valueMode,\n isMultiple,\n localProps,\n withFilter,\n filterBy,\n hideError,\n onlyParentsWithChildren,\n resetFilterOnHide,\n scrollHeight,\n emptyMessage,\n showClear,\n containerStyle,\n } = props;\n\n const { nodes, value, handleChange } = useTreeBuild<T>({\n isStructured: props.isStructured,\n ref,\n });\n\n\n\n const Element = (\n <TreeSelect\n value={value}\n filter={withFilter}\n filterBy={filterBy}\n options={nodes}\n display={isMultiple ? valueMode : \"comma\"}\n onChange={handleChange}\n selectionMode={isMultiple ? 'checkbox' : 'single'}\n placeholder={placeholder}\n disabled={disabled}\n invalid={invalid}\n showClear={showClear ?? !required}\n isModal={false}\n onlyParentsWithChildren={onlyParentsWithChildren}\n resetFilterOnHide={resetFilterOnHide}\n scrollHeight={scrollHeight}\n emptyMessage={emptyMessage}\n style={resolvedRootStyle && Object.keys(resolvedRootStyle).length ? resolvedRootStyle : (Object.keys(resolvedThemeStyle).length ? resolvedThemeStyle : undefined)}\n {...localProps}\n />\n );\n\n if (attached) {\n return Element;\n }\n\n return (\n <KitsContainer\n id={id}\n inputSize={inputSize}\n isFloatedLabel={isFloatedLabel}\n rightAddon={rightAddon}\n leftAddon={leftAddon}\n required={required}\n hideError={hideError}\n errors={errors}\n helperText={helperText}\n invalid={invalid}\n label={label}\n containerStyle={containerStyle}\n elementStyles={elementStyles}\n >\n {Element}\n </KitsContainer>\n );\n}\nexport default KitsTreeSelect;\n"],"names":["TreeSelect"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM,iBAAiB,CAAW,EAAE,GAAA,EAAK,GAAG,UAAS,KAAmB;AACpE,EAAA,MAAM,EAAE,aAAa,KAAA,EAAO,UAAA,EAAY,eAAc,GAAI,oBAAA,CAAqB,YAAA,EAAc,QAAA,EAAU,QAAQ,CAAA;AAC/G,EAAA,MAAM,kBAAA,GAAqB,iBAAiB,UAAU,CAAA;AACtD,EAAA,MAAM,iBAAA,GAAoB,gBAAA,CAAiB,aAAA,EAAe,IAAA,IAAQ,EAAE,CAAA;AACpE,EAAA,MAAM;AAAA,IACF,UAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,EAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,cAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,uBAAA;AAAA,IACA,iBAAA;AAAA,IACA,YAAA;AAAA,IACA,YAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACJ,GAAI,KAAA;AAEJ,EAAA,MAAM,EAAE,KAAA,EAAO,KAAA,EAAO,YAAA,KAAiB,YAAA,CAAgB;AAAA,IACnD,cAAc,KAAA,CAAM,YAAA;AAAA,IACpB;AAAA,GACH,CAAA;AAID,EAAA,MAAM,OAAA,mBACF,GAAA;AAAA,IAACA,cAAA;AAAA,IAAA;AAAA,MACG,KAAA;AAAA,MACA,MAAA,EAAQ,UAAA;AAAA,MACR,QAAA;AAAA,MACA,OAAA,EAAS,KAAA;AAAA,MACT,OAAA,EAAS,aAAa,SAAA,GAAY,OAAA;AAAA,MAClC,QAAA,EAAU,YAAA;AAAA,MACV,aAAA,EAAe,aAAa,UAAA,GAAa,QAAA;AAAA,MACzC,WAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA,EAAW,aAAa,CAAC,QAAA;AAAA,MACzB,OAAA,EAAS,KAAA;AAAA,MACT,uBAAA;AAAA,MACA,iBAAA;AAAA,MACA,YAAA;AAAA,MACA,YAAA;AAAA,MACA,KAAA,EAAO,iBAAA,IAAqB,MAAA,CAAO,IAAA,CAAK,iBAAiB,CAAA,CAAE,MAAA,GAAS,iBAAA,GAAqB,MAAA,CAAO,IAAA,CAAK,kBAAkB,CAAA,CAAE,SAAS,kBAAA,GAAqB,MAAA;AAAA,MACtJ,GAAG;AAAA;AAAA,GACR;AAGJ,EAAA,IAAI,QAAA,EAAU;AACV,IAAA,OAAO,OAAA;AAAA,EACX;AAEA,EAAA,uBACI,GAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACG,EAAA;AAAA,MACA,SAAA;AAAA,MACA,cAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,KAAA;AAAA,MACA,cAAA;AAAA,MACA,aAAA;AAAA,MAEC,QAAA,EAAA;AAAA;AAAA,GACL;AAER;;;;"}
|
|
@@ -64,6 +64,8 @@ require('../../../packages/types/src/Components/Molecules/Form/FilePicker/types/
|
|
|
64
64
|
require('../../../packages/types/src/Css/map/index.cjs');
|
|
65
65
|
require('../../../packages/types/src/Theme/shadows.cjs');
|
|
66
66
|
require('../../../packages/types/src/Theme/defaultTheme.cjs');
|
|
67
|
+
require('../../../packages/types/src/Theme/alphaColors.cjs');
|
|
68
|
+
require('../../../apps/mobile/src/Factory/helpers/cssVarMap.cjs');
|
|
67
69
|
require('i18next');
|
|
68
70
|
require('react-i18next');
|
|
69
71
|
require('../../../apps/mobile/src/Core/AutoComplete/index.cjs');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldWrapper.cjs","sources":["../../../../../src/form-renderer/components/layout/FieldWrapper.native.tsx"],"sourcesContent":["// components/layout/FieldWrapper.native.tsx\n\nimport React, {useCallback, useEffect, useMemo, useRef} from \"react\";\nimport type {FieldValues} from \"react-hook-form\";\nimport {useWatch} from \"react-hook-form\";\nimport {useFieldLogic} from \"../../hooks\";\nimport type {FieldWrapperProps, GroupFieldConfigs} from \"@lmb-it/kitsconcerto-types\";\nimport {Flex} from \"../../../_compat\";\nimport {createStyleContext, resolveResponsiveValue} from \"@lmb-it/kitsconcertomobile\";\n\n/**\n * Native layout contract:\n * - Container MUST be flex-row + flex-wrap\n * - Grid semantics are approximated via percentages\n *\n * Supported mappings:\n * - columns -> virtual column count\n * - colSpan -> width %\n * - colOffset -> marginLeft %\n * - columnGap -> item horizontal padding\n * - rowGap -> item vertical padding\n * - rowSpan -> minHeight approximation\n *\n * Ignored (grid-only semantics):\n * - templateAreas\n * - area\n * - gridTemplateRows\n * - gridTemplateColumns\n * - rowStart / rowEnd\n * - colStart / colEnd\n */\n\nconst DEFAULT_COLUMNS = 12;\nconst DEFAULT_ROW_HEIGHT = 56;\n\nexport const FieldWrapper = <T extends FieldValues>({\n element,\n control,\n getValues,\n setFocusedField,\n focusedField,\n children,\n grid,\n onGridChange,\n groupField,\n }: FieldWrapperProps<T>) => {\n /* ---------------- helpers (no hooks) ---------------- */\n\n const currentLayout = useRef<any>(null);\n const resolveDepPath = (dep: string, groupField?: GroupFieldConfigs<T>['groupField']): string => {\n if (!groupField || groupField.index === undefined || groupField.index < 0) return dep;\n\n const parts = dep.split(\".\");\n const {name, index} = groupField;\n\n // Must be \"<groupRef>.current.<field...>\"\n if (parts.length < 2 || parts[1] !== \"current\") return dep;\n\n // Group-relative deps are authored against the group's own id\n // (e.g. \"addresses.current.x\"). When the group is nested inside an\n // Object the live `name` is the fully-qualified dotted path\n // (e.g. \"addressGroup.addresses\"), so match the dep's first segment\n // against EITHER the full name or its trailing segment, then rebuild\n // against the fully-qualified name so useWatch hits the real path.\n const nameLast = name.includes(\".\") ? name.slice(name.lastIndexOf(\".\") + 1) : name;\n if (parts[0] !== name && parts[0] !== nameLast) return dep;\n\n return [name, String(index), ...parts.slice(2)].join(\".\");\n };\n\n const flattenPaths = (obj: any, prefix = ''): string[] =>\n Object.keys(obj ?? {}).flatMap((key) => {\n const path = prefix ? `${prefix}.${key}` : key;\n return typeof obj[key] === 'object' && obj[key] !== null\n ? [path, ...flattenPaths(obj[key], path)]\n : [path];\n });\n\n // 1. Determine which fields to watch for changes.\n const dependencies = useMemo(() => {\n const deps = new Set<string>([...(element.deps ?? []), ...(element.logic?.deps ?? [])]);\n\n if (deps.has('*')) {\n return flattenPaths(getValues());\n }\n\n return Array.from(deps).map((d) => resolveDepPath(d, groupField));\n }, [element, groupField]);\n\n\n // 2. Efficiently watch only the necessary fields.\n const watchedValues = useWatch({\n name: dependencies as any,\n compute:(fieldValue)=>{\n return fieldValue\n },\n exact:true,\n disabled:dependencies.length === 0\n });\n\n useEffect(() => {\n // console.log('watchedValues', watchedValues)\n }, [watchedValues]);\n // This single hook provides all the necessary logic and state for the field.\n const fieldLogic = useFieldLogic({element, control, getValues, isFocused: focusedField === element.id, groupField, watchedValues});\n\n const {\n field,\n isShown,\n layout,\n style:elementStyle,\n animation\n } = fieldLogic;\n const isFocused = focusedField === field.name;\n\n const onFocus = useCallback(() => setFocusedField(field.name), [setFocusedField, field.name]);\n const onBlur: React.FocusEventHandler<any> = useCallback((event) => {\n const cl = event.target['className'];\n // @ts-ignore\n if(!cl || cl.includes(`${element.id}_option_item`) || cl.includes(`p-multiselect-filter`)){\n return;\n }\n setFocusedField('');\n field.onBlur(); // Call the original onBlur from react-hook-form\n }, [setFocusedField, field.onBlur]);\n\n // Grid layout effect — MUST be before any conditional return (Rules of Hooks)\n useEffect(() => {\n if(layout.colSpan && currentLayout.current != JSON.stringify(layout)){\n const ctx = createStyleContext();\n\n const colSpan = resolveResponsiveValue<string | number>(layout.colSpan, ctx);\n\n onGridChange?.(colSpan?.toString() ?? '12')\n\n currentLayout.current = JSON.stringify(layout)\n }\n\n }, [layout]);\n\n // If the logic dictates this field should not be shown, render nothing.\n if (!isShown || !children) {\n return null;\n }\n\n\n\n // @ts-ignore\n return <Flex {...elementStyle?.container} {...animation}\n zIndex={isFocused ? 1000 : ('auto' as unknown as number)}\n w={'100%'} onTouchStart={onFocus}>\n {children(fieldLogic)}\n </Flex>\n};\n"],"names":["useRef","groupField","useMemo","useWatch","useEffect","useFieldLogic","useCallback","createStyleContext","resolveResponsiveValue","jsx","Flex"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FieldWrapper.cjs","sources":["../../../../../src/form-renderer/components/layout/FieldWrapper.native.tsx"],"sourcesContent":["// components/layout/FieldWrapper.native.tsx\n\nimport React, {useCallback, useEffect, useMemo, useRef} from \"react\";\nimport type {FieldValues} from \"react-hook-form\";\nimport {useWatch} from \"react-hook-form\";\nimport {useFieldLogic} from \"../../hooks\";\nimport type {FieldWrapperProps, GroupFieldConfigs} from \"@lmb-it/kitsconcerto-types\";\nimport {Flex} from \"../../../_compat\";\nimport {createStyleContext, resolveResponsiveValue} from \"@lmb-it/kitsconcertomobile\";\n\n/**\n * Native layout contract:\n * - Container MUST be flex-row + flex-wrap\n * - Grid semantics are approximated via percentages\n *\n * Supported mappings:\n * - columns -> virtual column count\n * - colSpan -> width %\n * - colOffset -> marginLeft %\n * - columnGap -> item horizontal padding\n * - rowGap -> item vertical padding\n * - rowSpan -> minHeight approximation\n *\n * Ignored (grid-only semantics):\n * - templateAreas\n * - area\n * - gridTemplateRows\n * - gridTemplateColumns\n * - rowStart / rowEnd\n * - colStart / colEnd\n */\n\nconst DEFAULT_COLUMNS = 12;\nconst DEFAULT_ROW_HEIGHT = 56;\n\nexport const FieldWrapper = <T extends FieldValues>({\n element,\n control,\n getValues,\n setFocusedField,\n focusedField,\n children,\n grid,\n onGridChange,\n groupField,\n }: FieldWrapperProps<T>) => {\n /* ---------------- helpers (no hooks) ---------------- */\n\n const currentLayout = useRef<any>(null);\n const resolveDepPath = (dep: string, groupField?: GroupFieldConfigs<T>['groupField']): string => {\n if (!groupField || groupField.index === undefined || groupField.index < 0) return dep;\n\n const parts = dep.split(\".\");\n const {name, index} = groupField;\n\n // Must be \"<groupRef>.current.<field...>\"\n if (parts.length < 2 || parts[1] !== \"current\") return dep;\n\n // Group-relative deps are authored against the group's own id\n // (e.g. \"addresses.current.x\"). When the group is nested inside an\n // Object the live `name` is the fully-qualified dotted path\n // (e.g. \"addressGroup.addresses\"), so match the dep's first segment\n // against EITHER the full name or its trailing segment, then rebuild\n // against the fully-qualified name so useWatch hits the real path.\n const nameLast = name.includes(\".\") ? name.slice(name.lastIndexOf(\".\") + 1) : name;\n if (parts[0] !== name && parts[0] !== nameLast) return dep;\n\n return [name, String(index), ...parts.slice(2)].join(\".\");\n };\n\n const flattenPaths = (obj: any, prefix = ''): string[] =>\n Object.keys(obj ?? {}).flatMap((key) => {\n const path = prefix ? `${prefix}.${key}` : key;\n return typeof obj[key] === 'object' && obj[key] !== null\n ? [path, ...flattenPaths(obj[key], path)]\n : [path];\n });\n\n // 1. Determine which fields to watch for changes.\n const dependencies = useMemo(() => {\n const deps = new Set<string>([...(element.deps ?? []), ...(element.logic?.deps ?? [])]);\n\n if (deps.has('*')) {\n return flattenPaths(getValues());\n }\n\n return Array.from(deps).map((d) => resolveDepPath(d, groupField));\n }, [element, groupField]);\n\n\n // 2. Efficiently watch only the necessary fields.\n const watchedValues = useWatch({\n name: dependencies as any,\n compute:(fieldValue)=>{\n return fieldValue\n },\n exact:true,\n disabled:dependencies.length === 0\n });\n\n useEffect(() => {\n // console.log('watchedValues', watchedValues)\n }, [watchedValues]);\n // This single hook provides all the necessary logic and state for the field.\n const fieldLogic = useFieldLogic({element, control, getValues, isFocused: focusedField === element.id, groupField, watchedValues});\n\n const {\n field,\n isShown,\n layout,\n style:elementStyle,\n animation\n } = fieldLogic;\n const isFocused = focusedField === field.name;\n\n const onFocus = useCallback(() => setFocusedField(field.name), [setFocusedField, field.name]);\n const onBlur: React.FocusEventHandler<any> = useCallback((event) => {\n const cl = event.target['className'];\n // @ts-ignore\n if(!cl || cl.includes(`${element.id}_option_item`) || cl.includes(`p-multiselect-filter`)){\n return;\n }\n setFocusedField('');\n field.onBlur(); // Call the original onBlur from react-hook-form\n }, [setFocusedField, field.onBlur]);\n\n // Grid layout effect — MUST be before any conditional return (Rules of Hooks)\n useEffect(() => {\n if(layout.colSpan && currentLayout.current != JSON.stringify(layout)){\n const ctx = createStyleContext();\n\n const colSpan = resolveResponsiveValue<string | number>(layout.colSpan, ctx);\n\n onGridChange?.(colSpan?.toString() ?? '12')\n\n currentLayout.current = JSON.stringify(layout)\n }\n\n }, [layout]);\n\n // If the logic dictates this field should not be shown, render nothing.\n if (!isShown || !children) {\n return null;\n }\n\n\n\n // @ts-ignore\n return <Flex {...elementStyle?.container} {...animation}\n zIndex={isFocused ? 1000 : ('auto' as unknown as number)}\n w={'100%'} onTouchStart={onFocus}>\n {children(fieldLogic)}\n </Flex>\n};\n"],"names":["useRef","groupField","useMemo","useWatch","useEffect","useFieldLogic","useCallback","createStyleContext","resolveResponsiveValue","jsx","Flex"],"mappings":"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"}
|
|
@@ -62,6 +62,8 @@ import '../../../packages/types/src/Components/Molecules/Form/FilePicker/types/f
|
|
|
62
62
|
import '../../../packages/types/src/Css/map/index.js';
|
|
63
63
|
import '../../../packages/types/src/Theme/shadows.js';
|
|
64
64
|
import '../../../packages/types/src/Theme/defaultTheme.js';
|
|
65
|
+
import '../../../packages/types/src/Theme/alphaColors.js';
|
|
66
|
+
import '../../../apps/mobile/src/Factory/helpers/cssVarMap.js';
|
|
65
67
|
import 'i18next';
|
|
66
68
|
import 'react-i18next';
|
|
67
69
|
import '../../../apps/mobile/src/Core/AutoComplete/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldWrapper.js","sources":["../../../../../src/form-renderer/components/layout/FieldWrapper.native.tsx"],"sourcesContent":["// components/layout/FieldWrapper.native.tsx\n\nimport React, {useCallback, useEffect, useMemo, useRef} from \"react\";\nimport type {FieldValues} from \"react-hook-form\";\nimport {useWatch} from \"react-hook-form\";\nimport {useFieldLogic} from \"../../hooks\";\nimport type {FieldWrapperProps, GroupFieldConfigs} from \"@lmb-it/kitsconcerto-types\";\nimport {Flex} from \"../../../_compat\";\nimport {createStyleContext, resolveResponsiveValue} from \"@lmb-it/kitsconcertomobile\";\n\n/**\n * Native layout contract:\n * - Container MUST be flex-row + flex-wrap\n * - Grid semantics are approximated via percentages\n *\n * Supported mappings:\n * - columns -> virtual column count\n * - colSpan -> width %\n * - colOffset -> marginLeft %\n * - columnGap -> item horizontal padding\n * - rowGap -> item vertical padding\n * - rowSpan -> minHeight approximation\n *\n * Ignored (grid-only semantics):\n * - templateAreas\n * - area\n * - gridTemplateRows\n * - gridTemplateColumns\n * - rowStart / rowEnd\n * - colStart / colEnd\n */\n\nconst DEFAULT_COLUMNS = 12;\nconst DEFAULT_ROW_HEIGHT = 56;\n\nexport const FieldWrapper = <T extends FieldValues>({\n element,\n control,\n getValues,\n setFocusedField,\n focusedField,\n children,\n grid,\n onGridChange,\n groupField,\n }: FieldWrapperProps<T>) => {\n /* ---------------- helpers (no hooks) ---------------- */\n\n const currentLayout = useRef<any>(null);\n const resolveDepPath = (dep: string, groupField?: GroupFieldConfigs<T>['groupField']): string => {\n if (!groupField || groupField.index === undefined || groupField.index < 0) return dep;\n\n const parts = dep.split(\".\");\n const {name, index} = groupField;\n\n // Must be \"<groupRef>.current.<field...>\"\n if (parts.length < 2 || parts[1] !== \"current\") return dep;\n\n // Group-relative deps are authored against the group's own id\n // (e.g. \"addresses.current.x\"). When the group is nested inside an\n // Object the live `name` is the fully-qualified dotted path\n // (e.g. \"addressGroup.addresses\"), so match the dep's first segment\n // against EITHER the full name or its trailing segment, then rebuild\n // against the fully-qualified name so useWatch hits the real path.\n const nameLast = name.includes(\".\") ? name.slice(name.lastIndexOf(\".\") + 1) : name;\n if (parts[0] !== name && parts[0] !== nameLast) return dep;\n\n return [name, String(index), ...parts.slice(2)].join(\".\");\n };\n\n const flattenPaths = (obj: any, prefix = ''): string[] =>\n Object.keys(obj ?? {}).flatMap((key) => {\n const path = prefix ? `${prefix}.${key}` : key;\n return typeof obj[key] === 'object' && obj[key] !== null\n ? [path, ...flattenPaths(obj[key], path)]\n : [path];\n });\n\n // 1. Determine which fields to watch for changes.\n const dependencies = useMemo(() => {\n const deps = new Set<string>([...(element.deps ?? []), ...(element.logic?.deps ?? [])]);\n\n if (deps.has('*')) {\n return flattenPaths(getValues());\n }\n\n return Array.from(deps).map((d) => resolveDepPath(d, groupField));\n }, [element, groupField]);\n\n\n // 2. Efficiently watch only the necessary fields.\n const watchedValues = useWatch({\n name: dependencies as any,\n compute:(fieldValue)=>{\n return fieldValue\n },\n exact:true,\n disabled:dependencies.length === 0\n });\n\n useEffect(() => {\n // console.log('watchedValues', watchedValues)\n }, [watchedValues]);\n // This single hook provides all the necessary logic and state for the field.\n const fieldLogic = useFieldLogic({element, control, getValues, isFocused: focusedField === element.id, groupField, watchedValues});\n\n const {\n field,\n isShown,\n layout,\n style:elementStyle,\n animation\n } = fieldLogic;\n const isFocused = focusedField === field.name;\n\n const onFocus = useCallback(() => setFocusedField(field.name), [setFocusedField, field.name]);\n const onBlur: React.FocusEventHandler<any> = useCallback((event) => {\n const cl = event.target['className'];\n // @ts-ignore\n if(!cl || cl.includes(`${element.id}_option_item`) || cl.includes(`p-multiselect-filter`)){\n return;\n }\n setFocusedField('');\n field.onBlur(); // Call the original onBlur from react-hook-form\n }, [setFocusedField, field.onBlur]);\n\n // Grid layout effect — MUST be before any conditional return (Rules of Hooks)\n useEffect(() => {\n if(layout.colSpan && currentLayout.current != JSON.stringify(layout)){\n const ctx = createStyleContext();\n\n const colSpan = resolveResponsiveValue<string | number>(layout.colSpan, ctx);\n\n onGridChange?.(colSpan?.toString() ?? '12')\n\n currentLayout.current = JSON.stringify(layout)\n }\n\n }, [layout]);\n\n // If the logic dictates this field should not be shown, render nothing.\n if (!isShown || !children) {\n return null;\n }\n\n\n\n // @ts-ignore\n return <Flex {...elementStyle?.container} {...animation}\n zIndex={isFocused ? 1000 : ('auto' as unknown as number)}\n w={'100%'} onTouchStart={onFocus}>\n {children(fieldLogic)}\n </Flex>\n};\n"],"names":["groupField"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FieldWrapper.js","sources":["../../../../../src/form-renderer/components/layout/FieldWrapper.native.tsx"],"sourcesContent":["// components/layout/FieldWrapper.native.tsx\n\nimport React, {useCallback, useEffect, useMemo, useRef} from \"react\";\nimport type {FieldValues} from \"react-hook-form\";\nimport {useWatch} from \"react-hook-form\";\nimport {useFieldLogic} from \"../../hooks\";\nimport type {FieldWrapperProps, GroupFieldConfigs} from \"@lmb-it/kitsconcerto-types\";\nimport {Flex} from \"../../../_compat\";\nimport {createStyleContext, resolveResponsiveValue} from \"@lmb-it/kitsconcertomobile\";\n\n/**\n * Native layout contract:\n * - Container MUST be flex-row + flex-wrap\n * - Grid semantics are approximated via percentages\n *\n * Supported mappings:\n * - columns -> virtual column count\n * - colSpan -> width %\n * - colOffset -> marginLeft %\n * - columnGap -> item horizontal padding\n * - rowGap -> item vertical padding\n * - rowSpan -> minHeight approximation\n *\n * Ignored (grid-only semantics):\n * - templateAreas\n * - area\n * - gridTemplateRows\n * - gridTemplateColumns\n * - rowStart / rowEnd\n * - colStart / colEnd\n */\n\nconst DEFAULT_COLUMNS = 12;\nconst DEFAULT_ROW_HEIGHT = 56;\n\nexport const FieldWrapper = <T extends FieldValues>({\n element,\n control,\n getValues,\n setFocusedField,\n focusedField,\n children,\n grid,\n onGridChange,\n groupField,\n }: FieldWrapperProps<T>) => {\n /* ---------------- helpers (no hooks) ---------------- */\n\n const currentLayout = useRef<any>(null);\n const resolveDepPath = (dep: string, groupField?: GroupFieldConfigs<T>['groupField']): string => {\n if (!groupField || groupField.index === undefined || groupField.index < 0) return dep;\n\n const parts = dep.split(\".\");\n const {name, index} = groupField;\n\n // Must be \"<groupRef>.current.<field...>\"\n if (parts.length < 2 || parts[1] !== \"current\") return dep;\n\n // Group-relative deps are authored against the group's own id\n // (e.g. \"addresses.current.x\"). When the group is nested inside an\n // Object the live `name` is the fully-qualified dotted path\n // (e.g. \"addressGroup.addresses\"), so match the dep's first segment\n // against EITHER the full name or its trailing segment, then rebuild\n // against the fully-qualified name so useWatch hits the real path.\n const nameLast = name.includes(\".\") ? name.slice(name.lastIndexOf(\".\") + 1) : name;\n if (parts[0] !== name && parts[0] !== nameLast) return dep;\n\n return [name, String(index), ...parts.slice(2)].join(\".\");\n };\n\n const flattenPaths = (obj: any, prefix = ''): string[] =>\n Object.keys(obj ?? {}).flatMap((key) => {\n const path = prefix ? `${prefix}.${key}` : key;\n return typeof obj[key] === 'object' && obj[key] !== null\n ? [path, ...flattenPaths(obj[key], path)]\n : [path];\n });\n\n // 1. Determine which fields to watch for changes.\n const dependencies = useMemo(() => {\n const deps = new Set<string>([...(element.deps ?? []), ...(element.logic?.deps ?? [])]);\n\n if (deps.has('*')) {\n return flattenPaths(getValues());\n }\n\n return Array.from(deps).map((d) => resolveDepPath(d, groupField));\n }, [element, groupField]);\n\n\n // 2. Efficiently watch only the necessary fields.\n const watchedValues = useWatch({\n name: dependencies as any,\n compute:(fieldValue)=>{\n return fieldValue\n },\n exact:true,\n disabled:dependencies.length === 0\n });\n\n useEffect(() => {\n // console.log('watchedValues', watchedValues)\n }, [watchedValues]);\n // This single hook provides all the necessary logic and state for the field.\n const fieldLogic = useFieldLogic({element, control, getValues, isFocused: focusedField === element.id, groupField, watchedValues});\n\n const {\n field,\n isShown,\n layout,\n style:elementStyle,\n animation\n } = fieldLogic;\n const isFocused = focusedField === field.name;\n\n const onFocus = useCallback(() => setFocusedField(field.name), [setFocusedField, field.name]);\n const onBlur: React.FocusEventHandler<any> = useCallback((event) => {\n const cl = event.target['className'];\n // @ts-ignore\n if(!cl || cl.includes(`${element.id}_option_item`) || cl.includes(`p-multiselect-filter`)){\n return;\n }\n setFocusedField('');\n field.onBlur(); // Call the original onBlur from react-hook-form\n }, [setFocusedField, field.onBlur]);\n\n // Grid layout effect — MUST be before any conditional return (Rules of Hooks)\n useEffect(() => {\n if(layout.colSpan && currentLayout.current != JSON.stringify(layout)){\n const ctx = createStyleContext();\n\n const colSpan = resolveResponsiveValue<string | number>(layout.colSpan, ctx);\n\n onGridChange?.(colSpan?.toString() ?? '12')\n\n currentLayout.current = JSON.stringify(layout)\n }\n\n }, [layout]);\n\n // If the logic dictates this field should not be shown, render nothing.\n if (!isShown || !children) {\n return null;\n }\n\n\n\n // @ts-ignore\n return <Flex {...elementStyle?.container} {...animation}\n zIndex={isFocused ? 1000 : ('auto' as unknown as number)}\n w={'100%'} onTouchStart={onFocus}>\n {children(fieldLogic)}\n </Flex>\n};\n"],"names":["groupField"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCO,MAAM,eAAe,CAAwB;AAAA,EACI,OAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,eAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,YAAA;AAAA,EACA;AACJ,CAAA,KAA4B;AAG5E,EAAA,MAAM,aAAA,GAAgB,OAAY,IAAI,CAAA;AACtC,EAAA,MAAM,cAAA,GAAiB,CAAC,GAAA,EAAaA,WAAAA,KAA4D;AAC7F,IAAA,IAAI,CAACA,eAAcA,WAAAA,CAAW,KAAA,KAAU,UAAaA,WAAAA,CAAW,KAAA,GAAQ,GAAG,OAAO,GAAA;AAElF,IAAA,MAAM,KAAA,GAAQ,GAAA,CAAI,KAAA,CAAM,GAAG,CAAA;AAC3B,IAAA,MAAM,EAAC,IAAA,EAAM,KAAA,EAAK,GAAIA,WAAAA;AAGtB,IAAA,IAAI,MAAM,MAAA,GAAS,CAAA,IAAK,MAAM,CAAC,CAAA,KAAM,WAAW,OAAO,GAAA;AAQvD,IAAA,MAAM,QAAA,GAAW,IAAA,CAAK,QAAA,CAAS,GAAG,CAAA,GAAI,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,WAAA,CAAY,GAAG,CAAA,GAAI,CAAC,CAAA,GAAI,IAAA;AAC9E,IAAA,IAAI,KAAA,CAAM,CAAC,CAAA,KAAM,IAAA,IAAQ,MAAM,CAAC,CAAA,KAAM,UAAU,OAAO,GAAA;AAEvD,IAAA,OAAO,CAAC,IAAA,EAAM,MAAA,CAAO,KAAK,CAAA,EAAG,GAAG,KAAA,CAAM,KAAA,CAAM,CAAC,CAAC,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AAAA,EAC5D,CAAA;AAEA,EAAA,MAAM,YAAA,GAAe,CAAC,GAAA,EAAU,MAAA,GAAS,EAAA,KACrC,MAAA,CAAO,IAAA,CAAK,GAAA,IAAO,EAAE,CAAA,CAAE,OAAA,CAAQ,CAAC,GAAA,KAAQ;AACpC,IAAA,MAAM,OAAO,MAAA,GAAS,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,GAAK,GAAA;AAC3C,IAAA,OAAO,OAAO,IAAI,GAAG,CAAA,KAAM,YAAY,GAAA,CAAI,GAAG,MAAM,IAAA,GAC9C,CAAC,MAAM,GAAG,YAAA,CAAa,IAAI,GAAG,CAAA,EAAG,IAAI,CAAC,CAAA,GACtC,CAAC,IAAI,CAAA;AAAA,EACf,CAAC,CAAA;AAGL,EAAA,MAAM,YAAA,GAAe,QAAQ,MAAM;AAC/B,IAAA,MAAM,IAAA,mBAAO,IAAI,GAAA,CAAY,CAAC,GAAI,OAAA,CAAQ,IAAA,IAAQ,EAAC,EAAI,GAAI,OAAA,CAAQ,KAAA,EAAO,IAAA,IAAQ,EAAG,CAAC,CAAA;AAEtF,IAAA,IAAI,IAAA,CAAK,GAAA,CAAI,GAAG,CAAA,EAAG;AACf,MAAA,OAAO,YAAA,CAAa,WAAW,CAAA;AAAA,IACnC;AAEA,IAAA,OAAO,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,KAAM,cAAA,CAAe,CAAA,EAAG,UAAU,CAAC,CAAA;AAAA,EACpE,CAAA,EAAG,CAAC,OAAA,EAAS,UAAU,CAAC,CAAA;AAIxB,EAAA,MAAM,gBAAgB,QAAA,CAAS;AAAA,IAC3B,IAAA,EAAM,YAAA;AAAA,IACN,OAAA,EAAQ,CAAC,UAAA,KAAa;AAClB,MAAA,OAAO,UAAA;AAAA,IACX,CAAA;AAAA,IACA,KAAA,EAAM,IAAA;AAAA,IACN,QAAA,EAAS,aAAa,MAAA,KAAW;AAAA,GACpC,CAAA;AAED,EAAA,SAAA,CAAU,MAAM;AAAA,EAEhB,CAAA,EAAG,CAAC,aAAa,CAAC,CAAA;AAElB,EAAA,MAAM,UAAA,GAAa,aAAA,CAAc,EAAC,OAAA,EAAS,OAAA,EAAS,SAAA,EAAW,SAAA,EAAW,YAAA,KAAiB,OAAA,CAAQ,EAAA,EAAI,UAAA,EAAY,aAAA,EAAc,CAAA;AAEjI,EAAA,MAAM;AAAA,IACF,KAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA,EAAM,YAAA;AAAA,IACN;AAAA,GACJ,GAAI,UAAA;AACJ,EAAA,MAAM,SAAA,GAAY,iBAAiB,KAAA,CAAM,IAAA;AAEzC,EAAA,MAAM,OAAA,GAAU,WAAA,CAAY,MAAM,eAAA,CAAgB,KAAA,CAAM,IAAI,CAAA,EAAG,CAAC,eAAA,EAAiB,KAAA,CAAM,IAAI,CAAC,CAAA;AAC5F,EAA6C,WAAA,CAAY,CAAC,KAAA,KAAU;AAChE,IAAA,MAAM,EAAA,GAAK,KAAA,CAAM,MAAA,CAAO,WAAW,CAAA;AAEnC,IAAA,IAAG,CAAC,EAAA,IAAM,EAAA,CAAG,QAAA,CAAS,CAAA,EAAG,OAAA,CAAQ,EAAE,CAAA,YAAA,CAAc,CAAA,IAAK,EAAA,CAAG,QAAA,CAAS,CAAA,oBAAA,CAAsB,CAAA,EAAE;AACtF,MAAA;AAAA,IACJ;AACA,IAAA,eAAA,CAAgB,EAAE,CAAA;AAClB,IAAA,KAAA,CAAM,MAAA,EAAO;AAAA,EACjB,CAAA,EAAG,CAAC,eAAA,EAAiB,KAAA,CAAM,MAAM,CAAC;AAGlC,EAAA,SAAA,CAAU,MAAM;AACZ,IAAA,IAAG,OAAO,OAAA,IAAW,aAAA,CAAc,WAAW,IAAA,CAAK,SAAA,CAAU,MAAM,CAAA,EAAE;AACjE,MAAA,MAAM,MAAM,kBAAA,EAAmB;AAE/B,MAAA,MAAM,OAAA,GAAU,sBAAA,CAAwC,MAAA,CAAO,OAAA,EAAS,GAAG,CAAA;AAE3E,MAAA,YAAA,GAAe,OAAA,EAAS,QAAA,EAAS,IAAK,IAAI,CAAA;AAE1C,MAAA,aAAA,CAAc,OAAA,GAAU,IAAA,CAAK,SAAA,CAAU,MAAM,CAAA;AAAA,IACjD;AAAA,EAEJ,CAAA,EAAG,CAAC,MAAM,CAAC,CAAA;AAGX,EAAA,IAAI,CAAC,OAAA,IAAW,CAAC,QAAA,EAAU;AACvB,IAAA,OAAO,IAAA;AAAA,EACX;AAKA,EAAA,uBAAO,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MAAM,GAAG,YAAA,EAAc,SAAA;AAAA,MAAY,GAAG,SAAA;AAAA,MACjC,MAAA,EAAQ,YAAY,GAAA,GAAQ,MAAA;AAAA,MAC5B,CAAA,EAAG,MAAA;AAAA,MAAQ,YAAA,EAAc,OAAA;AAAA,MACjC,mBAAS,UAAU;AAAA;AAAA,GACxB;AACJ;;;;"}
|
package/hooks/shadowPresets.cjs
CHANGED
|
@@ -8,6 +8,7 @@ require('yup');
|
|
|
8
8
|
require('../packages/types/src/Css/map/index.cjs');
|
|
9
9
|
var shadows = require('../packages/types/src/Theme/shadows.cjs');
|
|
10
10
|
require('../packages/types/src/Theme/defaultTheme.cjs');
|
|
11
|
+
require('../packages/types/src/Theme/alphaColors.cjs');
|
|
11
12
|
|
|
12
13
|
function expandShadow(value, _resolveToken) {
|
|
13
14
|
return value ? shadows.expandShadowNative(value) : {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadowPresets.cjs","sources":["../../../src/hooks/shadowPresets.native.ts"],"sourcesContent":["import {expandShadowNative} from '@lmb-it/kitsconcerto-types';\n\n/**\n * Cross-platform shadow expansion — NATIVE (iOS + Android).\n *\n * A `shadow: 'md'` style key resolves to the active native shadow scale\n * (`shadowColor/shadowOffset/shadowOpacity/shadowRadius/elevation`), published\n * by the native KitsThemeProvider from `theme.shadows.md.native` — so\n * overriding the theme overrides the shadow. Unknown values yield `{}` (raw CSS\n * box-shadow strings / `$shadows.*` tokens cannot render on RN).\n *\n * Web counterpart: ./shadowPresets.web.ts.\n */\nexport function expandShadow(\n value: string,\n _resolveToken?: (token: string) => string,\n): Record<string, any> {\n return value ? expandShadowNative(value) : {};\n}\n"],"names":["expandShadowNative"],"mappings":"
|
|
1
|
+
{"version":3,"file":"shadowPresets.cjs","sources":["../../../src/hooks/shadowPresets.native.ts"],"sourcesContent":["import {expandShadowNative} from '@lmb-it/kitsconcerto-types';\n\n/**\n * Cross-platform shadow expansion — NATIVE (iOS + Android).\n *\n * A `shadow: 'md'` style key resolves to the active native shadow scale\n * (`shadowColor/shadowOffset/shadowOpacity/shadowRadius/elevation`), published\n * by the native KitsThemeProvider from `theme.shadows.md.native` — so\n * overriding the theme overrides the shadow. Unknown values yield `{}` (raw CSS\n * box-shadow strings / `$shadows.*` tokens cannot render on RN).\n *\n * Web counterpart: ./shadowPresets.web.ts.\n */\nexport function expandShadow(\n value: string,\n _resolveToken?: (token: string) => string,\n): Record<string, any> {\n return value ? expandShadowNative(value) : {};\n}\n"],"names":["expandShadowNative"],"mappings":";;;;;;;;;;;;AAaO,SAAS,YAAA,CACZ,OACA,aAAA,EACmB;AACnB,EAAA,OAAO,KAAA,GAAQA,0BAAA,CAAmB,KAAK,CAAA,GAAI,EAAC;AAChD;;;;"}
|
package/hooks/shadowPresets.js
CHANGED
|
@@ -6,6 +6,7 @@ import 'yup';
|
|
|
6
6
|
import '../packages/types/src/Css/map/index.js';
|
|
7
7
|
import { expandShadowNative } from '../packages/types/src/Theme/shadows.js';
|
|
8
8
|
import '../packages/types/src/Theme/defaultTheme.js';
|
|
9
|
+
import '../packages/types/src/Theme/alphaColors.js';
|
|
9
10
|
|
|
10
11
|
function expandShadow(value, _resolveToken) {
|
|
11
12
|
return value ? expandShadowNative(value) : {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadowPresets.js","sources":["../../../src/hooks/shadowPresets.native.ts"],"sourcesContent":["import {expandShadowNative} from '@lmb-it/kitsconcerto-types';\n\n/**\n * Cross-platform shadow expansion — NATIVE (iOS + Android).\n *\n * A `shadow: 'md'` style key resolves to the active native shadow scale\n * (`shadowColor/shadowOffset/shadowOpacity/shadowRadius/elevation`), published\n * by the native KitsThemeProvider from `theme.shadows.md.native` — so\n * overriding the theme overrides the shadow. Unknown values yield `{}` (raw CSS\n * box-shadow strings / `$shadows.*` tokens cannot render on RN).\n *\n * Web counterpart: ./shadowPresets.web.ts.\n */\nexport function expandShadow(\n value: string,\n _resolveToken?: (token: string) => string,\n): Record<string, any> {\n return value ? expandShadowNative(value) : {};\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shadowPresets.js","sources":["../../../src/hooks/shadowPresets.native.ts"],"sourcesContent":["import {expandShadowNative} from '@lmb-it/kitsconcerto-types';\n\n/**\n * Cross-platform shadow expansion — NATIVE (iOS + Android).\n *\n * A `shadow: 'md'` style key resolves to the active native shadow scale\n * (`shadowColor/shadowOffset/shadowOpacity/shadowRadius/elevation`), published\n * by the native KitsThemeProvider from `theme.shadows.md.native` — so\n * overriding the theme overrides the shadow. Unknown values yield `{}` (raw CSS\n * box-shadow strings / `$shadows.*` tokens cannot render on RN).\n *\n * Web counterpart: ./shadowPresets.web.ts.\n */\nexport function expandShadow(\n value: string,\n _resolveToken?: (token: string) => string,\n): Record<string, any> {\n return value ? expandShadowNative(value) : {};\n}\n"],"names":[],"mappings":";;;;;;;;;;AAaO,SAAS,YAAA,CACZ,OACA,aAAA,EACmB;AACnB,EAAA,OAAO,KAAA,GAAQ,kBAAA,CAAmB,KAAK,CAAA,GAAI,EAAC;AAChD;;;;"}
|
package/hooks/useFocusStyles.cjs
CHANGED
|
@@ -61,6 +61,8 @@ require('yup');
|
|
|
61
61
|
require('../packages/types/src/Css/map/index.cjs');
|
|
62
62
|
require('../packages/types/src/Theme/shadows.cjs');
|
|
63
63
|
require('../packages/types/src/Theme/defaultTheme.cjs');
|
|
64
|
+
require('../packages/types/src/Theme/alphaColors.cjs');
|
|
65
|
+
require('../apps/mobile/src/Factory/helpers/cssVarMap.cjs');
|
|
64
66
|
require('i18next');
|
|
65
67
|
require('react-i18next');
|
|
66
68
|
require('../apps/mobile/src/Core/AutoComplete/index.cjs');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFocusStyles.cjs","sources":["../../../src/hooks/useFocusStyles.native.ts"],"sourcesContent":["import {useMemo} from 'react';\nimport type {IStyleClasses} from '@lmb-it/kitsconcerto-types';\nimport {style} from '@lmb-it/kitsconcertomobile';\n\n/**\n * Native focus-style helper.\n * Merges `_focus` styles into the computed style object when `isFocused` is true.\n * Returns a React Native ViewStyle object ready for the `style` prop.\n */\nexport function useFocusStyles(\n themeStyle: IStyleClasses | undefined,\n isFocused: boolean,\n) {\n return useMemo(() => {\n if (!themeStyle) return {};\n const {_focus, _hover, ...base} = themeStyle as any;\n const baseStyle = style(base);\n if (!isFocused || !_focus) return baseStyle;\n const focusStyle = style(_focus);\n return {...baseStyle, ...focusStyle};\n }, [themeStyle, isFocused]);\n}\n\nexport default useFocusStyles;\n"],"names":["useMemo","style"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFocusStyles.cjs","sources":["../../../src/hooks/useFocusStyles.native.ts"],"sourcesContent":["import {useMemo} from 'react';\nimport type {IStyleClasses} from '@lmb-it/kitsconcerto-types';\nimport {style} from '@lmb-it/kitsconcertomobile';\n\n/**\n * Native focus-style helper.\n * Merges `_focus` styles into the computed style object when `isFocused` is true.\n * Returns a React Native ViewStyle object ready for the `style` prop.\n */\nexport function useFocusStyles(\n themeStyle: IStyleClasses | undefined,\n isFocused: boolean,\n) {\n return useMemo(() => {\n if (!themeStyle) return {};\n const {_focus, _hover, ...base} = themeStyle as any;\n const baseStyle = style(base);\n if (!isFocused || !_focus) return baseStyle;\n const focusStyle = style(_focus);\n return {...baseStyle, ...focusStyle};\n }, [themeStyle, isFocused]);\n}\n\nexport default useFocusStyles;\n"],"names":["useMemo","style"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASO,SAAS,cAAA,CACZ,YACA,SAAA,EACF;AACE,EAAA,OAAOA,cAAQ,MAAM;AACjB,IAAA,IAAI,CAAC,UAAA,EAAY,OAAO,EAAC;AACzB,IAAA,MAAM,EAAC,MAAA,EAAQ,MAAA,EAAQ,GAAG,MAAI,GAAI,UAAA;AAClC,IAAA,MAAM,SAAA,GAAYC,YAAM,IAAI,CAAA;AAC5B,IAAA,IAAI,CAAC,SAAA,IAAa,CAAC,MAAA,EAAQ,OAAO,SAAA;AAClC,IAAA,MAAM,UAAA,GAAaA,YAAM,MAAM,CAAA;AAC/B,IAAA,OAAO,EAAC,GAAG,SAAA,EAAW,GAAG,UAAA,EAAU;AAAA,EACvC,CAAA,EAAG,CAAC,UAAA,EAAY,SAAS,CAAC,CAAA;AAC9B;;;;"}
|
package/hooks/useFocusStyles.js
CHANGED
|
@@ -59,6 +59,8 @@ import 'yup';
|
|
|
59
59
|
import '../packages/types/src/Css/map/index.js';
|
|
60
60
|
import '../packages/types/src/Theme/shadows.js';
|
|
61
61
|
import '../packages/types/src/Theme/defaultTheme.js';
|
|
62
|
+
import '../packages/types/src/Theme/alphaColors.js';
|
|
63
|
+
import '../apps/mobile/src/Factory/helpers/cssVarMap.js';
|
|
62
64
|
import 'i18next';
|
|
63
65
|
import 'react-i18next';
|
|
64
66
|
import '../apps/mobile/src/Core/AutoComplete/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFocusStyles.js","sources":["../../../src/hooks/useFocusStyles.native.ts"],"sourcesContent":["import {useMemo} from 'react';\nimport type {IStyleClasses} from '@lmb-it/kitsconcerto-types';\nimport {style} from '@lmb-it/kitsconcertomobile';\n\n/**\n * Native focus-style helper.\n * Merges `_focus` styles into the computed style object when `isFocused` is true.\n * Returns a React Native ViewStyle object ready for the `style` prop.\n */\nexport function useFocusStyles(\n themeStyle: IStyleClasses | undefined,\n isFocused: boolean,\n) {\n return useMemo(() => {\n if (!themeStyle) return {};\n const {_focus, _hover, ...base} = themeStyle as any;\n const baseStyle = style(base);\n if (!isFocused || !_focus) return baseStyle;\n const focusStyle = style(_focus);\n return {...baseStyle, ...focusStyle};\n }, [themeStyle, isFocused]);\n}\n\nexport default useFocusStyles;\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFocusStyles.js","sources":["../../../src/hooks/useFocusStyles.native.ts"],"sourcesContent":["import {useMemo} from 'react';\nimport type {IStyleClasses} from '@lmb-it/kitsconcerto-types';\nimport {style} from '@lmb-it/kitsconcertomobile';\n\n/**\n * Native focus-style helper.\n * Merges `_focus` styles into the computed style object when `isFocused` is true.\n * Returns a React Native ViewStyle object ready for the `style` prop.\n */\nexport function useFocusStyles(\n themeStyle: IStyleClasses | undefined,\n isFocused: boolean,\n) {\n return useMemo(() => {\n if (!themeStyle) return {};\n const {_focus, _hover, ...base} = themeStyle as any;\n const baseStyle = style(base);\n if (!isFocused || !_focus) return baseStyle;\n const focusStyle = style(_focus);\n return {...baseStyle, ...focusStyle};\n }, [themeStyle, isFocused]);\n}\n\nexport default useFocusStyles;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASO,SAAS,cAAA,CACZ,YACA,SAAA,EACF;AACE,EAAA,OAAO,QAAQ,MAAM;AACjB,IAAA,IAAI,CAAC,UAAA,EAAY,OAAO,EAAC;AACzB,IAAA,MAAM,EAAC,MAAA,EAAQ,MAAA,EAAQ,GAAG,MAAI,GAAI,UAAA;AAClC,IAAA,MAAM,SAAA,GAAY,MAAM,IAAI,CAAA;AAC5B,IAAA,IAAI,CAAC,SAAA,IAAa,CAAC,MAAA,EAAQ,OAAO,SAAA;AAClC,IAAA,MAAM,UAAA,GAAa,MAAM,MAAM,CAAA;AAC/B,IAAA,OAAO,EAAC,GAAG,SAAA,EAAW,GAAG,UAAA,EAAU;AAAA,EACvC,CAAA,EAAG,CAAC,UAAA,EAAY,SAAS,CAAC,CAAA;AAC9B;;;;"}
|
package/index.cjs
CHANGED
|
@@ -105,6 +105,7 @@ var defaultTheme = require('./packages/types/src/Theme/defaultTheme.cjs');
|
|
|
105
105
|
var defaultSeverityTheme = require('./packages/types/src/Theme/defaultSeverityTheme.cjs');
|
|
106
106
|
var extendTheme = require('./packages/types/src/Theme/extendTheme.cjs');
|
|
107
107
|
var resolvers = require('./packages/types/src/Theme/resolvers.cjs');
|
|
108
|
+
var alphaColors = require('./packages/types/src/Theme/alphaColors.cjs');
|
|
108
109
|
var index_native$1 = require('./layout/AnimatePresence/index.cjs');
|
|
109
110
|
var banner_native = require('./components/Banner/banner.cjs');
|
|
110
111
|
var index$2 = require('./layout/Center/index.cjs');
|
|
@@ -298,6 +299,10 @@ exports.extendTheme = extendTheme.extendTheme;
|
|
|
298
299
|
exports.isSemanticToken = resolvers.isSemanticToken;
|
|
299
300
|
exports.isThemeToken = resolvers.isThemeToken;
|
|
300
301
|
exports.resolveTokenValue = resolvers.resolveTokenValue;
|
|
302
|
+
exports.ALPHA_COLOR_VARS = alphaColors.ALPHA_COLOR_VARS;
|
|
303
|
+
exports.ALPHA_STEPS = alphaColors.ALPHA_STEPS;
|
|
304
|
+
exports.ALPHA_TOKEN_NAMES = alphaColors.ALPHA_TOKEN_NAMES;
|
|
305
|
+
exports.isAlphaToken = alphaColors.isAlphaToken;
|
|
301
306
|
exports.AnimatePresence = index_native$1.default;
|
|
302
307
|
exports.Banner = banner_native.default;
|
|
303
308
|
exports.Center = index$2.default;
|
package/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|