@lmb-it/kitsconcerto-native 0.1.236
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/animations/index.cjs +40 -0
- package/animations/index.cjs.map +1 -0
- package/animations/index.js +38 -0
- package/animations/index.js.map +1 -0
- package/apps/mobile/src/Core/AutoComplete/index.cjs +634 -0
- package/apps/mobile/src/Core/AutoComplete/index.cjs.map +1 -0
- package/apps/mobile/src/Core/AutoComplete/index.js +630 -0
- package/apps/mobile/src/Core/AutoComplete/index.js.map +1 -0
- package/apps/mobile/src/Core/Badge/index.cjs +141 -0
- package/apps/mobile/src/Core/Badge/index.cjs.map +1 -0
- package/apps/mobile/src/Core/Badge/index.js +139 -0
- package/apps/mobile/src/Core/Badge/index.js.map +1 -0
- package/apps/mobile/src/Core/Checkbox/index.cjs +71 -0
- package/apps/mobile/src/Core/Checkbox/index.cjs.map +1 -0
- package/apps/mobile/src/Core/Checkbox/index.js +67 -0
- package/apps/mobile/src/Core/Checkbox/index.js.map +1 -0
- package/apps/mobile/src/Core/DataTable/Column.cjs +8 -0
- package/apps/mobile/src/Core/DataTable/Column.cjs.map +1 -0
- package/apps/mobile/src/Core/DataTable/Column.js +6 -0
- package/apps/mobile/src/Core/DataTable/Column.js.map +1 -0
- package/apps/mobile/src/Core/DataTable/DataTable.cjs +437 -0
- package/apps/mobile/src/Core/DataTable/DataTable.cjs.map +1 -0
- package/apps/mobile/src/Core/DataTable/DataTable.js +435 -0
- package/apps/mobile/src/Core/DataTable/DataTable.js.map +1 -0
- package/apps/mobile/src/Core/Dropdown/index.cjs +520 -0
- package/apps/mobile/src/Core/Dropdown/index.cjs.map +1 -0
- package/apps/mobile/src/Core/Dropdown/index.js +516 -0
- package/apps/mobile/src/Core/Dropdown/index.js.map +1 -0
- package/apps/mobile/src/Core/Input/Field.cjs +37 -0
- package/apps/mobile/src/Core/Input/Field.cjs.map +1 -0
- package/apps/mobile/src/Core/Input/Field.js +33 -0
- package/apps/mobile/src/Core/Input/Field.js.map +1 -0
- package/apps/mobile/src/Core/Input/Slot.cjs +34 -0
- package/apps/mobile/src/Core/Input/Slot.cjs.map +1 -0
- package/apps/mobile/src/Core/Input/Slot.js +30 -0
- package/apps/mobile/src/Core/Input/Slot.js.map +1 -0
- package/apps/mobile/src/Core/Input/index.cjs +58 -0
- package/apps/mobile/src/Core/Input/index.cjs.map +1 -0
- package/apps/mobile/src/Core/Input/index.js +54 -0
- package/apps/mobile/src/Core/Input/index.js.map +1 -0
- package/apps/mobile/src/Core/MultiSelect/index.cjs +495 -0
- package/apps/mobile/src/Core/MultiSelect/index.cjs.map +1 -0
- package/apps/mobile/src/Core/MultiSelect/index.js +491 -0
- package/apps/mobile/src/Core/MultiSelect/index.js.map +1 -0
- package/apps/mobile/src/Core/Paginator/index.cjs +519 -0
- package/apps/mobile/src/Core/Paginator/index.cjs.map +1 -0
- package/apps/mobile/src/Core/Paginator/index.js +517 -0
- package/apps/mobile/src/Core/Paginator/index.js.map +1 -0
- package/apps/mobile/src/Core/ProgressBar/index.cjs +182 -0
- package/apps/mobile/src/Core/ProgressBar/index.cjs.map +1 -0
- package/apps/mobile/src/Core/ProgressBar/index.js +180 -0
- package/apps/mobile/src/Core/ProgressBar/index.js.map +1 -0
- package/apps/mobile/src/Core/RadioButton/index.cjs +61 -0
- package/apps/mobile/src/Core/RadioButton/index.cjs.map +1 -0
- package/apps/mobile/src/Core/RadioButton/index.js +57 -0
- package/apps/mobile/src/Core/RadioButton/index.js.map +1 -0
- package/apps/mobile/src/Core/SelectButton/index.cjs +122 -0
- package/apps/mobile/src/Core/SelectButton/index.cjs.map +1 -0
- package/apps/mobile/src/Core/SelectButton/index.js +120 -0
- package/apps/mobile/src/Core/SelectButton/index.js.map +1 -0
- package/apps/mobile/src/Core/Tag/index.cjs +129 -0
- package/apps/mobile/src/Core/Tag/index.cjs.map +1 -0
- package/apps/mobile/src/Core/Tag/index.js +127 -0
- package/apps/mobile/src/Core/Tag/index.js.map +1 -0
- package/apps/mobile/src/Core/Trees/components/CoreToolbar.cjs +68 -0
- package/apps/mobile/src/Core/Trees/components/CoreToolbar.cjs.map +1 -0
- package/apps/mobile/src/Core/Trees/components/CoreToolbar.js +66 -0
- package/apps/mobile/src/Core/Trees/components/CoreToolbar.js.map +1 -0
- package/apps/mobile/src/Core/Trees/components/CoreTree.cjs +276 -0
- package/apps/mobile/src/Core/Trees/components/CoreTree.cjs.map +1 -0
- package/apps/mobile/src/Core/Trees/components/CoreTree.js +272 -0
- package/apps/mobile/src/Core/Trees/components/CoreTree.js.map +1 -0
- package/apps/mobile/src/Core/Trees/components/CoreTreeSelect.cjs +391 -0
- package/apps/mobile/src/Core/Trees/components/CoreTreeSelect.cjs.map +1 -0
- package/apps/mobile/src/Core/Trees/components/CoreTreeSelect.js +387 -0
- package/apps/mobile/src/Core/Trees/components/CoreTreeSelect.js.map +1 -0
- package/apps/mobile/src/Core/Trees/engine/TreeEngine.cjs +111 -0
- package/apps/mobile/src/Core/Trees/engine/TreeEngine.cjs.map +1 -0
- package/apps/mobile/src/Core/Trees/engine/TreeEngine.js +109 -0
- package/apps/mobile/src/Core/Trees/engine/TreeEngine.js.map +1 -0
- package/apps/mobile/src/Core/Trees/engine/TreeEvents.cjs +14 -0
- package/apps/mobile/src/Core/Trees/engine/TreeEvents.cjs.map +1 -0
- package/apps/mobile/src/Core/Trees/engine/TreeEvents.js +12 -0
- package/apps/mobile/src/Core/Trees/engine/TreeEvents.js.map +1 -0
- package/apps/mobile/src/Core/Trees/engine/TreeExpansion.cjs +31 -0
- package/apps/mobile/src/Core/Trees/engine/TreeExpansion.cjs.map +1 -0
- package/apps/mobile/src/Core/Trees/engine/TreeExpansion.js +27 -0
- package/apps/mobile/src/Core/Trees/engine/TreeExpansion.js.map +1 -0
- package/apps/mobile/src/Core/Trees/engine/TreeFiltering.cjs +46 -0
- package/apps/mobile/src/Core/Trees/engine/TreeFiltering.cjs.map +1 -0
- package/apps/mobile/src/Core/Trees/engine/TreeFiltering.js +44 -0
- package/apps/mobile/src/Core/Trees/engine/TreeFiltering.js.map +1 -0
- package/apps/mobile/src/Core/Trees/engine/TreeLazy.cjs +14 -0
- package/apps/mobile/src/Core/Trees/engine/TreeLazy.cjs.map +1 -0
- package/apps/mobile/src/Core/Trees/engine/TreeLazy.js +11 -0
- package/apps/mobile/src/Core/Trees/engine/TreeLazy.js.map +1 -0
- package/apps/mobile/src/Core/Trees/engine/TreeSelection.checkbox.cjs +125 -0
- package/apps/mobile/src/Core/Trees/engine/TreeSelection.checkbox.cjs.map +1 -0
- package/apps/mobile/src/Core/Trees/engine/TreeSelection.checkbox.js +123 -0
- package/apps/mobile/src/Core/Trees/engine/TreeSelection.checkbox.js.map +1 -0
- package/apps/mobile/src/Core/Trees/engine/TreeSelection.multiple.cjs +16 -0
- package/apps/mobile/src/Core/Trees/engine/TreeSelection.multiple.cjs.map +1 -0
- package/apps/mobile/src/Core/Trees/engine/TreeSelection.multiple.js +14 -0
- package/apps/mobile/src/Core/Trees/engine/TreeSelection.multiple.js.map +1 -0
- package/apps/mobile/src/Core/Trees/engine/TreeTraversal.cjs +14 -0
- package/apps/mobile/src/Core/Trees/engine/TreeTraversal.cjs.map +1 -0
- package/apps/mobile/src/Core/Trees/engine/TreeTraversal.js +12 -0
- package/apps/mobile/src/Core/Trees/engine/TreeTraversal.js.map +1 -0
- package/apps/mobile/src/Core/Trees/hooks/useTreeEngine.cjs +44 -0
- package/apps/mobile/src/Core/Trees/hooks/useTreeEngine.cjs.map +1 -0
- package/apps/mobile/src/Core/Trees/hooks/useTreeEngine.js +42 -0
- package/apps/mobile/src/Core/Trees/hooks/useTreeEngine.js.map +1 -0
- package/apps/mobile/src/Core/TriStateCheckbox/index.cjs +69 -0
- package/apps/mobile/src/Core/TriStateCheckbox/index.cjs.map +1 -0
- package/apps/mobile/src/Core/TriStateCheckbox/index.js +67 -0
- package/apps/mobile/src/Core/TriStateCheckbox/index.js.map +1 -0
- package/apps/mobile/src/Factory/DimensionsContext.cjs +26 -0
- package/apps/mobile/src/Factory/DimensionsContext.cjs.map +1 -0
- package/apps/mobile/src/Factory/DimensionsContext.js +23 -0
- package/apps/mobile/src/Factory/DimensionsContext.js.map +1 -0
- package/apps/mobile/src/Factory/ResponsiveElement.cjs +186 -0
- package/apps/mobile/src/Factory/ResponsiveElement.cjs.map +1 -0
- package/apps/mobile/src/Factory/ResponsiveElement.js +182 -0
- package/apps/mobile/src/Factory/ResponsiveElement.js.map +1 -0
- package/apps/mobile/src/Factory/animationPresets.cjs +43 -0
- package/apps/mobile/src/Factory/animationPresets.cjs.map +1 -0
- package/apps/mobile/src/Factory/animationPresets.js +40 -0
- package/apps/mobile/src/Factory/animationPresets.js.map +1 -0
- package/apps/mobile/src/Factory/helpers/cssVarMap.cjs +147 -0
- package/apps/mobile/src/Factory/helpers/cssVarMap.cjs.map +1 -0
- package/apps/mobile/src/Factory/helpers/cssVarMap.js +145 -0
- package/apps/mobile/src/Factory/helpers/cssVarMap.js.map +1 -0
- package/apps/mobile/src/Factory/helpers/style.cjs +353 -0
- package/apps/mobile/src/Factory/helpers/style.cjs.map +1 -0
- package/apps/mobile/src/Factory/helpers/style.js +344 -0
- package/apps/mobile/src/Factory/helpers/style.js.map +1 -0
- package/apps/mobile/src/Factory/useSeparator.cjs +33 -0
- package/apps/mobile/src/Factory/useSeparator.cjs.map +1 -0
- package/apps/mobile/src/Factory/useSeparator.js +27 -0
- package/apps/mobile/src/Factory/useSeparator.js.map +1 -0
- package/apps/mobile/src/i18n/index.cjs +16 -0
- package/apps/mobile/src/i18n/index.cjs.map +1 -0
- package/apps/mobile/src/i18n/index.js +14 -0
- package/apps/mobile/src/i18n/index.js.map +1 -0
- package/apps/mobile/src/ui/accordion/index.cjs +248 -0
- package/apps/mobile/src/ui/accordion/index.cjs.map +1 -0
- package/apps/mobile/src/ui/accordion/index.js +239 -0
- package/apps/mobile/src/ui/accordion/index.js.map +1 -0
- package/apps/mobile/src/ui/actionsheet/index.cjs +408 -0
- package/apps/mobile/src/ui/actionsheet/index.cjs.map +1 -0
- package/apps/mobile/src/ui/actionsheet/index.js +406 -0
- package/apps/mobile/src/ui/actionsheet/index.js.map +1 -0
- package/apps/mobile/src/ui/alert/index.cjs +208 -0
- package/apps/mobile/src/ui/alert/index.cjs.map +1 -0
- package/apps/mobile/src/ui/alert/index.js +203 -0
- package/apps/mobile/src/ui/alert/index.js.map +1 -0
- package/apps/mobile/src/ui/alert-dialog/index.cjs +210 -0
- package/apps/mobile/src/ui/alert-dialog/index.cjs.map +1 -0
- package/apps/mobile/src/ui/alert-dialog/index.js +202 -0
- package/apps/mobile/src/ui/alert-dialog/index.js.map +1 -0
- package/apps/mobile/src/ui/avatar/index.cjs +132 -0
- package/apps/mobile/src/ui/avatar/index.cjs.map +1 -0
- package/apps/mobile/src/ui/avatar/index.js +130 -0
- package/apps/mobile/src/ui/avatar/index.js.map +1 -0
- package/apps/mobile/src/ui/badge/index.cjs +164 -0
- package/apps/mobile/src/ui/badge/index.cjs.map +1 -0
- package/apps/mobile/src/ui/badge/index.js +161 -0
- package/apps/mobile/src/ui/badge/index.js.map +1 -0
- package/apps/mobile/src/ui/bottomsheet/index.cjs +41 -0
- package/apps/mobile/src/ui/bottomsheet/index.cjs.map +1 -0
- package/apps/mobile/src/ui/bottomsheet/index.js +39 -0
- package/apps/mobile/src/ui/bottomsheet/index.js.map +1 -0
- package/apps/mobile/src/ui/box/index.cjs +16 -0
- package/apps/mobile/src/ui/box/index.cjs.map +1 -0
- package/apps/mobile/src/ui/box/index.js +14 -0
- package/apps/mobile/src/ui/box/index.js.map +1 -0
- package/apps/mobile/src/ui/box/styles.cjs +11 -0
- package/apps/mobile/src/ui/box/styles.cjs.map +1 -0
- package/apps/mobile/src/ui/box/styles.js +9 -0
- package/apps/mobile/src/ui/box/styles.js.map +1 -0
- package/apps/mobile/src/ui/button/index.cjs +348 -0
- package/apps/mobile/src/ui/button/index.cjs.map +1 -0
- package/apps/mobile/src/ui/button/index.js +342 -0
- package/apps/mobile/src/ui/button/index.js.map +1 -0
- package/apps/mobile/src/ui/card/index.cjs +23 -0
- package/apps/mobile/src/ui/card/index.cjs.map +1 -0
- package/apps/mobile/src/ui/card/index.js +21 -0
- package/apps/mobile/src/ui/card/index.js.map +1 -0
- package/apps/mobile/src/ui/card/styles.cjs +24 -0
- package/apps/mobile/src/ui/card/styles.cjs.map +1 -0
- package/apps/mobile/src/ui/card/styles.js +22 -0
- package/apps/mobile/src/ui/card/styles.js.map +1 -0
- package/apps/mobile/src/ui/center/index.cjs +23 -0
- package/apps/mobile/src/ui/center/index.cjs.map +1 -0
- package/apps/mobile/src/ui/center/index.js +21 -0
- package/apps/mobile/src/ui/center/index.js.map +1 -0
- package/apps/mobile/src/ui/center/styles.cjs +11 -0
- package/apps/mobile/src/ui/center/styles.cjs.map +1 -0
- package/apps/mobile/src/ui/center/styles.js +9 -0
- package/apps/mobile/src/ui/center/styles.js.map +1 -0
- package/apps/mobile/src/ui/checkbox/index.cjs +176 -0
- package/apps/mobile/src/ui/checkbox/index.cjs.map +1 -0
- package/apps/mobile/src/ui/checkbox/index.js +171 -0
- package/apps/mobile/src/ui/checkbox/index.js.map +1 -0
- package/apps/mobile/src/ui/divider/index.cjs +35 -0
- package/apps/mobile/src/ui/divider/index.cjs.map +1 -0
- package/apps/mobile/src/ui/divider/index.js +33 -0
- package/apps/mobile/src/ui/divider/index.js.map +1 -0
- package/apps/mobile/src/ui/drawer/index.cjs +264 -0
- package/apps/mobile/src/ui/drawer/index.cjs.map +1 -0
- package/apps/mobile/src/ui/drawer/index.js +256 -0
- package/apps/mobile/src/ui/drawer/index.js.map +1 -0
- package/apps/mobile/src/ui/fab/index.cjs +193 -0
- package/apps/mobile/src/ui/fab/index.cjs.map +1 -0
- package/apps/mobile/src/ui/fab/index.js +189 -0
- package/apps/mobile/src/ui/fab/index.js.map +1 -0
- package/apps/mobile/src/ui/form-control/index.cjs +379 -0
- package/apps/mobile/src/ui/form-control/index.cjs.map +1 -0
- package/apps/mobile/src/ui/form-control/index.js +368 -0
- package/apps/mobile/src/ui/form-control/index.js.map +1 -0
- package/apps/mobile/src/ui/gluestack-ui-provider/config.cjs +291 -0
- package/apps/mobile/src/ui/gluestack-ui-provider/config.cjs.map +1 -0
- package/apps/mobile/src/ui/gluestack-ui-provider/config.js +289 -0
- package/apps/mobile/src/ui/gluestack-ui-provider/config.js.map +1 -0
- package/apps/mobile/src/ui/gluestack-ui-provider/index.cjs +33 -0
- package/apps/mobile/src/ui/gluestack-ui-provider/index.cjs.map +1 -0
- package/apps/mobile/src/ui/gluestack-ui-provider/index.js +31 -0
- package/apps/mobile/src/ui/gluestack-ui-provider/index.js.map +1 -0
- package/apps/mobile/src/ui/grid/index.cjs +227 -0
- package/apps/mobile/src/ui/grid/index.cjs.map +1 -0
- package/apps/mobile/src/ui/grid/index.js +224 -0
- package/apps/mobile/src/ui/grid/index.js.map +1 -0
- package/apps/mobile/src/ui/grid/styles.cjs +16 -0
- package/apps/mobile/src/ui/grid/styles.cjs.map +1 -0
- package/apps/mobile/src/ui/grid/styles.js +13 -0
- package/apps/mobile/src/ui/grid/styles.js.map +1 -0
- package/apps/mobile/src/ui/heading/index.cjs +206 -0
- package/apps/mobile/src/ui/heading/index.cjs.map +1 -0
- package/apps/mobile/src/ui/heading/index.js +204 -0
- package/apps/mobile/src/ui/heading/index.js.map +1 -0
- package/apps/mobile/src/ui/heading/styles.cjs +45 -0
- package/apps/mobile/src/ui/heading/styles.cjs.map +1 -0
- package/apps/mobile/src/ui/heading/styles.js +43 -0
- package/apps/mobile/src/ui/heading/styles.js.map +1 -0
- package/apps/mobile/src/ui/hstack/index.cjs +27 -0
- package/apps/mobile/src/ui/hstack/index.cjs.map +1 -0
- package/apps/mobile/src/ui/hstack/index.js +25 -0
- package/apps/mobile/src/ui/hstack/index.js.map +1 -0
- package/apps/mobile/src/ui/hstack/styles.cjs +26 -0
- package/apps/mobile/src/ui/hstack/styles.cjs.map +1 -0
- package/apps/mobile/src/ui/hstack/styles.js +24 -0
- package/apps/mobile/src/ui/hstack/styles.js.map +1 -0
- package/apps/mobile/src/ui/icon/index.cjs +1700 -0
- package/apps/mobile/src/ui/icon/index.cjs.map +1 -0
- package/apps/mobile/src/ui/icon/index.js +1643 -0
- package/apps/mobile/src/ui/icon/index.js.map +1 -0
- package/apps/mobile/src/ui/image/index.cjs +40 -0
- package/apps/mobile/src/ui/image/index.cjs.map +1 -0
- package/apps/mobile/src/ui/image/index.js +38 -0
- package/apps/mobile/src/ui/image/index.js.map +1 -0
- package/apps/mobile/src/ui/image-background/index.cjs +24 -0
- package/apps/mobile/src/ui/image-background/index.cjs.map +1 -0
- package/apps/mobile/src/ui/image-background/index.js +22 -0
- package/apps/mobile/src/ui/image-background/index.js.map +1 -0
- package/apps/mobile/src/ui/input/index.cjs +190 -0
- package/apps/mobile/src/ui/input/index.cjs.map +1 -0
- package/apps/mobile/src/ui/input/index.js +184 -0
- package/apps/mobile/src/ui/input/index.js.map +1 -0
- package/apps/mobile/src/ui/link/index.cjs +89 -0
- package/apps/mobile/src/ui/link/index.cjs.map +1 -0
- package/apps/mobile/src/ui/link/index.js +85 -0
- package/apps/mobile/src/ui/link/index.js.map +1 -0
- package/apps/mobile/src/ui/menu/index.cjs +181 -0
- package/apps/mobile/src/ui/menu/index.cjs.map +1 -0
- package/apps/mobile/src/ui/menu/index.js +175 -0
- package/apps/mobile/src/ui/menu/index.js.map +1 -0
- package/apps/mobile/src/ui/modal/index.cjs +210 -0
- package/apps/mobile/src/ui/modal/index.cjs.map +1 -0
- package/apps/mobile/src/ui/modal/index.js +202 -0
- package/apps/mobile/src/ui/modal/index.js.map +1 -0
- package/apps/mobile/src/ui/popover/index.cjs +251 -0
- package/apps/mobile/src/ui/popover/index.cjs.map +1 -0
- package/apps/mobile/src/ui/popover/index.js +242 -0
- package/apps/mobile/src/ui/popover/index.js.map +1 -0
- package/apps/mobile/src/ui/portal/index.cjs +15 -0
- package/apps/mobile/src/ui/portal/index.cjs.map +1 -0
- package/apps/mobile/src/ui/portal/index.js +13 -0
- package/apps/mobile/src/ui/portal/index.js.map +1 -0
- package/apps/mobile/src/ui/pressable/index.cjs +30 -0
- package/apps/mobile/src/ui/pressable/index.cjs.map +1 -0
- package/apps/mobile/src/ui/pressable/index.js +28 -0
- package/apps/mobile/src/ui/pressable/index.js.map +1 -0
- package/apps/mobile/src/ui/progress/index.cjs +146 -0
- package/apps/mobile/src/ui/progress/index.cjs.map +1 -0
- package/apps/mobile/src/ui/progress/index.js +144 -0
- package/apps/mobile/src/ui/progress/index.js.map +1 -0
- package/apps/mobile/src/ui/radio/index.cjs +181 -0
- package/apps/mobile/src/ui/radio/index.cjs.map +1 -0
- package/apps/mobile/src/ui/radio/index.js +175 -0
- package/apps/mobile/src/ui/radio/index.js.map +1 -0
- package/apps/mobile/src/ui/select/index.cjs +206 -0
- package/apps/mobile/src/ui/select/index.cjs.map +1 -0
- package/apps/mobile/src/ui/select/index.js +201 -0
- package/apps/mobile/src/ui/select/index.js.map +1 -0
- package/apps/mobile/src/ui/select/select-actionsheet.cjs +405 -0
- package/apps/mobile/src/ui/select/select-actionsheet.cjs.map +1 -0
- package/apps/mobile/src/ui/select/select-actionsheet.js +391 -0
- package/apps/mobile/src/ui/select/select-actionsheet.js.map +1 -0
- package/apps/mobile/src/ui/skeleton/index.cjs +115 -0
- package/apps/mobile/src/ui/skeleton/index.cjs.map +1 -0
- package/apps/mobile/src/ui/skeleton/index.js +112 -0
- package/apps/mobile/src/ui/skeleton/index.js.map +1 -0
- package/apps/mobile/src/ui/skeleton/styles.cjs +41 -0
- package/apps/mobile/src/ui/skeleton/styles.cjs.map +1 -0
- package/apps/mobile/src/ui/skeleton/styles.js +38 -0
- package/apps/mobile/src/ui/skeleton/styles.js.map +1 -0
- package/apps/mobile/src/ui/slider/index.cjs +225 -0
- package/apps/mobile/src/ui/slider/index.cjs.map +1 -0
- package/apps/mobile/src/ui/slider/index.js +223 -0
- package/apps/mobile/src/ui/slider/index.js.map +1 -0
- package/apps/mobile/src/ui/spinner/index.cjs +35 -0
- package/apps/mobile/src/ui/spinner/index.cjs.map +1 -0
- package/apps/mobile/src/ui/spinner/index.js +33 -0
- package/apps/mobile/src/ui/spinner/index.js.map +1 -0
- package/apps/mobile/src/ui/switch/index.cjs +35 -0
- package/apps/mobile/src/ui/switch/index.cjs.map +1 -0
- package/apps/mobile/src/ui/switch/index.js +33 -0
- package/apps/mobile/src/ui/switch/index.js.map +1 -0
- package/apps/mobile/src/ui/table/index.cjs +150 -0
- package/apps/mobile/src/ui/table/index.cjs.map +1 -0
- package/apps/mobile/src/ui/table/index.js +141 -0
- package/apps/mobile/src/ui/table/index.js.map +1 -0
- package/apps/mobile/src/ui/table/styles.cjs +47 -0
- package/apps/mobile/src/ui/table/styles.cjs.map +1 -0
- package/apps/mobile/src/ui/table/styles.js +38 -0
- package/apps/mobile/src/ui/table/styles.js.map +1 -0
- package/apps/mobile/src/ui/text/index.cjs +44 -0
- package/apps/mobile/src/ui/text/index.cjs.map +1 -0
- package/apps/mobile/src/ui/text/index.js +42 -0
- package/apps/mobile/src/ui/text/index.js.map +1 -0
- package/apps/mobile/src/ui/text/styles.cjs +47 -0
- package/apps/mobile/src/ui/text/styles.cjs.map +1 -0
- package/apps/mobile/src/ui/text/styles.js +45 -0
- package/apps/mobile/src/ui/text/styles.js.map +1 -0
- package/apps/mobile/src/ui/textarea/index.cjs +72 -0
- package/apps/mobile/src/ui/textarea/index.cjs.map +1 -0
- package/apps/mobile/src/ui/textarea/index.js +69 -0
- package/apps/mobile/src/ui/textarea/index.js.map +1 -0
- package/apps/mobile/src/ui/toast/index.cjs +200 -0
- package/apps/mobile/src/ui/toast/index.cjs.map +1 -0
- package/apps/mobile/src/ui/toast/index.js +196 -0
- package/apps/mobile/src/ui/toast/index.js.map +1 -0
- package/apps/mobile/src/ui/tooltip/index.cjs +105 -0
- package/apps/mobile/src/ui/tooltip/index.cjs.map +1 -0
- package/apps/mobile/src/ui/tooltip/index.js +100 -0
- package/apps/mobile/src/ui/tooltip/index.js.map +1 -0
- package/apps/mobile/src/ui/vstack/index.cjs +27 -0
- package/apps/mobile/src/ui/vstack/index.cjs.map +1 -0
- package/apps/mobile/src/ui/vstack/index.js +25 -0
- package/apps/mobile/src/ui/vstack/index.js.map +1 -0
- package/apps/mobile/src/ui/vstack/styles.cjs +26 -0
- package/apps/mobile/src/ui/vstack/styles.cjs.map +1 -0
- package/apps/mobile/src/ui/vstack/styles.js +24 -0
- package/apps/mobile/src/ui/vstack/styles.js.map +1 -0
- package/assets/Icons/index.cjs +2133 -0
- package/assets/Icons/index.cjs.map +1 -0
- package/assets/Icons/index.js +2131 -0
- package/assets/Icons/index.js.map +1 -0
- package/assets/Images/flags/sa.jpg +0 -0
- package/assets/Images/flags/uk.png +0 -0
- package/assets/Images/sa.jpg +0 -0
- package/assets/Images/uk.png +0 -0
- package/components/Accordion/accordion.cjs +154 -0
- package/components/Accordion/accordion.cjs.map +1 -0
- package/components/Accordion/accordion.js +150 -0
- package/components/Accordion/accordion.js.map +1 -0
- package/components/Alert/alert.cjs +90 -0
- package/components/Alert/alert.cjs.map +1 -0
- package/components/Alert/alert.js +83 -0
- package/components/Alert/alert.js.map +1 -0
- package/components/Alert/index.cjs +68 -0
- package/components/Alert/index.cjs.map +1 -0
- package/components/Alert/index.js +61 -0
- package/components/Alert/index.js.map +1 -0
- package/components/Avatar/index.cjs +194 -0
- package/components/Avatar/index.cjs.map +1 -0
- package/components/Avatar/index.js +191 -0
- package/components/Avatar/index.js.map +1 -0
- package/components/Badge/index.cjs +89 -0
- package/components/Badge/index.cjs.map +1 -0
- package/components/Badge/index.js +87 -0
- package/components/Badge/index.js.map +1 -0
- package/components/Banner/banner.cjs +203 -0
- package/components/Banner/banner.cjs.map +1 -0
- package/components/Banner/banner.js +199 -0
- package/components/Banner/banner.js.map +1 -0
- package/components/BottomTabBar/index.cjs +243 -0
- package/components/BottomTabBar/index.cjs.map +1 -0
- package/components/BottomTabBar/index.js +241 -0
- package/components/BottomTabBar/index.js.map +1 -0
- package/components/BreadCrumb/index.cjs +10 -0
- package/components/BreadCrumb/index.cjs.map +1 -0
- package/components/BreadCrumb/index.js +6 -0
- package/components/BreadCrumb/index.js.map +1 -0
- package/components/Button/Button.cjs +242 -0
- package/components/Button/Button.cjs.map +1 -0
- package/components/Button/Button.js +237 -0
- package/components/Button/Button.js.map +1 -0
- package/components/Carousel/index.cjs +95 -0
- package/components/Carousel/index.cjs.map +1 -0
- package/components/Carousel/index.js +93 -0
- package/components/Carousel/index.js.map +1 -0
- package/components/ChatBubble/index.cjs +114 -0
- package/components/ChatBubble/index.cjs.map +1 -0
- package/components/ChatBubble/index.js +112 -0
- package/components/ChatBubble/index.js.map +1 -0
- package/components/Chip/index.cjs +159 -0
- package/components/Chip/index.cjs.map +1 -0
- package/components/Chip/index.js +157 -0
- package/components/Chip/index.js.map +1 -0
- package/components/CircularProgress/index.cjs +122 -0
- package/components/CircularProgress/index.cjs.map +1 -0
- package/components/CircularProgress/index.js +118 -0
- package/components/CircularProgress/index.js.map +1 -0
- package/components/DateSeparator/index.cjs +32 -0
- package/components/DateSeparator/index.cjs.map +1 -0
- package/components/DateSeparator/index.js +30 -0
- package/components/DateSeparator/index.js.map +1 -0
- package/components/DetailsList/index.cjs +210 -0
- package/components/DetailsList/index.cjs.map +1 -0
- package/components/DetailsList/index.js +206 -0
- package/components/DetailsList/index.js.map +1 -0
- package/components/EmptyState/index.cjs +70 -0
- package/components/EmptyState/index.cjs.map +1 -0
- package/components/EmptyState/index.js +68 -0
- package/components/EmptyState/index.js.map +1 -0
- package/components/Gallery/index.cjs +73 -0
- package/components/Gallery/index.cjs.map +1 -0
- package/components/Gallery/index.js +71 -0
- package/components/Gallery/index.js.map +1 -0
- package/components/MessageComposer/index.cjs +242 -0
- package/components/MessageComposer/index.cjs.map +1 -0
- package/components/MessageComposer/index.js +240 -0
- package/components/MessageComposer/index.js.map +1 -0
- package/components/MessageReceipt/index.cjs +40 -0
- package/components/MessageReceipt/index.cjs.map +1 -0
- package/components/MessageReceipt/index.js +38 -0
- package/components/MessageReceipt/index.js.map +1 -0
- package/components/PersonCard/content.cjs +102 -0
- package/components/PersonCard/content.cjs.map +1 -0
- package/components/PersonCard/content.js +96 -0
- package/components/PersonCard/content.js.map +1 -0
- package/components/PersonCard/index.cjs +26 -0
- package/components/PersonCard/index.cjs.map +1 -0
- package/components/PersonCard/index.js +24 -0
- package/components/PersonCard/index.js.map +1 -0
- package/components/ProgressBar/index.cjs +45 -0
- package/components/ProgressBar/index.cjs.map +1 -0
- package/components/ProgressBar/index.js +43 -0
- package/components/ProgressBar/index.js.map +1 -0
- package/components/SegmentedControl/index.cjs +204 -0
- package/components/SegmentedControl/index.cjs.map +1 -0
- package/components/SegmentedControl/index.js +199 -0
- package/components/SegmentedControl/index.js.map +1 -0
- package/components/SkeletonRows/index.cjs +20 -0
- package/components/SkeletonRows/index.cjs.map +1 -0
- package/components/SkeletonRows/index.js +16 -0
- package/components/SkeletonRows/index.js.map +1 -0
- package/components/SkeletonText/index.cjs +109 -0
- package/components/SkeletonText/index.cjs.map +1 -0
- package/components/SkeletonText/index.js +105 -0
- package/components/SkeletonText/index.js.map +1 -0
- package/components/StatCard/index.cjs +86 -0
- package/components/StatCard/index.cjs.map +1 -0
- package/components/StatCard/index.js +83 -0
- package/components/StatCard/index.js.map +1 -0
- package/components/StatePill/index.cjs +68 -0
- package/components/StatePill/index.cjs.map +1 -0
- package/components/StatePill/index.js +66 -0
- package/components/StatePill/index.js.map +1 -0
- package/components/Stepper/index.cjs +144 -0
- package/components/Stepper/index.cjs.map +1 -0
- package/components/Stepper/index.js +142 -0
- package/components/Stepper/index.js.map +1 -0
- package/components/Tabs/index.cjs +149 -0
- package/components/Tabs/index.cjs.map +1 -0
- package/components/Tabs/index.js +147 -0
- package/components/Tabs/index.js.map +1 -0
- package/components/Timeline/index.cjs +89 -0
- package/components/Timeline/index.cjs.map +1 -0
- package/components/Timeline/index.js +87 -0
- package/components/Timeline/index.js.map +1 -0
- package/components/Translate/index.cjs +16 -0
- package/components/Translate/index.cjs.map +1 -0
- package/components/Translate/index.js +12 -0
- package/components/Translate/index.js.map +1 -0
- package/components/TypingIndicator/index.cjs +55 -0
- package/components/TypingIndicator/index.cjs.map +1 -0
- package/components/TypingIndicator/index.js +53 -0
- package/components/TypingIndicator/index.js.map +1 -0
- package/components/overlay/CommandPalette/index.cjs +11 -0
- package/components/overlay/CommandPalette/index.cjs.map +1 -0
- package/components/overlay/CommandPalette/index.js +6 -0
- package/components/overlay/CommandPalette/index.js.map +1 -0
- package/components/overlay/ConfirmDialog/index.cjs +332 -0
- package/components/overlay/ConfirmDialog/index.cjs.map +1 -0
- package/components/overlay/ConfirmDialog/index.js +328 -0
- package/components/overlay/ConfirmDialog/index.js.map +1 -0
- package/components/overlay/ConfirmPopup/index.cjs +13 -0
- package/components/overlay/ConfirmPopup/index.cjs.map +1 -0
- package/components/overlay/ConfirmPopup/index.js +9 -0
- package/components/overlay/ConfirmPopup/index.js.map +1 -0
- package/components/overlay/Dialog/index.cjs +211 -0
- package/components/overlay/Dialog/index.cjs.map +1 -0
- package/components/overlay/Dialog/index.js +207 -0
- package/components/overlay/Dialog/index.js.map +1 -0
- package/components/overlay/Popover/index.cjs +28 -0
- package/components/overlay/Popover/index.cjs.map +1 -0
- package/components/overlay/Popover/index.js +24 -0
- package/components/overlay/Popover/index.js.map +1 -0
- package/components/overlay/Toast/index.cjs +202 -0
- package/components/overlay/Toast/index.cjs.map +1 -0
- package/components/overlay/Toast/index.js +198 -0
- package/components/overlay/Toast/index.js.map +1 -0
- package/components/overlay/Tooltip/index.cjs +12 -0
- package/components/overlay/Tooltip/index.cjs.map +1 -0
- package/components/overlay/Tooltip/index.js +8 -0
- package/components/overlay/Tooltip/index.js.map +1 -0
- package/contexts/DialogContext.cjs +133 -0
- package/contexts/DialogContext.cjs.map +1 -0
- package/contexts/DialogContext.js +127 -0
- package/contexts/DialogContext.js.map +1 -0
- package/contexts/Locale/index.cjs +175 -0
- package/contexts/Locale/index.cjs.map +1 -0
- package/contexts/Locale/index.js +170 -0
- package/contexts/Locale/index.js.map +1 -0
- package/contexts/Main/index.cjs +130 -0
- package/contexts/Main/index.cjs.map +1 -0
- package/contexts/Main/index.js +125 -0
- package/contexts/Main/index.js.map +1 -0
- package/contexts/PermissionsContext.cjs +50 -0
- package/contexts/PermissionsContext.cjs.map +1 -0
- package/contexts/PermissionsContext.js +46 -0
- package/contexts/PermissionsContext.js.map +1 -0
- package/contexts/Theme/KitsThemeProvider.cjs +159 -0
- package/contexts/Theme/KitsThemeProvider.cjs.map +1 -0
- package/contexts/Theme/KitsThemeProvider.js +153 -0
- package/contexts/Theme/KitsThemeProvider.js.map +1 -0
- package/contexts/Theme/index.cjs +40 -0
- package/contexts/Theme/index.cjs.map +1 -0
- package/contexts/Theme/index.js +32 -0
- package/contexts/Theme/index.js.map +1 -0
- package/contexts/Theme/resolvers.cjs +53 -0
- package/contexts/Theme/resolvers.cjs.map +1 -0
- package/contexts/Theme/resolvers.js +51 -0
- package/contexts/Theme/resolvers.js.map +1 -0
- package/data/DataView/Pagination/index.cjs +103 -0
- package/data/DataView/Pagination/index.cjs.map +1 -0
- package/data/DataView/Pagination/index.js +99 -0
- package/data/DataView/Pagination/index.js.map +1 -0
- package/data/DataView/index.cjs +415 -0
- package/data/DataView/index.cjs.map +1 -0
- package/data/DataView/index.js +409 -0
- package/data/DataView/index.js.map +1 -0
- package/data/Table/index.cjs +37 -0
- package/data/Table/index.cjs.map +1 -0
- package/data/Table/index.js +29 -0
- package/data/Table/index.js.map +1 -0
- package/data/TreeView/Toolbar/index.cjs +177 -0
- package/data/TreeView/Toolbar/index.cjs.map +1 -0
- package/data/TreeView/Toolbar/index.js +173 -0
- package/data/TreeView/Toolbar/index.js.map +1 -0
- package/data/TreeView/index.cjs +187 -0
- package/data/TreeView/index.cjs.map +1 -0
- package/data/TreeView/index.js +183 -0
- package/data/TreeView/index.js.map +1 -0
- package/data/TreeView/useTreeViewController.cjs +521 -0
- package/data/TreeView/useTreeViewController.cjs.map +1 -0
- package/data/TreeView/useTreeViewController.js +519 -0
- package/data/TreeView/useTreeViewController.js.map +1 -0
- package/data/TreeView/utils.cjs +68 -0
- package/data/TreeView/utils.cjs.map +1 -0
- package/data/TreeView/utils.js +65 -0
- package/data/TreeView/utils.js.map +1 -0
- package/form/Editable/index.cjs +118 -0
- package/form/Editable/index.cjs.map +1 -0
- package/form/Editable/index.js +114 -0
- package/form/Editable/index.js.map +1 -0
- package/form/controls/Checkbox/checkbox.cjs +237 -0
- package/form/controls/Checkbox/checkbox.cjs.map +1 -0
- package/form/controls/Checkbox/checkbox.js +233 -0
- package/form/controls/Checkbox/checkbox.js.map +1 -0
- package/form/controls/Checkbox/index.cjs +129 -0
- package/form/controls/Checkbox/index.cjs.map +1 -0
- package/form/controls/Checkbox/index.js +125 -0
- package/form/controls/Checkbox/index.js.map +1 -0
- package/form/controls/RadioButton/radio.cjs +115 -0
- package/form/controls/RadioButton/radio.cjs.map +1 -0
- package/form/controls/RadioButton/radio.js +111 -0
- package/form/controls/RadioButton/radio.js.map +1 -0
- package/form/controls/RadioButton/radiobutton.cjs +237 -0
- package/form/controls/RadioButton/radiobutton.cjs.map +1 -0
- package/form/controls/RadioButton/radiobutton.js +233 -0
- package/form/controls/RadioButton/radiobutton.js.map +1 -0
- package/form/controls/SelectButton/index.cjs +89 -0
- package/form/controls/SelectButton/index.cjs.map +1 -0
- package/form/controls/SelectButton/index.js +87 -0
- package/form/controls/SelectButton/index.js.map +1 -0
- package/form/controls/TriStateCheckbox/index.cjs +97 -0
- package/form/controls/TriStateCheckbox/index.cjs.map +1 -0
- package/form/controls/TriStateCheckbox/index.js +95 -0
- package/form/controls/TriStateCheckbox/index.js.map +1 -0
- package/form/file-pickers/MainUploader/index.cjs +316 -0
- package/form/file-pickers/MainUploader/index.cjs.map +1 -0
- package/form/file-pickers/MainUploader/index.js +310 -0
- package/form/file-pickers/MainUploader/index.js.map +1 -0
- package/form/file-pickers/MultipleFileUploader/index.cjs +170 -0
- package/form/file-pickers/MultipleFileUploader/index.cjs.map +1 -0
- package/form/file-pickers/MultipleFileUploader/index.js +166 -0
- package/form/file-pickers/MultipleFileUploader/index.js.map +1 -0
- package/form/file-pickers/MultipleImageUploader/index.cjs +179 -0
- package/form/file-pickers/MultipleImageUploader/index.cjs.map +1 -0
- package/form/file-pickers/MultipleImageUploader/index.js +175 -0
- package/form/file-pickers/MultipleImageUploader/index.js.map +1 -0
- package/form/file-pickers/SingleFileUploader/index.cjs +130 -0
- package/form/file-pickers/SingleFileUploader/index.cjs.map +1 -0
- package/form/file-pickers/SingleFileUploader/index.js +126 -0
- package/form/file-pickers/SingleFileUploader/index.js.map +1 -0
- package/form/file-pickers/SingleImageUploader/index.cjs +117 -0
- package/form/file-pickers/SingleImageUploader/index.cjs.map +1 -0
- package/form/file-pickers/SingleImageUploader/index.js +113 -0
- package/form/file-pickers/SingleImageUploader/index.js.map +1 -0
- package/form/file-pickers/index.cjs +34 -0
- package/form/file-pickers/index.cjs.map +1 -0
- package/form/file-pickers/index.js +30 -0
- package/form/file-pickers/index.js.map +1 -0
- package/form/helpers/ErrorMessage/errormessage.cjs +110 -0
- package/form/helpers/ErrorMessage/errormessage.cjs.map +1 -0
- package/form/helpers/ErrorMessage/errormessage.js +106 -0
- package/form/helpers/ErrorMessage/errormessage.js.map +1 -0
- package/form/helpers/FormContainer/index.cjs +236 -0
- package/form/helpers/FormContainer/index.cjs.map +1 -0
- package/form/helpers/FormContainer/index.js +232 -0
- package/form/helpers/FormContainer/index.js.map +1 -0
- package/form/helpers/Functions.cjs +19 -0
- package/form/helpers/Functions.cjs.map +1 -0
- package/form/helpers/Functions.js +17 -0
- package/form/helpers/Functions.js.map +1 -0
- package/form/helpers/Label/label.cjs +142 -0
- package/form/helpers/Label/label.cjs.map +1 -0
- package/form/helpers/Label/label.js +138 -0
- package/form/helpers/Label/label.js.map +1 -0
- package/form/helpers/native/FloatLabel.cjs +29 -0
- package/form/helpers/native/FloatLabel.cjs.map +1 -0
- package/form/helpers/native/FloatLabel.js +27 -0
- package/form/helpers/native/FloatLabel.js.map +1 -0
- package/form/helpers/native/keyboardFromFilter.cjs +30 -0
- package/form/helpers/native/keyboardFromFilter.cjs.map +1 -0
- package/form/helpers/native/keyboardFromFilter.js +27 -0
- package/form/helpers/native/keyboardFromFilter.js.map +1 -0
- package/form/helpers/native/keyfilter.cjs +23 -0
- package/form/helpers/native/keyfilter.cjs.map +1 -0
- package/form/helpers/native/keyfilter.js +21 -0
- package/form/helpers/native/keyfilter.js.map +1 -0
- package/form/helpers/native/mask.cjs +51 -0
- package/form/helpers/native/mask.cjs.map +1 -0
- package/form/helpers/native/mask.js +48 -0
- package/form/helpers/native/mask.js.map +1 -0
- package/form/helpers/native/numberFormat.cjs +33 -0
- package/form/helpers/native/numberFormat.cjs.map +1 -0
- package/form/helpers/native/numberFormat.js +29 -0
- package/form/helpers/native/numberFormat.js.map +1 -0
- package/form/helpers/useFormInputController/useFormInputController.cjs +46 -0
- package/form/helpers/useFormInputController/useFormInputController.cjs.map +1 -0
- package/form/helpers/useFormInputController/useFormInputController.js +44 -0
- package/form/helpers/useFormInputController/useFormInputController.js.map +1 -0
- package/form/inputs/ColorPicker/colorPickerStyle.cjs +103 -0
- package/form/inputs/ColorPicker/colorPickerStyle.cjs.map +1 -0
- package/form/inputs/ColorPicker/colorPickerStyle.js +101 -0
- package/form/inputs/ColorPicker/colorPickerStyle.js.map +1 -0
- package/form/inputs/ColorPicker/index.cjs +97 -0
- package/form/inputs/ColorPicker/index.cjs.map +1 -0
- package/form/inputs/ColorPicker/index.js +93 -0
- package/form/inputs/ColorPicker/index.js.map +1 -0
- package/form/inputs/Datepicker/index.cjs +217 -0
- package/form/inputs/Datepicker/index.cjs.map +1 -0
- package/form/inputs/Datepicker/index.js +213 -0
- package/form/inputs/Datepicker/index.js.map +1 -0
- package/form/inputs/InputLocation/Experian.cjs +73 -0
- package/form/inputs/InputLocation/Experian.cjs.map +1 -0
- package/form/inputs/InputLocation/Experian.js +69 -0
- package/form/inputs/InputLocation/Experian.js.map +1 -0
- package/form/inputs/InputLocation/index.cjs +148 -0
- package/form/inputs/InputLocation/index.cjs.map +1 -0
- package/form/inputs/InputLocation/index.js +144 -0
- package/form/inputs/InputLocation/index.js.map +1 -0
- package/form/inputs/InputMask/index.cjs +188 -0
- package/form/inputs/InputMask/index.cjs.map +1 -0
- package/form/inputs/InputMask/index.js +184 -0
- package/form/inputs/InputMask/index.js.map +1 -0
- package/form/inputs/InputNumber/index.cjs +265 -0
- package/form/inputs/InputNumber/index.cjs.map +1 -0
- package/form/inputs/InputNumber/index.js +261 -0
- package/form/inputs/InputNumber/index.js.map +1 -0
- package/form/inputs/InputPassword/Strengthen.cjs +54 -0
- package/form/inputs/InputPassword/Strengthen.cjs.map +1 -0
- package/form/inputs/InputPassword/Strengthen.js +50 -0
- package/form/inputs/InputPassword/Strengthen.js.map +1 -0
- package/form/inputs/InputPassword/index.cjs +214 -0
- package/form/inputs/InputPassword/index.cjs.map +1 -0
- package/form/inputs/InputPassword/index.js +210 -0
- package/form/inputs/InputPassword/index.js.map +1 -0
- package/form/inputs/InputSwitch/index.cjs +218 -0
- package/form/inputs/InputSwitch/index.cjs.map +1 -0
- package/form/inputs/InputSwitch/index.js +214 -0
- package/form/inputs/InputSwitch/index.js.map +1 -0
- package/form/inputs/InputText/index.cjs +235 -0
- package/form/inputs/InputText/index.cjs.map +1 -0
- package/form/inputs/InputText/index.js +231 -0
- package/form/inputs/InputText/index.js.map +1 -0
- package/form/inputs/InputText/keyFilter.cjs +34 -0
- package/form/inputs/InputText/keyFilter.cjs.map +1 -0
- package/form/inputs/InputText/keyFilter.js +32 -0
- package/form/inputs/InputText/keyFilter.js.map +1 -0
- package/form/inputs/InputTextarea/index.cjs +235 -0
- package/form/inputs/InputTextarea/index.cjs.map +1 -0
- package/form/inputs/InputTextarea/index.js +231 -0
- package/form/inputs/InputTextarea/index.js.map +1 -0
- package/form/inputs/PhoneInput/index.cjs +190 -0
- package/form/inputs/PhoneInput/index.cjs.map +1 -0
- package/form/inputs/PhoneInput/index.js +186 -0
- package/form/inputs/PhoneInput/index.js.map +1 -0
- package/form/inputs/PhoneInput/usePhoneInput.cjs +224 -0
- package/form/inputs/PhoneInput/usePhoneInput.cjs.map +1 -0
- package/form/inputs/PhoneInput/usePhoneInput.js +220 -0
- package/form/inputs/PhoneInput/usePhoneInput.js.map +1 -0
- package/form/inputs/RadiusPicker/RadiusPicker.cjs +418 -0
- package/form/inputs/RadiusPicker/RadiusPicker.cjs.map +1 -0
- package/form/inputs/RadiusPicker/RadiusPicker.js +413 -0
- package/form/inputs/RadiusPicker/RadiusPicker.js.map +1 -0
- package/form/inputs/RadiusPicker/components/ErrorMessage.cjs +12 -0
- package/form/inputs/RadiusPicker/components/ErrorMessage.cjs.map +1 -0
- package/form/inputs/RadiusPicker/components/ErrorMessage.js +10 -0
- package/form/inputs/RadiusPicker/components/ErrorMessage.js.map +1 -0
- package/form/inputs/RadiusPicker/components/FieldLabel.cjs +12 -0
- package/form/inputs/RadiusPicker/components/FieldLabel.cjs.map +1 -0
- package/form/inputs/RadiusPicker/components/FieldLabel.js +10 -0
- package/form/inputs/RadiusPicker/components/FieldLabel.js.map +1 -0
- package/form/inputs/RadiusPicker/components/LatLngInput.cjs +57 -0
- package/form/inputs/RadiusPicker/components/LatLngInput.cjs.map +1 -0
- package/form/inputs/RadiusPicker/components/LatLngInput.js +55 -0
- package/form/inputs/RadiusPicker/components/LatLngInput.js.map +1 -0
- package/form/inputs/RadiusPicker/components/MapWrapper.cjs +40 -0
- package/form/inputs/RadiusPicker/components/MapWrapper.cjs.map +1 -0
- package/form/inputs/RadiusPicker/components/MapWrapper.js +38 -0
- package/form/inputs/RadiusPicker/components/MapWrapper.js.map +1 -0
- package/form/inputs/RadiusPicker/components/NumericRadiusInput.cjs +54 -0
- package/form/inputs/RadiusPicker/components/NumericRadiusInput.cjs.map +1 -0
- package/form/inputs/RadiusPicker/components/NumericRadiusInput.js +52 -0
- package/form/inputs/RadiusPicker/components/NumericRadiusInput.js.map +1 -0
- package/form/inputs/RadiusPicker/components/PresetChips.cjs +28 -0
- package/form/inputs/RadiusPicker/components/PresetChips.cjs.map +1 -0
- package/form/inputs/RadiusPicker/components/PresetChips.js +26 -0
- package/form/inputs/RadiusPicker/components/PresetChips.js.map +1 -0
- package/form/inputs/RadiusPicker/components/RadiusSlider.cjs +31 -0
- package/form/inputs/RadiusPicker/components/RadiusSlider.cjs.map +1 -0
- package/form/inputs/RadiusPicker/components/RadiusSlider.js +29 -0
- package/form/inputs/RadiusPicker/components/RadiusSlider.js.map +1 -0
- package/form/inputs/RadiusPicker/components/UnitToggle.cjs +24 -0
- package/form/inputs/RadiusPicker/components/UnitToggle.cjs.map +1 -0
- package/form/inputs/RadiusPicker/components/UnitToggle.js +22 -0
- package/form/inputs/RadiusPicker/components/UnitToggle.js.map +1 -0
- package/form/inputs/RadiusPicker/constants.cjs +42 -0
- package/form/inputs/RadiusPicker/constants.cjs.map +1 -0
- package/form/inputs/RadiusPicker/constants.js +27 -0
- package/form/inputs/RadiusPicker/constants.js.map +1 -0
- package/form/inputs/RadiusPicker/hooks/useDebouncedChange.cjs +55 -0
- package/form/inputs/RadiusPicker/hooks/useDebouncedChange.cjs.map +1 -0
- package/form/inputs/RadiusPicker/hooks/useDebouncedChange.js +53 -0
- package/form/inputs/RadiusPicker/hooks/useDebouncedChange.js.map +1 -0
- package/form/inputs/RadiusPicker/hooks/useGeolocation.cjs +53 -0
- package/form/inputs/RadiusPicker/hooks/useGeolocation.cjs.map +1 -0
- package/form/inputs/RadiusPicker/hooks/useGeolocation.js +51 -0
- package/form/inputs/RadiusPicker/hooks/useGeolocation.js.map +1 -0
- package/form/inputs/RadiusPicker/hooks/useRadiusPickerState.cjs +122 -0
- package/form/inputs/RadiusPicker/hooks/useRadiusPickerState.cjs.map +1 -0
- package/form/inputs/RadiusPicker/hooks/useRadiusPickerState.js +120 -0
- package/form/inputs/RadiusPicker/hooks/useRadiusPickerState.js.map +1 -0
- package/form/inputs/RadiusPicker/utils/clamp.cjs +12 -0
- package/form/inputs/RadiusPicker/utils/clamp.cjs.map +1 -0
- package/form/inputs/RadiusPicker/utils/clamp.js +10 -0
- package/form/inputs/RadiusPicker/utils/clamp.js.map +1 -0
- package/form/inputs/RadiusPicker/utils/locale.cjs +28 -0
- package/form/inputs/RadiusPicker/utils/locale.cjs.map +1 -0
- package/form/inputs/RadiusPicker/utils/locale.js +26 -0
- package/form/inputs/RadiusPicker/utils/locale.js.map +1 -0
- package/form/inputs/RadiusPicker/utils/units.cjs +39 -0
- package/form/inputs/RadiusPicker/utils/units.cjs.map +1 -0
- package/form/inputs/RadiusPicker/utils/units.js +32 -0
- package/form/inputs/RadiusPicker/utils/units.js.map +1 -0
- package/form/inputs/Slider/index.cjs +105 -0
- package/form/inputs/Slider/index.cjs.map +1 -0
- package/form/inputs/Slider/index.js +101 -0
- package/form/inputs/Slider/index.js.map +1 -0
- package/form/selects/AutoComplete/index.cjs +204 -0
- package/form/selects/AutoComplete/index.cjs.map +1 -0
- package/form/selects/AutoComplete/index.js +200 -0
- package/form/selects/AutoComplete/index.js.map +1 -0
- package/form/selects/CascadeSelect/index.cjs +17 -0
- package/form/selects/CascadeSelect/index.cjs.map +1 -0
- package/form/selects/CascadeSelect/index.js +13 -0
- package/form/selects/CascadeSelect/index.js.map +1 -0
- package/form/selects/Dropdown/index.cjs +176 -0
- package/form/selects/Dropdown/index.cjs.map +1 -0
- package/form/selects/Dropdown/index.js +172 -0
- package/form/selects/Dropdown/index.js.map +1 -0
- package/form/selects/ListBox/index.cjs +239 -0
- package/form/selects/ListBox/index.cjs.map +1 -0
- package/form/selects/ListBox/index.js +235 -0
- package/form/selects/ListBox/index.js.map +1 -0
- package/form/selects/MultiSelect/index.cjs +179 -0
- package/form/selects/MultiSelect/index.cjs.map +1 -0
- package/form/selects/MultiSelect/index.js +175 -0
- package/form/selects/MultiSelect/index.js.map +1 -0
- package/form/selects/SelectContext.cjs +155 -0
- package/form/selects/SelectContext.cjs.map +1 -0
- package/form/selects/SelectContext.js +150 -0
- package/form/selects/SelectContext.js.map +1 -0
- package/form/selects/TreeSelect/index.cjs +174 -0
- package/form/selects/TreeSelect/index.cjs.map +1 -0
- package/form/selects/TreeSelect/index.js +170 -0
- package/form/selects/TreeSelect/index.js.map +1 -0
- package/form/selects/helper.cjs +48 -0
- package/form/selects/helper.cjs.map +1 -0
- package/form/selects/helper.js +44 -0
- package/form/selects/helper.js.map +1 -0
- package/form/selects/hooks/useAutoCompleteLogic.cjs +197 -0
- package/form/selects/hooks/useAutoCompleteLogic.cjs.map +1 -0
- package/form/selects/hooks/useAutoCompleteLogic.js +195 -0
- package/form/selects/hooks/useAutoCompleteLogic.js.map +1 -0
- package/form/selects/hooks/useSelectBase.cjs +23 -0
- package/form/selects/hooks/useSelectBase.cjs.map +1 -0
- package/form/selects/hooks/useSelectBase.js +21 -0
- package/form/selects/hooks/useSelectBase.js.map +1 -0
- package/form/selects/hooks/useTreeBuild.cjs +86 -0
- package/form/selects/hooks/useTreeBuild.cjs.map +1 -0
- package/form/selects/hooks/useTreeBuild.js +84 -0
- package/form/selects/hooks/useTreeBuild.js.map +1 -0
- package/form/selects/index.cjs +33 -0
- package/form/selects/index.cjs.map +1 -0
- package/form/selects/index.js +24 -0
- package/form/selects/index.js.map +1 -0
- package/form-renderer/Form.cjs +140 -0
- package/form-renderer/Form.cjs.map +1 -0
- package/form-renderer/Form.js +136 -0
- package/form-renderer/Form.js.map +1 -0
- package/form-renderer/components/FormRenderer/index.cjs +151 -0
- package/form-renderer/components/FormRenderer/index.cjs.map +1 -0
- package/form-renderer/components/FormRenderer/index.js +149 -0
- package/form-renderer/components/FormRenderer/index.js.map +1 -0
- package/form-renderer/components/SubmitButton.cjs +31 -0
- package/form-renderer/components/SubmitButton.cjs.map +1 -0
- package/form-renderer/components/SubmitButton.js +29 -0
- package/form-renderer/components/SubmitButton.js.map +1 -0
- package/form-renderer/components/fields/Checkboxes/index.cjs +71 -0
- package/form-renderer/components/fields/Checkboxes/index.cjs.map +1 -0
- package/form-renderer/components/fields/Checkboxes/index.js +66 -0
- package/form-renderer/components/fields/Checkboxes/index.js.map +1 -0
- package/form-renderer/components/fields/ColorPicker/index.cjs +50 -0
- package/form-renderer/components/fields/ColorPicker/index.cjs.map +1 -0
- package/form-renderer/components/fields/ColorPicker/index.js +45 -0
- package/form-renderer/components/fields/ColorPicker/index.js.map +1 -0
- package/form-renderer/components/fields/Combined/index.cjs +111 -0
- package/form-renderer/components/fields/Combined/index.cjs.map +1 -0
- package/form-renderer/components/fields/Combined/index.js +106 -0
- package/form-renderer/components/fields/Combined/index.js.map +1 -0
- package/form-renderer/components/fields/Container/index.cjs +35 -0
- package/form-renderer/components/fields/Container/index.cjs.map +1 -0
- package/form-renderer/components/fields/Container/index.js +30 -0
- package/form-renderer/components/fields/Container/index.js.map +1 -0
- package/form-renderer/components/fields/DateField/index.cjs +63 -0
- package/form-renderer/components/fields/DateField/index.cjs.map +1 -0
- package/form-renderer/components/fields/DateField/index.js +58 -0
- package/form-renderer/components/fields/DateField/index.js.map +1 -0
- package/form-renderer/components/fields/FileUploader/index.cjs +91 -0
- package/form-renderer/components/fields/FileUploader/index.cjs.map +1 -0
- package/form-renderer/components/fields/FileUploader/index.js +86 -0
- package/form-renderer/components/fields/FileUploader/index.js.map +1 -0
- package/form-renderer/components/fields/Group/index.cjs +189 -0
- package/form-renderer/components/fields/Group/index.cjs.map +1 -0
- package/form-renderer/components/fields/Group/index.js +184 -0
- package/form-renderer/components/fields/Group/index.js.map +1 -0
- package/form-renderer/components/fields/InputNumber/index.cjs +84 -0
- package/form-renderer/components/fields/InputNumber/index.cjs.map +1 -0
- package/form-renderer/components/fields/InputNumber/index.js +79 -0
- package/form-renderer/components/fields/InputNumber/index.js.map +1 -0
- package/form-renderer/components/fields/InputText/index.cjs +99 -0
- package/form-renderer/components/fields/InputText/index.cjs.map +1 -0
- package/form-renderer/components/fields/InputText/index.js +94 -0
- package/form-renderer/components/fields/InputText/index.js.map +1 -0
- package/form-renderer/components/fields/Location/index.cjs +67 -0
- package/form-renderer/components/fields/Location/index.cjs.map +1 -0
- package/form-renderer/components/fields/Location/index.js +62 -0
- package/form-renderer/components/fields/Location/index.js.map +1 -0
- package/form-renderer/components/fields/Object/index.cjs +67 -0
- package/form-renderer/components/fields/Object/index.cjs.map +1 -0
- package/form-renderer/components/fields/Object/index.js +62 -0
- package/form-renderer/components/fields/Object/index.js.map +1 -0
- package/form-renderer/components/fields/Password/index.cjs +59 -0
- package/form-renderer/components/fields/Password/index.cjs.map +1 -0
- package/form-renderer/components/fields/Password/index.js +54 -0
- package/form-renderer/components/fields/Password/index.js.map +1 -0
- package/form-renderer/components/fields/Phone/index.cjs +72 -0
- package/form-renderer/components/fields/Phone/index.cjs.map +1 -0
- package/form-renderer/components/fields/Phone/index.js +67 -0
- package/form-renderer/components/fields/Phone/index.js.map +1 -0
- package/form-renderer/components/fields/Radios/index.cjs +62 -0
- package/form-renderer/components/fields/Radios/index.cjs.map +1 -0
- package/form-renderer/components/fields/Radios/index.js +57 -0
- package/form-renderer/components/fields/Radios/index.js.map +1 -0
- package/form-renderer/components/fields/RadiusPicker/index.cjs +89 -0
- package/form-renderer/components/fields/RadiusPicker/index.cjs.map +1 -0
- package/form-renderer/components/fields/RadiusPicker/index.js +84 -0
- package/form-renderer/components/fields/RadiusPicker/index.js.map +1 -0
- package/form-renderer/components/fields/Select/index.cjs +102 -0
- package/form-renderer/components/fields/Select/index.cjs.map +1 -0
- package/form-renderer/components/fields/Select/index.js +97 -0
- package/form-renderer/components/fields/Select/index.js.map +1 -0
- package/form-renderer/components/fields/Switch/index.cjs +52 -0
- package/form-renderer/components/fields/Switch/index.cjs.map +1 -0
- package/form-renderer/components/fields/Switch/index.js +47 -0
- package/form-renderer/components/fields/Switch/index.js.map +1 -0
- package/form-renderer/components/fields/Textarea/index.cjs +60 -0
- package/form-renderer/components/fields/Textarea/index.cjs.map +1 -0
- package/form-renderer/components/fields/Textarea/index.js +55 -0
- package/form-renderer/components/fields/Textarea/index.js.map +1 -0
- package/form-renderer/components/layout/FieldWrapper.cjs +174 -0
- package/form-renderer/components/layout/FieldWrapper.cjs.map +1 -0
- package/form-renderer/components/layout/FieldWrapper.js +172 -0
- package/form-renderer/components/layout/FieldWrapper.js.map +1 -0
- package/form-renderer/hooks/useFieldLogic.cjs +293 -0
- package/form-renderer/hooks/useFieldLogic.cjs.map +1 -0
- package/form-renderer/hooks/useFieldLogic.js +291 -0
- package/form-renderer/hooks/useFieldLogic.js.map +1 -0
- package/form-renderer/hooks/useFormManager.cjs +119 -0
- package/form-renderer/hooks/useFormManager.cjs.map +1 -0
- package/form-renderer/hooks/useFormManager.js +117 -0
- package/form-renderer/hooks/useFormManager.js.map +1 -0
- package/form-renderer/utils/dynamicList.cjs +42 -0
- package/form-renderer/utils/dynamicList.cjs.map +1 -0
- package/form-renderer/utils/dynamicList.js +40 -0
- package/form-renderer/utils/dynamicList.js.map +1 -0
- package/form-renderer/utils/helpers.cjs +221 -0
- package/form-renderer/utils/helpers.cjs.map +1 -0
- package/form-renderer/utils/helpers.js +195 -0
- package/form-renderer/utils/helpers.js.map +1 -0
- package/form-renderer/utils/schemaBuilder.cjs +79 -0
- package/form-renderer/utils/schemaBuilder.cjs.map +1 -0
- package/form-renderer/utils/schemaBuilder.js +58 -0
- package/form-renderer/utils/schemaBuilder.js.map +1 -0
- package/hooks/locale.cjs +9 -0
- package/hooks/locale.cjs.map +1 -0
- package/hooks/locale.js +7 -0
- package/hooks/locale.js.map +1 -0
- package/hooks/main.cjs +10 -0
- package/hooks/main.cjs.map +1 -0
- package/hooks/main.js +8 -0
- package/hooks/main.js.map +1 -0
- package/hooks/shadowPresets.cjs +17 -0
- package/hooks/shadowPresets.cjs.map +1 -0
- package/hooks/shadowPresets.js +15 -0
- package/hooks/shadowPresets.js.map +1 -0
- package/hooks/useColorScheme.cjs +40 -0
- package/hooks/useColorScheme.cjs.map +1 -0
- package/hooks/useColorScheme.js +36 -0
- package/hooks/useColorScheme.js.map +1 -0
- package/hooks/useComponentDefaults.cjs +213 -0
- package/hooks/useComponentDefaults.cjs.map +1 -0
- package/hooks/useComponentDefaults.js +209 -0
- package/hooks/useComponentDefaults.js.map +1 -0
- package/hooks/useDisclosure.cjs +22 -0
- package/hooks/useDisclosure.cjs.map +1 -0
- package/hooks/useDisclosure.js +18 -0
- package/hooks/useDisclosure.js.map +1 -0
- package/hooks/useFocusStyles.cjs +97 -0
- package/hooks/useFocusStyles.cjs.map +1 -0
- package/hooks/useFocusStyles.js +95 -0
- package/hooks/useFocusStyles.js.map +1 -0
- package/hooks/useFormFieldKeyboardNav.cjs +20 -0
- package/hooks/useFormFieldKeyboardNav.cjs.map +1 -0
- package/hooks/useFormFieldKeyboardNav.js +18 -0
- package/hooks/useFormFieldKeyboardNav.js.map +1 -0
- package/hooks/useKeyboardNavigation.cjs +59 -0
- package/hooks/useKeyboardNavigation.cjs.map +1 -0
- package/hooks/useKeyboardNavigation.js +55 -0
- package/hooks/useKeyboardNavigation.js.map +1 -0
- package/hooks/useResolvedElementStyles.cjs +24 -0
- package/hooks/useResolvedElementStyles.cjs.map +1 -0
- package/hooks/useResolvedElementStyles.js +20 -0
- package/hooks/useResolvedElementStyles.js.map +1 -0
- package/hooks/useResolvedStyle.cjs +100 -0
- package/hooks/useResolvedStyle.cjs.map +1 -0
- package/hooks/useResolvedStyle.js +93 -0
- package/hooks/useResolvedStyle.js.map +1 -0
- package/hooks/useRtlLineHeight.cjs +24 -0
- package/hooks/useRtlLineHeight.cjs.map +1 -0
- package/hooks/useRtlLineHeight.js +20 -0
- package/hooks/useRtlLineHeight.js.map +1 -0
- package/hooks/useScrollState/helper.cjs +12 -0
- package/hooks/useScrollState/helper.cjs.map +1 -0
- package/hooks/useScrollState/helper.js +10 -0
- package/hooks/useScrollState/helper.js.map +1 -0
- package/hooks/useScrollState/index.cjs +27 -0
- package/hooks/useScrollState/index.cjs.map +1 -0
- package/hooks/useScrollState/index.js +23 -0
- package/hooks/useScrollState/index.js.map +1 -0
- package/hooks/useSelectionController.cjs +115 -0
- package/hooks/useSelectionController.cjs.map +1 -0
- package/hooks/useSelectionController.js +111 -0
- package/hooks/useSelectionController.js.map +1 -0
- package/hooks/useSeverityColors.cjs +107 -0
- package/hooks/useSeverityColors.cjs.map +1 -0
- package/hooks/useSeverityColors.js +104 -0
- package/hooks/useSeverityColors.js.map +1 -0
- package/hooks/useThemedFont.cjs +14 -0
- package/hooks/useThemedFont.cjs.map +1 -0
- package/hooks/useThemedFont.js +10 -0
- package/hooks/useThemedFont.js.map +1 -0
- package/hooks/useToast/index.cjs +32 -0
- package/hooks/useToast/index.cjs.map +1 -0
- package/hooks/useToast/index.js +27 -0
- package/hooks/useToast/index.js.map +1 -0
- package/index.cjs +348 -0
- package/index.cjs.map +1 -0
- package/index.d.ts +13928 -0
- package/index.js +136 -0
- package/index.js.map +1 -0
- package/layout/AnimatePresence/index.cjs +12 -0
- package/layout/AnimatePresence/index.cjs.map +1 -0
- package/layout/AnimatePresence/index.js +8 -0
- package/layout/AnimatePresence/index.js.map +1 -0
- package/layout/Center/index.cjs +98 -0
- package/layout/Center/index.cjs.map +1 -0
- package/layout/Center/index.js +94 -0
- package/layout/Center/index.js.map +1 -0
- package/layout/Collapse/index.cjs +46 -0
- package/layout/Collapse/index.cjs.map +1 -0
- package/layout/Collapse/index.js +42 -0
- package/layout/Collapse/index.js.map +1 -0
- package/layout/Container/container.cjs +147 -0
- package/layout/Container/container.cjs.map +1 -0
- package/layout/Container/container.js +143 -0
- package/layout/Container/container.js.map +1 -0
- package/layout/Flex/index.cjs +111 -0
- package/layout/Flex/index.cjs.map +1 -0
- package/layout/Flex/index.js +107 -0
- package/layout/Flex/index.js.map +1 -0
- package/layout/Grid/native/GridContext.cjs +43 -0
- package/layout/Grid/native/GridContext.cjs.map +1 -0
- package/layout/Grid/native/GridContext.js +37 -0
- package/layout/Grid/native/GridContext.js.map +1 -0
- package/layout/Grid/native/KitsGrid.cjs +105 -0
- package/layout/Grid/native/KitsGrid.cjs.map +1 -0
- package/layout/Grid/native/KitsGrid.js +101 -0
- package/layout/Grid/native/KitsGrid.js.map +1 -0
- package/layout/GridItem/native/KitsGridItem.cjs +39 -0
- package/layout/GridItem/native/KitsGridItem.cjs.map +1 -0
- package/layout/GridItem/native/KitsGridItem.js +35 -0
- package/layout/GridItem/native/KitsGridItem.js.map +1 -0
- package/layout/HStack/index.cjs +128 -0
- package/layout/HStack/index.cjs.map +1 -0
- package/layout/HStack/index.js +124 -0
- package/layout/HStack/index.js.map +1 -0
- package/layout/List/index.cjs +103 -0
- package/layout/List/index.cjs.map +1 -0
- package/layout/List/index.js +99 -0
- package/layout/List/index.js.map +1 -0
- package/layout/ListItem/index.cjs +103 -0
- package/layout/ListItem/index.cjs.map +1 -0
- package/layout/ListItem/index.js +99 -0
- package/layout/ListItem/index.js.map +1 -0
- package/layout/ScrollView/index.cjs +102 -0
- package/layout/ScrollView/index.cjs.map +1 -0
- package/layout/ScrollView/index.js +98 -0
- package/layout/ScrollView/index.js.map +1 -0
- package/layout/VStack/index.cjs +129 -0
- package/layout/VStack/index.cjs.map +1 -0
- package/layout/VStack/index.js +125 -0
- package/layout/VStack/index.js.map +1 -0
- package/locale/ar.json.cjs +436 -0
- package/locale/ar.json.cjs.map +1 -0
- package/locale/ar.json.js +326 -0
- package/locale/ar.json.js.map +1 -0
- package/locale/bg.json.cjs +188 -0
- package/locale/bg.json.cjs.map +1 -0
- package/locale/bg.json.js +141 -0
- package/locale/bg.json.js.map +1 -0
- package/locale/ca.json.cjs +343 -0
- package/locale/ca.json.cjs.map +1 -0
- package/locale/ca.json.js +264 -0
- package/locale/ca.json.js.map +1 -0
- package/locale/cs.json.cjs +399 -0
- package/locale/cs.json.cjs.map +1 -0
- package/locale/cs.json.js +298 -0
- package/locale/cs.json.js.map +1 -0
- package/locale/da.json.cjs +399 -0
- package/locale/da.json.cjs.map +1 -0
- package/locale/da.json.js +298 -0
- package/locale/da.json.js.map +1 -0
- package/locale/de-at.json.cjs +415 -0
- package/locale/de-at.json.cjs.map +1 -0
- package/locale/de-at.json.js +312 -0
- package/locale/de-at.json.js.map +1 -0
- package/locale/de.json.cjs +402 -0
- package/locale/de.json.cjs.map +1 -0
- package/locale/de.json.js +300 -0
- package/locale/de.json.js.map +1 -0
- package/locale/en-au.json.cjs +415 -0
- package/locale/en-au.json.cjs.map +1 -0
- package/locale/en-au.json.js +312 -0
- package/locale/en-au.json.js.map +1 -0
- package/locale/en-gb.json.cjs +415 -0
- package/locale/en-gb.json.cjs.map +1 -0
- package/locale/en-gb.json.js +312 -0
- package/locale/en-gb.json.js.map +1 -0
- package/locale/en.json.cjs +436 -0
- package/locale/en.json.cjs.map +1 -0
- package/locale/en.json.js +326 -0
- package/locale/en.json.js.map +1 -0
- package/locale/es.json.cjs +343 -0
- package/locale/es.json.cjs.map +1 -0
- package/locale/es.json.js +264 -0
- package/locale/es.json.js.map +1 -0
- package/locale/fa.json.cjs +399 -0
- package/locale/fa.json.cjs.map +1 -0
- package/locale/fa.json.js +298 -0
- package/locale/fa.json.js.map +1 -0
- package/locale/fi.json.cjs +391 -0
- package/locale/fi.json.cjs.map +1 -0
- package/locale/fi.json.js +292 -0
- package/locale/fi.json.js.map +1 -0
- package/locale/fr.json.cjs +415 -0
- package/locale/fr.json.cjs.map +1 -0
- package/locale/fr.json.js +312 -0
- package/locale/fr.json.js.map +1 -0
- package/locale/gr.json.cjs +290 -0
- package/locale/gr.json.cjs.map +1 -0
- package/locale/gr.json.js +213 -0
- package/locale/gr.json.js.map +1 -0
- package/locale/he.json.cjs +415 -0
- package/locale/he.json.cjs.map +1 -0
- package/locale/he.json.js +312 -0
- package/locale/he.json.js.map +1 -0
- package/locale/hi.json.cjs +415 -0
- package/locale/hi.json.cjs.map +1 -0
- package/locale/hi.json.js +312 -0
- package/locale/hi.json.js.map +1 -0
- package/locale/hu.json.cjs +402 -0
- package/locale/hu.json.cjs.map +1 -0
- package/locale/hu.json.js +300 -0
- package/locale/hu.json.js.map +1 -0
- package/locale/id.json.cjs +399 -0
- package/locale/id.json.cjs.map +1 -0
- package/locale/id.json.js +298 -0
- package/locale/id.json.js.map +1 -0
- package/locale/index.cjs +90 -0
- package/locale/index.cjs.map +1 -0
- package/locale/index.js +86 -0
- package/locale/index.js.map +1 -0
- package/locale/it.json.cjs +419 -0
- package/locale/it.json.cjs.map +1 -0
- package/locale/it.json.js +316 -0
- package/locale/it.json.js.map +1 -0
- package/locale/ja.json.cjs +399 -0
- package/locale/ja.json.cjs.map +1 -0
- package/locale/ja.json.js +298 -0
- package/locale/ja.json.js.map +1 -0
- package/locale/kg.json.cjs +415 -0
- package/locale/kg.json.cjs.map +1 -0
- package/locale/kg.json.js +312 -0
- package/locale/kg.json.js.map +1 -0
- package/locale/ko.json.cjs +415 -0
- package/locale/ko.json.cjs.map +1 -0
- package/locale/ko.json.js +312 -0
- package/locale/ko.json.js.map +1 -0
- package/locale/ku.json.cjs +399 -0
- package/locale/ku.json.cjs.map +1 -0
- package/locale/ku.json.js +298 -0
- package/locale/ku.json.js.map +1 -0
- package/locale/lv.json.cjs +402 -0
- package/locale/lv.json.cjs.map +1 -0
- package/locale/lv.json.js +300 -0
- package/locale/lv.json.js.map +1 -0
- package/locale/ms.json.cjs +119 -0
- package/locale/ms.json.cjs.map +1 -0
- package/locale/ms.json.js +95 -0
- package/locale/ms.json.js.map +1 -0
- package/locale/nb-no.json.cjs +402 -0
- package/locale/nb-no.json.cjs.map +1 -0
- package/locale/nb-no.json.js +300 -0
- package/locale/nb-no.json.js.map +1 -0
- package/locale/nl.json.cjs +415 -0
- package/locale/nl.json.cjs.map +1 -0
- package/locale/nl.json.js +312 -0
- package/locale/nl.json.js.map +1 -0
- package/locale/pl.json.cjs +404 -0
- package/locale/pl.json.cjs.map +1 -0
- package/locale/pl.json.js +304 -0
- package/locale/pl.json.js.map +1 -0
- package/locale/pt.json.cjs +418 -0
- package/locale/pt.json.cjs.map +1 -0
- package/locale/pt.json.js +314 -0
- package/locale/pt.json.js.map +1 -0
- package/locale/ro.json.cjs +402 -0
- package/locale/ro.json.cjs.map +1 -0
- package/locale/ro.json.js +300 -0
- package/locale/ro.json.js.map +1 -0
- package/locale/ru.json.cjs +415 -0
- package/locale/ru.json.cjs.map +1 -0
- package/locale/ru.json.js +312 -0
- package/locale/ru.json.js.map +1 -0
- package/locale/sk.json.cjs +415 -0
- package/locale/sk.json.cjs.map +1 -0
- package/locale/sk.json.js +312 -0
- package/locale/sk.json.js.map +1 -0
- package/locale/sl.json.cjs +399 -0
- package/locale/sl.json.cjs.map +1 -0
- package/locale/sl.json.js +298 -0
- package/locale/sl.json.js.map +1 -0
- package/locale/sv.json.cjs +297 -0
- package/locale/sv.json.cjs.map +1 -0
- package/locale/sv.json.js +218 -0
- package/locale/sv.json.js.map +1 -0
- package/locale/tr.json.cjs +412 -0
- package/locale/tr.json.cjs.map +1 -0
- package/locale/tr.json.js +310 -0
- package/locale/tr.json.js.map +1 -0
- package/locale/uk.json.cjs +402 -0
- package/locale/uk.json.cjs.map +1 -0
- package/locale/uk.json.js +300 -0
- package/locale/uk.json.js.map +1 -0
- package/locale/vi.json.cjs +119 -0
- package/locale/vi.json.cjs.map +1 -0
- package/locale/vi.json.js +95 -0
- package/locale/vi.json.js.map +1 -0
- package/locale/zh-CN.json.cjs +399 -0
- package/locale/zh-CN.json.cjs.map +1 -0
- package/locale/zh-CN.json.js +298 -0
- package/locale/zh-CN.json.js.map +1 -0
- package/locale/zh-TW.json.cjs +415 -0
- package/locale/zh-TW.json.cjs.map +1 -0
- package/locale/zh-TW.json.js +312 -0
- package/locale/zh-TW.json.js.map +1 -0
- package/package.json +72 -0
- package/packages/types/src/Components/Molecules/Form/Base/enums.cjs +39 -0
- package/packages/types/src/Components/Molecules/Form/Base/enums.cjs.map +1 -0
- package/packages/types/src/Components/Molecules/Form/Base/enums.js +36 -0
- package/packages/types/src/Components/Molecules/Form/Base/enums.js.map +1 -0
- package/packages/types/src/Components/Molecules/Form/FilePicker/types/fileValidation.cjs +94 -0
- package/packages/types/src/Components/Molecules/Form/FilePicker/types/fileValidation.cjs.map +1 -0
- package/packages/types/src/Components/Molecules/Form/FilePicker/types/fileValidation.js +73 -0
- package/packages/types/src/Components/Molecules/Form/FilePicker/types/fileValidation.js.map +1 -0
- package/packages/types/src/Components/Molecules/Form/FilePicker/types/filesIcons.cjs +21 -0
- package/packages/types/src/Components/Molecules/Form/FilePicker/types/filesIcons.cjs.map +1 -0
- package/packages/types/src/Components/Molecules/Form/FilePicker/types/filesIcons.js +19 -0
- package/packages/types/src/Components/Molecules/Form/FilePicker/types/filesIcons.js.map +1 -0
- package/packages/types/src/Components/Molecules/Form/FilePicker/types/filesTypes.cjs +1267 -0
- package/packages/types/src/Components/Molecules/Form/FilePicker/types/filesTypes.cjs.map +1 -0
- package/packages/types/src/Components/Molecules/Form/FilePicker/types/filesTypes.js +1255 -0
- package/packages/types/src/Components/Molecules/Form/FilePicker/types/filesTypes.js.map +1 -0
- package/packages/types/src/Css/constants/breakpoints/index.cjs +25 -0
- package/packages/types/src/Css/constants/breakpoints/index.cjs.map +1 -0
- package/packages/types/src/Css/constants/breakpoints/index.js +18 -0
- package/packages/types/src/Css/constants/breakpoints/index.js.map +1 -0
- package/packages/types/src/Css/map/index.cjs +223 -0
- package/packages/types/src/Css/map/index.cjs.map +1 -0
- package/packages/types/src/Css/map/index.js +213 -0
- package/packages/types/src/Css/map/index.js.map +1 -0
- package/packages/types/src/Theme/defaultSeverityTheme.cjs +63 -0
- package/packages/types/src/Theme/defaultSeverityTheme.cjs.map +1 -0
- package/packages/types/src/Theme/defaultSeverityTheme.js +61 -0
- package/packages/types/src/Theme/defaultSeverityTheme.js.map +1 -0
- package/packages/types/src/Theme/defaultTheme.cjs +1248 -0
- package/packages/types/src/Theme/defaultTheme.cjs.map +1 -0
- package/packages/types/src/Theme/defaultTheme.js +1246 -0
- package/packages/types/src/Theme/defaultTheme.js.map +1 -0
- package/packages/types/src/Theme/extendTheme.cjs +27 -0
- package/packages/types/src/Theme/extendTheme.cjs.map +1 -0
- package/packages/types/src/Theme/extendTheme.js +24 -0
- package/packages/types/src/Theme/extendTheme.js.map +1 -0
- package/packages/types/src/Theme/resolvers.cjs +147 -0
- package/packages/types/src/Theme/resolvers.cjs.map +1 -0
- package/packages/types/src/Theme/resolvers.js +143 -0
- package/packages/types/src/Theme/resolvers.js.map +1 -0
- package/packages/types/src/Theme/shadows.cjs +42 -0
- package/packages/types/src/Theme/shadows.cjs.map +1 -0
- package/packages/types/src/Theme/shadows.js +33 -0
- package/packages/types/src/Theme/shadows.js.map +1 -0
- package/primeflex.js +958 -0
- package/primitives/Box/index.cjs +110 -0
- package/primitives/Box/index.cjs.map +1 -0
- package/primitives/Box/index.js +106 -0
- package/primitives/Box/index.js.map +1 -0
- package/primitives/Card/index.cjs +164 -0
- package/primitives/Card/index.cjs.map +1 -0
- package/primitives/Card/index.js +160 -0
- package/primitives/Card/index.js.map +1 -0
- package/primitives/Divider/index.cjs +203 -0
- package/primitives/Divider/index.cjs.map +1 -0
- package/primitives/Divider/index.js +199 -0
- package/primitives/Divider/index.js.map +1 -0
- package/primitives/Heading/index.cjs +147 -0
- package/primitives/Heading/index.cjs.map +1 -0
- package/primitives/Heading/index.js +143 -0
- package/primitives/Heading/index.js.map +1 -0
- package/primitives/Icon/index.cjs +101 -0
- package/primitives/Icon/index.cjs.map +1 -0
- package/primitives/Icon/index.js +96 -0
- package/primitives/Icon/index.js.map +1 -0
- package/primitives/Image/index.cjs +112 -0
- package/primitives/Image/index.cjs.map +1 -0
- package/primitives/Image/index.js +108 -0
- package/primitives/Image/index.js.map +1 -0
- package/primitives/Link/index.cjs +30 -0
- package/primitives/Link/index.cjs.map +1 -0
- package/primitives/Link/index.js +26 -0
- package/primitives/Link/index.js.map +1 -0
- package/primitives/Loader/index.cjs +11 -0
- package/primitives/Loader/index.cjs.map +1 -0
- package/primitives/Loader/index.js +7 -0
- package/primitives/Loader/index.js.map +1 -0
- package/primitives/Skeleton/index.cjs +96 -0
- package/primitives/Skeleton/index.cjs.map +1 -0
- package/primitives/Skeleton/index.js +92 -0
- package/primitives/Skeleton/index.js.map +1 -0
- package/primitives/Svg/index.cjs +113 -0
- package/primitives/Svg/index.cjs.map +1 -0
- package/primitives/Svg/index.js +109 -0
- package/primitives/Svg/index.js.map +1 -0
- package/primitives/Text/index.cjs +161 -0
- package/primitives/Text/index.cjs.map +1 -0
- package/primitives/Text/index.js +157 -0
- package/primitives/Text/index.js.map +1 -0
- package/third-parties/countries.cjs +1847 -0
- package/third-parties/countries.cjs.map +1 -0
- package/third-parties/countries.js +1845 -0
- package/third-parties/countries.js.map +1 -0
- package/third-parties/phone_masks.cjs +302 -0
- package/third-parties/phone_masks.cjs.map +1 -0
- package/third-parties/phone_masks.js +300 -0
- package/third-parties/phone_masks.js.map +1 -0
- package/utils/Arrays.cjs +8 -0
- package/utils/Arrays.cjs.map +1 -0
- package/utils/Arrays.js +6 -0
- package/utils/Arrays.js.map +1 -0
- package/utils/Canvas.cjs +18 -0
- package/utils/Canvas.cjs.map +1 -0
- package/utils/Canvas.js +16 -0
- package/utils/Canvas.js.map +1 -0
- package/utils/Date.cjs +91 -0
- package/utils/Date.cjs.map +1 -0
- package/utils/Date.js +85 -0
- package/utils/Date.js.map +1 -0
- package/utils/File.cjs +37 -0
- package/utils/File.cjs.map +1 -0
- package/utils/File.js +35 -0
- package/utils/File.js.map +1 -0
- package/utils/Lib.cjs +10 -0
- package/utils/Lib.cjs.map +1 -0
- package/utils/Lib.js +8 -0
- package/utils/Lib.js.map +1 -0
- package/utils/String.cjs +14 -0
- package/utils/String.cjs.map +1 -0
- package/utils/String.js +11 -0
- package/utils/String.js.map +1 -0
- package/utils/URL.cjs +13 -0
- package/utils/URL.cjs.map +1 -0
- package/utils/URL.js +10 -0
- package/utils/URL.js.map +1 -0
- package/utils/mergeRefs.cjs +17 -0
- package/utils/mergeRefs.cjs.map +1 -0
- package/utils/mergeRefs.js +15 -0
- package/utils/mergeRefs.js.map +1 -0
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
import { useRef, useMemo, useEffect, useCallback } from 'react';
|
|
2
|
+
import { useFormContext, useController } from 'react-hook-form';
|
|
3
|
+
import 'yup';
|
|
4
|
+
import { dynamicList } from '../utils/dynamicList.js';
|
|
5
|
+
import _ from 'lodash';
|
|
6
|
+
|
|
7
|
+
const useFieldLogic = ({
|
|
8
|
+
element: { onDepsChange, ...element },
|
|
9
|
+
control,
|
|
10
|
+
getValues,
|
|
11
|
+
isFocused,
|
|
12
|
+
groupField,
|
|
13
|
+
watchedValues
|
|
14
|
+
}) => {
|
|
15
|
+
const formContext = useFormContext();
|
|
16
|
+
const prevDepsRef = useRef("");
|
|
17
|
+
const watchedSig = useMemo(() => JSON.stringify(watchedValues), [watchedValues]);
|
|
18
|
+
const allFormValues = useMemo(() => getValues(), [getValues, watchedSig]);
|
|
19
|
+
const childElements = useMemo(() => {
|
|
20
|
+
if (!("elements" in element)) {
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
const elements = element.elements;
|
|
24
|
+
if (typeof elements === "function") {
|
|
25
|
+
return elements(watchedValues, allFormValues, {
|
|
26
|
+
control,
|
|
27
|
+
getValues,
|
|
28
|
+
setValue: formContext.setValue
|
|
29
|
+
}, groupField);
|
|
30
|
+
}
|
|
31
|
+
return elements;
|
|
32
|
+
}, [watchedValues]);
|
|
33
|
+
const resolvedProps = useMemo(() => {
|
|
34
|
+
const getDynamicProp = (propName) => {
|
|
35
|
+
const propValue = element[propName];
|
|
36
|
+
if (typeof propValue === "function") {
|
|
37
|
+
return propValue(watchedValues, allFormValues, formContext, groupField);
|
|
38
|
+
}
|
|
39
|
+
return propValue;
|
|
40
|
+
};
|
|
41
|
+
return {
|
|
42
|
+
helperText: getDynamicProp("helperText"),
|
|
43
|
+
leftAddon: getDynamicProp("leftAddon"),
|
|
44
|
+
rightAddon: getDynamicProp("rightAddon"),
|
|
45
|
+
keyFilter: getDynamicProp("keyFilter"),
|
|
46
|
+
withMask: getDynamicProp("withMask")
|
|
47
|
+
// ... resolve other dynamic props here
|
|
48
|
+
};
|
|
49
|
+
}, [watchedValues, allFormValues, element, control, getValues]);
|
|
50
|
+
const lastListRef = useRef(void 0);
|
|
51
|
+
const lastElementRef = useRef(null);
|
|
52
|
+
const lastWatchedRef = useRef(null);
|
|
53
|
+
const list = useMemo(() => {
|
|
54
|
+
if (!("list" in element)) return void 0;
|
|
55
|
+
const elementChanged = !_.isEqual(lastElementRef.current, element);
|
|
56
|
+
const watchedChanged = !_.isEqual(lastWatchedRef.current, watchedValues);
|
|
57
|
+
if (!elementChanged && !watchedChanged) {
|
|
58
|
+
return lastListRef.current;
|
|
59
|
+
}
|
|
60
|
+
const nextList = dynamicList(
|
|
61
|
+
element,
|
|
62
|
+
watchedValues,
|
|
63
|
+
allFormValues,
|
|
64
|
+
groupField,
|
|
65
|
+
formContext
|
|
66
|
+
);
|
|
67
|
+
lastElementRef.current = element;
|
|
68
|
+
lastWatchedRef.current = watchedValues;
|
|
69
|
+
lastListRef.current = nextList;
|
|
70
|
+
return nextList;
|
|
71
|
+
}, [watchedValues, allFormValues, control, getValues, element]);
|
|
72
|
+
const isShown = useMemo(() => {
|
|
73
|
+
const showLogic = element.show || element.logic?.show;
|
|
74
|
+
if (typeof showLogic === "function") {
|
|
75
|
+
return showLogic(watchedValues, allFormValues, {
|
|
76
|
+
control,
|
|
77
|
+
getValues,
|
|
78
|
+
setValue: formContext.setValue
|
|
79
|
+
}, groupField);
|
|
80
|
+
}
|
|
81
|
+
return true;
|
|
82
|
+
}, [watchedValues, allFormValues, control, getValues, element]);
|
|
83
|
+
const isDisabled = useMemo(() => {
|
|
84
|
+
const disableLogic = element.isDisabled || element.logic?.disable;
|
|
85
|
+
if (typeof disableLogic === "function") {
|
|
86
|
+
return disableLogic(watchedValues, allFormValues, {
|
|
87
|
+
control,
|
|
88
|
+
getValues,
|
|
89
|
+
setValue: formContext.setValue
|
|
90
|
+
}, groupField);
|
|
91
|
+
}
|
|
92
|
+
return !!disableLogic;
|
|
93
|
+
}, [watchedValues, allFormValues, control, getValues, element]);
|
|
94
|
+
const isRequired = useMemo(() => {
|
|
95
|
+
if (!("schema" in element) || !element.schema) return false;
|
|
96
|
+
const schema = element.schema;
|
|
97
|
+
const checkRequired = (schema2, parentValues) => {
|
|
98
|
+
try {
|
|
99
|
+
const type = schema2._type;
|
|
100
|
+
const testValue = (() => {
|
|
101
|
+
switch (type) {
|
|
102
|
+
case "array":
|
|
103
|
+
return [];
|
|
104
|
+
case "object":
|
|
105
|
+
return {};
|
|
106
|
+
case "boolean":
|
|
107
|
+
return void 0;
|
|
108
|
+
case "number":
|
|
109
|
+
return void 0;
|
|
110
|
+
case "date":
|
|
111
|
+
return void 0;
|
|
112
|
+
default:
|
|
113
|
+
return "";
|
|
114
|
+
}
|
|
115
|
+
})();
|
|
116
|
+
schema2.validateSync(
|
|
117
|
+
testValue,
|
|
118
|
+
// simulating the field is empty
|
|
119
|
+
{
|
|
120
|
+
context: parentValues,
|
|
121
|
+
// @ts-ignore
|
|
122
|
+
parent: parentValues,
|
|
123
|
+
abortEarly: false
|
|
124
|
+
}
|
|
125
|
+
);
|
|
126
|
+
return false;
|
|
127
|
+
} catch (err) {
|
|
128
|
+
if (err?.inner?.length) {
|
|
129
|
+
return err.inner.some(
|
|
130
|
+
(e) => e.type === "required" || e.message?.toLowerCase().includes("required")
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
return err?.type === "required" || err?.message?.toLowerCase().includes("required");
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
const parent = groupField && groupField.index !== void 0 ? getValues?.()?.[groupField.name]?.[groupField.index] : getValues?.();
|
|
137
|
+
return checkRequired(schema, parent);
|
|
138
|
+
}, [element, watchedValues, allFormValues]);
|
|
139
|
+
const label = useMemo(() => {
|
|
140
|
+
if (typeof element.label === "function") {
|
|
141
|
+
return element.label(watchedValues, allFormValues, {
|
|
142
|
+
control,
|
|
143
|
+
getValues,
|
|
144
|
+
setValue: formContext.setValue
|
|
145
|
+
}, groupField);
|
|
146
|
+
}
|
|
147
|
+
return element.label;
|
|
148
|
+
}, [watchedValues, allFormValues, control, getValues, element]);
|
|
149
|
+
const placeholder = useMemo(() => {
|
|
150
|
+
if ("placeholder" in element && typeof element.placeholder === "function") {
|
|
151
|
+
return element.placeholder(watchedValues, allFormValues, {
|
|
152
|
+
control,
|
|
153
|
+
getValues,
|
|
154
|
+
setValue: formContext.setValue
|
|
155
|
+
}, groupField);
|
|
156
|
+
}
|
|
157
|
+
return "placeholder" in element ? element.placeholder : void 0;
|
|
158
|
+
}, [watchedValues, allFormValues, control, getValues, element]);
|
|
159
|
+
const resolvedStyle = useMemo(() => {
|
|
160
|
+
const s = "style" in element ? element.style : void 0;
|
|
161
|
+
if (s && typeof s === "function") {
|
|
162
|
+
return s(watchedValues, allFormValues, {
|
|
163
|
+
control,
|
|
164
|
+
getValues,
|
|
165
|
+
setValue: formContext.setValue
|
|
166
|
+
}, groupField);
|
|
167
|
+
}
|
|
168
|
+
return s;
|
|
169
|
+
}, [watchedValues, allFormValues, control, getValues, element]);
|
|
170
|
+
const hasWarnedDeprecatedStyleRef = useRef(false);
|
|
171
|
+
useEffect(() => {
|
|
172
|
+
const nodeEnv = globalThis?.process?.env?.NODE_ENV;
|
|
173
|
+
if (nodeEnv === "production") return;
|
|
174
|
+
if (hasWarnedDeprecatedStyleRef.current) return;
|
|
175
|
+
if (!("style" in element) || element.style === void 0) return;
|
|
176
|
+
hasWarnedDeprecatedStyleRef.current = true;
|
|
177
|
+
console.warn(
|
|
178
|
+
`[KitsConcerto] Field "${element.id}": the "style" prop is deprecated. Use "slots" instead. Migration: style.input \u2192 slots.root.style, style.container \u2192 slots.container.style, style.label \u2192 slots.label.style, style.helperText \u2192 slots.helperText.style, style.errorMessage \u2192 slots.error.style. This prop will be removed in the next major version.`
|
|
179
|
+
);
|
|
180
|
+
}, []);
|
|
181
|
+
const slots = useMemo(() => {
|
|
182
|
+
const rawSlots = "slots" in element ? element.slots : void 0;
|
|
183
|
+
let explicitSlots;
|
|
184
|
+
if (rawSlots && typeof rawSlots === "function") {
|
|
185
|
+
explicitSlots = rawSlots(watchedValues, allFormValues, {
|
|
186
|
+
control,
|
|
187
|
+
getValues,
|
|
188
|
+
setValue: formContext.setValue
|
|
189
|
+
}, groupField);
|
|
190
|
+
} else {
|
|
191
|
+
explicitSlots = rawSlots;
|
|
192
|
+
}
|
|
193
|
+
if (!resolvedStyle && !explicitSlots) return void 0;
|
|
194
|
+
if (!resolvedStyle) return explicitSlots;
|
|
195
|
+
const STYLE_TO_SLOT = {
|
|
196
|
+
input: "root",
|
|
197
|
+
container: "container",
|
|
198
|
+
label: "label",
|
|
199
|
+
helperText: "helperText",
|
|
200
|
+
errorMessage: "error"
|
|
201
|
+
};
|
|
202
|
+
const result = {};
|
|
203
|
+
for (const [styleKey, slotKey] of Object.entries(STYLE_TO_SLOT)) {
|
|
204
|
+
const val = resolvedStyle[styleKey];
|
|
205
|
+
if (val) {
|
|
206
|
+
result[slotKey] = { style: val };
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
if (explicitSlots) {
|
|
210
|
+
for (const [key, slot] of Object.entries(explicitSlots)) {
|
|
211
|
+
if (!result[key]) {
|
|
212
|
+
result[key] = slot;
|
|
213
|
+
} else {
|
|
214
|
+
result[key] = {
|
|
215
|
+
...slot,
|
|
216
|
+
style: { ...result[key].style, ...slot.style || {} }
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return Object.keys(result).length > 0 ? result : void 0;
|
|
222
|
+
}, [watchedValues, allFormValues, control, getValues, element, resolvedStyle]);
|
|
223
|
+
const layout = useMemo(() => {
|
|
224
|
+
const getDynamicProp = (prop) => typeof prop === "function" ? prop(watchedValues, allFormValues, { control, getValues }) : prop;
|
|
225
|
+
return {
|
|
226
|
+
colSpan: getDynamicProp(element.logic?.colSpan ?? element.colSpan) ?? 12,
|
|
227
|
+
rowSpan: getDynamicProp(element.rowSpan),
|
|
228
|
+
columnGap: getDynamicProp(element.columnGap),
|
|
229
|
+
rowGap: getDynamicProp(element.rowGap),
|
|
230
|
+
colOffset: getDynamicProp(element.colOffset),
|
|
231
|
+
area: getDynamicProp(element.area)
|
|
232
|
+
};
|
|
233
|
+
}, [watchedValues, allFormValues, control, getValues, element]);
|
|
234
|
+
const onWatchedValuesChange = useCallback(() => {
|
|
235
|
+
if (onDepsChange) {
|
|
236
|
+
onDepsChange(watchedValues, allFormValues, formContext, groupField);
|
|
237
|
+
}
|
|
238
|
+
}, [watchedValues]);
|
|
239
|
+
const isObjectElement = element.type === "Object";
|
|
240
|
+
const { field, fieldState } = useController({
|
|
241
|
+
name: element.id,
|
|
242
|
+
control,
|
|
243
|
+
shouldUnregister: !isShown,
|
|
244
|
+
...isObjectElement ? { defaultValue: {} } : {}
|
|
245
|
+
});
|
|
246
|
+
useEffect(() => {
|
|
247
|
+
if (!onDepsChange) return;
|
|
248
|
+
const sig = JSON.stringify(watchedValues);
|
|
249
|
+
if (sig === prevDepsRef.current) return;
|
|
250
|
+
prevDepsRef.current = sig;
|
|
251
|
+
onDepsChange(watchedValues, allFormValues, formContext, groupField);
|
|
252
|
+
}, [onDepsChange, watchedValues, allFormValues, formContext, groupField]);
|
|
253
|
+
return {
|
|
254
|
+
field: {
|
|
255
|
+
...field,
|
|
256
|
+
onChange: (event) => {
|
|
257
|
+
if ("onChangeValue" in element && element?.onChangeValue) {
|
|
258
|
+
const value = event != null && typeof event === "object" && "target" in event ? event.target.value : event;
|
|
259
|
+
element.onChangeValue(
|
|
260
|
+
value,
|
|
261
|
+
{ ...fieldState, isFocused: !!isFocused },
|
|
262
|
+
formContext
|
|
263
|
+
);
|
|
264
|
+
}
|
|
265
|
+
field.onChange(event);
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
fieldState,
|
|
269
|
+
watchedValues,
|
|
270
|
+
onWatchedValuesChange,
|
|
271
|
+
elements: childElements,
|
|
272
|
+
isShown,
|
|
273
|
+
isDisabled,
|
|
274
|
+
isRequired,
|
|
275
|
+
hideError: element.hideError,
|
|
276
|
+
label,
|
|
277
|
+
placeholder,
|
|
278
|
+
formContext,
|
|
279
|
+
layout,
|
|
280
|
+
list,
|
|
281
|
+
style: resolvedStyle,
|
|
282
|
+
slots,
|
|
283
|
+
...resolvedProps,
|
|
284
|
+
localProps: "localProps" in element ? element?.localProps : void 0,
|
|
285
|
+
attached: element.attached,
|
|
286
|
+
animation: element.animation
|
|
287
|
+
};
|
|
288
|
+
};
|
|
289
|
+
|
|
290
|
+
export { useFieldLogic };
|
|
291
|
+
//# sourceMappingURL=useFieldLogic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFieldLogic.js","sources":["../../../../src/form-renderer/hooks/useFieldLogic.ts"],"sourcesContent":["import {useCallback, useEffect, useMemo, useRef} from 'react';\nimport {type FieldValues, useController, useFormContext, type UseFormReturn} from 'react-hook-form';\nimport {Schema} from 'yup';\n\n// Assuming your types are consolidated in a central file.\nimport type {\n IElementStyle,\n IFormElement,\n ILabelElement,\n ITextFieldProps,\n LogicFunction,\n UseFieldLogicProps,\n UseFieldLogicReturn\n} from '@lmb-it/kitsconcerto-types';\nimport {dynamicList} from \"../utils\";\nimport _ from \"lodash\";\n\n// --- Hook Return Value ---\n\n/**\n * The core logic engine for an individual form field.\n * This hook replaces LogicContext and FormFieldContext. It watches dependencies,\n * calculates all dynamic properties (visibility, disabled state, required status, etc.),\n * and provides the necessary props from react-hook-form.\n *\n * @param {UseFieldLogicProps<T>} props - The element definition and form control.\n * @returns {UseFieldLogicReturn<T>} An object containing all necessary props and states for rendering the field.\n */\nexport const useFieldLogic = <T extends FieldValues>({\n element: {onDepsChange, ...element},\n control,\n getValues,\n isFocused,\n groupField,\n watchedValues\n }: UseFieldLogicProps<T>): UseFieldLogicReturn<T> => {\n\n\n const formContext = useFormContext<T>()\n\n const prevDepsRef = useRef<string>(\"\");\n\n const watchedSig = useMemo(() => JSON.stringify(watchedValues), [watchedValues]);\n\n const allFormValues = useMemo(() => getValues(), [getValues, watchedSig]);\n\n /*const watchedObject = useMemo(() => {\n return dependencies.reduce((acc, dep, index) => {\n acc[dep] = watchedValues[index];\n return acc;\n }, {} as any)\n }, [watchedValues, dependencies])*/\n\n const childElements = useMemo(() => {\n if (!('elements' in element)) {\n return [];\n }\n const elements = element.elements;\n if (typeof elements === 'function') {\n return (elements as LogicFunction<T>)(watchedValues, allFormValues, {\n control,\n getValues,\n setValue: formContext.setValue\n } as any, groupField);\n }\n return elements;\n }, [watchedValues])\n\n const resolvedProps = useMemo(() => {\n const getDynamicProp = (propName: keyof IFormElement<T> | string) => {\n const propValue: LogicFunction<T> = (element as any)[propName];\n if (typeof propValue === 'function') {\n return propValue(watchedValues, allFormValues, formContext, groupField);\n }\n return propValue;\n };\n\n return {\n helperText: getDynamicProp('helperText'),\n leftAddon: getDynamicProp('leftAddon'),\n rightAddon: getDynamicProp('rightAddon'),\n keyFilter: getDynamicProp('keyFilter') as ITextFieldProps<T>['keyFilter'],\n withMask: getDynamicProp('withMask'),\n // ... resolve other dynamic props here\n };\n }, [watchedValues, allFormValues, element, control, getValues]);\n\n const lastListRef = useRef<T[] | undefined>(undefined);\n const lastElementRef = useRef<any>(null);\n const lastWatchedRef = useRef<any>(null);\n\n const list = useMemo(() => {\n if (!(\"list\" in element)) return undefined;\n\n const elementChanged = !_.isEqual(lastElementRef.current, element);\n const watchedChanged = !_.isEqual(lastWatchedRef.current, watchedValues);\n\n // ✅ nothing meaningful changed → reuse\n if (!elementChanged && !watchedChanged) {\n return lastListRef.current;\n }\n\n // 🔁 rebuild\n const nextList = dynamicList<T>(\n element,\n watchedValues,\n allFormValues,\n groupField,\n formContext\n );\n\n lastElementRef.current = element;\n lastWatchedRef.current = watchedValues;\n lastListRef.current = nextList;\n\n return nextList;\n }, [watchedValues, allFormValues, control, getValues, element]);\n\n // 4. Centralize dynamic property calculations using memoization.\n const isShown = useMemo(() => {\n // console.log({watchedObject, allFormValues})\n const showLogic = element.show || element.logic?.show;\n if (typeof showLogic === 'function') {\n return (showLogic as LogicFunction<T>)(watchedValues, allFormValues, {\n control,\n getValues,\n setValue: formContext.setValue\n } as any, groupField);\n }\n return true;\n }, [watchedValues, allFormValues, control, getValues, element]);\n\n const isDisabled = useMemo(() => {\n const disableLogic = element.isDisabled || element.logic?.disable;\n if (typeof disableLogic === 'function') {\n return (disableLogic as LogicFunction<T, boolean>)(watchedValues, allFormValues, {\n control,\n getValues,\n setValue: formContext.setValue\n } as any, groupField);\n }\n return !!disableLogic;\n }, [watchedValues, allFormValues, control, getValues, element]);\n\n const isRequired = useMemo(() => {\n if (!('schema' in element) || !element.schema) return false;\n\n const schema = element.schema as Schema<any>;\n\n const checkRequired = (schema: Schema<any>, parentValues: any): boolean => {\n try {\n const type = (schema as any)._type;\n\n const testValue = (() => {\n switch (type) {\n case 'array':\n return [];\n case 'object':\n return {};\n case 'boolean':\n return undefined;\n case 'number':\n return undefined;\n case 'date':\n return undefined;\n default:\n return ''; // string or unknown\n }\n })();\n // Try validating an empty string\n schema.validateSync(\n testValue, // simulating the field is empty\n {\n context: parentValues,\n // @ts-ignore\n parent: parentValues,\n abortEarly: false,\n }\n );\n\n return false; // Passed even when empty => not required\n } catch (err: any) {\n // if (element.id === 'count/ries') {\n // console.log(err.inner || err);\n // }\n\n if (err?.inner?.length) {\n return err.inner.some(\n (e: any) =>\n e.type === 'required' ||\n e.message?.toLowerCase().includes('required')\n );\n }\n\n return (\n err?.type === 'required' ||\n err?.message?.toLowerCase().includes('required')\n );\n }\n };\n\n // Get the parent object (either group or full form)\n const parent = groupField && groupField.index !== undefined\n ? getValues?.()?.[groupField.name]?.[groupField.index]\n : getValues?.();\n\n return checkRequired(schema, parent);\n }, [element, watchedValues, allFormValues]);\n\n const label = useMemo(() => {\n if (typeof element.label === 'function') {\n return (element.label as LogicFunction<T, ILabelElement>)(watchedValues, allFormValues, {\n control,\n getValues,\n setValue: formContext.setValue\n } as any, groupField);\n }\n return element.label;\n }, [watchedValues, allFormValues, control, getValues, element]);\n\n const placeholder = useMemo(() => {\n if ('placeholder' in element && typeof element.placeholder === 'function') {\n return (element.placeholder as LogicFunction<T, string>)(watchedValues, allFormValues, {\n control,\n getValues,\n setValue: formContext.setValue\n } as any, groupField);\n }\n return ('placeholder' in element ? element.placeholder : undefined) as string | undefined;\n }, [watchedValues, allFormValues, control, getValues, element]);\n\n const resolvedStyle = useMemo(() => {\n const s = 'style' in element ? element.style : undefined;\n\n if (s && typeof s === 'function') {\n return s(watchedValues, allFormValues, {\n control,\n getValues,\n setValue: formContext.setValue\n } as any, groupField);\n }\n return s;\n }, [watchedValues, allFormValues, control, getValues, element])\n\n // ─────────────────────────────────────────────────────────────\n // Dev-mode deprecation warning for the legacy `style` prop.\n // Fires ONCE per field-instance mount (guarded by hasWarnedRef +\n // empty deps) so it does not re-fire on keystrokes / re-renders /\n // theme changes / etc. The bridge below remains functional —\n // this is a soft deprecation only; runtime removal is deferred\n // to the next major version.\n // ─────────────────────────────────────────────────────────────\n const hasWarnedDeprecatedStyleRef = useRef(false);\n useEffect(() => {\n // `process` is undeclared on native (no @types/node) but the\n // bundler statically replaces it on both platforms in production\n // builds. Reading it via globalThis sidesteps the TS lookup\n // without changing the runtime behaviour.\n const nodeEnv = (globalThis as any)?.process?.env?.NODE_ENV;\n if (nodeEnv === 'production') return;\n if (hasWarnedDeprecatedStyleRef.current) return;\n if (!('style' in element) || (element as any).style === undefined) return;\n\n hasWarnedDeprecatedStyleRef.current = true;\n // eslint-disable-next-line no-console\n console.warn(\n `[KitsConcerto] Field \"${(element as any).id}\": the \"style\" prop is deprecated. ` +\n `Use \"slots\" instead. Migration: ` +\n `style.input → slots.root.style, ` +\n `style.container → slots.container.style, ` +\n `style.label → slots.label.style, ` +\n `style.helperText → slots.helperText.style, ` +\n `style.errorMessage → slots.error.style. ` +\n `This prop will be removed in the next major version.`\n );\n // Empty deps: warn once on mount only — element identity may\n // change every render (form re-constructs configs), so we\n // cannot key on it without re-firing the warning.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n /**\n * Merge explicit `slots` with `style` sub-keys.\n * IElementStyle sub-keys are bridged into the slot system so they\n * flow through useComponentDefaults → elementStyles → KitsContainer.\n * Priority: style sub-keys (lowest) < explicit slots (highest).\n */\n const slots = useMemo(() => {\n // 1. Resolve explicit slots (DynamicValue)\n const rawSlots = 'slots' in element ? element.slots : undefined;\n let explicitSlots: Record<string, { props?: any; style?: any }> | undefined;\n if (rawSlots && typeof rawSlots === 'function') {\n explicitSlots = (rawSlots as any)(watchedValues, allFormValues, {\n control,\n getValues,\n setValue: formContext.setValue\n } as any, groupField);\n } else {\n explicitSlots = rawSlots as any;\n }\n\n // 2. Bridge IElementStyle sub-keys into slot format\n if (!resolvedStyle && !explicitSlots) return undefined;\n if (!resolvedStyle) return explicitSlots;\n\n const STYLE_TO_SLOT: Record<string, string> = {\n input: 'root',\n container: 'container',\n label: 'label',\n helperText: 'helperText',\n errorMessage: 'error',\n };\n\n const result: Record<string, { props?: any; style?: any }> = {};\n\n // First layer: style sub-keys (lower priority)\n for (const [styleKey, slotKey] of Object.entries(STYLE_TO_SLOT)) {\n const val = (resolvedStyle as any)[styleKey];\n if (val) {\n result[slotKey] = { style: val };\n }\n }\n\n // Second layer: explicit slots override\n if (explicitSlots) {\n for (const [key, slot] of Object.entries(explicitSlots)) {\n if (!result[key]) {\n result[key] = slot;\n } else {\n result[key] = {\n ...slot,\n style: { ...result[key].style, ...(slot.style || {}) },\n };\n }\n }\n }\n\n return Object.keys(result).length > 0 ? result : undefined;\n }, [watchedValues, allFormValues, control, getValues, element, resolvedStyle])\n\n // 6. Calculate layout properties.\n const layout = useMemo(() => {\n const getDynamicProp = (prop: any) => typeof prop === 'function'\n ? prop(watchedValues, allFormValues, {control, getValues})\n : prop;\n\n return {\n colSpan: getDynamicProp(element.logic?.colSpan ?? element.colSpan) ?? 12,\n rowSpan: getDynamicProp(element.rowSpan),\n columnGap: getDynamicProp(element.columnGap),\n rowGap: getDynamicProp(element.rowGap),\n colOffset: getDynamicProp(element.colOffset),\n area: getDynamicProp(element.area),\n };\n }, [watchedValues, allFormValues, control, getValues, element]);\n\n\n const onWatchedValuesChange = useCallback(() => {\n if (onDepsChange) {\n onDepsChange(watchedValues, allFormValues, formContext as UseFormReturn<T>, groupField)\n }\n }, [watchedValues])\n\n // 7. Get the field's state and methods from react-hook-form.\n // For Object elements, default to {} so react-hook-form treats the field\n // as a nested object — children register with dot-notation paths\n // (e.g. contactPhone.phoneNumber) and build the nested structure.\n const isObjectElement = element.type === 'Object';\n const {field, fieldState} = useController({\n name: element.id as any,\n control,\n shouldUnregister: !isShown,\n ...(isObjectElement ? {defaultValue: {} as any} : {}),\n });\n\n useEffect(() => {\n if (!onDepsChange) return;\n\n // Create a stable signature for watched values\n // (stringify is fine here because deps lists are small)\n const sig = JSON.stringify(watchedValues);\n\n if (sig === prevDepsRef.current) return; // ✅ no real change\n\n prevDepsRef.current = sig;\n\n onDepsChange(watchedValues, allFormValues, formContext as UseFormReturn<T>, groupField);\n }, [onDepsChange, watchedValues, allFormValues, formContext, groupField]);\n\n // 8. Return a single, clean object for the UI component.\n return {\n field: {\n ...field,\n onChange: (event) => {\n if ('onChangeValue' in element && element?.onChangeValue) {\n const value = event != null && typeof event === 'object' && 'target' in event\n ? event.target.value\n : event;\n element.onChangeValue(\n value,\n {...fieldState, isFocused: !!isFocused},\n formContext\n )\n }\n field.onChange(event)\n }\n },\n fieldState,\n watchedValues,\n onWatchedValuesChange,\n elements: childElements,\n isShown,\n isDisabled,\n isRequired,\n hideError: element.hideError,\n label,\n placeholder,\n formContext,\n layout,\n list,\n style: resolvedStyle as IElementStyle,\n slots,\n ...resolvedProps,\n localProps: 'localProps' in element ? element?.localProps : undefined,\n attached: element.attached,\n animation: element.animation,\n };\n }\n;\n"],"names":["schema"],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var reactHookForm = require('react-hook-form');
|
|
5
|
+
var yup = require('@hookform/resolvers/yup');
|
|
6
|
+
var helpers = require('../utils/helpers.cjs');
|
|
7
|
+
var schemaBuilder = require('../utils/schemaBuilder.cjs');
|
|
8
|
+
|
|
9
|
+
const useFormManager = ({
|
|
10
|
+
elements,
|
|
11
|
+
onSubmit,
|
|
12
|
+
onInvalidSubmit,
|
|
13
|
+
id,
|
|
14
|
+
onChange,
|
|
15
|
+
onChangeSingleValue,
|
|
16
|
+
// <-- Add this
|
|
17
|
+
outputFormat = "Json"
|
|
18
|
+
}, isSubmitting, setIsSubmitting) => {
|
|
19
|
+
React.useEffect(() => {
|
|
20
|
+
try {
|
|
21
|
+
helpers.checkNameDuplication(elements);
|
|
22
|
+
} catch (error) {
|
|
23
|
+
console.error("Form Configuration Error:", error);
|
|
24
|
+
}
|
|
25
|
+
}, [elements]);
|
|
26
|
+
const defaultValues = React.useMemo(() => helpers.getDefaultValues(elements), [elements]);
|
|
27
|
+
const schema = React.useMemo(() => schemaBuilder.schemaBuilder(elements), [elements]);
|
|
28
|
+
const combinedChildIds = React.useMemo(() => helpers.getCombinedChildIds(elements), [elements]);
|
|
29
|
+
const stripCombinedChildren = React.useCallback((data) => {
|
|
30
|
+
if (combinedChildIds.size === 0) return data;
|
|
31
|
+
const filtered = {};
|
|
32
|
+
for (const [key, value] of Object.entries(data)) {
|
|
33
|
+
if (!combinedChildIds.has(key)) {
|
|
34
|
+
filtered[key] = value;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return filtered;
|
|
38
|
+
}, [combinedChildIds]);
|
|
39
|
+
const formMethods = reactHookForm.useForm({
|
|
40
|
+
resolver: yup.yupResolver(schema),
|
|
41
|
+
defaultValues,
|
|
42
|
+
shouldUnregister: false,
|
|
43
|
+
mode: "onSubmit",
|
|
44
|
+
reValidateMode: "onChange"
|
|
45
|
+
// ... (defaultValues logic remains the same)
|
|
46
|
+
});
|
|
47
|
+
const onValidSubmit = React.useCallback(
|
|
48
|
+
(rawData) => {
|
|
49
|
+
const data = stripCombinedChildren(rawData);
|
|
50
|
+
if (outputFormat === "FormData") {
|
|
51
|
+
const formData = new FormData();
|
|
52
|
+
for (const [key, value] of Object.entries(data)) {
|
|
53
|
+
if (Array.isArray(value)) {
|
|
54
|
+
if (value.length === 1 && value[0] instanceof File) {
|
|
55
|
+
formData.append(key, value[0]);
|
|
56
|
+
} else {
|
|
57
|
+
value.forEach((item) => {
|
|
58
|
+
if (item instanceof File) {
|
|
59
|
+
formData.append(`${key}[]`, item);
|
|
60
|
+
} else if (typeof item === "number" || typeof item === "string") {
|
|
61
|
+
formData.append(`${key}[]`, item.toString());
|
|
62
|
+
} else {
|
|
63
|
+
formData.append(`${key}[]`, JSON.stringify(item));
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
} else {
|
|
68
|
+
if (value instanceof File) {
|
|
69
|
+
formData.append(key, value);
|
|
70
|
+
} else if (typeof value === "number" || typeof value === "string") {
|
|
71
|
+
formData.append(key, value.toString());
|
|
72
|
+
} else {
|
|
73
|
+
formData.append(key, JSON.stringify(value));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
onSubmit && onSubmit(formData, setIsSubmitting, formMethods);
|
|
78
|
+
} else {
|
|
79
|
+
onSubmit && onSubmit(data, setIsSubmitting, formMethods);
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
[outputFormat, onSubmit, setIsSubmitting, formMethods, stripCombinedChildren]
|
|
83
|
+
);
|
|
84
|
+
const handleSubmitWrapper = React.useCallback(() => {
|
|
85
|
+
formMethods.handleSubmit(onValidSubmit, (errors) => {
|
|
86
|
+
setIsSubmitting(false);
|
|
87
|
+
onInvalidSubmit?.(errors);
|
|
88
|
+
})();
|
|
89
|
+
}, [formMethods, onValidSubmit, setIsSubmitting, onInvalidSubmit]);
|
|
90
|
+
function getValueByPath(obj, path) {
|
|
91
|
+
return path.split(".").reduce((acc, key) => {
|
|
92
|
+
if (acc === void 0 || acc === null) return void 0;
|
|
93
|
+
return acc[key];
|
|
94
|
+
}, obj);
|
|
95
|
+
}
|
|
96
|
+
React.useEffect(() => {
|
|
97
|
+
const subscription = formMethods.watch((currentValues, { name, type }) => {
|
|
98
|
+
onChange?.(stripCombinedChildren(currentValues));
|
|
99
|
+
if (onChangeSingleValue && name && type === "change") {
|
|
100
|
+
if (!combinedChildIds.has(name)) {
|
|
101
|
+
const value = getValueByPath(currentValues, name);
|
|
102
|
+
onChangeSingleValue(name, value);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
return () => subscription.unsubscribe();
|
|
107
|
+
}, [formMethods.watch, onChange, onChangeSingleValue, stripCombinedChildren, combinedChildIds]);
|
|
108
|
+
return {
|
|
109
|
+
formMethods,
|
|
110
|
+
// The original object for FormProvider
|
|
111
|
+
isSubmitting,
|
|
112
|
+
setIsSubmitting,
|
|
113
|
+
handleSubmit: handleSubmitWrapper
|
|
114
|
+
// The wrapped function for our UI
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
exports.useFormManager = useFormManager;
|
|
119
|
+
//# sourceMappingURL=useFormManager.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFormManager.cjs","sources":["../../../../src/form-renderer/hooks/useFormManager.ts"],"sourcesContent":["// hooks/useFormManager.ts\n\nimport {type Dispatch, type SetStateAction, useCallback, useEffect, useMemo} from 'react';\nimport {type FieldValues, type SubmitHandler, useForm, type UseFormReturn, type DefaultValues} from 'react-hook-form';\nimport {yupResolver} from '@hookform/resolvers/yup';\nimport {checkNameDuplication, getCombinedChildIds, getDefaultValues, schemaBuilder} from '../utils';\nimport type {IFormComponent} from '@lmb-it/kitsconcerto-types';\n\n// --- Using Your Provided Type Definitions ---\n\n\n// --- CORRECTED RETURN TYPE ---\nexport interface UseFormManagerReturn<T extends FieldValues> {\n /**\n * The original, unmodified methods returned from react-hook-form's useForm hook.\n * This is what gets passed to the FormProvider.\n */\n formMethods: UseFormReturn<T>;\n /**\n * Our custom loading state for the submit button.\n */\n isSubmitting: boolean;\n /**\n * Our wrapped submit handler that manages the isSubmitting state.\n * This is what the <form> element's onSubmit will call.\n */\n handleSubmit: () => void;\n\n setIsSubmitting: Dispatch<SetStateAction<boolean>>\n}\n\n// A helper utility to check for valid URLs, as used in your original getDefaultValues.\nconst isValidURL = (urlString: string): boolean => {\n try {\n const url = new URL(urlString);\n return ['http:', 'https:'].includes(url.protocol);\n } catch (_) {\n return false;\n }\n};\n\nexport const useFormManager = <T extends FieldValues>({\n elements,\n onSubmit,\n onInvalidSubmit, id,\n onChange,\n onChangeSingleValue, // <-- Add this\n outputFormat = 'Json'\n }: IFormComponent<T>, isSubmitting: boolean, setIsSubmitting: Dispatch<SetStateAction<boolean>>): UseFormManagerReturn<T> => {\n\n\n // 1. Check for duplicate names on mount and when elements change.\n useEffect(() => {\n try {\n checkNameDuplication(elements);\n } catch (error) {\n console.error(\"Form Configuration Error:\", error);\n }\n }, [elements]);\n\n // 2. Generate the default values object, memoized for performance.\n const defaultValues = useMemo(() => getDefaultValues(elements), [elements]);\n\n const schema = useMemo(() => schemaBuilder(elements, id!), [elements]);\n\n // 2b. Collect Combined children IDs to exclude from output data.\n const combinedChildIds = useMemo(() => getCombinedChildIds(elements), [elements]);\n\n const stripCombinedChildren = useCallback((data: Record<string, any>) => {\n if (combinedChildIds.size === 0) return data;\n const filtered: Record<string, any> = {};\n for (const [key, value] of Object.entries(data)) {\n if (!combinedChildIds.has(key)) {\n filtered[key] = value;\n }\n }\n return filtered;\n }, [combinedChildIds]);\n\n // console.log(id, elements, schema)\n\n // console.log(schema.describe())\n // This is the original, unmodified object from react-hook-form\n const formMethods = useForm<T>({\n resolver: yupResolver(schema),\n defaultValues: defaultValues as DefaultValues<T>,\n shouldUnregister: false,\n mode: \"onSubmit\",\n reValidateMode: \"onChange\",\n // ... (defaultValues logic remains the same)\n });\n\n\n const onValidSubmit: SubmitHandler<any> = useCallback(\n (rawData) => {\n const data = stripCombinedChildren(rawData);\n if (outputFormat === \"FormData\") {\n const formData = new FormData();\n for (const [key, value] of Object.entries(data)) {\n if (Array.isArray(value)) {\n if (value.length === 1 && value[0] instanceof File) {\n formData.append(key, value[0]);\n } else {\n value.forEach((item) => {\n if (item instanceof File) {\n formData.append(`${key}[]`, item);\n } else if (\n typeof item === \"number\" ||\n typeof item === \"string\"\n ) {\n formData.append(`${key}[]`, item.toString());\n } else {\n formData.append(`${key}[]`, JSON.stringify(item));\n }\n });\n }\n } else {\n if (value instanceof File) {\n formData.append(key, value);\n } else if (\n typeof value === \"number\" ||\n typeof value === \"string\"\n ) {\n formData.append(key, value.toString());\n } else {\n formData.append(key, JSON.stringify(value));\n }\n }\n }\n\n onSubmit && onSubmit(formData, setIsSubmitting, formMethods);\n } else {\n onSubmit && onSubmit(data, setIsSubmitting, formMethods);\n }\n },\n [outputFormat, onSubmit, setIsSubmitting, formMethods, stripCombinedChildren],\n );\n\n\n // Our custom wrapper function\n const handleSubmitWrapper = useCallback(() => {\n // We call the ORIGINAL handleSubmit from formMethods here\n formMethods.handleSubmit(onValidSubmit, (errors) => {\n setIsSubmitting(false);\n onInvalidSubmit?.(errors);\n })();\n }, [formMethods, onValidSubmit, setIsSubmitting, onInvalidSubmit]);\n\n function getValueByPath(obj: any, path: string) {\n return path.split(\".\").reduce((acc, key) => {\n if (acc === undefined || acc === null) return undefined;\n return acc[key];\n }, obj);\n }\n\n // This useEffect hook handles both global and single-value change events.\n useEffect(() => {\n const subscription = formMethods.watch((currentValues, {name, type}) => {\n // 1. Trigger the global onChange callback with all values (excluding Combined children).\n onChange?.(stripCombinedChildren(currentValues as { [s: string]: any }));\n\n // 2. Trigger the single value change callback (skip Combined child fields).\n if (onChangeSingleValue && name && type === 'change') {\n if (!combinedChildIds.has(name)) {\n const value = getValueByPath(currentValues, name);\n onChangeSingleValue(name, value);\n }\n }\n });\n return () => subscription.unsubscribe();\n }, [formMethods.watch, onChange, onChangeSingleValue, stripCombinedChildren, combinedChildIds]);\n\n // Return the two concerns separately\n return {\n formMethods, // The original object for FormProvider\n isSubmitting,\n setIsSubmitting,\n handleSubmit: handleSubmitWrapper, // The wrapped function for our UI\n };\n};\n"],"names":["useEffect","checkNameDuplication","useMemo","getDefaultValues","schemaBuilder","getCombinedChildIds","useCallback","useForm","yupResolver"],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { useEffect, useMemo, useCallback } from 'react';
|
|
2
|
+
import { useForm } from 'react-hook-form';
|
|
3
|
+
import { yupResolver } from '@hookform/resolvers/yup';
|
|
4
|
+
import { checkNameDuplication, getDefaultValues, getCombinedChildIds } from '../utils/helpers.js';
|
|
5
|
+
import { schemaBuilder } from '../utils/schemaBuilder.js';
|
|
6
|
+
|
|
7
|
+
const useFormManager = ({
|
|
8
|
+
elements,
|
|
9
|
+
onSubmit,
|
|
10
|
+
onInvalidSubmit,
|
|
11
|
+
id,
|
|
12
|
+
onChange,
|
|
13
|
+
onChangeSingleValue,
|
|
14
|
+
// <-- Add this
|
|
15
|
+
outputFormat = "Json"
|
|
16
|
+
}, isSubmitting, setIsSubmitting) => {
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
try {
|
|
19
|
+
checkNameDuplication(elements);
|
|
20
|
+
} catch (error) {
|
|
21
|
+
console.error("Form Configuration Error:", error);
|
|
22
|
+
}
|
|
23
|
+
}, [elements]);
|
|
24
|
+
const defaultValues = useMemo(() => getDefaultValues(elements), [elements]);
|
|
25
|
+
const schema = useMemo(() => schemaBuilder(elements), [elements]);
|
|
26
|
+
const combinedChildIds = useMemo(() => getCombinedChildIds(elements), [elements]);
|
|
27
|
+
const stripCombinedChildren = useCallback((data) => {
|
|
28
|
+
if (combinedChildIds.size === 0) return data;
|
|
29
|
+
const filtered = {};
|
|
30
|
+
for (const [key, value] of Object.entries(data)) {
|
|
31
|
+
if (!combinedChildIds.has(key)) {
|
|
32
|
+
filtered[key] = value;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return filtered;
|
|
36
|
+
}, [combinedChildIds]);
|
|
37
|
+
const formMethods = useForm({
|
|
38
|
+
resolver: yupResolver(schema),
|
|
39
|
+
defaultValues,
|
|
40
|
+
shouldUnregister: false,
|
|
41
|
+
mode: "onSubmit",
|
|
42
|
+
reValidateMode: "onChange"
|
|
43
|
+
// ... (defaultValues logic remains the same)
|
|
44
|
+
});
|
|
45
|
+
const onValidSubmit = useCallback(
|
|
46
|
+
(rawData) => {
|
|
47
|
+
const data = stripCombinedChildren(rawData);
|
|
48
|
+
if (outputFormat === "FormData") {
|
|
49
|
+
const formData = new FormData();
|
|
50
|
+
for (const [key, value] of Object.entries(data)) {
|
|
51
|
+
if (Array.isArray(value)) {
|
|
52
|
+
if (value.length === 1 && value[0] instanceof File) {
|
|
53
|
+
formData.append(key, value[0]);
|
|
54
|
+
} else {
|
|
55
|
+
value.forEach((item) => {
|
|
56
|
+
if (item instanceof File) {
|
|
57
|
+
formData.append(`${key}[]`, item);
|
|
58
|
+
} else if (typeof item === "number" || typeof item === "string") {
|
|
59
|
+
formData.append(`${key}[]`, item.toString());
|
|
60
|
+
} else {
|
|
61
|
+
formData.append(`${key}[]`, JSON.stringify(item));
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
} else {
|
|
66
|
+
if (value instanceof File) {
|
|
67
|
+
formData.append(key, value);
|
|
68
|
+
} else if (typeof value === "number" || typeof value === "string") {
|
|
69
|
+
formData.append(key, value.toString());
|
|
70
|
+
} else {
|
|
71
|
+
formData.append(key, JSON.stringify(value));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
onSubmit && onSubmit(formData, setIsSubmitting, formMethods);
|
|
76
|
+
} else {
|
|
77
|
+
onSubmit && onSubmit(data, setIsSubmitting, formMethods);
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
[outputFormat, onSubmit, setIsSubmitting, formMethods, stripCombinedChildren]
|
|
81
|
+
);
|
|
82
|
+
const handleSubmitWrapper = useCallback(() => {
|
|
83
|
+
formMethods.handleSubmit(onValidSubmit, (errors) => {
|
|
84
|
+
setIsSubmitting(false);
|
|
85
|
+
onInvalidSubmit?.(errors);
|
|
86
|
+
})();
|
|
87
|
+
}, [formMethods, onValidSubmit, setIsSubmitting, onInvalidSubmit]);
|
|
88
|
+
function getValueByPath(obj, path) {
|
|
89
|
+
return path.split(".").reduce((acc, key) => {
|
|
90
|
+
if (acc === void 0 || acc === null) return void 0;
|
|
91
|
+
return acc[key];
|
|
92
|
+
}, obj);
|
|
93
|
+
}
|
|
94
|
+
useEffect(() => {
|
|
95
|
+
const subscription = formMethods.watch((currentValues, { name, type }) => {
|
|
96
|
+
onChange?.(stripCombinedChildren(currentValues));
|
|
97
|
+
if (onChangeSingleValue && name && type === "change") {
|
|
98
|
+
if (!combinedChildIds.has(name)) {
|
|
99
|
+
const value = getValueByPath(currentValues, name);
|
|
100
|
+
onChangeSingleValue(name, value);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
return () => subscription.unsubscribe();
|
|
105
|
+
}, [formMethods.watch, onChange, onChangeSingleValue, stripCombinedChildren, combinedChildIds]);
|
|
106
|
+
return {
|
|
107
|
+
formMethods,
|
|
108
|
+
// The original object for FormProvider
|
|
109
|
+
isSubmitting,
|
|
110
|
+
setIsSubmitting,
|
|
111
|
+
handleSubmit: handleSubmitWrapper
|
|
112
|
+
// The wrapped function for our UI
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
export { useFormManager };
|
|
117
|
+
//# sourceMappingURL=useFormManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFormManager.js","sources":["../../../../src/form-renderer/hooks/useFormManager.ts"],"sourcesContent":["// hooks/useFormManager.ts\n\nimport {type Dispatch, type SetStateAction, useCallback, useEffect, useMemo} from 'react';\nimport {type FieldValues, type SubmitHandler, useForm, type UseFormReturn, type DefaultValues} from 'react-hook-form';\nimport {yupResolver} from '@hookform/resolvers/yup';\nimport {checkNameDuplication, getCombinedChildIds, getDefaultValues, schemaBuilder} from '../utils';\nimport type {IFormComponent} from '@lmb-it/kitsconcerto-types';\n\n// --- Using Your Provided Type Definitions ---\n\n\n// --- CORRECTED RETURN TYPE ---\nexport interface UseFormManagerReturn<T extends FieldValues> {\n /**\n * The original, unmodified methods returned from react-hook-form's useForm hook.\n * This is what gets passed to the FormProvider.\n */\n formMethods: UseFormReturn<T>;\n /**\n * Our custom loading state for the submit button.\n */\n isSubmitting: boolean;\n /**\n * Our wrapped submit handler that manages the isSubmitting state.\n * This is what the <form> element's onSubmit will call.\n */\n handleSubmit: () => void;\n\n setIsSubmitting: Dispatch<SetStateAction<boolean>>\n}\n\n// A helper utility to check for valid URLs, as used in your original getDefaultValues.\nconst isValidURL = (urlString: string): boolean => {\n try {\n const url = new URL(urlString);\n return ['http:', 'https:'].includes(url.protocol);\n } catch (_) {\n return false;\n }\n};\n\nexport const useFormManager = <T extends FieldValues>({\n elements,\n onSubmit,\n onInvalidSubmit, id,\n onChange,\n onChangeSingleValue, // <-- Add this\n outputFormat = 'Json'\n }: IFormComponent<T>, isSubmitting: boolean, setIsSubmitting: Dispatch<SetStateAction<boolean>>): UseFormManagerReturn<T> => {\n\n\n // 1. Check for duplicate names on mount and when elements change.\n useEffect(() => {\n try {\n checkNameDuplication(elements);\n } catch (error) {\n console.error(\"Form Configuration Error:\", error);\n }\n }, [elements]);\n\n // 2. Generate the default values object, memoized for performance.\n const defaultValues = useMemo(() => getDefaultValues(elements), [elements]);\n\n const schema = useMemo(() => schemaBuilder(elements, id!), [elements]);\n\n // 2b. Collect Combined children IDs to exclude from output data.\n const combinedChildIds = useMemo(() => getCombinedChildIds(elements), [elements]);\n\n const stripCombinedChildren = useCallback((data: Record<string, any>) => {\n if (combinedChildIds.size === 0) return data;\n const filtered: Record<string, any> = {};\n for (const [key, value] of Object.entries(data)) {\n if (!combinedChildIds.has(key)) {\n filtered[key] = value;\n }\n }\n return filtered;\n }, [combinedChildIds]);\n\n // console.log(id, elements, schema)\n\n // console.log(schema.describe())\n // This is the original, unmodified object from react-hook-form\n const formMethods = useForm<T>({\n resolver: yupResolver(schema),\n defaultValues: defaultValues as DefaultValues<T>,\n shouldUnregister: false,\n mode: \"onSubmit\",\n reValidateMode: \"onChange\",\n // ... (defaultValues logic remains the same)\n });\n\n\n const onValidSubmit: SubmitHandler<any> = useCallback(\n (rawData) => {\n const data = stripCombinedChildren(rawData);\n if (outputFormat === \"FormData\") {\n const formData = new FormData();\n for (const [key, value] of Object.entries(data)) {\n if (Array.isArray(value)) {\n if (value.length === 1 && value[0] instanceof File) {\n formData.append(key, value[0]);\n } else {\n value.forEach((item) => {\n if (item instanceof File) {\n formData.append(`${key}[]`, item);\n } else if (\n typeof item === \"number\" ||\n typeof item === \"string\"\n ) {\n formData.append(`${key}[]`, item.toString());\n } else {\n formData.append(`${key}[]`, JSON.stringify(item));\n }\n });\n }\n } else {\n if (value instanceof File) {\n formData.append(key, value);\n } else if (\n typeof value === \"number\" ||\n typeof value === \"string\"\n ) {\n formData.append(key, value.toString());\n } else {\n formData.append(key, JSON.stringify(value));\n }\n }\n }\n\n onSubmit && onSubmit(formData, setIsSubmitting, formMethods);\n } else {\n onSubmit && onSubmit(data, setIsSubmitting, formMethods);\n }\n },\n [outputFormat, onSubmit, setIsSubmitting, formMethods, stripCombinedChildren],\n );\n\n\n // Our custom wrapper function\n const handleSubmitWrapper = useCallback(() => {\n // We call the ORIGINAL handleSubmit from formMethods here\n formMethods.handleSubmit(onValidSubmit, (errors) => {\n setIsSubmitting(false);\n onInvalidSubmit?.(errors);\n })();\n }, [formMethods, onValidSubmit, setIsSubmitting, onInvalidSubmit]);\n\n function getValueByPath(obj: any, path: string) {\n return path.split(\".\").reduce((acc, key) => {\n if (acc === undefined || acc === null) return undefined;\n return acc[key];\n }, obj);\n }\n\n // This useEffect hook handles both global and single-value change events.\n useEffect(() => {\n const subscription = formMethods.watch((currentValues, {name, type}) => {\n // 1. Trigger the global onChange callback with all values (excluding Combined children).\n onChange?.(stripCombinedChildren(currentValues as { [s: string]: any }));\n\n // 2. Trigger the single value change callback (skip Combined child fields).\n if (onChangeSingleValue && name && type === 'change') {\n if (!combinedChildIds.has(name)) {\n const value = getValueByPath(currentValues, name);\n onChangeSingleValue(name, value);\n }\n }\n });\n return () => subscription.unsubscribe();\n }, [formMethods.watch, onChange, onChangeSingleValue, stripCombinedChildren, combinedChildIds]);\n\n // Return the two concerns separately\n return {\n formMethods, // The original object for FormProvider\n isSubmitting,\n setIsSubmitting,\n handleSubmit: handleSubmitWrapper, // The wrapped function for our UI\n };\n};\n"],"names":[],"mappings":"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"}
|