@lmb-it/kitsconcerto-native 0.1.289 → 0.1.290
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/apps/mobile/src/Core/Dropdown/index.cjs +1 -0
- package/apps/mobile/src/Core/Dropdown/index.cjs.map +1 -1
- package/apps/mobile/src/Core/Dropdown/index.js +1 -0
- package/apps/mobile/src/Core/Dropdown/index.js.map +1 -1
- package/apps/mobile/src/Core/Trees/components/CoreToolbar.cjs +1 -0
- package/apps/mobile/src/Core/Trees/components/CoreToolbar.cjs.map +1 -1
- package/apps/mobile/src/Core/Trees/components/CoreToolbar.js +1 -0
- package/apps/mobile/src/Core/Trees/components/CoreToolbar.js.map +1 -1
- package/apps/mobile/src/Factory/ResponsiveElement.cjs +1 -0
- package/apps/mobile/src/Factory/ResponsiveElement.cjs.map +1 -1
- package/apps/mobile/src/Factory/ResponsiveElement.js +1 -0
- package/apps/mobile/src/Factory/ResponsiveElement.js.map +1 -1
- package/apps/mobile/src/Factory/helpers/cssVarMap.cjs +1 -0
- package/apps/mobile/src/Factory/helpers/cssVarMap.cjs.map +1 -1
- package/apps/mobile/src/Factory/helpers/cssVarMap.js +1 -0
- package/apps/mobile/src/Factory/helpers/cssVarMap.js.map +1 -1
- package/apps/mobile/src/Factory/helpers/style.cjs +1 -0
- package/apps/mobile/src/Factory/helpers/style.cjs.map +1 -1
- package/apps/mobile/src/Factory/helpers/style.js +1 -0
- 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 +1 -0
- package/components/Accordion/accordion.cjs.map +1 -1
- package/components/Accordion/accordion.js +1 -0
- package/components/Accordion/accordion.js.map +1 -1
- package/components/Badge/index.cjs +1 -0
- package/components/Badge/index.cjs.map +1 -1
- package/components/Badge/index.js +1 -0
- package/components/Badge/index.js.map +1 -1
- package/components/BottomTabBar/index.cjs +1 -0
- package/components/BottomTabBar/index.cjs.map +1 -1
- package/components/BottomTabBar/index.js +1 -0
- package/components/BottomTabBar/index.js.map +1 -1
- package/components/Button/Button.cjs +1 -0
- package/components/Button/Button.cjs.map +1 -1
- package/components/Button/Button.js +1 -0
- package/components/Button/Button.js.map +1 -1
- package/components/MessageComposer/index.cjs +1 -0
- package/components/MessageComposer/index.cjs.map +1 -1
- package/components/MessageComposer/index.js +1 -0
- package/components/MessageComposer/index.js.map +1 -1
- package/components/SegmentedControl/index.cjs +1 -0
- package/components/SegmentedControl/index.cjs.map +1 -1
- package/components/SegmentedControl/index.js +1 -0
- package/components/SegmentedControl/index.js.map +1 -1
- package/components/SkeletonText/index.cjs +1 -0
- package/components/SkeletonText/index.cjs.map +1 -1
- package/components/SkeletonText/index.js +1 -0
- package/components/SkeletonText/index.js.map +1 -1
- package/components/Tabs/index.cjs +3 -2
- package/components/Tabs/index.cjs.map +1 -1
- package/components/Tabs/index.js +3 -2
- package/components/Tabs/index.js.map +1 -1
- package/contexts/Locale/index.cjs +1 -0
- package/contexts/Locale/index.cjs.map +1 -1
- package/contexts/Locale/index.js +1 -0
- package/contexts/Locale/index.js.map +1 -1
- package/contexts/Main/index.cjs +1 -0
- package/contexts/Main/index.cjs.map +1 -1
- package/contexts/Main/index.js +1 -0
- package/contexts/Main/index.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/data/DataView/Pagination/index.cjs +1 -0
- package/data/DataView/Pagination/index.cjs.map +1 -1
- package/data/DataView/Pagination/index.js +1 -0
- package/data/DataView/Pagination/index.js.map +1 -1
- package/data/TreeView/index.cjs +1 -0
- package/data/TreeView/index.cjs.map +1 -1
- package/data/TreeView/index.js +1 -0
- package/data/TreeView/index.js.map +1 -1
- package/form/controls/Checkbox/checkbox.cjs +1 -0
- package/form/controls/Checkbox/checkbox.cjs.map +1 -1
- package/form/controls/Checkbox/checkbox.js +1 -0
- package/form/controls/Checkbox/checkbox.js.map +1 -1
- package/form/controls/RadioButton/radiobutton.cjs +1 -0
- package/form/controls/RadioButton/radiobutton.cjs.map +1 -1
- package/form/controls/RadioButton/radiobutton.js +1 -0
- package/form/controls/RadioButton/radiobutton.js.map +1 -1
- package/form/controls/SelectButton/index.cjs +1 -0
- package/form/controls/SelectButton/index.cjs.map +1 -1
- package/form/controls/SelectButton/index.js +1 -0
- package/form/controls/SelectButton/index.js.map +1 -1
- package/form/controls/TriStateCheckbox/index.cjs +1 -0
- package/form/controls/TriStateCheckbox/index.cjs.map +1 -1
- package/form/controls/TriStateCheckbox/index.js +1 -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 +1 -0
- package/form/helpers/ErrorMessage/errormessage.cjs.map +1 -1
- package/form/helpers/ErrorMessage/errormessage.js +1 -0
- package/form/helpers/ErrorMessage/errormessage.js.map +1 -1
- package/form/helpers/FormContainer/index.cjs +1 -0
- package/form/helpers/FormContainer/index.cjs.map +1 -1
- package/form/helpers/FormContainer/index.js +1 -0
- package/form/helpers/FormContainer/index.js.map +1 -1
- package/form/helpers/Label/label.cjs +1 -0
- package/form/helpers/Label/label.cjs.map +1 -1
- package/form/helpers/Label/label.js +1 -0
- package/form/helpers/Label/label.js.map +1 -1
- package/form/inputs/InputMask/index.cjs +1 -0
- package/form/inputs/InputMask/index.cjs.map +1 -1
- package/form/inputs/InputMask/index.js +1 -0
- package/form/inputs/InputMask/index.js.map +1 -1
- package/form/inputs/InputNumber/index.cjs +1 -0
- package/form/inputs/InputNumber/index.cjs.map +1 -1
- package/form/inputs/InputNumber/index.js +1 -0
- package/form/inputs/InputNumber/index.js.map +1 -1
- package/form/inputs/InputPassword/index.cjs +1 -0
- package/form/inputs/InputPassword/index.cjs.map +1 -1
- package/form/inputs/InputPassword/index.js +1 -0
- package/form/inputs/InputPassword/index.js.map +1 -1
- package/form/inputs/InputSwitch/index.cjs +1 -0
- package/form/inputs/InputSwitch/index.cjs.map +1 -1
- package/form/inputs/InputSwitch/index.js +1 -0
- package/form/inputs/InputSwitch/index.js.map +1 -1
- package/form/inputs/InputText/index.cjs +1 -0
- package/form/inputs/InputText/index.cjs.map +1 -1
- package/form/inputs/InputText/index.js +1 -0
- package/form/inputs/InputText/index.js.map +1 -1
- package/form/inputs/InputTextarea/index.cjs +1 -0
- package/form/inputs/InputTextarea/index.cjs.map +1 -1
- package/form/inputs/InputTextarea/index.js +1 -0
- package/form/inputs/InputTextarea/index.js.map +1 -1
- package/form/inputs/PhoneInput/index.cjs +1 -0
- package/form/inputs/PhoneInput/index.cjs.map +1 -1
- package/form/inputs/PhoneInput/index.js +1 -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 +1 -0
- package/form/selects/AutoComplete/index.cjs.map +1 -1
- package/form/selects/AutoComplete/index.js +1 -0
- package/form/selects/AutoComplete/index.js.map +1 -1
- package/form/selects/Dropdown/index.cjs +1 -0
- package/form/selects/Dropdown/index.cjs.map +1 -1
- package/form/selects/Dropdown/index.js +1 -0
- package/form/selects/Dropdown/index.js.map +1 -1
- package/form/selects/ListBox/index.cjs +1 -0
- package/form/selects/ListBox/index.cjs.map +1 -1
- package/form/selects/ListBox/index.js +1 -0
- package/form/selects/ListBox/index.js.map +1 -1
- package/form/selects/MultiSelect/index.cjs +1 -0
- package/form/selects/MultiSelect/index.cjs.map +1 -1
- package/form/selects/MultiSelect/index.js +1 -0
- package/form/selects/MultiSelect/index.js.map +1 -1
- package/form/selects/TreeSelect/index.cjs +1 -0
- package/form/selects/TreeSelect/index.cjs.map +1 -1
- package/form/selects/TreeSelect/index.js +1 -0
- package/form/selects/TreeSelect/index.js.map +1 -1
- package/form/selects/helpers/SelectPopupOverlay.cjs +1 -0
- package/form/selects/helpers/SelectPopupOverlay.cjs.map +1 -1
- package/form/selects/helpers/SelectPopupOverlay.js +1 -0
- package/form/selects/helpers/SelectPopupOverlay.js.map +1 -1
- package/form-renderer/components/layout/FieldWrapper.cjs +1 -0
- package/form-renderer/components/layout/FieldWrapper.cjs.map +1 -1
- package/form-renderer/components/layout/FieldWrapper.js +1 -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 +1 -0
- package/hooks/useFocusStyles.cjs.map +1 -1
- package/hooks/useFocusStyles.js +1 -0
- package/hooks/useFocusStyles.js.map +1 -1
- package/index.cjs +2 -0
- package/index.cjs.map +1 -1
- package/index.d.ts +35 -3
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/layout/Center/index.cjs +1 -0
- package/layout/Center/index.cjs.map +1 -1
- package/layout/Center/index.js +1 -0
- package/layout/Center/index.js.map +1 -1
- package/layout/Container/container.cjs +1 -0
- package/layout/Container/container.cjs.map +1 -1
- package/layout/Container/container.js +1 -0
- package/layout/Container/container.js.map +1 -1
- package/layout/Flex/index.cjs +1 -0
- package/layout/Flex/index.cjs.map +1 -1
- package/layout/Flex/index.js +1 -0
- package/layout/Flex/index.js.map +1 -1
- package/layout/HStack/index.cjs +1 -0
- package/layout/HStack/index.cjs.map +1 -1
- package/layout/HStack/index.js +1 -0
- package/layout/HStack/index.js.map +1 -1
- package/layout/List/index.cjs +1 -0
- package/layout/List/index.cjs.map +1 -1
- package/layout/List/index.js +1 -0
- package/layout/List/index.js.map +1 -1
- package/layout/ListItem/index.cjs +1 -0
- package/layout/ListItem/index.cjs.map +1 -1
- package/layout/ListItem/index.js +1 -0
- package/layout/ListItem/index.js.map +1 -1
- package/layout/ScrollView/index.cjs +1 -0
- package/layout/ScrollView/index.cjs.map +1 -1
- package/layout/ScrollView/index.js +1 -0
- package/layout/ScrollView/index.js.map +1 -1
- package/layout/VStack/index.cjs +1 -0
- package/layout/VStack/index.cjs.map +1 -1
- package/layout/VStack/index.js +1 -0
- package/layout/VStack/index.js.map +1 -1
- package/package.json +1 -1
- package/packages/types/src/Theme/resolvers.cjs +2 -55
- package/packages/types/src/Theme/resolvers.cjs.map +1 -1
- package/packages/types/src/Theme/resolvers.js +2 -55
- package/packages/types/src/Theme/resolvers.js.map +1 -1
- package/packages/types/src/Theme/semanticTokenNames.cjs +64 -0
- package/packages/types/src/Theme/semanticTokenNames.cjs.map +1 -0
- package/packages/types/src/Theme/semanticTokenNames.js +62 -0
- package/packages/types/src/Theme/semanticTokenNames.js.map +1 -0
- package/primitives/Box/index.cjs +1 -0
- package/primitives/Box/index.cjs.map +1 -1
- package/primitives/Box/index.js +1 -0
- package/primitives/Box/index.js.map +1 -1
- package/primitives/Card/index.cjs +1 -0
- package/primitives/Card/index.cjs.map +1 -1
- package/primitives/Card/index.js +1 -0
- package/primitives/Card/index.js.map +1 -1
- package/primitives/Divider/index.cjs +1 -0
- package/primitives/Divider/index.cjs.map +1 -1
- package/primitives/Divider/index.js +1 -0
- package/primitives/Divider/index.js.map +1 -1
- package/primitives/Heading/index.cjs +1 -0
- package/primitives/Heading/index.cjs.map +1 -1
- package/primitives/Heading/index.js +1 -0
- package/primitives/Heading/index.js.map +1 -1
- package/primitives/Image/index.cjs +1 -0
- package/primitives/Image/index.cjs.map +1 -1
- package/primitives/Image/index.js +1 -0
- package/primitives/Image/index.js.map +1 -1
- package/primitives/Skeleton/index.cjs +1 -0
- package/primitives/Skeleton/index.cjs.map +1 -1
- package/primitives/Skeleton/index.js +1 -0
- package/primitives/Skeleton/index.js.map +1 -1
- package/primitives/Svg/index.cjs +1 -0
- package/primitives/Svg/index.cjs.map +1 -1
- package/primitives/Svg/index.js +1 -0
- package/primitives/Svg/index.js.map +1 -1
- package/primitives/Text/index.cjs +1 -0
- package/primitives/Text/index.cjs.map +1 -1
- package/primitives/Text/index.js +1 -0
- package/primitives/Text/index.js.map +1 -1
|
@@ -61,6 +61,7 @@ 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/resolvers.cjs');
|
|
64
65
|
require('../../../packages/types/src/Theme/alphaColors.cjs');
|
|
65
66
|
require('../../../apps/mobile/src/Factory/helpers/cssVarMap.cjs');
|
|
66
67
|
require('../../../apps/mobile/src/Factory/DimensionsContext.cjs');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../../src/data/DataView/Pagination/index.native.tsx"],"sourcesContent":["import React from \"react\";\nimport {Paginator} from \"@lmb-it/kitsconcertomobile\";\nimport {useDataView} from \"../index\";\nimport {Box} from \"../../../_compat\";\n\nexport default function Pagination() {\n const { paginationParams } = useDataView();\n\n return (\n <Box className=\"card\">\n <Paginator\n first={paginationParams?.start}\n rows={paginationParams?.pageSize}\n totalRecords={paginationParams?.totalRecords}\n rowsPerPageOptions={[15, 25, 30, 50, 100]}\n onPageChange={(e) => paginationParams?.onChangePage(e)}\n />\n </Box>\n );\n}\n"],"names":["useDataView","jsx","Box","Paginator"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../../src/data/DataView/Pagination/index.native.tsx"],"sourcesContent":["import React from \"react\";\nimport {Paginator} from \"@lmb-it/kitsconcertomobile\";\nimport {useDataView} from \"../index\";\nimport {Box} from \"../../../_compat\";\n\nexport default function Pagination() {\n const { paginationParams } = useDataView();\n\n return (\n <Box className=\"card\">\n <Paginator\n first={paginationParams?.start}\n rows={paginationParams?.pageSize}\n totalRecords={paginationParams?.totalRecords}\n rowsPerPageOptions={[15, 25, 30, 50, 100]}\n onPageChange={(e) => paginationParams?.onChangePage(e)}\n />\n </Box>\n );\n}\n"],"names":["useDataView","jsx","Box","Paginator"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAAwB,UAAA,GAAa;AACnC,EAAA,MAAM,EAAE,gBAAA,EAAiB,GAAIA,wBAAA,EAAY;AAEzC,EAAA,uBACEC,cAAA,CAACC,aAAA,EAAA,EAAI,SAAA,EAAU,MAAA,EACb,QAAA,kBAAAD,cAAA;AAAA,IAACE,iBAAA;AAAA,IAAA;AAAA,MACG,OAAO,gBAAA,EAAkB,KAAA;AAAA,MACzB,MAAM,gBAAA,EAAkB,QAAA;AAAA,MACxB,cAAc,gBAAA,EAAkB,YAAA;AAAA,MAChC,oBAAoB,CAAC,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,IAAI,GAAG,CAAA;AAAA,MACxC,YAAA,EAAc,CAAC,CAAA,KAAM,gBAAA,EAAkB,aAAa,CAAC;AAAA;AAAA,GACzD,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -57,6 +57,7 @@ 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/resolvers.js';
|
|
60
61
|
import '../../../packages/types/src/Theme/alphaColors.js';
|
|
61
62
|
import '../../../apps/mobile/src/Factory/helpers/cssVarMap.js';
|
|
62
63
|
import '../../../apps/mobile/src/Factory/DimensionsContext.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/data/DataView/Pagination/index.native.tsx"],"sourcesContent":["import React from \"react\";\nimport {Paginator} from \"@lmb-it/kitsconcertomobile\";\nimport {useDataView} from \"../index\";\nimport {Box} from \"../../../_compat\";\n\nexport default function Pagination() {\n const { paginationParams } = useDataView();\n\n return (\n <Box className=\"card\">\n <Paginator\n first={paginationParams?.start}\n rows={paginationParams?.pageSize}\n totalRecords={paginationParams?.totalRecords}\n rowsPerPageOptions={[15, 25, 30, 50, 100]}\n onPageChange={(e) => paginationParams?.onChangePage(e)}\n />\n </Box>\n );\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/data/DataView/Pagination/index.native.tsx"],"sourcesContent":["import React from \"react\";\nimport {Paginator} from \"@lmb-it/kitsconcertomobile\";\nimport {useDataView} from \"../index\";\nimport {Box} from \"../../../_compat\";\n\nexport default function Pagination() {\n const { paginationParams } = useDataView();\n\n return (\n <Box className=\"card\">\n <Paginator\n first={paginationParams?.start}\n rows={paginationParams?.pageSize}\n totalRecords={paginationParams?.totalRecords}\n rowsPerPageOptions={[15, 25, 30, 50, 100]}\n onPageChange={(e) => paginationParams?.onChangePage(e)}\n />\n </Box>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAAwB,UAAA,GAAa;AACnC,EAAA,MAAM,EAAE,gBAAA,EAAiB,GAAI,WAAA,EAAY;AAEzC,EAAA,uBACE,GAAA,CAAC,GAAA,EAAA,EAAI,SAAA,EAAU,MAAA,EACb,QAAA,kBAAA,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACG,OAAO,gBAAA,EAAkB,KAAA;AAAA,MACzB,MAAM,gBAAA,EAAkB,QAAA;AAAA,MACxB,cAAc,gBAAA,EAAkB,YAAA;AAAA,MAChC,oBAAoB,CAAC,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,IAAI,GAAG,CAAA;AAAA,MACxC,YAAA,EAAc,CAAC,CAAA,KAAM,gBAAA,EAAkB,aAAa,CAAC;AAAA;AAAA,GACzD,EACF,CAAA;AAEJ;;;;"}
|
package/data/TreeView/index.cjs
CHANGED
|
@@ -61,6 +61,7 @@ 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/resolvers.cjs');
|
|
64
65
|
require('../../packages/types/src/Theme/alphaColors.cjs');
|
|
65
66
|
require('../../apps/mobile/src/Factory/helpers/cssVarMap.cjs');
|
|
66
67
|
require('../../apps/mobile/src/Factory/DimensionsContext.cjs');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../src/data/TreeView/index.native.tsx"],"sourcesContent":["import React, { useRef } from \"react\";\nimport { TreeView as Tree, type TreeRef } from \"@lmb-it/kitsconcertomobile\";\nimport { Flex, Text } from \"../../_compat\";\nimport type { ITreeViewProps } from \"@lmb-it/kitsconcerto-types\";\nimport { useTreeViewController } from \"./useTreeViewController\";\nimport TreeViewToolbar from \"./Toolbar\";\nimport { Pressable, View } from \"react-native\";\nimport {useKitsTheme} from \"../../contexts/Theme\";\n\nconst TreeView = <T = any,>(props: ITreeViewProps<T>) => {\n const {\n treeValue,\n selectedNode,\n filterValue,\n build,\n setFilterValue,\n expandAll,\n collapseAll,\n operations,\n treeProps,\n } = useTreeViewController(props);\n\n const {resolveToken} = useKitsTheme();\n const selectedBg = resolveToken('surface-hover');\n\n const {\n nodeTemplate,\n containerProps,\n hideSearchBox,\n hideDisabledButton,\n expendableControls,\n hideToolbar: propsHideToolbar,\n } = props;\n\n const treeRef = useRef<TreeRef>(null);\n\n const shouldHideToolbar =\n propsHideToolbar ||\n (!!hideSearchBox && !!hideDisabledButton && !expendableControls);\n\n return (\n <Flex\n id={\"tree-view\"}\n w={\"full\"}\n h={\"full\"}\n flexDirection={\"column\"}\n {...containerProps}\n >\n {!shouldHideToolbar && (\n <TreeViewToolbar\n props={props}\n filterValue={filterValue}\n setFilterValue={setFilterValue}\n treeRef={treeRef.current}\n selectedNode={selectedNode}\n expandAll={expandAll}\n collapseAll={collapseAll}\n onAddNode={operations.onAddNode}\n onAddNodeItem={operations.onAddNodeItem}\n onDeleteNode={operations.onDeleteNode}\n onEditNode={operations.onEditNode}\n build={build}\n />\n )}\n\n <Tree\n ref={treeRef}\n {...treeProps}\n filterValue={filterValue}\n filterMode={\"lenient\"}\n nodeTemplate={(node, options) => {\n const isSelected = node.key == selectedNode?.key;\n return (\n <Pressable\n onPress={() => {\n if (treeProps.onNodeClick) {\n treeProps.onNodeClick({\n node,\n originalEvent: {} as any,\n });\n }\n }}\n style={{\n flex: 1,\n flexDirection: \"row\",\n alignItems: \"center\",\n minHeight: 40,\n paddingHorizontal: 4,\n backgroundColor: isSelected\n ? selectedBg\n : \"transparent\",\n borderRadius: 4,\n }}\n >\n {!!nodeTemplate ? (\n nodeTemplate(node, options)\n ) : (\n <Text\n fontWeight={isSelected ? \"bold\" : \"normal\"}\n >\n {node.label}\n </Text>\n )}\n </Pressable>\n );\n }}\n />\n </Flex>\n );\n};\n\nexport default TreeView;\n"],"names":["useTreeViewController","useKitsTheme","useRef","jsxs","Flex","jsx","TreeViewToolbar","Tree","Pressable","Text"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../src/data/TreeView/index.native.tsx"],"sourcesContent":["import React, { useRef } from \"react\";\nimport { TreeView as Tree, type TreeRef } from \"@lmb-it/kitsconcertomobile\";\nimport { Flex, Text } from \"../../_compat\";\nimport type { ITreeViewProps } from \"@lmb-it/kitsconcerto-types\";\nimport { useTreeViewController } from \"./useTreeViewController\";\nimport TreeViewToolbar from \"./Toolbar\";\nimport { Pressable, View } from \"react-native\";\nimport {useKitsTheme} from \"../../contexts/Theme\";\n\nconst TreeView = <T = any,>(props: ITreeViewProps<T>) => {\n const {\n treeValue,\n selectedNode,\n filterValue,\n build,\n setFilterValue,\n expandAll,\n collapseAll,\n operations,\n treeProps,\n } = useTreeViewController(props);\n\n const {resolveToken} = useKitsTheme();\n const selectedBg = resolveToken('surface-hover');\n\n const {\n nodeTemplate,\n containerProps,\n hideSearchBox,\n hideDisabledButton,\n expendableControls,\n hideToolbar: propsHideToolbar,\n } = props;\n\n const treeRef = useRef<TreeRef>(null);\n\n const shouldHideToolbar =\n propsHideToolbar ||\n (!!hideSearchBox && !!hideDisabledButton && !expendableControls);\n\n return (\n <Flex\n id={\"tree-view\"}\n w={\"full\"}\n h={\"full\"}\n flexDirection={\"column\"}\n {...containerProps}\n >\n {!shouldHideToolbar && (\n <TreeViewToolbar\n props={props}\n filterValue={filterValue}\n setFilterValue={setFilterValue}\n treeRef={treeRef.current}\n selectedNode={selectedNode}\n expandAll={expandAll}\n collapseAll={collapseAll}\n onAddNode={operations.onAddNode}\n onAddNodeItem={operations.onAddNodeItem}\n onDeleteNode={operations.onDeleteNode}\n onEditNode={operations.onEditNode}\n build={build}\n />\n )}\n\n <Tree\n ref={treeRef}\n {...treeProps}\n filterValue={filterValue}\n filterMode={\"lenient\"}\n nodeTemplate={(node, options) => {\n const isSelected = node.key == selectedNode?.key;\n return (\n <Pressable\n onPress={() => {\n if (treeProps.onNodeClick) {\n treeProps.onNodeClick({\n node,\n originalEvent: {} as any,\n });\n }\n }}\n style={{\n flex: 1,\n flexDirection: \"row\",\n alignItems: \"center\",\n minHeight: 40,\n paddingHorizontal: 4,\n backgroundColor: isSelected\n ? selectedBg\n : \"transparent\",\n borderRadius: 4,\n }}\n >\n {!!nodeTemplate ? (\n nodeTemplate(node, options)\n ) : (\n <Text\n fontWeight={isSelected ? \"bold\" : \"normal\"}\n >\n {node.label}\n </Text>\n )}\n </Pressable>\n );\n }}\n />\n </Flex>\n );\n};\n\nexport default TreeView;\n"],"names":["useTreeViewController","useKitsTheme","useRef","jsxs","Flex","jsx","TreeViewToolbar","Tree","Pressable","Text"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,QAAA,GAAW,CAAW,KAAA,KAA6B;AACrD,EAAA,MAAM;AAAA,IAEF,YAAA;AAAA,IACA,WAAA;AAAA,IACA,KAAA;AAAA,IACA,cAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACJ,GAAIA,4CAAsB,KAAK,CAAA;AAE/B,EAAA,MAAM,EAAC,YAAA,EAAY,GAAIC,qCAAA,EAAa;AACpC,EAAA,MAAM,UAAA,GAAa,aAAa,eAAe,CAAA;AAE/C,EAAA,MAAM;AAAA,IACF,YAAA;AAAA,IACA,cAAA;AAAA,IACA,aAAA;AAAA,IACA,kBAAA;AAAA,IACA,kBAAA;AAAA,IACA,WAAA,EAAa;AAAA,GACjB,GAAI,KAAA;AAEJ,EAAA,MAAM,OAAA,GAAUC,aAAgB,IAAI,CAAA;AAEpC,EAAA,MAAM,iBAAA,GACF,oBACC,CAAC,CAAC,iBAAiB,CAAC,CAAC,sBAAsB,CAAC,kBAAA;AAEjD,EAAA,uBACIC,eAAA;AAAA,IAACC,aAAA;AAAA,IAAA;AAAA,MACG,EAAA,EAAI,WAAA;AAAA,MACJ,CAAA,EAAG,MAAA;AAAA,MACH,CAAA,EAAG,MAAA;AAAA,MACH,aAAA,EAAe,QAAA;AAAA,MACd,GAAG,cAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,CAAC,iBAAA,oBACEC,cAAA;AAAA,UAACC,oBAAA;AAAA,UAAA;AAAA,YACG,KAAA;AAAA,YACA,WAAA;AAAA,YACA,cAAA;AAAA,YACA,SAAS,OAAA,CAAQ,OAAA;AAAA,YACjB,YAAA;AAAA,YACA,SAAA;AAAA,YACA,WAAA;AAAA,YACA,WAAW,UAAA,CAAW,SAAA;AAAA,YACtB,eAAe,UAAA,CAAW,aAAA;AAAA,YAC1B,cAAc,UAAA,CAAW,YAAA;AAAA,YACzB,YAAY,UAAA,CAAW,UAAA;AAAA,YACvB;AAAA;AAAA,SACJ;AAAA,wBAGJD,cAAA;AAAA,UAACE,gBAAA;AAAA,UAAA;AAAA,YACG,GAAA,EAAK,OAAA;AAAA,YACJ,GAAG,SAAA;AAAA,YACJ,WAAA;AAAA,YACA,UAAA,EAAY,SAAA;AAAA,YACZ,YAAA,EAAc,CAAC,IAAA,EAAM,OAAA,KAAY;AAC7B,cAAA,MAAM,UAAA,GAAa,IAAA,CAAK,GAAA,IAAO,YAAA,EAAc,GAAA;AAC7C,cAAA,uBACIF,cAAA;AAAA,gBAACG,qBAAA;AAAA,gBAAA;AAAA,kBACG,SAAS,MAAM;AACX,oBAAA,IAAI,UAAU,WAAA,EAAa;AACvB,sBAAA,SAAA,CAAU,WAAA,CAAY;AAAA,wBAClB,IAAA;AAAA,wBACA,eAAe;AAAC,uBACnB,CAAA;AAAA,oBACL;AAAA,kBACJ,CAAA;AAAA,kBACA,KAAA,EAAO;AAAA,oBACH,IAAA,EAAM,CAAA;AAAA,oBACN,aAAA,EAAe,KAAA;AAAA,oBACf,UAAA,EAAY,QAAA;AAAA,oBACZ,SAAA,EAAW,EAAA;AAAA,oBACX,iBAAA,EAAmB,CAAA;AAAA,oBACnB,eAAA,EAAiB,aACX,UAAA,GACA,aAAA;AAAA,oBACN,YAAA,EAAc;AAAA,mBAClB;AAAA,kBAEC,WAAC,CAAC,YAAA,GACC,YAAA,CAAa,IAAA,EAAM,OAAO,CAAA,mBAE1BH,cAAA;AAAA,oBAACI,sBAAA;AAAA,oBAAA;AAAA,sBACG,UAAA,EAAY,aAAa,MAAA,GAAS,QAAA;AAAA,sBAEjC,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA;AACV;AAAA,eAER;AAAA,YAER;AAAA;AAAA;AACJ;AAAA;AAAA,GACJ;AAER;;;;"}
|
package/data/TreeView/index.js
CHANGED
|
@@ -57,6 +57,7 @@ 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/resolvers.js';
|
|
60
61
|
import '../../packages/types/src/Theme/alphaColors.js';
|
|
61
62
|
import '../../apps/mobile/src/Factory/helpers/cssVarMap.js';
|
|
62
63
|
import '../../apps/mobile/src/Factory/DimensionsContext.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/data/TreeView/index.native.tsx"],"sourcesContent":["import React, { useRef } from \"react\";\nimport { TreeView as Tree, type TreeRef } from \"@lmb-it/kitsconcertomobile\";\nimport { Flex, Text } from \"../../_compat\";\nimport type { ITreeViewProps } from \"@lmb-it/kitsconcerto-types\";\nimport { useTreeViewController } from \"./useTreeViewController\";\nimport TreeViewToolbar from \"./Toolbar\";\nimport { Pressable, View } from \"react-native\";\nimport {useKitsTheme} from \"../../contexts/Theme\";\n\nconst TreeView = <T = any,>(props: ITreeViewProps<T>) => {\n const {\n treeValue,\n selectedNode,\n filterValue,\n build,\n setFilterValue,\n expandAll,\n collapseAll,\n operations,\n treeProps,\n } = useTreeViewController(props);\n\n const {resolveToken} = useKitsTheme();\n const selectedBg = resolveToken('surface-hover');\n\n const {\n nodeTemplate,\n containerProps,\n hideSearchBox,\n hideDisabledButton,\n expendableControls,\n hideToolbar: propsHideToolbar,\n } = props;\n\n const treeRef = useRef<TreeRef>(null);\n\n const shouldHideToolbar =\n propsHideToolbar ||\n (!!hideSearchBox && !!hideDisabledButton && !expendableControls);\n\n return (\n <Flex\n id={\"tree-view\"}\n w={\"full\"}\n h={\"full\"}\n flexDirection={\"column\"}\n {...containerProps}\n >\n {!shouldHideToolbar && (\n <TreeViewToolbar\n props={props}\n filterValue={filterValue}\n setFilterValue={setFilterValue}\n treeRef={treeRef.current}\n selectedNode={selectedNode}\n expandAll={expandAll}\n collapseAll={collapseAll}\n onAddNode={operations.onAddNode}\n onAddNodeItem={operations.onAddNodeItem}\n onDeleteNode={operations.onDeleteNode}\n onEditNode={operations.onEditNode}\n build={build}\n />\n )}\n\n <Tree\n ref={treeRef}\n {...treeProps}\n filterValue={filterValue}\n filterMode={\"lenient\"}\n nodeTemplate={(node, options) => {\n const isSelected = node.key == selectedNode?.key;\n return (\n <Pressable\n onPress={() => {\n if (treeProps.onNodeClick) {\n treeProps.onNodeClick({\n node,\n originalEvent: {} as any,\n });\n }\n }}\n style={{\n flex: 1,\n flexDirection: \"row\",\n alignItems: \"center\",\n minHeight: 40,\n paddingHorizontal: 4,\n backgroundColor: isSelected\n ? selectedBg\n : \"transparent\",\n borderRadius: 4,\n }}\n >\n {!!nodeTemplate ? (\n nodeTemplate(node, options)\n ) : (\n <Text\n fontWeight={isSelected ? \"bold\" : \"normal\"}\n >\n {node.label}\n </Text>\n )}\n </Pressable>\n );\n }}\n />\n </Flex>\n );\n};\n\nexport default TreeView;\n"],"names":["Tree"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/data/TreeView/index.native.tsx"],"sourcesContent":["import React, { useRef } from \"react\";\nimport { TreeView as Tree, type TreeRef } from \"@lmb-it/kitsconcertomobile\";\nimport { Flex, Text } from \"../../_compat\";\nimport type { ITreeViewProps } from \"@lmb-it/kitsconcerto-types\";\nimport { useTreeViewController } from \"./useTreeViewController\";\nimport TreeViewToolbar from \"./Toolbar\";\nimport { Pressable, View } from \"react-native\";\nimport {useKitsTheme} from \"../../contexts/Theme\";\n\nconst TreeView = <T = any,>(props: ITreeViewProps<T>) => {\n const {\n treeValue,\n selectedNode,\n filterValue,\n build,\n setFilterValue,\n expandAll,\n collapseAll,\n operations,\n treeProps,\n } = useTreeViewController(props);\n\n const {resolveToken} = useKitsTheme();\n const selectedBg = resolveToken('surface-hover');\n\n const {\n nodeTemplate,\n containerProps,\n hideSearchBox,\n hideDisabledButton,\n expendableControls,\n hideToolbar: propsHideToolbar,\n } = props;\n\n const treeRef = useRef<TreeRef>(null);\n\n const shouldHideToolbar =\n propsHideToolbar ||\n (!!hideSearchBox && !!hideDisabledButton && !expendableControls);\n\n return (\n <Flex\n id={\"tree-view\"}\n w={\"full\"}\n h={\"full\"}\n flexDirection={\"column\"}\n {...containerProps}\n >\n {!shouldHideToolbar && (\n <TreeViewToolbar\n props={props}\n filterValue={filterValue}\n setFilterValue={setFilterValue}\n treeRef={treeRef.current}\n selectedNode={selectedNode}\n expandAll={expandAll}\n collapseAll={collapseAll}\n onAddNode={operations.onAddNode}\n onAddNodeItem={operations.onAddNodeItem}\n onDeleteNode={operations.onDeleteNode}\n onEditNode={operations.onEditNode}\n build={build}\n />\n )}\n\n <Tree\n ref={treeRef}\n {...treeProps}\n filterValue={filterValue}\n filterMode={\"lenient\"}\n nodeTemplate={(node, options) => {\n const isSelected = node.key == selectedNode?.key;\n return (\n <Pressable\n onPress={() => {\n if (treeProps.onNodeClick) {\n treeProps.onNodeClick({\n node,\n originalEvent: {} as any,\n });\n }\n }}\n style={{\n flex: 1,\n flexDirection: \"row\",\n alignItems: \"center\",\n minHeight: 40,\n paddingHorizontal: 4,\n backgroundColor: isSelected\n ? selectedBg\n : \"transparent\",\n borderRadius: 4,\n }}\n >\n {!!nodeTemplate ? (\n nodeTemplate(node, options)\n ) : (\n <Text\n fontWeight={isSelected ? \"bold\" : \"normal\"}\n >\n {node.label}\n </Text>\n )}\n </Pressable>\n );\n }}\n />\n </Flex>\n );\n};\n\nexport default TreeView;\n"],"names":["Tree"],"mappings":"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"}
|
|
@@ -61,6 +61,7 @@ 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/resolvers.cjs');
|
|
64
65
|
require('../../../packages/types/src/Theme/alphaColors.cjs');
|
|
65
66
|
require('../../../apps/mobile/src/Factory/helpers/cssVarMap.cjs');
|
|
66
67
|
require('../../../apps/mobile/src/Factory/DimensionsContext.cjs');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.cjs","sources":["../../../../../src/form/controls/Checkbox/checkbox.native.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport type { IRadioCheckboxListItem } from \"@lmb-it/kitsconcerto-types\";\nimport { Flex, Text } from \"../../../_compat\";\nimport { Pressable } from \"react-native\";\nimport { CoreCheckboxIndicator } from \"@lmb-it/kitsconcertomobile\";\nimport { useKitsTheme } from \"../../../contexts/Theme\";\nimport { resolveStyleRecord, splitTextStyle } from \"../../../hooks/useResolvedStyle\";\n\ninterface CheckboxButtonProps<T> {\n item: IRadioCheckboxListItem<T>;\n selected: boolean;\n disabled?: boolean;\n isInvalid?: boolean;\n onToggle: () => void;\n /**\n * Pre-merged slot styles from KitsCheckbox (theme `Checkbox.item*` +\n * per-instance `slots.item*`). Unresolved IStyleClasses.\n */\n slotStyles?: {\n item?: Record<string, any>;\n itemSelected?: Record<string, any>;\n itemDisabled?: Record<string, any>;\n itemInvalid?: Record<string, any>;\n };\n}\n\nconst indicatorSize = (s?: string): 'sm' | 'md' | 'lg' => {\n switch (s) {\n case 'xs': case 'sm': return 'sm';\n case 'lg': case 'xl': return 'lg';\n default: return 'md';\n }\n};\n\nconst CheckboxButton = <T,>({\n item,\n selected,\n disabled,\n isInvalid,\n onToggle,\n slotStyles,\n}: CheckboxButtonProps<T>) => {\n const { resolveToken } = useKitsTheme();\n const primaryColor = resolveToken('primary');\n const borderColor = resolveToken('gray.300');\n\n /* Per-item style (slotStyles + item.style*), token-resolved.\n slotStyles is pre-merged at KitsCheckbox level\n (FormElement < Checkbox.item < per-instance slots.item). */\n const resolvedItemStyle = useMemo(() => {\n const merged: Record<string, any> = {\n ...(slotStyles?.item || {}),\n ...(selected ? slotStyles?.itemSelected : null),\n ...(disabled ? slotStyles?.itemDisabled : null),\n ...(isInvalid ? slotStyles?.itemInvalid : null),\n ...(item.w != null && !(item.style && (item.style as any).w != null) && !(item.style && (item.style as any).width != null)\n ? { width: item.w }\n : null),\n ...(item.style || {}),\n ...(selected ? item.styleSelected : null),\n ...(disabled ? item.styleDisabled : null),\n ...(isInvalid ? item.styleInvalid : null),\n };\n return resolveStyleRecord(merged, resolveToken);\n }, [slotStyles, selected, disabled, isInvalid, item.style, item.styleSelected, item.styleDisabled, item.styleInvalid, item.w, resolveToken]);\n\n // Route text props to inner Text, layout props to outer wrapper.\n // No size default — `style.flex` / `style.width` flow through directly.\n const { wrapper: wrapperStyle, text: textStyle } = useMemo(\n () => splitTextStyle(resolvedItemStyle),\n [resolvedItemStyle],\n );\n\n const sizes: Record<string, number> = {\n xs: 13, sm: 17, md: 22, lg: 27, xl: 30,\n };\n\n const paddings: Record<string, [number, number]> = {\n xs: [1, 3], sm: [2, 5], md: [3, 7], lg: [4, 9], xl: [5, 13],\n };\n\n const size = item.size ? sizes[item.size] : sizes.xs;\n const padding = item.size ? paddings[item.size] : paddings.xs;\n\n /* ---- Label positioning (mirrors web) ---- */\n const leftLabel = item.labelPosition === \"left\";\n const bottomLabel = item.labelPosition === \"bottom\";\n const topLabel = item.labelPosition === \"top\";\n\n const direction =\n leftLabel ? \"row-reverse\" :\n bottomLabel ? \"column\" :\n topLabel ? \"column-reverse\" :\n \"row\";\n\n /* ---- Button mode style (mirrors web checked-option) ---- */\n const containerStyle = useMemo(() => ({\n opacity: disabled ? 40 : 100,\n borderWidth: item.component ? 0 : 1,\n borderRadius: item.component ? 0 : 8,\n borderColor: selected ? primaryColor : borderColor,\n backgroundColor: selected ? primaryColor : 'transparent',\n paddingHorizontal: item.component ? 0 : padding?.[1],\n paddingVertical: item.component ? 0 : padding?.[0],\n }), [disabled, selected, item.component, padding]);\n\n /* ---- Content: custom component or label text ---- */\n const renderContent = () => {\n if (item.component) {\n return typeof item.component === \"function\"\n ? item.component({ selected, value: item.value, isInvalid: !!isInvalid })\n : item.component;\n }\n // Default selected-button color (white on primary fill) kept,\n // but user-supplied text props override it via spread style.\n const defaultColor = selected && !item.withBulbs ? '#fff' : undefined;\n return (\n <Text\n fontSize={size}\n fontColor={defaultColor}\n m={0}\n style={textStyle}\n >\n {item.label}\n </Text>\n );\n };\n\n /* ---- Bulb: custom checkbox indicator + content (mirrors web PrimeCheckbox + renderContent) ---- */\n const renderBulb = () => (\n <Pressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n >\n <Flex alignItems=\"center\" gap={6} flexDirection={direction}>\n <CoreCheckboxIndicator\n checked={selected}\n disabled={disabled}\n invalid={isInvalid}\n checkedBackgroundColor={primaryColor}\n checkedBorderColor={primaryColor}\n size={indicatorSize(item.size)}\n />\n {renderContent()}\n </Flex>\n </Pressable>\n );\n\n /* ---- Component: custom component + label (mirrors web renderComponent) ---- */\n const renderComponent = () => (\n <Pressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n >\n <Flex flexDirection={direction} alignItems=\"center\" gap={4}>\n {renderContent()}\n {/* ⛔ THIS TEXT HAD NO STYLE AT ALL — same dark-mode fault as\n the Checkbox item text above and the Radio label before its\n 21 Sep fix; reuses the SAME resolved textStyle, not a bare\n Text, so the theme's Checkbox.item colour reaches it too. */}\n {!!item.label && <Text style={textStyle}>{item.label}</Text>}\n </Flex>\n </Pressable>\n );\n\n\n // BUTTON mode: collapse to a single layer — Pressable IS the styled\n // pill. wrapperStyle wins over containerStyle (later in RN array).\n if (!item.withBulbs && !item.component) {\n return (\n <Pressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n style={[containerStyle, wrapperStyle]}\n >\n {renderContent()}\n </Pressable>\n );\n }\n\n // BULB / COMPONENT modes keep the nested structure.\n return (\n <Flex\n pointerEvents={disabled ? \"none\" : \"auto\"}\n style={wrapperStyle}\n alignItems=\"flex-start\"\n >\n {item.withBulbs ? renderBulb() : renderComponent()}\n </Flex>\n );\n};\n\nexport default CheckboxButton;\n"],"names":["useKitsTheme","useMemo","resolveStyleRecord","splitTextStyle","jsx","Text","Pressable","Flex","CoreCheckboxIndicator"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checkbox.cjs","sources":["../../../../../src/form/controls/Checkbox/checkbox.native.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport type { IRadioCheckboxListItem } from \"@lmb-it/kitsconcerto-types\";\nimport { Flex, Text } from \"../../../_compat\";\nimport { Pressable } from \"react-native\";\nimport { CoreCheckboxIndicator } from \"@lmb-it/kitsconcertomobile\";\nimport { useKitsTheme } from \"../../../contexts/Theme\";\nimport { resolveStyleRecord, splitTextStyle } from \"../../../hooks/useResolvedStyle\";\n\ninterface CheckboxButtonProps<T> {\n item: IRadioCheckboxListItem<T>;\n selected: boolean;\n disabled?: boolean;\n isInvalid?: boolean;\n onToggle: () => void;\n /**\n * Pre-merged slot styles from KitsCheckbox (theme `Checkbox.item*` +\n * per-instance `slots.item*`). Unresolved IStyleClasses.\n */\n slotStyles?: {\n item?: Record<string, any>;\n itemSelected?: Record<string, any>;\n itemDisabled?: Record<string, any>;\n itemInvalid?: Record<string, any>;\n };\n}\n\nconst indicatorSize = (s?: string): 'sm' | 'md' | 'lg' => {\n switch (s) {\n case 'xs': case 'sm': return 'sm';\n case 'lg': case 'xl': return 'lg';\n default: return 'md';\n }\n};\n\nconst CheckboxButton = <T,>({\n item,\n selected,\n disabled,\n isInvalid,\n onToggle,\n slotStyles,\n}: CheckboxButtonProps<T>) => {\n const { resolveToken } = useKitsTheme();\n const primaryColor = resolveToken('primary');\n const borderColor = resolveToken('gray.300');\n\n /* Per-item style (slotStyles + item.style*), token-resolved.\n slotStyles is pre-merged at KitsCheckbox level\n (FormElement < Checkbox.item < per-instance slots.item). */\n const resolvedItemStyle = useMemo(() => {\n const merged: Record<string, any> = {\n ...(slotStyles?.item || {}),\n ...(selected ? slotStyles?.itemSelected : null),\n ...(disabled ? slotStyles?.itemDisabled : null),\n ...(isInvalid ? slotStyles?.itemInvalid : null),\n ...(item.w != null && !(item.style && (item.style as any).w != null) && !(item.style && (item.style as any).width != null)\n ? { width: item.w }\n : null),\n ...(item.style || {}),\n ...(selected ? item.styleSelected : null),\n ...(disabled ? item.styleDisabled : null),\n ...(isInvalid ? item.styleInvalid : null),\n };\n return resolveStyleRecord(merged, resolveToken);\n }, [slotStyles, selected, disabled, isInvalid, item.style, item.styleSelected, item.styleDisabled, item.styleInvalid, item.w, resolveToken]);\n\n // Route text props to inner Text, layout props to outer wrapper.\n // No size default — `style.flex` / `style.width` flow through directly.\n const { wrapper: wrapperStyle, text: textStyle } = useMemo(\n () => splitTextStyle(resolvedItemStyle),\n [resolvedItemStyle],\n );\n\n const sizes: Record<string, number> = {\n xs: 13, sm: 17, md: 22, lg: 27, xl: 30,\n };\n\n const paddings: Record<string, [number, number]> = {\n xs: [1, 3], sm: [2, 5], md: [3, 7], lg: [4, 9], xl: [5, 13],\n };\n\n const size = item.size ? sizes[item.size] : sizes.xs;\n const padding = item.size ? paddings[item.size] : paddings.xs;\n\n /* ---- Label positioning (mirrors web) ---- */\n const leftLabel = item.labelPosition === \"left\";\n const bottomLabel = item.labelPosition === \"bottom\";\n const topLabel = item.labelPosition === \"top\";\n\n const direction =\n leftLabel ? \"row-reverse\" :\n bottomLabel ? \"column\" :\n topLabel ? \"column-reverse\" :\n \"row\";\n\n /* ---- Button mode style (mirrors web checked-option) ---- */\n const containerStyle = useMemo(() => ({\n opacity: disabled ? 40 : 100,\n borderWidth: item.component ? 0 : 1,\n borderRadius: item.component ? 0 : 8,\n borderColor: selected ? primaryColor : borderColor,\n backgroundColor: selected ? primaryColor : 'transparent',\n paddingHorizontal: item.component ? 0 : padding?.[1],\n paddingVertical: item.component ? 0 : padding?.[0],\n }), [disabled, selected, item.component, padding]);\n\n /* ---- Content: custom component or label text ---- */\n const renderContent = () => {\n if (item.component) {\n return typeof item.component === \"function\"\n ? item.component({ selected, value: item.value, isInvalid: !!isInvalid })\n : item.component;\n }\n // Default selected-button color (white on primary fill) kept,\n // but user-supplied text props override it via spread style.\n const defaultColor = selected && !item.withBulbs ? '#fff' : undefined;\n return (\n <Text\n fontSize={size}\n fontColor={defaultColor}\n m={0}\n style={textStyle}\n >\n {item.label}\n </Text>\n );\n };\n\n /* ---- Bulb: custom checkbox indicator + content (mirrors web PrimeCheckbox + renderContent) ---- */\n const renderBulb = () => (\n <Pressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n >\n <Flex alignItems=\"center\" gap={6} flexDirection={direction}>\n <CoreCheckboxIndicator\n checked={selected}\n disabled={disabled}\n invalid={isInvalid}\n checkedBackgroundColor={primaryColor}\n checkedBorderColor={primaryColor}\n size={indicatorSize(item.size)}\n />\n {renderContent()}\n </Flex>\n </Pressable>\n );\n\n /* ---- Component: custom component + label (mirrors web renderComponent) ---- */\n const renderComponent = () => (\n <Pressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n >\n <Flex flexDirection={direction} alignItems=\"center\" gap={4}>\n {renderContent()}\n {/* ⛔ THIS TEXT HAD NO STYLE AT ALL — same dark-mode fault as\n the Checkbox item text above and the Radio label before its\n 21 Sep fix; reuses the SAME resolved textStyle, not a bare\n Text, so the theme's Checkbox.item colour reaches it too. */}\n {!!item.label && <Text style={textStyle}>{item.label}</Text>}\n </Flex>\n </Pressable>\n );\n\n\n // BUTTON mode: collapse to a single layer — Pressable IS the styled\n // pill. wrapperStyle wins over containerStyle (later in RN array).\n if (!item.withBulbs && !item.component) {\n return (\n <Pressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n style={[containerStyle, wrapperStyle]}\n >\n {renderContent()}\n </Pressable>\n );\n }\n\n // BULB / COMPONENT modes keep the nested structure.\n return (\n <Flex\n pointerEvents={disabled ? \"none\" : \"auto\"}\n style={wrapperStyle}\n alignItems=\"flex-start\"\n >\n {item.withBulbs ? renderBulb() : renderComponent()}\n </Flex>\n );\n};\n\nexport default CheckboxButton;\n"],"names":["useKitsTheme","useMemo","resolveStyleRecord","splitTextStyle","jsx","Text","Pressable","Flex","CoreCheckboxIndicator"],"mappings":"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"}
|
|
@@ -57,6 +57,7 @@ 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/resolvers.js';
|
|
60
61
|
import '../../../packages/types/src/Theme/alphaColors.js';
|
|
61
62
|
import '../../../apps/mobile/src/Factory/helpers/cssVarMap.js';
|
|
62
63
|
import '../../../apps/mobile/src/Factory/DimensionsContext.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sources":["../../../../../src/form/controls/Checkbox/checkbox.native.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport type { IRadioCheckboxListItem } from \"@lmb-it/kitsconcerto-types\";\nimport { Flex, Text } from \"../../../_compat\";\nimport { Pressable } from \"react-native\";\nimport { CoreCheckboxIndicator } from \"@lmb-it/kitsconcertomobile\";\nimport { useKitsTheme } from \"../../../contexts/Theme\";\nimport { resolveStyleRecord, splitTextStyle } from \"../../../hooks/useResolvedStyle\";\n\ninterface CheckboxButtonProps<T> {\n item: IRadioCheckboxListItem<T>;\n selected: boolean;\n disabled?: boolean;\n isInvalid?: boolean;\n onToggle: () => void;\n /**\n * Pre-merged slot styles from KitsCheckbox (theme `Checkbox.item*` +\n * per-instance `slots.item*`). Unresolved IStyleClasses.\n */\n slotStyles?: {\n item?: Record<string, any>;\n itemSelected?: Record<string, any>;\n itemDisabled?: Record<string, any>;\n itemInvalid?: Record<string, any>;\n };\n}\n\nconst indicatorSize = (s?: string): 'sm' | 'md' | 'lg' => {\n switch (s) {\n case 'xs': case 'sm': return 'sm';\n case 'lg': case 'xl': return 'lg';\n default: return 'md';\n }\n};\n\nconst CheckboxButton = <T,>({\n item,\n selected,\n disabled,\n isInvalid,\n onToggle,\n slotStyles,\n}: CheckboxButtonProps<T>) => {\n const { resolveToken } = useKitsTheme();\n const primaryColor = resolveToken('primary');\n const borderColor = resolveToken('gray.300');\n\n /* Per-item style (slotStyles + item.style*), token-resolved.\n slotStyles is pre-merged at KitsCheckbox level\n (FormElement < Checkbox.item < per-instance slots.item). */\n const resolvedItemStyle = useMemo(() => {\n const merged: Record<string, any> = {\n ...(slotStyles?.item || {}),\n ...(selected ? slotStyles?.itemSelected : null),\n ...(disabled ? slotStyles?.itemDisabled : null),\n ...(isInvalid ? slotStyles?.itemInvalid : null),\n ...(item.w != null && !(item.style && (item.style as any).w != null) && !(item.style && (item.style as any).width != null)\n ? { width: item.w }\n : null),\n ...(item.style || {}),\n ...(selected ? item.styleSelected : null),\n ...(disabled ? item.styleDisabled : null),\n ...(isInvalid ? item.styleInvalid : null),\n };\n return resolveStyleRecord(merged, resolveToken);\n }, [slotStyles, selected, disabled, isInvalid, item.style, item.styleSelected, item.styleDisabled, item.styleInvalid, item.w, resolveToken]);\n\n // Route text props to inner Text, layout props to outer wrapper.\n // No size default — `style.flex` / `style.width` flow through directly.\n const { wrapper: wrapperStyle, text: textStyle } = useMemo(\n () => splitTextStyle(resolvedItemStyle),\n [resolvedItemStyle],\n );\n\n const sizes: Record<string, number> = {\n xs: 13, sm: 17, md: 22, lg: 27, xl: 30,\n };\n\n const paddings: Record<string, [number, number]> = {\n xs: [1, 3], sm: [2, 5], md: [3, 7], lg: [4, 9], xl: [5, 13],\n };\n\n const size = item.size ? sizes[item.size] : sizes.xs;\n const padding = item.size ? paddings[item.size] : paddings.xs;\n\n /* ---- Label positioning (mirrors web) ---- */\n const leftLabel = item.labelPosition === \"left\";\n const bottomLabel = item.labelPosition === \"bottom\";\n const topLabel = item.labelPosition === \"top\";\n\n const direction =\n leftLabel ? \"row-reverse\" :\n bottomLabel ? \"column\" :\n topLabel ? \"column-reverse\" :\n \"row\";\n\n /* ---- Button mode style (mirrors web checked-option) ---- */\n const containerStyle = useMemo(() => ({\n opacity: disabled ? 40 : 100,\n borderWidth: item.component ? 0 : 1,\n borderRadius: item.component ? 0 : 8,\n borderColor: selected ? primaryColor : borderColor,\n backgroundColor: selected ? primaryColor : 'transparent',\n paddingHorizontal: item.component ? 0 : padding?.[1],\n paddingVertical: item.component ? 0 : padding?.[0],\n }), [disabled, selected, item.component, padding]);\n\n /* ---- Content: custom component or label text ---- */\n const renderContent = () => {\n if (item.component) {\n return typeof item.component === \"function\"\n ? item.component({ selected, value: item.value, isInvalid: !!isInvalid })\n : item.component;\n }\n // Default selected-button color (white on primary fill) kept,\n // but user-supplied text props override it via spread style.\n const defaultColor = selected && !item.withBulbs ? '#fff' : undefined;\n return (\n <Text\n fontSize={size}\n fontColor={defaultColor}\n m={0}\n style={textStyle}\n >\n {item.label}\n </Text>\n );\n };\n\n /* ---- Bulb: custom checkbox indicator + content (mirrors web PrimeCheckbox + renderContent) ---- */\n const renderBulb = () => (\n <Pressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n >\n <Flex alignItems=\"center\" gap={6} flexDirection={direction}>\n <CoreCheckboxIndicator\n checked={selected}\n disabled={disabled}\n invalid={isInvalid}\n checkedBackgroundColor={primaryColor}\n checkedBorderColor={primaryColor}\n size={indicatorSize(item.size)}\n />\n {renderContent()}\n </Flex>\n </Pressable>\n );\n\n /* ---- Component: custom component + label (mirrors web renderComponent) ---- */\n const renderComponent = () => (\n <Pressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n >\n <Flex flexDirection={direction} alignItems=\"center\" gap={4}>\n {renderContent()}\n {/* ⛔ THIS TEXT HAD NO STYLE AT ALL — same dark-mode fault as\n the Checkbox item text above and the Radio label before its\n 21 Sep fix; reuses the SAME resolved textStyle, not a bare\n Text, so the theme's Checkbox.item colour reaches it too. */}\n {!!item.label && <Text style={textStyle}>{item.label}</Text>}\n </Flex>\n </Pressable>\n );\n\n\n // BUTTON mode: collapse to a single layer — Pressable IS the styled\n // pill. wrapperStyle wins over containerStyle (later in RN array).\n if (!item.withBulbs && !item.component) {\n return (\n <Pressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n style={[containerStyle, wrapperStyle]}\n >\n {renderContent()}\n </Pressable>\n );\n }\n\n // BULB / COMPONENT modes keep the nested structure.\n return (\n <Flex\n pointerEvents={disabled ? \"none\" : \"auto\"}\n style={wrapperStyle}\n alignItems=\"flex-start\"\n >\n {item.withBulbs ? renderBulb() : renderComponent()}\n </Flex>\n );\n};\n\nexport default CheckboxButton;\n"],"names":["CoreCheckboxIndicator"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checkbox.js","sources":["../../../../../src/form/controls/Checkbox/checkbox.native.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport type { IRadioCheckboxListItem } from \"@lmb-it/kitsconcerto-types\";\nimport { Flex, Text } from \"../../../_compat\";\nimport { Pressable } from \"react-native\";\nimport { CoreCheckboxIndicator } from \"@lmb-it/kitsconcertomobile\";\nimport { useKitsTheme } from \"../../../contexts/Theme\";\nimport { resolveStyleRecord, splitTextStyle } from \"../../../hooks/useResolvedStyle\";\n\ninterface CheckboxButtonProps<T> {\n item: IRadioCheckboxListItem<T>;\n selected: boolean;\n disabled?: boolean;\n isInvalid?: boolean;\n onToggle: () => void;\n /**\n * Pre-merged slot styles from KitsCheckbox (theme `Checkbox.item*` +\n * per-instance `slots.item*`). Unresolved IStyleClasses.\n */\n slotStyles?: {\n item?: Record<string, any>;\n itemSelected?: Record<string, any>;\n itemDisabled?: Record<string, any>;\n itemInvalid?: Record<string, any>;\n };\n}\n\nconst indicatorSize = (s?: string): 'sm' | 'md' | 'lg' => {\n switch (s) {\n case 'xs': case 'sm': return 'sm';\n case 'lg': case 'xl': return 'lg';\n default: return 'md';\n }\n};\n\nconst CheckboxButton = <T,>({\n item,\n selected,\n disabled,\n isInvalid,\n onToggle,\n slotStyles,\n}: CheckboxButtonProps<T>) => {\n const { resolveToken } = useKitsTheme();\n const primaryColor = resolveToken('primary');\n const borderColor = resolveToken('gray.300');\n\n /* Per-item style (slotStyles + item.style*), token-resolved.\n slotStyles is pre-merged at KitsCheckbox level\n (FormElement < Checkbox.item < per-instance slots.item). */\n const resolvedItemStyle = useMemo(() => {\n const merged: Record<string, any> = {\n ...(slotStyles?.item || {}),\n ...(selected ? slotStyles?.itemSelected : null),\n ...(disabled ? slotStyles?.itemDisabled : null),\n ...(isInvalid ? slotStyles?.itemInvalid : null),\n ...(item.w != null && !(item.style && (item.style as any).w != null) && !(item.style && (item.style as any).width != null)\n ? { width: item.w }\n : null),\n ...(item.style || {}),\n ...(selected ? item.styleSelected : null),\n ...(disabled ? item.styleDisabled : null),\n ...(isInvalid ? item.styleInvalid : null),\n };\n return resolveStyleRecord(merged, resolveToken);\n }, [slotStyles, selected, disabled, isInvalid, item.style, item.styleSelected, item.styleDisabled, item.styleInvalid, item.w, resolveToken]);\n\n // Route text props to inner Text, layout props to outer wrapper.\n // No size default — `style.flex` / `style.width` flow through directly.\n const { wrapper: wrapperStyle, text: textStyle } = useMemo(\n () => splitTextStyle(resolvedItemStyle),\n [resolvedItemStyle],\n );\n\n const sizes: Record<string, number> = {\n xs: 13, sm: 17, md: 22, lg: 27, xl: 30,\n };\n\n const paddings: Record<string, [number, number]> = {\n xs: [1, 3], sm: [2, 5], md: [3, 7], lg: [4, 9], xl: [5, 13],\n };\n\n const size = item.size ? sizes[item.size] : sizes.xs;\n const padding = item.size ? paddings[item.size] : paddings.xs;\n\n /* ---- Label positioning (mirrors web) ---- */\n const leftLabel = item.labelPosition === \"left\";\n const bottomLabel = item.labelPosition === \"bottom\";\n const topLabel = item.labelPosition === \"top\";\n\n const direction =\n leftLabel ? \"row-reverse\" :\n bottomLabel ? \"column\" :\n topLabel ? \"column-reverse\" :\n \"row\";\n\n /* ---- Button mode style (mirrors web checked-option) ---- */\n const containerStyle = useMemo(() => ({\n opacity: disabled ? 40 : 100,\n borderWidth: item.component ? 0 : 1,\n borderRadius: item.component ? 0 : 8,\n borderColor: selected ? primaryColor : borderColor,\n backgroundColor: selected ? primaryColor : 'transparent',\n paddingHorizontal: item.component ? 0 : padding?.[1],\n paddingVertical: item.component ? 0 : padding?.[0],\n }), [disabled, selected, item.component, padding]);\n\n /* ---- Content: custom component or label text ---- */\n const renderContent = () => {\n if (item.component) {\n return typeof item.component === \"function\"\n ? item.component({ selected, value: item.value, isInvalid: !!isInvalid })\n : item.component;\n }\n // Default selected-button color (white on primary fill) kept,\n // but user-supplied text props override it via spread style.\n const defaultColor = selected && !item.withBulbs ? '#fff' : undefined;\n return (\n <Text\n fontSize={size}\n fontColor={defaultColor}\n m={0}\n style={textStyle}\n >\n {item.label}\n </Text>\n );\n };\n\n /* ---- Bulb: custom checkbox indicator + content (mirrors web PrimeCheckbox + renderContent) ---- */\n const renderBulb = () => (\n <Pressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n >\n <Flex alignItems=\"center\" gap={6} flexDirection={direction}>\n <CoreCheckboxIndicator\n checked={selected}\n disabled={disabled}\n invalid={isInvalid}\n checkedBackgroundColor={primaryColor}\n checkedBorderColor={primaryColor}\n size={indicatorSize(item.size)}\n />\n {renderContent()}\n </Flex>\n </Pressable>\n );\n\n /* ---- Component: custom component + label (mirrors web renderComponent) ---- */\n const renderComponent = () => (\n <Pressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n >\n <Flex flexDirection={direction} alignItems=\"center\" gap={4}>\n {renderContent()}\n {/* ⛔ THIS TEXT HAD NO STYLE AT ALL — same dark-mode fault as\n the Checkbox item text above and the Radio label before its\n 21 Sep fix; reuses the SAME resolved textStyle, not a bare\n Text, so the theme's Checkbox.item colour reaches it too. */}\n {!!item.label && <Text style={textStyle}>{item.label}</Text>}\n </Flex>\n </Pressable>\n );\n\n\n // BUTTON mode: collapse to a single layer — Pressable IS the styled\n // pill. wrapperStyle wins over containerStyle (later in RN array).\n if (!item.withBulbs && !item.component) {\n return (\n <Pressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n style={[containerStyle, wrapperStyle]}\n >\n {renderContent()}\n </Pressable>\n );\n }\n\n // BULB / COMPONENT modes keep the nested structure.\n return (\n <Flex\n pointerEvents={disabled ? \"none\" : \"auto\"}\n style={wrapperStyle}\n alignItems=\"flex-start\"\n >\n {item.withBulbs ? renderBulb() : renderComponent()}\n </Flex>\n );\n};\n\nexport default CheckboxButton;\n"],"names":["CoreCheckboxIndicator"],"mappings":"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"}
|
|
@@ -61,6 +61,7 @@ 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/resolvers.cjs');
|
|
64
65
|
require('../../../packages/types/src/Theme/alphaColors.cjs');
|
|
65
66
|
require('../../../apps/mobile/src/Factory/helpers/cssVarMap.cjs');
|
|
66
67
|
require('../../../apps/mobile/src/Factory/DimensionsContext.cjs');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radiobutton.cjs","sources":["../../../../../src/form/controls/RadioButton/radiobutton.native.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport type { IRadioCheckboxListItem } from \"@lmb-it/kitsconcerto-types\";\nimport { Flex, Text } from \"../../../_compat\";\nimport { Pressable as RNPressable } from \"react-native\";\nimport { CoreRadioIndicator } from \"@lmb-it/kitsconcertomobile\";\nimport { useKitsTheme } from \"../../../contexts/Theme\";\nimport { resolveStyleRecord, splitTextStyle } from \"../../../hooks/useResolvedStyle\";\n\ninterface IRadioButtonProps<T> {\n item: IRadioCheckboxListItem<T>;\n selected: boolean;\n disabled?: boolean;\n isInvalid?: boolean;\n onToggle: () => void;\n /**\n * Pre-merged slot styles from KitsRadio (theme `Radio.item*` +\n * per-instance `slots.item*`). Unresolved IStyleClasses.\n */\n slotStyles?: {\n item?: Record<string, any>;\n itemSelected?: Record<string, any>;\n itemDisabled?: Record<string, any>;\n itemInvalid?: Record<string, any>;\n };\n}\n\nconst indicatorSize = (s?: string): 'sm' | 'md' | 'lg' => {\n switch (s) {\n case 'xs': case 'sm': return 'sm';\n case 'lg': case 'xl': return 'lg';\n default: return 'md';\n }\n};\n\nconst RadioButton = <T,>({\n item,\n selected,\n disabled,\n isInvalid,\n onToggle,\n slotStyles,\n}: IRadioButtonProps<T>) => {\n const { resolveToken } = useKitsTheme();\n const primaryColor = resolveToken('primary');\n const borderColor = resolveToken('gray.300');\n\n const sizes: Record<string, number> = {\n xs: 10, sm: 15, md: 18, lg: 20, xl: 20,\n };\n\n const paddings: Record<string, [number, number]> = {\n xs: [2, 5], sm: [2, 5], md: [3, 9], lg: [4, 9], xl: [13, 13],\n };\n\n const size = item.size ? sizes[item.size] : sizes.md;\n const padding = item.size ? paddings[item.size] : paddings.md;\n\n /* ---- Per-item style (slotStyles + item.style*), token-resolved.\n slotStyles is pre-merged at KitsRadio level\n (FormElement < Radio.item < per-instance slots.item). */\n const resolvedItemStyle = useMemo(() => {\n const merged: Record<string, any> = {\n ...(slotStyles?.item || {}),\n ...(selected ? slotStyles?.itemSelected : null),\n ...(disabled ? slotStyles?.itemDisabled : null),\n ...(isInvalid ? slotStyles?.itemInvalid : null),\n ...(item.w != null && !(item.style && (item.style as any).w != null) && !(item.style && (item.style as any).width != null)\n ? { width: item.w }\n : null),\n ...(item.style || {}),\n ...(selected ? item.styleSelected : null),\n ...(disabled ? item.styleDisabled : null),\n ...(isInvalid ? item.styleInvalid : null),\n };\n return resolveStyleRecord(merged, resolveToken);\n }, [slotStyles, selected, disabled, isInvalid, item.style, item.styleSelected, item.styleDisabled, item.styleInvalid, item.w, resolveToken]);\n\n // Route text props to inner Text, layout props to outer wrapper.\n // No size default — `style.flex` / `style.width` flow through directly.\n const { wrapper: wrapperStyle, text: textStyle } = useMemo(\n () => splitTextStyle(resolvedItemStyle),\n [resolvedItemStyle],\n );\n\n /* ---- Label positioning (mirrors web) ---- */\n const leftLabel = item.labelPosition === \"left\";\n const bottomLabel = item.labelPosition === \"bottom\";\n const topLabel = item.labelPosition === \"top\";\n\n const direction =\n leftLabel ? \"row-reverse\" :\n bottomLabel ? \"column\" :\n topLabel ? \"column-reverse\" :\n \"row\";\n\n /* ---- Button mode style (mirrors web checked-option) ---- */\n const containerStyle = useMemo(() => ({\n opacity: disabled ? 40 : 100,\n borderWidth: item.component ? 0 : 1,\n borderRadius: item.component ? 0 : 8,\n borderColor: selected ? primaryColor : borderColor,\n backgroundColor: selected ? primaryColor : 'transparent',\n paddingHorizontal: item.component ? 0 : padding?.[1],\n paddingVertical: item.component ? 0 : padding?.[0],\n }), [disabled, selected, item.component, padding]);\n\n /* ---- Content: custom component or label text ---- */\n const renderContent = () => {\n if (item.component) {\n return typeof item.component === \"function\"\n ? item.component({ selected, value: item.value, isInvalid: !!isInvalid })\n : item.component;\n }\n // Default selected-button color (white on primary fill) is kept,\n // but user-supplied text props (e.g. style.color) override it.\n const defaultColor = selected && !item.withBulbs ? '#fff' : undefined;\n return (\n <Text\n fontSize={size}\n fontColor={defaultColor}\n m={0}\n style={textStyle}\n >\n {item.label}\n </Text>\n );\n };\n\n /* ---- Bulb: custom radio indicator + content (mirrors web PrimeRadioButton + renderContent) ---- */\n const renderBulb = () => (\n <RNPressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n >\n <Flex alignItems=\"center\" gap={6} flexDirection={direction}>\n <CoreRadioIndicator\n checked={selected}\n disabled={disabled}\n invalid={isInvalid}\n checkedBorderColor={primaryColor}\n dotColor={primaryColor}\n size={indicatorSize(item.size)}\n />\n {renderContent()}\n </Flex>\n </RNPressable>\n );\n\n /* ---- Component: custom component + label (mirrors web renderComponent) ---- */\n const renderComponent = () => (\n <RNPressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n >\n <Flex flexDirection={direction} alignItems=\"center\" gap={4}>\n {renderContent()}\n {!!item.label && <Text>{item.label}</Text>}\n </Flex>\n </RNPressable>\n );\n\n // BUTTON mode: collapse to a single layer — Pressable IS the styled\n // pill. User wrapperStyle applies to the same element that carries\n // the default selection colors (containerStyle). wrapperStyle wins\n // because RN style arrays apply later entries on top.\n if (!item.withBulbs && !item.component) {\n return (\n <RNPressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n style={[containerStyle, wrapperStyle]}\n >\n {renderContent()}\n </RNPressable>\n );\n }\n\n // BULB / COMPONENT modes keep the nested Flex for bulb + content\n // layout. Outer wrapper carries user style; Pressable inside takes\n // the click without re-wrapping width.\n return (\n <Flex\n pointerEvents={disabled ? \"none\" : \"auto\"}\n style={wrapperStyle}\n alignItems=\"flex-start\"\n >\n {item.withBulbs ? renderBulb() : renderComponent()}\n </Flex>\n );\n};\n\nexport default RadioButton;\n"],"names":["useKitsTheme","useMemo","resolveStyleRecord","splitTextStyle","jsx","Text","RNPressable","Flex","CoreRadioIndicator"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"radiobutton.cjs","sources":["../../../../../src/form/controls/RadioButton/radiobutton.native.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport type { IRadioCheckboxListItem } from \"@lmb-it/kitsconcerto-types\";\nimport { Flex, Text } from \"../../../_compat\";\nimport { Pressable as RNPressable } from \"react-native\";\nimport { CoreRadioIndicator } from \"@lmb-it/kitsconcertomobile\";\nimport { useKitsTheme } from \"../../../contexts/Theme\";\nimport { resolveStyleRecord, splitTextStyle } from \"../../../hooks/useResolvedStyle\";\n\ninterface IRadioButtonProps<T> {\n item: IRadioCheckboxListItem<T>;\n selected: boolean;\n disabled?: boolean;\n isInvalid?: boolean;\n onToggle: () => void;\n /**\n * Pre-merged slot styles from KitsRadio (theme `Radio.item*` +\n * per-instance `slots.item*`). Unresolved IStyleClasses.\n */\n slotStyles?: {\n item?: Record<string, any>;\n itemSelected?: Record<string, any>;\n itemDisabled?: Record<string, any>;\n itemInvalid?: Record<string, any>;\n };\n}\n\nconst indicatorSize = (s?: string): 'sm' | 'md' | 'lg' => {\n switch (s) {\n case 'xs': case 'sm': return 'sm';\n case 'lg': case 'xl': return 'lg';\n default: return 'md';\n }\n};\n\nconst RadioButton = <T,>({\n item,\n selected,\n disabled,\n isInvalid,\n onToggle,\n slotStyles,\n}: IRadioButtonProps<T>) => {\n const { resolveToken } = useKitsTheme();\n const primaryColor = resolveToken('primary');\n const borderColor = resolveToken('gray.300');\n\n const sizes: Record<string, number> = {\n xs: 10, sm: 15, md: 18, lg: 20, xl: 20,\n };\n\n const paddings: Record<string, [number, number]> = {\n xs: [2, 5], sm: [2, 5], md: [3, 9], lg: [4, 9], xl: [13, 13],\n };\n\n const size = item.size ? sizes[item.size] : sizes.md;\n const padding = item.size ? paddings[item.size] : paddings.md;\n\n /* ---- Per-item style (slotStyles + item.style*), token-resolved.\n slotStyles is pre-merged at KitsRadio level\n (FormElement < Radio.item < per-instance slots.item). */\n const resolvedItemStyle = useMemo(() => {\n const merged: Record<string, any> = {\n ...(slotStyles?.item || {}),\n ...(selected ? slotStyles?.itemSelected : null),\n ...(disabled ? slotStyles?.itemDisabled : null),\n ...(isInvalid ? slotStyles?.itemInvalid : null),\n ...(item.w != null && !(item.style && (item.style as any).w != null) && !(item.style && (item.style as any).width != null)\n ? { width: item.w }\n : null),\n ...(item.style || {}),\n ...(selected ? item.styleSelected : null),\n ...(disabled ? item.styleDisabled : null),\n ...(isInvalid ? item.styleInvalid : null),\n };\n return resolveStyleRecord(merged, resolveToken);\n }, [slotStyles, selected, disabled, isInvalid, item.style, item.styleSelected, item.styleDisabled, item.styleInvalid, item.w, resolveToken]);\n\n // Route text props to inner Text, layout props to outer wrapper.\n // No size default — `style.flex` / `style.width` flow through directly.\n const { wrapper: wrapperStyle, text: textStyle } = useMemo(\n () => splitTextStyle(resolvedItemStyle),\n [resolvedItemStyle],\n );\n\n /* ---- Label positioning (mirrors web) ---- */\n const leftLabel = item.labelPosition === \"left\";\n const bottomLabel = item.labelPosition === \"bottom\";\n const topLabel = item.labelPosition === \"top\";\n\n const direction =\n leftLabel ? \"row-reverse\" :\n bottomLabel ? \"column\" :\n topLabel ? \"column-reverse\" :\n \"row\";\n\n /* ---- Button mode style (mirrors web checked-option) ---- */\n const containerStyle = useMemo(() => ({\n opacity: disabled ? 40 : 100,\n borderWidth: item.component ? 0 : 1,\n borderRadius: item.component ? 0 : 8,\n borderColor: selected ? primaryColor : borderColor,\n backgroundColor: selected ? primaryColor : 'transparent',\n paddingHorizontal: item.component ? 0 : padding?.[1],\n paddingVertical: item.component ? 0 : padding?.[0],\n }), [disabled, selected, item.component, padding]);\n\n /* ---- Content: custom component or label text ---- */\n const renderContent = () => {\n if (item.component) {\n return typeof item.component === \"function\"\n ? item.component({ selected, value: item.value, isInvalid: !!isInvalid })\n : item.component;\n }\n // Default selected-button color (white on primary fill) is kept,\n // but user-supplied text props (e.g. style.color) override it.\n const defaultColor = selected && !item.withBulbs ? '#fff' : undefined;\n return (\n <Text\n fontSize={size}\n fontColor={defaultColor}\n m={0}\n style={textStyle}\n >\n {item.label}\n </Text>\n );\n };\n\n /* ---- Bulb: custom radio indicator + content (mirrors web PrimeRadioButton + renderContent) ---- */\n const renderBulb = () => (\n <RNPressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n >\n <Flex alignItems=\"center\" gap={6} flexDirection={direction}>\n <CoreRadioIndicator\n checked={selected}\n disabled={disabled}\n invalid={isInvalid}\n checkedBorderColor={primaryColor}\n dotColor={primaryColor}\n size={indicatorSize(item.size)}\n />\n {renderContent()}\n </Flex>\n </RNPressable>\n );\n\n /* ---- Component: custom component + label (mirrors web renderComponent) ---- */\n const renderComponent = () => (\n <RNPressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n >\n <Flex flexDirection={direction} alignItems=\"center\" gap={4}>\n {renderContent()}\n {!!item.label && <Text>{item.label}</Text>}\n </Flex>\n </RNPressable>\n );\n\n // BUTTON mode: collapse to a single layer — Pressable IS the styled\n // pill. User wrapperStyle applies to the same element that carries\n // the default selection colors (containerStyle). wrapperStyle wins\n // because RN style arrays apply later entries on top.\n if (!item.withBulbs && !item.component) {\n return (\n <RNPressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n style={[containerStyle, wrapperStyle]}\n >\n {renderContent()}\n </RNPressable>\n );\n }\n\n // BULB / COMPONENT modes keep the nested Flex for bulb + content\n // layout. Outer wrapper carries user style; Pressable inside takes\n // the click without re-wrapping width.\n return (\n <Flex\n pointerEvents={disabled ? \"none\" : \"auto\"}\n style={wrapperStyle}\n alignItems=\"flex-start\"\n >\n {item.withBulbs ? renderBulb() : renderComponent()}\n </Flex>\n );\n};\n\nexport default RadioButton;\n"],"names":["useKitsTheme","useMemo","resolveStyleRecord","splitTextStyle","jsx","Text","RNPressable","Flex","CoreRadioIndicator"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,MAAM,aAAA,GAAgB,CAAC,CAAA,KAAmC;AACtD,EAAA,QAAQ,CAAA;AAAG,IACP,KAAK,IAAA;AAAA,IAAM,KAAK,IAAA;AAAM,MAAA,OAAO,IAAA;AAAA,IAC7B,KAAK,IAAA;AAAA,IAAM,KAAK,IAAA;AAAM,MAAA,OAAO,IAAA;AAAA,IAC7B;AAAS,MAAA,OAAO,IAAA;AAAA;AAExB,CAAA;AAEA,MAAM,cAAc,CAAK;AAAA,EACrB,IAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA;AACJ,CAAA,KAA4B;AACxB,EAAA,MAAM,EAAE,YAAA,EAAa,GAAIA,qCAAA,EAAa;AACtC,EAAA,MAAM,YAAA,GAAe,aAAa,SAAS,CAAA;AAC3C,EAAA,MAAM,WAAA,GAAc,aAAa,UAAU,CAAA;AAE3C,EAAA,MAAM,KAAA,GAAgC;AAAA,IAClC,EAAA,EAAI,EAAA;AAAA,IAAI,EAAA,EAAI,EAAA;AAAA,IAAI,EAAA,EAAI,EAAA;AAAA,IAAI,EAAA,EAAI,EAAA;AAAA,IAAI,EAAA,EAAI;AAAA,GACxC;AAEA,EAAA,MAAM,QAAA,GAA6C;AAAA,IAC/C,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,IAAG,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,IAAG,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,IAAG,EAAA,EAAI,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,IAAG,EAAA,EAAI,CAAC,EAAA,EAAI,EAAE;AAAA,GAC/D;AAEA,EAAA,MAAM,OAAO,IAAA,CAAK,IAAA,GAAO,MAAM,IAAA,CAAK,IAAI,IAAI,KAAA,CAAM,EAAA;AAClD,EAAA,MAAM,UAAU,IAAA,CAAK,IAAA,GAAO,SAAS,IAAA,CAAK,IAAI,IAAI,QAAA,CAAS,EAAA;AAK3D,EAAA,MAAM,iBAAA,GAAoBC,cAAQ,MAAM;AACpC,IAAA,MAAM,MAAA,GAA8B;AAAA,MAChC,GAAI,UAAA,EAAY,IAAA,IAAQ,EAAC;AAAA,MACzB,GAAI,QAAA,GAAW,UAAA,EAAY,YAAA,GAAe,IAAA;AAAA,MAC1C,GAAI,QAAA,GAAW,UAAA,EAAY,YAAA,GAAe,IAAA;AAAA,MAC1C,GAAI,SAAA,GAAY,UAAA,EAAY,WAAA,GAAc,IAAA;AAAA,MAC1C,GAAI,KAAK,CAAA,IAAK,IAAA,IAAQ,EAAE,IAAA,CAAK,KAAA,IAAU,IAAA,CAAK,KAAA,CAAc,CAAA,IAAK,IAAA,CAAA,IAAS,EAAE,IAAA,CAAK,KAAA,IAAU,KAAK,KAAA,CAAc,KAAA,IAAS,QAC/G,EAAE,KAAA,EAAO,IAAA,CAAK,CAAA,EAAE,GAChB,IAAA;AAAA,MACN,GAAI,IAAA,CAAK,KAAA,IAAS,EAAC;AAAA,MACnB,GAAI,QAAA,GAAW,IAAA,CAAK,aAAA,GAAgB,IAAA;AAAA,MACpC,GAAI,QAAA,GAAW,IAAA,CAAK,aAAA,GAAgB,IAAA;AAAA,MACpC,GAAI,SAAA,GAAY,IAAA,CAAK,YAAA,GAAe;AAAA,KACxC;AACA,IAAA,OAAOC,mCAAA,CAAmB,QAAQ,YAAY,CAAA;AAAA,EAClD,GAAG,CAAC,UAAA,EAAY,QAAA,EAAU,QAAA,EAAU,WAAW,IAAA,CAAK,KAAA,EAAO,IAAA,CAAK,aAAA,EAAe,KAAK,aAAA,EAAe,IAAA,CAAK,cAAc,IAAA,CAAK,CAAA,EAAG,YAAY,CAAC,CAAA;AAI3I,EAAA,MAAM,EAAE,OAAA,EAAS,YAAA,EAAc,IAAA,EAAM,WAAU,GAAID,aAAA;AAAA,IAC/C,MAAME,gCAAe,iBAAiB,CAAA;AAAA,IACtC,CAAC,iBAAiB;AAAA,GACtB;AAGA,EAAA,MAAM,SAAA,GAAY,KAAK,aAAA,KAAkB,MAAA;AACzC,EAAA,MAAM,WAAA,GAAc,KAAK,aAAA,KAAkB,QAAA;AAC3C,EAAA,MAAM,QAAA,GAAW,KAAK,aAAA,KAAkB,KAAA;AAExC,EAAA,MAAM,YACF,SAAA,GAAY,aAAA,GACR,WAAA,GAAc,QAAA,GACV,WAAW,gBAAA,GACP,KAAA;AAGhB,EAAA,MAAM,cAAA,GAAiBF,cAAQ,OAAO;AAAA,IAClC,OAAA,EAAS,WAAW,EAAA,GAAK,GAAA;AAAA,IACzB,WAAA,EAAa,IAAA,CAAK,SAAA,GAAY,CAAA,GAAI,CAAA;AAAA,IAClC,YAAA,EAAc,IAAA,CAAK,SAAA,GAAY,CAAA,GAAI,CAAA;AAAA,IACnC,WAAA,EAAa,WAAW,YAAA,GAAe,WAAA;AAAA,IACvC,eAAA,EAAiB,WAAW,YAAA,GAAe,aAAA;AAAA,IAC3C,iBAAA,EAAmB,IAAA,CAAK,SAAA,GAAY,CAAA,GAAI,UAAU,CAAC,CAAA;AAAA,IACnD,eAAA,EAAiB,IAAA,CAAK,SAAA,GAAY,CAAA,GAAI,UAAU,CAAC;AAAA,MACjD,CAAC,QAAA,EAAU,UAAU,IAAA,CAAK,SAAA,EAAW,OAAO,CAAC,CAAA;AAGjD,EAAA,MAAM,gBAAgB,MAAM;AACxB,IAAA,IAAI,KAAK,SAAA,EAAW;AAChB,MAAA,OAAO,OAAO,IAAA,CAAK,SAAA,KAAc,UAAA,GAC3B,IAAA,CAAK,UAAU,EAAE,QAAA,EAAU,KAAA,EAAO,IAAA,CAAK,OAAO,SAAA,EAAW,CAAC,CAAC,SAAA,EAAW,IACtE,IAAA,CAAK,SAAA;AAAA,IACf;AAGA,IAAA,MAAM,YAAA,GAAe,QAAA,IAAY,CAAC,IAAA,CAAK,YAAY,MAAA,GAAS,MAAA;AAC5D,IAAA,uBACIG,cAAA;AAAA,MAACC,oBAAA;AAAA,MAAA;AAAA,QACG,QAAA,EAAU,IAAA;AAAA,QACV,SAAA,EAAW,YAAA;AAAA,QACX,CAAA,EAAG,CAAA;AAAA,QACH,KAAA,EAAO,SAAA;AAAA,QAEN,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA,KACV;AAAA,EAER,CAAA;AAGA,EAAA,MAAM,aAAa,sBACfD,cAAA;AAAA,IAACE,qBAAA;AAAA,IAAA;AAAA,MACG,SAAS,MAAM;AAAE,QAAA,IAAI,CAAC,UAAU,QAAA,EAAS;AAAA,MAAG,CAAA;AAAA,MAC5C,QAAA;AAAA,MAEA,0CAACC,aAAA,EAAA,EAAK,UAAA,EAAW,UAAS,GAAA,EAAK,CAAA,EAAG,eAAe,SAAA,EAC7C,QAAA,EAAA;AAAA,wBAAAH,cAAA;AAAA,UAACI,eAAA;AAAA,UAAA;AAAA,YACG,OAAA,EAAS,QAAA;AAAA,YACT,QAAA;AAAA,YACA,OAAA,EAAS,SAAA;AAAA,YACT,kBAAA,EAAoB,YAAA;AAAA,YACpB,QAAA,EAAU,YAAA;AAAA,YACV,IAAA,EAAM,aAAA,CAAc,IAAA,CAAK,IAAI;AAAA;AAAA,SACjC;AAAA,QACC,aAAA;AAAc,OAAA,EACnB;AAAA;AAAA,GACJ;AAIJ,EAAA,MAAM,kBAAkB,sBACpBJ,cAAA;AAAA,IAACE,qBAAA;AAAA,IAAA;AAAA,MACG,SAAS,MAAM;AAAE,QAAA,IAAI,CAAC,UAAU,QAAA,EAAS;AAAA,MAAG,CAAA;AAAA,MAC5C,QAAA;AAAA,MAEA,0CAACC,aAAA,EAAA,EAAK,aAAA,EAAe,WAAW,UAAA,EAAW,QAAA,EAAS,KAAK,CAAA,EACpD,QAAA,EAAA;AAAA,QAAA,aAAA,EAAc;AAAA,QACd,CAAC,CAAC,IAAA,CAAK,yBAASH,cAAA,CAACC,oBAAA,EAAA,EAAM,eAAK,KAAA,EAAM;AAAA,OAAA,EACvC;AAAA;AAAA,GACJ;AAOJ,EAAA,IAAI,CAAC,IAAA,CAAK,SAAA,IAAa,CAAC,KAAK,SAAA,EAAW;AACpC,IAAA,uBACID,cAAA;AAAA,MAACE,qBAAA;AAAA,MAAA;AAAA,QACG,SAAS,MAAM;AAAE,UAAA,IAAI,CAAC,UAAU,QAAA,EAAS;AAAA,QAAG,CAAA;AAAA,QAC5C,QAAA;AAAA,QACA,KAAA,EAAO,CAAC,cAAA,EAAgB,YAAY,CAAA;AAAA,QAEnC,QAAA,EAAA,aAAA;AAAc;AAAA,KACnB;AAAA,EAER;AAKA,EAAA,uBACIF,cAAA;AAAA,IAACG,aAAA;AAAA,IAAA;AAAA,MACG,aAAA,EAAe,WAAW,MAAA,GAAS,MAAA;AAAA,MACnC,KAAA,EAAO,YAAA;AAAA,MACP,UAAA,EAAW,YAAA;AAAA,MAEV,QAAA,EAAA,IAAA,CAAK,SAAA,GAAY,UAAA,EAAW,GAAI,eAAA;AAAgB;AAAA,GACrD;AAER;;;;"}
|
|
@@ -57,6 +57,7 @@ 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/resolvers.js';
|
|
60
61
|
import '../../../packages/types/src/Theme/alphaColors.js';
|
|
61
62
|
import '../../../apps/mobile/src/Factory/helpers/cssVarMap.js';
|
|
62
63
|
import '../../../apps/mobile/src/Factory/DimensionsContext.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radiobutton.js","sources":["../../../../../src/form/controls/RadioButton/radiobutton.native.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport type { IRadioCheckboxListItem } from \"@lmb-it/kitsconcerto-types\";\nimport { Flex, Text } from \"../../../_compat\";\nimport { Pressable as RNPressable } from \"react-native\";\nimport { CoreRadioIndicator } from \"@lmb-it/kitsconcertomobile\";\nimport { useKitsTheme } from \"../../../contexts/Theme\";\nimport { resolveStyleRecord, splitTextStyle } from \"../../../hooks/useResolvedStyle\";\n\ninterface IRadioButtonProps<T> {\n item: IRadioCheckboxListItem<T>;\n selected: boolean;\n disabled?: boolean;\n isInvalid?: boolean;\n onToggle: () => void;\n /**\n * Pre-merged slot styles from KitsRadio (theme `Radio.item*` +\n * per-instance `slots.item*`). Unresolved IStyleClasses.\n */\n slotStyles?: {\n item?: Record<string, any>;\n itemSelected?: Record<string, any>;\n itemDisabled?: Record<string, any>;\n itemInvalid?: Record<string, any>;\n };\n}\n\nconst indicatorSize = (s?: string): 'sm' | 'md' | 'lg' => {\n switch (s) {\n case 'xs': case 'sm': return 'sm';\n case 'lg': case 'xl': return 'lg';\n default: return 'md';\n }\n};\n\nconst RadioButton = <T,>({\n item,\n selected,\n disabled,\n isInvalid,\n onToggle,\n slotStyles,\n}: IRadioButtonProps<T>) => {\n const { resolveToken } = useKitsTheme();\n const primaryColor = resolveToken('primary');\n const borderColor = resolveToken('gray.300');\n\n const sizes: Record<string, number> = {\n xs: 10, sm: 15, md: 18, lg: 20, xl: 20,\n };\n\n const paddings: Record<string, [number, number]> = {\n xs: [2, 5], sm: [2, 5], md: [3, 9], lg: [4, 9], xl: [13, 13],\n };\n\n const size = item.size ? sizes[item.size] : sizes.md;\n const padding = item.size ? paddings[item.size] : paddings.md;\n\n /* ---- Per-item style (slotStyles + item.style*), token-resolved.\n slotStyles is pre-merged at KitsRadio level\n (FormElement < Radio.item < per-instance slots.item). */\n const resolvedItemStyle = useMemo(() => {\n const merged: Record<string, any> = {\n ...(slotStyles?.item || {}),\n ...(selected ? slotStyles?.itemSelected : null),\n ...(disabled ? slotStyles?.itemDisabled : null),\n ...(isInvalid ? slotStyles?.itemInvalid : null),\n ...(item.w != null && !(item.style && (item.style as any).w != null) && !(item.style && (item.style as any).width != null)\n ? { width: item.w }\n : null),\n ...(item.style || {}),\n ...(selected ? item.styleSelected : null),\n ...(disabled ? item.styleDisabled : null),\n ...(isInvalid ? item.styleInvalid : null),\n };\n return resolveStyleRecord(merged, resolveToken);\n }, [slotStyles, selected, disabled, isInvalid, item.style, item.styleSelected, item.styleDisabled, item.styleInvalid, item.w, resolveToken]);\n\n // Route text props to inner Text, layout props to outer wrapper.\n // No size default — `style.flex` / `style.width` flow through directly.\n const { wrapper: wrapperStyle, text: textStyle } = useMemo(\n () => splitTextStyle(resolvedItemStyle),\n [resolvedItemStyle],\n );\n\n /* ---- Label positioning (mirrors web) ---- */\n const leftLabel = item.labelPosition === \"left\";\n const bottomLabel = item.labelPosition === \"bottom\";\n const topLabel = item.labelPosition === \"top\";\n\n const direction =\n leftLabel ? \"row-reverse\" :\n bottomLabel ? \"column\" :\n topLabel ? \"column-reverse\" :\n \"row\";\n\n /* ---- Button mode style (mirrors web checked-option) ---- */\n const containerStyle = useMemo(() => ({\n opacity: disabled ? 40 : 100,\n borderWidth: item.component ? 0 : 1,\n borderRadius: item.component ? 0 : 8,\n borderColor: selected ? primaryColor : borderColor,\n backgroundColor: selected ? primaryColor : 'transparent',\n paddingHorizontal: item.component ? 0 : padding?.[1],\n paddingVertical: item.component ? 0 : padding?.[0],\n }), [disabled, selected, item.component, padding]);\n\n /* ---- Content: custom component or label text ---- */\n const renderContent = () => {\n if (item.component) {\n return typeof item.component === \"function\"\n ? item.component({ selected, value: item.value, isInvalid: !!isInvalid })\n : item.component;\n }\n // Default selected-button color (white on primary fill) is kept,\n // but user-supplied text props (e.g. style.color) override it.\n const defaultColor = selected && !item.withBulbs ? '#fff' : undefined;\n return (\n <Text\n fontSize={size}\n fontColor={defaultColor}\n m={0}\n style={textStyle}\n >\n {item.label}\n </Text>\n );\n };\n\n /* ---- Bulb: custom radio indicator + content (mirrors web PrimeRadioButton + renderContent) ---- */\n const renderBulb = () => (\n <RNPressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n >\n <Flex alignItems=\"center\" gap={6} flexDirection={direction}>\n <CoreRadioIndicator\n checked={selected}\n disabled={disabled}\n invalid={isInvalid}\n checkedBorderColor={primaryColor}\n dotColor={primaryColor}\n size={indicatorSize(item.size)}\n />\n {renderContent()}\n </Flex>\n </RNPressable>\n );\n\n /* ---- Component: custom component + label (mirrors web renderComponent) ---- */\n const renderComponent = () => (\n <RNPressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n >\n <Flex flexDirection={direction} alignItems=\"center\" gap={4}>\n {renderContent()}\n {!!item.label && <Text>{item.label}</Text>}\n </Flex>\n </RNPressable>\n );\n\n // BUTTON mode: collapse to a single layer — Pressable IS the styled\n // pill. User wrapperStyle applies to the same element that carries\n // the default selection colors (containerStyle). wrapperStyle wins\n // because RN style arrays apply later entries on top.\n if (!item.withBulbs && !item.component) {\n return (\n <RNPressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n style={[containerStyle, wrapperStyle]}\n >\n {renderContent()}\n </RNPressable>\n );\n }\n\n // BULB / COMPONENT modes keep the nested Flex for bulb + content\n // layout. Outer wrapper carries user style; Pressable inside takes\n // the click without re-wrapping width.\n return (\n <Flex\n pointerEvents={disabled ? \"none\" : \"auto\"}\n style={wrapperStyle}\n alignItems=\"flex-start\"\n >\n {item.withBulbs ? renderBulb() : renderComponent()}\n </Flex>\n );\n};\n\nexport default RadioButton;\n"],"names":["RNPressable","CoreRadioIndicator"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"radiobutton.js","sources":["../../../../../src/form/controls/RadioButton/radiobutton.native.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport type { IRadioCheckboxListItem } from \"@lmb-it/kitsconcerto-types\";\nimport { Flex, Text } from \"../../../_compat\";\nimport { Pressable as RNPressable } from \"react-native\";\nimport { CoreRadioIndicator } from \"@lmb-it/kitsconcertomobile\";\nimport { useKitsTheme } from \"../../../contexts/Theme\";\nimport { resolveStyleRecord, splitTextStyle } from \"../../../hooks/useResolvedStyle\";\n\ninterface IRadioButtonProps<T> {\n item: IRadioCheckboxListItem<T>;\n selected: boolean;\n disabled?: boolean;\n isInvalid?: boolean;\n onToggle: () => void;\n /**\n * Pre-merged slot styles from KitsRadio (theme `Radio.item*` +\n * per-instance `slots.item*`). Unresolved IStyleClasses.\n */\n slotStyles?: {\n item?: Record<string, any>;\n itemSelected?: Record<string, any>;\n itemDisabled?: Record<string, any>;\n itemInvalid?: Record<string, any>;\n };\n}\n\nconst indicatorSize = (s?: string): 'sm' | 'md' | 'lg' => {\n switch (s) {\n case 'xs': case 'sm': return 'sm';\n case 'lg': case 'xl': return 'lg';\n default: return 'md';\n }\n};\n\nconst RadioButton = <T,>({\n item,\n selected,\n disabled,\n isInvalid,\n onToggle,\n slotStyles,\n}: IRadioButtonProps<T>) => {\n const { resolveToken } = useKitsTheme();\n const primaryColor = resolveToken('primary');\n const borderColor = resolveToken('gray.300');\n\n const sizes: Record<string, number> = {\n xs: 10, sm: 15, md: 18, lg: 20, xl: 20,\n };\n\n const paddings: Record<string, [number, number]> = {\n xs: [2, 5], sm: [2, 5], md: [3, 9], lg: [4, 9], xl: [13, 13],\n };\n\n const size = item.size ? sizes[item.size] : sizes.md;\n const padding = item.size ? paddings[item.size] : paddings.md;\n\n /* ---- Per-item style (slotStyles + item.style*), token-resolved.\n slotStyles is pre-merged at KitsRadio level\n (FormElement < Radio.item < per-instance slots.item). */\n const resolvedItemStyle = useMemo(() => {\n const merged: Record<string, any> = {\n ...(slotStyles?.item || {}),\n ...(selected ? slotStyles?.itemSelected : null),\n ...(disabled ? slotStyles?.itemDisabled : null),\n ...(isInvalid ? slotStyles?.itemInvalid : null),\n ...(item.w != null && !(item.style && (item.style as any).w != null) && !(item.style && (item.style as any).width != null)\n ? { width: item.w }\n : null),\n ...(item.style || {}),\n ...(selected ? item.styleSelected : null),\n ...(disabled ? item.styleDisabled : null),\n ...(isInvalid ? item.styleInvalid : null),\n };\n return resolveStyleRecord(merged, resolveToken);\n }, [slotStyles, selected, disabled, isInvalid, item.style, item.styleSelected, item.styleDisabled, item.styleInvalid, item.w, resolveToken]);\n\n // Route text props to inner Text, layout props to outer wrapper.\n // No size default — `style.flex` / `style.width` flow through directly.\n const { wrapper: wrapperStyle, text: textStyle } = useMemo(\n () => splitTextStyle(resolvedItemStyle),\n [resolvedItemStyle],\n );\n\n /* ---- Label positioning (mirrors web) ---- */\n const leftLabel = item.labelPosition === \"left\";\n const bottomLabel = item.labelPosition === \"bottom\";\n const topLabel = item.labelPosition === \"top\";\n\n const direction =\n leftLabel ? \"row-reverse\" :\n bottomLabel ? \"column\" :\n topLabel ? \"column-reverse\" :\n \"row\";\n\n /* ---- Button mode style (mirrors web checked-option) ---- */\n const containerStyle = useMemo(() => ({\n opacity: disabled ? 40 : 100,\n borderWidth: item.component ? 0 : 1,\n borderRadius: item.component ? 0 : 8,\n borderColor: selected ? primaryColor : borderColor,\n backgroundColor: selected ? primaryColor : 'transparent',\n paddingHorizontal: item.component ? 0 : padding?.[1],\n paddingVertical: item.component ? 0 : padding?.[0],\n }), [disabled, selected, item.component, padding]);\n\n /* ---- Content: custom component or label text ---- */\n const renderContent = () => {\n if (item.component) {\n return typeof item.component === \"function\"\n ? item.component({ selected, value: item.value, isInvalid: !!isInvalid })\n : item.component;\n }\n // Default selected-button color (white on primary fill) is kept,\n // but user-supplied text props (e.g. style.color) override it.\n const defaultColor = selected && !item.withBulbs ? '#fff' : undefined;\n return (\n <Text\n fontSize={size}\n fontColor={defaultColor}\n m={0}\n style={textStyle}\n >\n {item.label}\n </Text>\n );\n };\n\n /* ---- Bulb: custom radio indicator + content (mirrors web PrimeRadioButton + renderContent) ---- */\n const renderBulb = () => (\n <RNPressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n >\n <Flex alignItems=\"center\" gap={6} flexDirection={direction}>\n <CoreRadioIndicator\n checked={selected}\n disabled={disabled}\n invalid={isInvalid}\n checkedBorderColor={primaryColor}\n dotColor={primaryColor}\n size={indicatorSize(item.size)}\n />\n {renderContent()}\n </Flex>\n </RNPressable>\n );\n\n /* ---- Component: custom component + label (mirrors web renderComponent) ---- */\n const renderComponent = () => (\n <RNPressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n >\n <Flex flexDirection={direction} alignItems=\"center\" gap={4}>\n {renderContent()}\n {!!item.label && <Text>{item.label}</Text>}\n </Flex>\n </RNPressable>\n );\n\n // BUTTON mode: collapse to a single layer — Pressable IS the styled\n // pill. User wrapperStyle applies to the same element that carries\n // the default selection colors (containerStyle). wrapperStyle wins\n // because RN style arrays apply later entries on top.\n if (!item.withBulbs && !item.component) {\n return (\n <RNPressable\n onPress={() => { if (!disabled) onToggle(); }}\n disabled={disabled}\n style={[containerStyle, wrapperStyle]}\n >\n {renderContent()}\n </RNPressable>\n );\n }\n\n // BULB / COMPONENT modes keep the nested Flex for bulb + content\n // layout. Outer wrapper carries user style; Pressable inside takes\n // the click without re-wrapping width.\n return (\n <Flex\n pointerEvents={disabled ? \"none\" : \"auto\"}\n style={wrapperStyle}\n alignItems=\"flex-start\"\n >\n {item.withBulbs ? renderBulb() : renderComponent()}\n </Flex>\n );\n};\n\nexport default RadioButton;\n"],"names":["RNPressable","CoreRadioIndicator"],"mappings":"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"}
|
|
@@ -59,6 +59,7 @@ require('yup');
|
|
|
59
59
|
require('../../../packages/types/src/Css/map/index.cjs');
|
|
60
60
|
require('../../../packages/types/src/Theme/shadows.cjs');
|
|
61
61
|
require('../../../packages/types/src/Theme/defaultTheme.cjs');
|
|
62
|
+
require('../../../packages/types/src/Theme/resolvers.cjs');
|
|
62
63
|
require('../../../packages/types/src/Theme/alphaColors.cjs');
|
|
63
64
|
require('../../../apps/mobile/src/Factory/helpers/cssVarMap.cjs');
|
|
64
65
|
require('../../../apps/mobile/src/Factory/DimensionsContext.cjs');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../../src/form/controls/SelectButton/index.native.tsx"],"sourcesContent":["import {SelectButton as SelectButtonMobile, type SelectButtonProps} from \"@lmb-it/kitsconcertomobile\";\n\nexport const SelectButton = (props:SelectButtonProps)=>{\n return <SelectButtonMobile {...props} />\n}\n"],"names":["jsx","SelectButtonMobile"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../../src/form/controls/SelectButton/index.native.tsx"],"sourcesContent":["import {SelectButton as SelectButtonMobile, type SelectButtonProps} from \"@lmb-it/kitsconcertomobile\";\n\nexport const SelectButton = (props:SelectButtonProps)=>{\n return <SelectButtonMobile {...props} />\n}\n"],"names":["jsx","SelectButtonMobile"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,MAAM,YAAA,GAAe,CAAC,KAAA,KAA0B;AACnD,EAAA,uBAAOA,cAAA,CAACC,kBAAA,EAAA,EAAoB,GAAG,KAAA,EAAO,CAAA;AAC1C;;;;"}
|
|
@@ -57,6 +57,7 @@ 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/resolvers.js';
|
|
60
61
|
import '../../../packages/types/src/Theme/alphaColors.js';
|
|
61
62
|
import '../../../apps/mobile/src/Factory/helpers/cssVarMap.js';
|
|
62
63
|
import '../../../apps/mobile/src/Factory/DimensionsContext.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/form/controls/SelectButton/index.native.tsx"],"sourcesContent":["import {SelectButton as SelectButtonMobile, type SelectButtonProps} from \"@lmb-it/kitsconcertomobile\";\n\nexport const SelectButton = (props:SelectButtonProps)=>{\n return <SelectButtonMobile {...props} />\n}\n"],"names":["SelectButtonMobile"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/form/controls/SelectButton/index.native.tsx"],"sourcesContent":["import {SelectButton as SelectButtonMobile, type SelectButtonProps} from \"@lmb-it/kitsconcertomobile\";\n\nexport const SelectButton = (props:SelectButtonProps)=>{\n return <SelectButtonMobile {...props} />\n}\n"],"names":["SelectButtonMobile"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,MAAM,YAAA,GAAe,CAAC,KAAA,KAA0B;AACnD,EAAA,uBAAO,GAAA,CAACA,cAAA,EAAA,EAAoB,GAAG,KAAA,EAAO,CAAA;AAC1C;;;;"}
|
|
@@ -59,6 +59,7 @@ require('yup');
|
|
|
59
59
|
require('../../../packages/types/src/Css/map/index.cjs');
|
|
60
60
|
require('../../../packages/types/src/Theme/shadows.cjs');
|
|
61
61
|
require('../../../packages/types/src/Theme/defaultTheme.cjs');
|
|
62
|
+
require('../../../packages/types/src/Theme/resolvers.cjs');
|
|
62
63
|
require('../../../packages/types/src/Theme/alphaColors.cjs');
|
|
63
64
|
require('../../../apps/mobile/src/Factory/helpers/cssVarMap.cjs');
|
|
64
65
|
require('../../../apps/mobile/src/Factory/DimensionsContext.cjs');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../../src/form/controls/TriStateCheckbox/index.native.tsx"],"sourcesContent":["import {TriStateCheckbox as TriStateCheckboxMobile, type TriStateCheckboxProps} from \"@lmb-it/kitsconcertomobile\";\nimport {useSelectionController} from \"../../../hooks\";\n\nexport const TriStateCheckbox = (props:TriStateCheckboxProps)=>{\n const { value, onChange } = useSelectionController({\n mode: 'tristate',\n defaultValue: false // Start at false\n });\n\n return <TriStateCheckboxMobile value={value} onChange={()=>onChange()} {...props} />\n}\n"],"names":["useSelectionController","jsx","TriStateCheckboxMobile"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../../src/form/controls/TriStateCheckbox/index.native.tsx"],"sourcesContent":["import {TriStateCheckbox as TriStateCheckboxMobile, type TriStateCheckboxProps} from \"@lmb-it/kitsconcertomobile\";\nimport {useSelectionController} from \"../../../hooks\";\n\nexport const TriStateCheckbox = (props:TriStateCheckboxProps)=>{\n const { value, onChange } = useSelectionController({\n mode: 'tristate',\n defaultValue: false // Start at false\n });\n\n return <TriStateCheckboxMobile value={value} onChange={()=>onChange()} {...props} />\n}\n"],"names":["useSelectionController","jsx","TriStateCheckboxMobile"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,MAAM,gBAAA,GAAmB,CAAC,KAAA,KAA8B;AAC3D,EAAA,MAAM,EAAE,KAAA,EAAO,QAAA,EAAS,GAAIA,8BAAA,CAAuB;AAAA,IAC/C,IAAA,EAAM,UAAA;AAAA,IACN,YAAA,EAAc;AAAA;AAAA,GACjB,CAAA;AAED,EAAA,uBAAOC,cAAA,CAACC,0BAAuB,KAAA,EAAc,QAAA,EAAU,MAAI,QAAA,EAAS,EAAI,GAAG,KAAA,EAAO,CAAA;AACtF;;;;"}
|
|
@@ -57,6 +57,7 @@ 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/resolvers.js';
|
|
60
61
|
import '../../../packages/types/src/Theme/alphaColors.js';
|
|
61
62
|
import '../../../apps/mobile/src/Factory/helpers/cssVarMap.js';
|
|
62
63
|
import '../../../apps/mobile/src/Factory/DimensionsContext.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/form/controls/TriStateCheckbox/index.native.tsx"],"sourcesContent":["import {TriStateCheckbox as TriStateCheckboxMobile, type TriStateCheckboxProps} from \"@lmb-it/kitsconcertomobile\";\nimport {useSelectionController} from \"../../../hooks\";\n\nexport const TriStateCheckbox = (props:TriStateCheckboxProps)=>{\n const { value, onChange } = useSelectionController({\n mode: 'tristate',\n defaultValue: false // Start at false\n });\n\n return <TriStateCheckboxMobile value={value} onChange={()=>onChange()} {...props} />\n}\n"],"names":["TriStateCheckboxMobile"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/form/controls/TriStateCheckbox/index.native.tsx"],"sourcesContent":["import {TriStateCheckbox as TriStateCheckboxMobile, type TriStateCheckboxProps} from \"@lmb-it/kitsconcertomobile\";\nimport {useSelectionController} from \"../../../hooks\";\n\nexport const TriStateCheckbox = (props:TriStateCheckboxProps)=>{\n const { value, onChange } = useSelectionController({\n mode: 'tristate',\n defaultValue: false // Start at false\n });\n\n return <TriStateCheckboxMobile value={value} onChange={()=>onChange()} {...props} />\n}\n"],"names":["TriStateCheckboxMobile"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,MAAM,gBAAA,GAAmB,CAAC,KAAA,KAA8B;AAC3D,EAAA,MAAM,EAAE,KAAA,EAAO,QAAA,EAAS,GAAI,sBAAA,CAAuB;AAAA,IAC/C,IAAA,EAAM,UAAA;AAAA,IACN,YAAA,EAAc;AAAA;AAAA,GACjB,CAAA;AAED,EAAA,uBAAO,GAAA,CAACA,sBAAuB,KAAA,EAAc,QAAA,EAAU,MAAI,QAAA,EAAS,EAAI,GAAG,KAAA,EAAO,CAAA;AACtF;;;;"}
|
|
@@ -15,6 +15,7 @@ require('yup');
|
|
|
15
15
|
require('../../../packages/types/src/Css/map/index.cjs');
|
|
16
16
|
require('../../../packages/types/src/Theme/shadows.cjs');
|
|
17
17
|
require('../../../packages/types/src/Theme/defaultTheme.cjs');
|
|
18
|
+
require('../../../packages/types/src/Theme/resolvers.cjs');
|
|
18
19
|
require('../../../packages/types/src/Theme/alphaColors.cjs');
|
|
19
20
|
var index_native$1 = require('../SingleFileUploader/index.cjs');
|
|
20
21
|
var index_native$2 = require('../MultipleFileUploader/index.cjs');
|