@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,42 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function isPromise(v) {
|
|
4
|
+
return typeof v === "object" && v !== null && typeof v.then === "function";
|
|
5
|
+
}
|
|
6
|
+
function dynamicList(element, watchedValues, allFormValues, groupField, ctx) {
|
|
7
|
+
if (!("list" in element)) return [];
|
|
8
|
+
const { list, id } = element;
|
|
9
|
+
if (Array.isArray(list)) {
|
|
10
|
+
return list;
|
|
11
|
+
}
|
|
12
|
+
if (typeof list === "function") {
|
|
13
|
+
let result;
|
|
14
|
+
try {
|
|
15
|
+
result = list(watchedValues, allFormValues, ctx, groupField);
|
|
16
|
+
} catch (err) {
|
|
17
|
+
console.error(
|
|
18
|
+
`[Form] list() threw an error for element "${id.toString()}"`,
|
|
19
|
+
err
|
|
20
|
+
);
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
if (isPromise(result)) {
|
|
24
|
+
console.warn(
|
|
25
|
+
`[Form] async list() is not supported. Element "${id.toString()}" must return an array synchronously.`
|
|
26
|
+
);
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
if (!Array.isArray(result)) {
|
|
30
|
+
console.warn(
|
|
31
|
+
`[Form] list() must return an array. Element "${id.toString()}" returned:`,
|
|
32
|
+
result
|
|
33
|
+
);
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
exports.dynamicList = dynamicList;
|
|
42
|
+
//# sourceMappingURL=dynamicList.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamicList.cjs","sources":["../../../../src/form-renderer/utils/dynamicList.ts"],"sourcesContent":["import type {GroupFieldConfigs, IFormElement} from \"@lmb-it/kitsconcerto-types\";\nimport type {FieldValues, UseFormReturn} from \"react-hook-form\";\n\ntype Ctx = {\n control: any;\n getValues: any;\n};\n\nfunction isPromise<T = unknown>(v: unknown): v is Promise<T> {\n return (\n typeof v === \"object\" &&\n v !== null &&\n typeof (v as any).then === \"function\"\n );\n}\n\nexport function dynamicList<T extends FieldValues>(\n element: IFormElement<T>,\n watchedValues: any[],\n allFormValues: T,\n groupField:GroupFieldConfigs<T>[\"groupField\"],\n ctx: UseFormReturn<T,any,T>\n): any[] {\n // No list → empty array\n if (!(\"list\" in element)) return [];\n\n const { list, id } = element;\n\n // Static list\n if (Array.isArray(list)) {\n return list;\n }\n\n // Dynamic list\n if (typeof list === \"function\") {\n let result: unknown;\n\n try {\n result = list(watchedValues, allFormValues, ctx, groupField);\n } catch (err) {\n console.error(\n `[Form] list() threw an error for element \"${id.toString()}\"`,\n err\n );\n return [];\n }\n\n // Promise → NOT supported here\n if (isPromise(result)) {\n console.warn(\n `[Form] async list() is not supported. Element \"${id.toString()}\" must return an array synchronously.`\n );\n return [];\n }\n\n // Non-array return → invalid\n if (!Array.isArray(result)) {\n console.warn(\n `[Form] list() must return an array. Element \"${id.toString()}\" returned:`,\n result\n );\n return [];\n }\n\n return result;\n }\n\n // Anything else → invalid\n return [];\n}\n"],"names":[],"mappings":";;AAQA,SAAS,UAAuB,CAAA,EAA6B;AACzD,EAAA,OACI,OAAO,CAAA,KAAM,QAAA,IACb,MAAM,IAAA,IACN,OAAQ,EAAU,IAAA,KAAS,UAAA;AAEnC;AAEO,SAAS,WAAA,CACZ,OAAA,EACA,aAAA,EACA,aAAA,EACA,YACA,GAAA,EACK;AAEL,EAAA,IAAI,EAAE,MAAA,IAAU,OAAA,CAAA,EAAU,OAAO,EAAC;AAElC,EAAA,MAAM,EAAE,IAAA,EAAM,EAAA,EAAG,GAAI,OAAA;AAGrB,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,EAAG;AACrB,IAAA,OAAO,IAAA;AAAA,EACX;AAGA,EAAA,IAAI,OAAO,SAAS,UAAA,EAAY;AAC5B,IAAA,IAAI,MAAA;AAEJ,IAAA,IAAI;AACA,MAAA,MAAA,GAAS,IAAA,CAAK,aAAA,EAAe,aAAA,EAAe,GAAA,EAAK,UAAU,CAAA;AAAA,IAC/D,SAAS,GAAA,EAAK;AACV,MAAA,OAAA,CAAQ,KAAA;AAAA,QACJ,CAAA,0CAAA,EAA6C,EAAA,CAAG,QAAA,EAAU,CAAA,CAAA,CAAA;AAAA,QAC1D;AAAA,OACJ;AACA,MAAA,OAAO,EAAC;AAAA,IACZ;AAGA,IAAA,IAAI,SAAA,CAAU,MAAM,CAAA,EAAG;AACnB,MAAA,OAAA,CAAQ,IAAA;AAAA,QACJ,CAAA,+CAAA,EAAkD,EAAA,CAAG,QAAA,EAAU,CAAA,qCAAA;AAAA,OACnE;AACA,MAAA,OAAO,EAAC;AAAA,IACZ;AAGA,IAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,MAAM,CAAA,EAAG;AACxB,MAAA,OAAA,CAAQ,IAAA;AAAA,QACJ,CAAA,6CAAA,EAAgD,EAAA,CAAG,QAAA,EAAU,CAAA,WAAA,CAAA;AAAA,QAC7D;AAAA,OACJ;AACA,MAAA,OAAO,EAAC;AAAA,IACZ;AAEA,IAAA,OAAO,MAAA;AAAA,EACX;AAGA,EAAA,OAAO,EAAC;AACZ;;;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
function isPromise(v) {
|
|
2
|
+
return typeof v === "object" && v !== null && typeof v.then === "function";
|
|
3
|
+
}
|
|
4
|
+
function dynamicList(element, watchedValues, allFormValues, groupField, ctx) {
|
|
5
|
+
if (!("list" in element)) return [];
|
|
6
|
+
const { list, id } = element;
|
|
7
|
+
if (Array.isArray(list)) {
|
|
8
|
+
return list;
|
|
9
|
+
}
|
|
10
|
+
if (typeof list === "function") {
|
|
11
|
+
let result;
|
|
12
|
+
try {
|
|
13
|
+
result = list(watchedValues, allFormValues, ctx, groupField);
|
|
14
|
+
} catch (err) {
|
|
15
|
+
console.error(
|
|
16
|
+
`[Form] list() threw an error for element "${id.toString()}"`,
|
|
17
|
+
err
|
|
18
|
+
);
|
|
19
|
+
return [];
|
|
20
|
+
}
|
|
21
|
+
if (isPromise(result)) {
|
|
22
|
+
console.warn(
|
|
23
|
+
`[Form] async list() is not supported. Element "${id.toString()}" must return an array synchronously.`
|
|
24
|
+
);
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
if (!Array.isArray(result)) {
|
|
28
|
+
console.warn(
|
|
29
|
+
`[Form] list() must return an array. Element "${id.toString()}" returned:`,
|
|
30
|
+
result
|
|
31
|
+
);
|
|
32
|
+
return [];
|
|
33
|
+
}
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export { dynamicList };
|
|
40
|
+
//# sourceMappingURL=dynamicList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamicList.js","sources":["../../../../src/form-renderer/utils/dynamicList.ts"],"sourcesContent":["import type {GroupFieldConfigs, IFormElement} from \"@lmb-it/kitsconcerto-types\";\nimport type {FieldValues, UseFormReturn} from \"react-hook-form\";\n\ntype Ctx = {\n control: any;\n getValues: any;\n};\n\nfunction isPromise<T = unknown>(v: unknown): v is Promise<T> {\n return (\n typeof v === \"object\" &&\n v !== null &&\n typeof (v as any).then === \"function\"\n );\n}\n\nexport function dynamicList<T extends FieldValues>(\n element: IFormElement<T>,\n watchedValues: any[],\n allFormValues: T,\n groupField:GroupFieldConfigs<T>[\"groupField\"],\n ctx: UseFormReturn<T,any,T>\n): any[] {\n // No list → empty array\n if (!(\"list\" in element)) return [];\n\n const { list, id } = element;\n\n // Static list\n if (Array.isArray(list)) {\n return list;\n }\n\n // Dynamic list\n if (typeof list === \"function\") {\n let result: unknown;\n\n try {\n result = list(watchedValues, allFormValues, ctx, groupField);\n } catch (err) {\n console.error(\n `[Form] list() threw an error for element \"${id.toString()}\"`,\n err\n );\n return [];\n }\n\n // Promise → NOT supported here\n if (isPromise(result)) {\n console.warn(\n `[Form] async list() is not supported. Element \"${id.toString()}\" must return an array synchronously.`\n );\n return [];\n }\n\n // Non-array return → invalid\n if (!Array.isArray(result)) {\n console.warn(\n `[Form] list() must return an array. Element \"${id.toString()}\" returned:`,\n result\n );\n return [];\n }\n\n return result;\n }\n\n // Anything else → invalid\n return [];\n}\n"],"names":[],"mappings":"AAQA,SAAS,UAAuB,CAAA,EAA6B;AACzD,EAAA,OACI,OAAO,CAAA,KAAM,QAAA,IACb,MAAM,IAAA,IACN,OAAQ,EAAU,IAAA,KAAS,UAAA;AAEnC;AAEO,SAAS,WAAA,CACZ,OAAA,EACA,aAAA,EACA,aAAA,EACA,YACA,GAAA,EACK;AAEL,EAAA,IAAI,EAAE,MAAA,IAAU,OAAA,CAAA,EAAU,OAAO,EAAC;AAElC,EAAA,MAAM,EAAE,IAAA,EAAM,EAAA,EAAG,GAAI,OAAA;AAGrB,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,EAAG;AACrB,IAAA,OAAO,IAAA;AAAA,EACX;AAGA,EAAA,IAAI,OAAO,SAAS,UAAA,EAAY;AAC5B,IAAA,IAAI,MAAA;AAEJ,IAAA,IAAI;AACA,MAAA,MAAA,GAAS,IAAA,CAAK,aAAA,EAAe,aAAA,EAAe,GAAA,EAAK,UAAU,CAAA;AAAA,IAC/D,SAAS,GAAA,EAAK;AACV,MAAA,OAAA,CAAQ,KAAA;AAAA,QACJ,CAAA,0CAAA,EAA6C,EAAA,CAAG,QAAA,EAAU,CAAA,CAAA,CAAA;AAAA,QAC1D;AAAA,OACJ;AACA,MAAA,OAAO,EAAC;AAAA,IACZ;AAGA,IAAA,IAAI,SAAA,CAAU,MAAM,CAAA,EAAG;AACnB,MAAA,OAAA,CAAQ,IAAA;AAAA,QACJ,CAAA,+CAAA,EAAkD,EAAA,CAAG,QAAA,EAAU,CAAA,qCAAA;AAAA,OACnE;AACA,MAAA,OAAO,EAAC;AAAA,IACZ;AAGA,IAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,MAAM,CAAA,EAAG;AACxB,MAAA,OAAA,CAAQ,IAAA;AAAA,QACJ,CAAA,6CAAA,EAAgD,EAAA,CAAG,QAAA,EAAU,CAAA,WAAA,CAAA;AAAA,QAC7D;AAAA,OACJ;AACA,MAAA,OAAO,EAAC;AAAA,IACZ;AAEA,IAAA,OAAO,MAAA;AAAA,EACX;AAGA,EAAA,OAAO,EAAC;AACZ;;;;"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var Yup = require('yup');
|
|
4
|
+
|
|
5
|
+
function _interopNamespaceDefault(e) {
|
|
6
|
+
var n = Object.create(null);
|
|
7
|
+
if (e) {
|
|
8
|
+
Object.keys(e).forEach(function (k) {
|
|
9
|
+
if (k !== 'default') {
|
|
10
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
11
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function () { return e[k]; }
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
n.default = e;
|
|
19
|
+
return Object.freeze(n);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
var Yup__namespace = /*#__PURE__*/_interopNamespaceDefault(Yup);
|
|
23
|
+
|
|
24
|
+
const getPropertyByPath = (obj, path) => {
|
|
25
|
+
try {
|
|
26
|
+
return path.split(/[.[\]]+/).filter(Boolean).reduce((res, key) => res[key], obj);
|
|
27
|
+
} catch (e) {
|
|
28
|
+
return void 0;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const flattenSlotStyles = (slots) => {
|
|
32
|
+
if (!slots) return void 0;
|
|
33
|
+
const flat = {};
|
|
34
|
+
for (const [slot, cfg] of Object.entries(slots)) {
|
|
35
|
+
if (cfg && cfg.style && Object.keys(cfg.style).length > 0) {
|
|
36
|
+
flat[slot] = cfg.style;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return Object.keys(flat).length > 0 ? flat : void 0;
|
|
40
|
+
};
|
|
41
|
+
const isValidURL = (urlString) => {
|
|
42
|
+
try {
|
|
43
|
+
const url = new URL(urlString);
|
|
44
|
+
return ["http:", "https:"].includes(url.protocol);
|
|
45
|
+
} catch (_) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const formFileValidation = ({
|
|
50
|
+
min,
|
|
51
|
+
max,
|
|
52
|
+
minKB,
|
|
53
|
+
maxKB
|
|
54
|
+
} = {}) => {
|
|
55
|
+
return Yup__namespace.mixed().test("fileOrUrl", "Invalid file or URL format", function(value) {
|
|
56
|
+
const { path, createError } = this;
|
|
57
|
+
if (!value || Array.isArray(value) && value.length === 0) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
const files = Array.isArray(value) ? value : [value];
|
|
61
|
+
if (min && files.length < min) {
|
|
62
|
+
return createError({ path, message: `Please upload at least ${min} file(s).` });
|
|
63
|
+
}
|
|
64
|
+
if (max && files.length > max) {
|
|
65
|
+
return createError({ path, message: `You can upload a maximum of ${max} file(s).` });
|
|
66
|
+
}
|
|
67
|
+
const errorSizeFiles = [];
|
|
68
|
+
for (const file of files) {
|
|
69
|
+
if (typeof file === "string") {
|
|
70
|
+
if (!isValidURL(file)) {
|
|
71
|
+
return createError({ path, message: "Items must be valid Files, URLs, or uploaded file objects." });
|
|
72
|
+
}
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
if (typeof file !== "object" || file === null) {
|
|
76
|
+
return createError({ path, message: "Items must be valid Files, URLs, or uploaded file objects." });
|
|
77
|
+
}
|
|
78
|
+
if ("base64" in file) {
|
|
79
|
+
if (typeof file.base64 !== "string" || !file.base64) {
|
|
80
|
+
return createError({ path, message: "Items must be valid Files, URLs, or uploaded file objects." });
|
|
81
|
+
}
|
|
82
|
+
if (minKB || maxKB) {
|
|
83
|
+
const approxSizeKB = file.base64.length * 3 / 4 / 1024;
|
|
84
|
+
const name = file.filename || file.name || "file";
|
|
85
|
+
if (maxKB && approxSizeKB > maxKB || minKB && approxSizeKB < minKB) {
|
|
86
|
+
errorSizeFiles.push(name);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
if ("uri" in file) {
|
|
92
|
+
if (typeof file.uri !== "string" || !file.uri) {
|
|
93
|
+
return createError({ path, message: "Items must be valid Files, URLs, or uploaded file objects." });
|
|
94
|
+
}
|
|
95
|
+
if ((minKB || maxKB) && file.size != null) {
|
|
96
|
+
const fileSizeKB = file.size / 1024;
|
|
97
|
+
const name = file.name || "file";
|
|
98
|
+
if (maxKB && fileSizeKB > maxKB || minKB && fileSizeKB < minKB) {
|
|
99
|
+
errorSizeFiles.push(name);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
if (typeof File !== "undefined" && file instanceof File) {
|
|
105
|
+
const fileSizeKB = file.size / 1024;
|
|
106
|
+
if (maxKB && fileSizeKB > maxKB || minKB && fileSizeKB < minKB) {
|
|
107
|
+
errorSizeFiles.push(file.name);
|
|
108
|
+
}
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
return createError({ path, message: "Items must be valid Files, URLs, or uploaded file objects." });
|
|
112
|
+
}
|
|
113
|
+
if (errorSizeFiles.length > 0) {
|
|
114
|
+
return createError({
|
|
115
|
+
path,
|
|
116
|
+
message: `Files (${errorSizeFiles.join(", ")}) are outside the size limitations.`
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
return true;
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
const checkNameDuplication = (fields) => {
|
|
123
|
+
const formNames = [];
|
|
124
|
+
fields.forEach((item) => {
|
|
125
|
+
const itemId = item.id;
|
|
126
|
+
if (formNames.includes(itemId)) {
|
|
127
|
+
throw new Error(`Field ID conflict: The ID "${itemId}" is duplicated. Field IDs must be unique within their nesting level.`);
|
|
128
|
+
}
|
|
129
|
+
if (!("displayOnly" in item) || !item.displayOnly) {
|
|
130
|
+
formNames.push(itemId);
|
|
131
|
+
}
|
|
132
|
+
if ((item.type === "Group" || item.type === "Object" || item.type === "Combined") && "elements" in item) {
|
|
133
|
+
const elements = item.elements;
|
|
134
|
+
if (typeof elements == "function") ; else {
|
|
135
|
+
checkNameDuplication(elements);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
};
|
|
140
|
+
const getDefaultValues = (fields) => {
|
|
141
|
+
const defaultFormValues = {};
|
|
142
|
+
fields.forEach((element) => {
|
|
143
|
+
const elementId = element.id;
|
|
144
|
+
if ("displayOnly" in element && element.displayOnly) return;
|
|
145
|
+
if (element.type === "Combined" && "elements" in element) {
|
|
146
|
+
const childElements = element.elements;
|
|
147
|
+
if (Array.isArray(childElements)) {
|
|
148
|
+
const childDefaults = getDefaultValues(childElements);
|
|
149
|
+
Object.assign(defaultFormValues, childDefaults);
|
|
150
|
+
}
|
|
151
|
+
if ("initialValue" in element && element.initialValue !== void 0) {
|
|
152
|
+
defaultFormValues[elementId] = element.initialValue;
|
|
153
|
+
}
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
if ((element.type === "Group" || element.type === "Object") && "elements" in element) {
|
|
157
|
+
const elements = element.elements;
|
|
158
|
+
if (typeof elements == "function") ; else {
|
|
159
|
+
defaultFormValues[elementId] = getDefaultValues(elements);
|
|
160
|
+
}
|
|
161
|
+
if (element.type === "Group") {
|
|
162
|
+
if ("initialValue" in element && Array.isArray(element.initialValue) && element.initialValue.length > 0) {
|
|
163
|
+
defaultFormValues[elementId] = element.initialValue;
|
|
164
|
+
} else {
|
|
165
|
+
defaultFormValues[elementId] = [];
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
if (element.type === "File" || element.type === "Image") {
|
|
171
|
+
const initialUri = element.initialUri;
|
|
172
|
+
const limit = element.multiple ? element.limit ?? 1 : 1;
|
|
173
|
+
if (Array.isArray(initialUri)) {
|
|
174
|
+
const filtered = initialUri.slice(0, limit).filter(isValidURL);
|
|
175
|
+
if (filtered.length > 0) {
|
|
176
|
+
defaultFormValues[elementId] = filtered;
|
|
177
|
+
}
|
|
178
|
+
} else if (isValidURL(initialUri)) {
|
|
179
|
+
defaultFormValues[elementId] = [initialUri];
|
|
180
|
+
}
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
if (element.type === "Tags" && element.initialValue === void 0) {
|
|
184
|
+
if (element.isMultiple) {
|
|
185
|
+
defaultFormValues[elementId] = [];
|
|
186
|
+
}
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
if ("initialValue" in element && element.initialValue !== void 0) {
|
|
190
|
+
defaultFormValues[elementId] = element.initialValue;
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
return defaultFormValues;
|
|
194
|
+
};
|
|
195
|
+
const getCombinedChildIds = (fields) => {
|
|
196
|
+
const childIds = /* @__PURE__ */ new Set();
|
|
197
|
+
fields.forEach((element) => {
|
|
198
|
+
if (element.type === "Combined" && "elements" in element) {
|
|
199
|
+
const children = element.elements;
|
|
200
|
+
if (Array.isArray(children)) {
|
|
201
|
+
children.forEach((child) => childIds.add(child.id));
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
if ((element.type === "Group" || element.type === "Object") && "elements" in element) {
|
|
205
|
+
const nested = element.elements;
|
|
206
|
+
if (typeof nested !== "function") {
|
|
207
|
+
const nestedIds = getCombinedChildIds(nested);
|
|
208
|
+
nestedIds.forEach((id) => childIds.add(id));
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
return childIds;
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
exports.checkNameDuplication = checkNameDuplication;
|
|
216
|
+
exports.flattenSlotStyles = flattenSlotStyles;
|
|
217
|
+
exports.formFileValidation = formFileValidation;
|
|
218
|
+
exports.getCombinedChildIds = getCombinedChildIds;
|
|
219
|
+
exports.getDefaultValues = getDefaultValues;
|
|
220
|
+
exports.getPropertyByPath = getPropertyByPath;
|
|
221
|
+
//# sourceMappingURL=helpers.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.cjs","sources":["../../../../src/form-renderer/utils/helpers.ts"],"sourcesContent":["// utils/helpers.ts\n\nimport * as yup from 'yup';\nimport type {AnyObject, TestContext} from 'yup';\nimport type {IFormElement} from \"@lmb-it/kitsconcerto-types\";\nimport type {FieldValues} from \"react-hook-form\";\n\n// --- General Utilities ---\n\n/**\n * Safely retrieves a nested property from an object using a string path (e.g., \"a.b[0].c\").\n * This is useful for accessing nested form errors from react-hook-form's formState.\n *\n * @param {object} obj The object to query.\n * @param {string} path The string path to the desired property.\n * @returns {any} The value at the specified path, or undefined if not found.\n */\nexport const getPropertyByPath = (obj: Record<string, any>, path: string): any => {\n // This implementation is more robust than lodash.get and has no external dependencies.\n try {\n return path.split(/[.[\\]]+/).filter(Boolean).reduce((res, key) => res[key], obj);\n } catch (e) {\n return undefined;\n }\n};\n\n/**\n * Flattens form-element `slots` from the nested IElementSlotConfig shape\n * (`{ [slot]: { style, props, … } }`) into the FLAT `{ [slot]: styleRecord }`\n * map that `<KitsContainer>` / `useResolvedElementStyles` expect.\n *\n * Input components (InputText, Select, …) flatten implicitly via\n * `useComponentDefaults`, which reads each slot's `.style`. Object and Group\n * hand their already-resolved `fieldLogic.slots` straight to `<KitsContainer>`\n * with no such pass, so without this the styles sit one level too deep —\n * they land under a bogus `style` CSS key and never reach the element.\n * See the `slots` memo in `useFieldLogic` for the source shape.\n *\n * @param slots The nested slot-config map from `fieldLogic.slots`.\n * @returns A flat slot→style-record map, or `undefined` when there is nothing to apply.\n */\nexport const flattenSlotStyles = (\n slots?: Record<string, { style?: Record<string, any> } | undefined>,\n): Record<string, Record<string, any>> | undefined => {\n if (!slots) return undefined;\n const flat: Record<string, Record<string, any>> = {};\n for (const [slot, cfg] of Object.entries(slots)) {\n if (cfg && cfg.style && Object.keys(cfg.style).length > 0) {\n flat[slot] = cfg.style;\n }\n }\n return Object.keys(flat).length > 0 ? flat : undefined;\n};\n\n/**\n * Checks if a given string is a valid, absolute URL.\n *\n * @param {string} urlString The string to validate.\n * @returns {boolean} True if the string is a valid URL.\n */\nconst isValidURL = (urlString: string): boolean => {\n\n try {\n // The URL constructor will throw an error for invalid URLs.\n const url = new URL(urlString);\n // Ensure it's a web protocol.\n return ['http:', 'https:'].includes(url.protocol);\n } catch (_) {\n return false;\n }\n};\n\n\n// --- Custom Validation Logic ---\n\ninterface FileValidationProps {\n min?: number; // Minimum number of files\n max?: number; // Maximum number of files\n minKB?: number; // Minimum file size in kilobytes\n maxKB?: number; // Maximum file size in kilobytes\n}\n\n\n/**\n * A custom Yup validation test for file and image uploads.\n *\n * Handles all output shapes produced by KitsFilePicker:\n * - string URL — existing server file (defaultValue / initialUri)\n * - {base64, filename, type} — JSON output (isJsonOutput=true, native & web)\n * - {uri, name, type?, size?} — FormData output on native\n * - DOM File instance — FormData output on web\n */\nexport const formFileValidation = ({\n min,\n max,\n minKB,\n maxKB\n }: FileValidationProps = {}): yup.MixedSchema<any, AnyObject, any> => {\n return yup.mixed().test('fileOrUrl', 'Invalid file or URL format', function (value: any) {\n const {path, createError} = this as TestContext;\n\n if (!value || (Array.isArray(value) && value.length === 0)) {\n return true; // Let a separate `.required()` handle empty values.\n }\n\n const files = Array.isArray(value) ? value : [value];\n\n // Validate file count\n if (min && files.length < min) {\n return createError({path, message: `Please upload at least ${min} file(s).`});\n }\n if (max && files.length > max) {\n return createError({path, message: `You can upload a maximum of ${max} file(s).`});\n }\n\n // Validate each item's shape and size\n const errorSizeFiles: string[] = [];\n\n for (const file of files) {\n // 1. URL string — already-saved server file; skip size check\n if (typeof file === 'string') {\n if (!isValidURL(file)) {\n return createError({path, message: 'Items must be valid Files, URLs, or uploaded file objects.'});\n }\n continue;\n }\n\n if (typeof file !== 'object' || file === null) {\n return createError({path, message: 'Items must be valid Files, URLs, or uploaded file objects.'});\n }\n\n // 2. JSON output: { filename, base64, type } — native & web isJsonOutput=true\n if ('base64' in file) {\n if (typeof file.base64 !== 'string' || !file.base64) {\n return createError({path, message: 'Items must be valid Files, URLs, or uploaded file objects.'});\n }\n if (minKB || maxKB) {\n // Approximate decoded byte size: base64 encodes 3 bytes per 4 chars\n const approxSizeKB = (file.base64.length * 3) / 4 / 1024;\n const name = (file.filename || file.name || 'file') as string;\n if ((maxKB && approxSizeKB > maxKB) || (minKB && approxSizeKB < minKB)) {\n errorSizeFiles.push(name);\n }\n }\n continue;\n }\n\n // 3. Native FormData output: { uri, name, type?, size? }\n if ('uri' in file) {\n if (typeof file.uri !== 'string' || !file.uri) {\n return createError({path, message: 'Items must be valid Files, URLs, or uploaded file objects.'});\n }\n if ((minKB || maxKB) && file.size != null) {\n const fileSizeKB = (file.size as number) / 1024;\n const name = (file.name || 'file') as string;\n if ((maxKB && fileSizeKB > maxKB) || (minKB && fileSizeKB < minKB)) {\n errorSizeFiles.push(name);\n }\n }\n continue;\n }\n\n // 4. Web DOM File object (FormData output on web)\n if (typeof File !== 'undefined' && file instanceof File) {\n const fileSizeKB = file.size / 1024;\n if ((maxKB && fileSizeKB > maxKB) || (minKB && fileSizeKB < minKB)) {\n errorSizeFiles.push(file.name);\n }\n continue;\n }\n\n // Unknown shape — reject\n return createError({path, message: 'Items must be valid Files, URLs, or uploaded file objects.'});\n }\n\n if (errorSizeFiles.length > 0) {\n return createError({\n path,\n message: `Files (${errorSizeFiles.join(', ')}) are outside the size limitations.`\n });\n }\n\n return true;\n });\n};\n\n/**\n * Recursively checks for duplicate field IDs at each level of the element tree.\n * Throws an error if a duplicate is found.\n * @param fields The array of elements to check.\n */\nexport const checkNameDuplication = (fields: IFormElement<any>[]) => {\n const formNames: string[] = [];\n\n fields.forEach((item) => {\n const itemId = item.id as string;\n if (formNames.includes(itemId)) {\n throw new Error(`Field ID conflict: The ID \"${itemId}\" is duplicated. Field IDs must be unique within their nesting level.`);\n }\n if (!(\"displayOnly\" in item) || !item.displayOnly) {\n formNames.push(itemId);\n }\n // Recursively check Group, Object, and Combined types.\n if ((item.type === \"Group\" || item.type === \"Object\" || item.type === \"Combined\") && 'elements' in item) {\n const elements = item.elements;\n if (typeof elements == 'function') {\n // checkNameDuplication(elements([], [], {} as ) as IFormElement<any>[]);\n\n } else {\n checkNameDuplication(elements);\n }\n }\n });\n};\n\n\n/**\n * Recursively builds the initial `defaultValues` object for react-hook-form.\n * @param fields The array of elements to process.\n * @returns An object with the form's default values.\n */\nexport const getDefaultValues = (fields: IFormElement<any>[]): Record<string, any> => {\n const defaultFormValues: FieldValues = {};\n\n // console.log({fields})\n fields.forEach((element) => {\n const elementId = element.id as string;\n if (\"displayOnly\" in element && element.displayOnly) return;\n\n // Handle Combined — register child defaults at top level and set parent initial value\n if (element.type === \"Combined\" && 'elements' in element) {\n const childElements = element.elements;\n if (Array.isArray(childElements)) {\n const childDefaults = getDefaultValues(childElements);\n Object.assign(defaultFormValues, childDefaults);\n }\n if (\"initialValue\" in element && element.initialValue !== undefined) {\n defaultFormValues[elementId] = element.initialValue;\n }\n return;\n }\n\n // Handle nested structures first\n if ((element.type === \"Group\" || element.type === \"Object\") && 'elements' in element) {\n const elements = element.elements;\n if (typeof elements == 'function') {\n // checkNameDuplication(elements([], [], {} as ) as IFormElement<any>[]);\n\n } else {\n defaultFormValues[elementId] = getDefaultValues(elements);\n }\n // For Groups: use initialValue (array of row objects) if provided,\n // otherwise default to empty array so useFieldArray starts with 0 rows.\n if (element.type === \"Group\") {\n if (\"initialValue\" in element && Array.isArray(element.initialValue) && element.initialValue.length > 0) {\n defaultFormValues[elementId] = element.initialValue;\n } else {\n defaultFormValues[elementId] = [];\n }\n }\n return;\n }\n\n // Handle specific types with special initial value logic\n if (element.type === \"File\" || element.type === \"Image\") {\n const initialUri = (element as any).initialUri;\n const limit = (element as any).multiple ? ((element as any).limit ?? 1) : 1;\n if (Array.isArray(initialUri)) {\n const filtered = initialUri.slice(0, limit).filter(isValidURL);\n if (filtered.length > 0) {\n defaultFormValues[elementId] = filtered;\n }\n } else if (isValidURL(initialUri as string)) {\n defaultFormValues[elementId] = [initialUri];\n }\n return;\n }\n\n if (element.type === \"Tags\" && element.initialValue === undefined) {\n if ((element as any).isMultiple) {\n defaultFormValues[elementId] = [];\n }\n return;\n }\n\n // Handle standard initialValue\n if (\"initialValue\" in element && element.initialValue !== undefined) {\n defaultFormValues[elementId] = element.initialValue;\n }\n });\n\n return defaultFormValues;\n};\n\n\n/**\n * Recursively collects the IDs of all child elements inside Combined elements.\n * These IDs are internal to the Combined and should not appear in the form's output data.\n */\nexport const getCombinedChildIds = (fields: IFormElement<any>[]): Set<string> => {\n const childIds = new Set<string>();\n\n fields.forEach((element) => {\n if (element.type === \"Combined\" && 'elements' in element) {\n const children = element.elements;\n if (Array.isArray(children)) {\n children.forEach(child => childIds.add(child.id as string));\n }\n }\n // Recurse into Group/Object to find nested Combined elements\n if ((element.type === \"Group\" || element.type === \"Object\") && 'elements' in element) {\n const nested = element.elements;\n if (typeof nested !== 'function') {\n const nestedIds = getCombinedChildIds(nested);\n nestedIds.forEach(id => childIds.add(id));\n }\n }\n });\n\n return childIds;\n};\n"],"names":["yup"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAiBO,MAAM,iBAAA,GAAoB,CAAC,GAAA,EAA0B,IAAA,KAAsB;AAE9E,EAAA,IAAI;AACA,IAAA,OAAO,IAAA,CAAK,KAAA,CAAM,SAAS,CAAA,CAAE,OAAO,OAAO,CAAA,CAAE,MAAA,CAAO,CAAC,GAAA,EAAK,GAAA,KAAQ,GAAA,CAAI,GAAG,GAAG,GAAG,CAAA;AAAA,EACnF,SAAS,CAAA,EAAG;AACR,IAAA,OAAO,MAAA;AAAA,EACX;AACJ;AAiBO,MAAM,iBAAA,GAAoB,CAC7B,KAAA,KACkD;AAClD,EAAA,IAAI,CAAC,OAAO,OAAO,MAAA;AACnB,EAAA,MAAM,OAA4C,EAAC;AACnD,EAAA,KAAA,MAAW,CAAC,IAAA,EAAM,GAAG,KAAK,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,EAAG;AAC7C,IAAA,IAAI,GAAA,IAAO,IAAI,KAAA,IAAS,MAAA,CAAO,KAAK,GAAA,CAAI,KAAK,CAAA,CAAE,MAAA,GAAS,CAAA,EAAG;AACvD,MAAA,IAAA,CAAK,IAAI,IAAI,GAAA,CAAI,KAAA;AAAA,IACrB;AAAA,EACJ;AACA,EAAA,OAAO,OAAO,IAAA,CAAK,IAAI,CAAA,CAAE,MAAA,GAAS,IAAI,IAAA,GAAO,MAAA;AACjD;AAQA,MAAM,UAAA,GAAa,CAAC,SAAA,KAA+B;AAE/C,EAAA,IAAI;AAEA,IAAA,MAAM,GAAA,GAAM,IAAI,GAAA,CAAI,SAAS,CAAA;AAE7B,IAAA,OAAO,CAAC,OAAA,EAAS,QAAQ,CAAA,CAAE,QAAA,CAAS,IAAI,QAAQ,CAAA;AAAA,EACpD,SAAS,CAAA,EAAG;AACR,IAAA,OAAO,KAAA;AAAA,EACX;AACJ,CAAA;AAsBO,MAAM,qBAAqB,CAAC;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,KAAA;AAAA,EACA;AACJ,CAAA,GAAyB,EAAC,KAA4C;AACjG,EAAA,OAAOA,eAAI,KAAA,EAAM,CAAE,KAAK,WAAA,EAAa,4BAAA,EAA8B,SAAU,KAAA,EAAY;AACrF,IAAA,MAAM,EAAC,IAAA,EAAM,WAAA,EAAW,GAAI,IAAA;AAE5B,IAAA,IAAI,CAAC,SAAU,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,IAAK,KAAA,CAAM,WAAW,CAAA,EAAI;AACxD,MAAA,OAAO,IAAA;AAAA,IACX;AAEA,IAAA,MAAM,QAAQ,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAI,KAAA,GAAQ,CAAC,KAAK,CAAA;AAGnD,IAAA,IAAI,GAAA,IAAO,KAAA,CAAM,MAAA,GAAS,GAAA,EAAK;AAC3B,MAAA,OAAO,YAAY,EAAC,IAAA,EAAM,SAAS,CAAA,uBAAA,EAA0B,GAAG,aAAY,CAAA;AAAA,IAChF;AACA,IAAA,IAAI,GAAA,IAAO,KAAA,CAAM,MAAA,GAAS,GAAA,EAAK;AAC3B,MAAA,OAAO,YAAY,EAAC,IAAA,EAAM,SAAS,CAAA,4BAAA,EAA+B,GAAG,aAAY,CAAA;AAAA,IACrF;AAGA,IAAA,MAAM,iBAA2B,EAAC;AAElC,IAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AAEtB,MAAA,IAAI,OAAO,SAAS,QAAA,EAAU;AAC1B,QAAA,IAAI,CAAC,UAAA,CAAW,IAAI,CAAA,EAAG;AACnB,UAAA,OAAO,WAAA,CAAY,EAAC,IAAA,EAAM,OAAA,EAAS,8DAA6D,CAAA;AAAA,QACpG;AACA,QAAA;AAAA,MACJ;AAEA,MAAA,IAAI,OAAO,IAAA,KAAS,QAAA,IAAY,IAAA,KAAS,IAAA,EAAM;AAC3C,QAAA,OAAO,WAAA,CAAY,EAAC,IAAA,EAAM,OAAA,EAAS,8DAA6D,CAAA;AAAA,MACpG;AAGA,MAAA,IAAI,YAAY,IAAA,EAAM;AAClB,QAAA,IAAI,OAAO,IAAA,CAAK,MAAA,KAAW,QAAA,IAAY,CAAC,KAAK,MAAA,EAAQ;AACjD,UAAA,OAAO,WAAA,CAAY,EAAC,IAAA,EAAM,OAAA,EAAS,8DAA6D,CAAA;AAAA,QACpG;AACA,QAAA,IAAI,SAAS,KAAA,EAAO;AAEhB,UAAA,MAAM,YAAA,GAAgB,IAAA,CAAK,MAAA,CAAO,MAAA,GAAS,IAAK,CAAA,GAAI,IAAA;AACpD,UAAA,MAAM,IAAA,GAAQ,IAAA,CAAK,QAAA,IAAY,IAAA,CAAK,IAAA,IAAQ,MAAA;AAC5C,UAAA,IAAK,KAAA,IAAS,YAAA,GAAe,KAAA,IAAW,KAAA,IAAS,eAAe,KAAA,EAAQ;AACpE,YAAA,cAAA,CAAe,KAAK,IAAI,CAAA;AAAA,UAC5B;AAAA,QACJ;AACA,QAAA;AAAA,MACJ;AAGA,MAAA,IAAI,SAAS,IAAA,EAAM;AACf,QAAA,IAAI,OAAO,IAAA,CAAK,GAAA,KAAQ,QAAA,IAAY,CAAC,KAAK,GAAA,EAAK;AAC3C,UAAA,OAAO,WAAA,CAAY,EAAC,IAAA,EAAM,OAAA,EAAS,8DAA6D,CAAA;AAAA,QACpG;AACA,QAAA,IAAA,CAAK,KAAA,IAAS,KAAA,KAAU,IAAA,CAAK,IAAA,IAAQ,IAAA,EAAM;AACvC,UAAA,MAAM,UAAA,GAAc,KAAK,IAAA,GAAkB,IAAA;AAC3C,UAAA,MAAM,IAAA,GAAQ,KAAK,IAAA,IAAQ,MAAA;AAC3B,UAAA,IAAK,KAAA,IAAS,UAAA,GAAa,KAAA,IAAW,KAAA,IAAS,aAAa,KAAA,EAAQ;AAChE,YAAA,cAAA,CAAe,KAAK,IAAI,CAAA;AAAA,UAC5B;AAAA,QACJ;AACA,QAAA;AAAA,MACJ;AAGA,MAAA,IAAI,OAAO,IAAA,KAAS,WAAA,IAAe,IAAA,YAAgB,IAAA,EAAM;AACrD,QAAA,MAAM,UAAA,GAAa,KAAK,IAAA,GAAO,IAAA;AAC/B,QAAA,IAAK,KAAA,IAAS,UAAA,GAAa,KAAA,IAAW,KAAA,IAAS,aAAa,KAAA,EAAQ;AAChE,UAAA,cAAA,CAAe,IAAA,CAAK,KAAK,IAAI,CAAA;AAAA,QACjC;AACA,QAAA;AAAA,MACJ;AAGA,MAAA,OAAO,WAAA,CAAY,EAAC,IAAA,EAAM,OAAA,EAAS,8DAA6D,CAAA;AAAA,IACpG;AAEA,IAAA,IAAI,cAAA,CAAe,SAAS,CAAA,EAAG;AAC3B,MAAA,OAAO,WAAA,CAAY;AAAA,QACf,IAAA;AAAA,QACA,OAAA,EAAS,CAAA,OAAA,EAAU,cAAA,CAAe,IAAA,CAAK,IAAI,CAAC,CAAA,mCAAA;AAAA,OAC/C,CAAA;AAAA,IACL;AAEA,IAAA,OAAO,IAAA;AAAA,EACX,CAAC,CAAA;AACL;AAOO,MAAM,oBAAA,GAAuB,CAAC,MAAA,KAAgC;AACjE,EAAA,MAAM,YAAsB,EAAC;AAE7B,EAAA,MAAA,CAAO,OAAA,CAAQ,CAAC,IAAA,KAAS;AACrB,IAAA,MAAM,SAAS,IAAA,CAAK,EAAA;AACpB,IAAA,IAAI,SAAA,CAAU,QAAA,CAAS,MAAM,CAAA,EAAG;AAC5B,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,2BAAA,EAA8B,MAAM,CAAA,qEAAA,CAAuE,CAAA;AAAA,IAC/H;AACA,IAAA,IAAI,EAAE,aAAA,IAAiB,IAAA,CAAA,IAAS,CAAC,KAAK,WAAA,EAAa;AAC/C,MAAA,SAAA,CAAU,KAAK,MAAM,CAAA;AAAA,IACzB;AAEA,IAAA,IAAA,CAAK,IAAA,CAAK,IAAA,KAAS,OAAA,IAAW,IAAA,CAAK,IAAA,KAAS,YAAY,IAAA,CAAK,IAAA,KAAS,UAAA,KAAe,UAAA,IAAc,IAAA,EAAM;AACrG,MAAA,MAAM,WAAW,IAAA,CAAK,QAAA;AACtB,MAAA,IAAI,OAAO,YAAY,UAAA,EAAY,CAGnC,MAAO;AACH,QAAA,oBAAA,CAAqB,QAAQ,CAAA;AAAA,MACjC;AAAA,IACJ;AAAA,EACJ,CAAC,CAAA;AACL;AAQO,MAAM,gBAAA,GAAmB,CAAC,MAAA,KAAqD;AAClF,EAAA,MAAM,oBAAiC,EAAC;AAGxC,EAAA,MAAA,CAAO,OAAA,CAAQ,CAAC,OAAA,KAAY;AACxB,IAAA,MAAM,YAAY,OAAA,CAAQ,EAAA;AAC1B,IAAA,IAAI,aAAA,IAAiB,OAAA,IAAW,OAAA,CAAQ,WAAA,EAAa;AAGrD,IAAA,IAAI,OAAA,CAAQ,IAAA,KAAS,UAAA,IAAc,UAAA,IAAc,OAAA,EAAS;AACtD,MAAA,MAAM,gBAAgB,OAAA,CAAQ,QAAA;AAC9B,MAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,aAAa,CAAA,EAAG;AAC9B,QAAA,MAAM,aAAA,GAAgB,iBAAiB,aAAa,CAAA;AACpD,QAAA,MAAA,CAAO,MAAA,CAAO,mBAAmB,aAAa,CAAA;AAAA,MAClD;AACA,MAAA,IAAI,cAAA,IAAkB,OAAA,IAAW,OAAA,CAAQ,YAAA,KAAiB,MAAA,EAAW;AACjE,QAAA,iBAAA,CAAkB,SAAS,IAAI,OAAA,CAAQ,YAAA;AAAA,MAC3C;AACA,MAAA;AAAA,IACJ;AAGA,IAAA,IAAA,CAAK,QAAQ,IAAA,KAAS,OAAA,IAAW,QAAQ,IAAA,KAAS,QAAA,KAAa,cAAc,OAAA,EAAS;AAClF,MAAA,MAAM,WAAW,OAAA,CAAQ,QAAA;AACzB,MAAA,IAAI,OAAO,YAAY,UAAA,EAAY,CAGnC,MAAO;AACH,QAAA,iBAAA,CAAkB,SAAS,CAAA,GAAI,gBAAA,CAAiB,QAAQ,CAAA;AAAA,MAC5D;AAGA,MAAA,IAAI,OAAA,CAAQ,SAAS,OAAA,EAAS;AAC1B,QAAA,IAAI,cAAA,IAAkB,OAAA,IAAW,KAAA,CAAM,OAAA,CAAQ,OAAA,CAAQ,YAAY,CAAA,IAAK,OAAA,CAAQ,YAAA,CAAa,MAAA,GAAS,CAAA,EAAG;AACrG,UAAA,iBAAA,CAAkB,SAAS,IAAI,OAAA,CAAQ,YAAA;AAAA,QAC3C,CAAA,MAAO;AACH,UAAA,iBAAA,CAAkB,SAAS,IAAI,EAAC;AAAA,QACpC;AAAA,MACJ;AACA,MAAA;AAAA,IACJ;AAGA,IAAA,IAAI,OAAA,CAAQ,IAAA,KAAS,MAAA,IAAU,OAAA,CAAQ,SAAS,OAAA,EAAS;AACrD,MAAA,MAAM,aAAc,OAAA,CAAgB,UAAA;AACpC,MAAA,MAAM,KAAA,GAAS,OAAA,CAAgB,QAAA,GAAa,OAAA,CAAgB,SAAS,CAAA,GAAK,CAAA;AAC1E,MAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,UAAU,CAAA,EAAG;AAC3B,QAAA,MAAM,WAAW,UAAA,CAAW,KAAA,CAAM,GAAG,KAAK,CAAA,CAAE,OAAO,UAAU,CAAA;AAC7D,QAAA,IAAI,QAAA,CAAS,SAAS,CAAA,EAAG;AACrB,UAAA,iBAAA,CAAkB,SAAS,CAAA,GAAI,QAAA;AAAA,QACnC;AAAA,MACJ,CAAA,MAAA,IAAW,UAAA,CAAW,UAAoB,CAAA,EAAG;AACzC,QAAA,iBAAA,CAAkB,SAAS,CAAA,GAAI,CAAC,UAAU,CAAA;AAAA,MAC9C;AACA,MAAA;AAAA,IACJ;AAEA,IAAA,IAAI,OAAA,CAAQ,IAAA,KAAS,MAAA,IAAU,OAAA,CAAQ,iBAAiB,MAAA,EAAW;AAC/D,MAAA,IAAK,QAAgB,UAAA,EAAY;AAC7B,QAAA,iBAAA,CAAkB,SAAS,IAAI,EAAC;AAAA,MACpC;AACA,MAAA;AAAA,IACJ;AAGA,IAAA,IAAI,cAAA,IAAkB,OAAA,IAAW,OAAA,CAAQ,YAAA,KAAiB,MAAA,EAAW;AACjE,MAAA,iBAAA,CAAkB,SAAS,IAAI,OAAA,CAAQ,YAAA;AAAA,IAC3C;AAAA,EACJ,CAAC,CAAA;AAED,EAAA,OAAO,iBAAA;AACX;AAOO,MAAM,mBAAA,GAAsB,CAAC,MAAA,KAA6C;AAC7E,EAAA,MAAM,QAAA,uBAAe,GAAA,EAAY;AAEjC,EAAA,MAAA,CAAO,OAAA,CAAQ,CAAC,OAAA,KAAY;AACxB,IAAA,IAAI,OAAA,CAAQ,IAAA,KAAS,UAAA,IAAc,UAAA,IAAc,OAAA,EAAS;AACtD,MAAA,MAAM,WAAW,OAAA,CAAQ,QAAA;AACzB,MAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,QAAQ,CAAA,EAAG;AACzB,QAAA,QAAA,CAAS,QAAQ,CAAA,KAAA,KAAS,QAAA,CAAS,GAAA,CAAI,KAAA,CAAM,EAAY,CAAC,CAAA;AAAA,MAC9D;AAAA,IACJ;AAEA,IAAA,IAAA,CAAK,QAAQ,IAAA,KAAS,OAAA,IAAW,QAAQ,IAAA,KAAS,QAAA,KAAa,cAAc,OAAA,EAAS;AAClF,MAAA,MAAM,SAAS,OAAA,CAAQ,QAAA;AACvB,MAAA,IAAI,OAAO,WAAW,UAAA,EAAY;AAC9B,QAAA,MAAM,SAAA,GAAY,oBAAoB,MAAM,CAAA;AAC5C,QAAA,SAAA,CAAU,OAAA,CAAQ,CAAA,EAAA,KAAM,QAAA,CAAS,GAAA,CAAI,EAAE,CAAC,CAAA;AAAA,MAC5C;AAAA,IACJ;AAAA,EACJ,CAAC,CAAA;AAED,EAAA,OAAO,QAAA;AACX;;;;;;;;;"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import * as Yup from 'yup';
|
|
2
|
+
|
|
3
|
+
const getPropertyByPath = (obj, path) => {
|
|
4
|
+
try {
|
|
5
|
+
return path.split(/[.[\]]+/).filter(Boolean).reduce((res, key) => res[key], obj);
|
|
6
|
+
} catch (e) {
|
|
7
|
+
return void 0;
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
const flattenSlotStyles = (slots) => {
|
|
11
|
+
if (!slots) return void 0;
|
|
12
|
+
const flat = {};
|
|
13
|
+
for (const [slot, cfg] of Object.entries(slots)) {
|
|
14
|
+
if (cfg && cfg.style && Object.keys(cfg.style).length > 0) {
|
|
15
|
+
flat[slot] = cfg.style;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return Object.keys(flat).length > 0 ? flat : void 0;
|
|
19
|
+
};
|
|
20
|
+
const isValidURL = (urlString) => {
|
|
21
|
+
try {
|
|
22
|
+
const url = new URL(urlString);
|
|
23
|
+
return ["http:", "https:"].includes(url.protocol);
|
|
24
|
+
} catch (_) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const formFileValidation = ({
|
|
29
|
+
min,
|
|
30
|
+
max,
|
|
31
|
+
minKB,
|
|
32
|
+
maxKB
|
|
33
|
+
} = {}) => {
|
|
34
|
+
return Yup.mixed().test("fileOrUrl", "Invalid file or URL format", function(value) {
|
|
35
|
+
const { path, createError } = this;
|
|
36
|
+
if (!value || Array.isArray(value) && value.length === 0) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
const files = Array.isArray(value) ? value : [value];
|
|
40
|
+
if (min && files.length < min) {
|
|
41
|
+
return createError({ path, message: `Please upload at least ${min} file(s).` });
|
|
42
|
+
}
|
|
43
|
+
if (max && files.length > max) {
|
|
44
|
+
return createError({ path, message: `You can upload a maximum of ${max} file(s).` });
|
|
45
|
+
}
|
|
46
|
+
const errorSizeFiles = [];
|
|
47
|
+
for (const file of files) {
|
|
48
|
+
if (typeof file === "string") {
|
|
49
|
+
if (!isValidURL(file)) {
|
|
50
|
+
return createError({ path, message: "Items must be valid Files, URLs, or uploaded file objects." });
|
|
51
|
+
}
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (typeof file !== "object" || file === null) {
|
|
55
|
+
return createError({ path, message: "Items must be valid Files, URLs, or uploaded file objects." });
|
|
56
|
+
}
|
|
57
|
+
if ("base64" in file) {
|
|
58
|
+
if (typeof file.base64 !== "string" || !file.base64) {
|
|
59
|
+
return createError({ path, message: "Items must be valid Files, URLs, or uploaded file objects." });
|
|
60
|
+
}
|
|
61
|
+
if (minKB || maxKB) {
|
|
62
|
+
const approxSizeKB = file.base64.length * 3 / 4 / 1024;
|
|
63
|
+
const name = file.filename || file.name || "file";
|
|
64
|
+
if (maxKB && approxSizeKB > maxKB || minKB && approxSizeKB < minKB) {
|
|
65
|
+
errorSizeFiles.push(name);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
if ("uri" in file) {
|
|
71
|
+
if (typeof file.uri !== "string" || !file.uri) {
|
|
72
|
+
return createError({ path, message: "Items must be valid Files, URLs, or uploaded file objects." });
|
|
73
|
+
}
|
|
74
|
+
if ((minKB || maxKB) && file.size != null) {
|
|
75
|
+
const fileSizeKB = file.size / 1024;
|
|
76
|
+
const name = file.name || "file";
|
|
77
|
+
if (maxKB && fileSizeKB > maxKB || minKB && fileSizeKB < minKB) {
|
|
78
|
+
errorSizeFiles.push(name);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
if (typeof File !== "undefined" && file instanceof File) {
|
|
84
|
+
const fileSizeKB = file.size / 1024;
|
|
85
|
+
if (maxKB && fileSizeKB > maxKB || minKB && fileSizeKB < minKB) {
|
|
86
|
+
errorSizeFiles.push(file.name);
|
|
87
|
+
}
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
return createError({ path, message: "Items must be valid Files, URLs, or uploaded file objects." });
|
|
91
|
+
}
|
|
92
|
+
if (errorSizeFiles.length > 0) {
|
|
93
|
+
return createError({
|
|
94
|
+
path,
|
|
95
|
+
message: `Files (${errorSizeFiles.join(", ")}) are outside the size limitations.`
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
return true;
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
const checkNameDuplication = (fields) => {
|
|
102
|
+
const formNames = [];
|
|
103
|
+
fields.forEach((item) => {
|
|
104
|
+
const itemId = item.id;
|
|
105
|
+
if (formNames.includes(itemId)) {
|
|
106
|
+
throw new Error(`Field ID conflict: The ID "${itemId}" is duplicated. Field IDs must be unique within their nesting level.`);
|
|
107
|
+
}
|
|
108
|
+
if (!("displayOnly" in item) || !item.displayOnly) {
|
|
109
|
+
formNames.push(itemId);
|
|
110
|
+
}
|
|
111
|
+
if ((item.type === "Group" || item.type === "Object" || item.type === "Combined") && "elements" in item) {
|
|
112
|
+
const elements = item.elements;
|
|
113
|
+
if (typeof elements == "function") ; else {
|
|
114
|
+
checkNameDuplication(elements);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
const getDefaultValues = (fields) => {
|
|
120
|
+
const defaultFormValues = {};
|
|
121
|
+
fields.forEach((element) => {
|
|
122
|
+
const elementId = element.id;
|
|
123
|
+
if ("displayOnly" in element && element.displayOnly) return;
|
|
124
|
+
if (element.type === "Combined" && "elements" in element) {
|
|
125
|
+
const childElements = element.elements;
|
|
126
|
+
if (Array.isArray(childElements)) {
|
|
127
|
+
const childDefaults = getDefaultValues(childElements);
|
|
128
|
+
Object.assign(defaultFormValues, childDefaults);
|
|
129
|
+
}
|
|
130
|
+
if ("initialValue" in element && element.initialValue !== void 0) {
|
|
131
|
+
defaultFormValues[elementId] = element.initialValue;
|
|
132
|
+
}
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if ((element.type === "Group" || element.type === "Object") && "elements" in element) {
|
|
136
|
+
const elements = element.elements;
|
|
137
|
+
if (typeof elements == "function") ; else {
|
|
138
|
+
defaultFormValues[elementId] = getDefaultValues(elements);
|
|
139
|
+
}
|
|
140
|
+
if (element.type === "Group") {
|
|
141
|
+
if ("initialValue" in element && Array.isArray(element.initialValue) && element.initialValue.length > 0) {
|
|
142
|
+
defaultFormValues[elementId] = element.initialValue;
|
|
143
|
+
} else {
|
|
144
|
+
defaultFormValues[elementId] = [];
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
if (element.type === "File" || element.type === "Image") {
|
|
150
|
+
const initialUri = element.initialUri;
|
|
151
|
+
const limit = element.multiple ? element.limit ?? 1 : 1;
|
|
152
|
+
if (Array.isArray(initialUri)) {
|
|
153
|
+
const filtered = initialUri.slice(0, limit).filter(isValidURL);
|
|
154
|
+
if (filtered.length > 0) {
|
|
155
|
+
defaultFormValues[elementId] = filtered;
|
|
156
|
+
}
|
|
157
|
+
} else if (isValidURL(initialUri)) {
|
|
158
|
+
defaultFormValues[elementId] = [initialUri];
|
|
159
|
+
}
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
if (element.type === "Tags" && element.initialValue === void 0) {
|
|
163
|
+
if (element.isMultiple) {
|
|
164
|
+
defaultFormValues[elementId] = [];
|
|
165
|
+
}
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
if ("initialValue" in element && element.initialValue !== void 0) {
|
|
169
|
+
defaultFormValues[elementId] = element.initialValue;
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
return defaultFormValues;
|
|
173
|
+
};
|
|
174
|
+
const getCombinedChildIds = (fields) => {
|
|
175
|
+
const childIds = /* @__PURE__ */ new Set();
|
|
176
|
+
fields.forEach((element) => {
|
|
177
|
+
if (element.type === "Combined" && "elements" in element) {
|
|
178
|
+
const children = element.elements;
|
|
179
|
+
if (Array.isArray(children)) {
|
|
180
|
+
children.forEach((child) => childIds.add(child.id));
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
if ((element.type === "Group" || element.type === "Object") && "elements" in element) {
|
|
184
|
+
const nested = element.elements;
|
|
185
|
+
if (typeof nested !== "function") {
|
|
186
|
+
const nestedIds = getCombinedChildIds(nested);
|
|
187
|
+
nestedIds.forEach((id) => childIds.add(id));
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
return childIds;
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
export { checkNameDuplication, flattenSlotStyles, formFileValidation, getCombinedChildIds, getDefaultValues, getPropertyByPath };
|
|
195
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../../../../src/form-renderer/utils/helpers.ts"],"sourcesContent":["// utils/helpers.ts\n\nimport * as yup from 'yup';\nimport type {AnyObject, TestContext} from 'yup';\nimport type {IFormElement} from \"@lmb-it/kitsconcerto-types\";\nimport type {FieldValues} from \"react-hook-form\";\n\n// --- General Utilities ---\n\n/**\n * Safely retrieves a nested property from an object using a string path (e.g., \"a.b[0].c\").\n * This is useful for accessing nested form errors from react-hook-form's formState.\n *\n * @param {object} obj The object to query.\n * @param {string} path The string path to the desired property.\n * @returns {any} The value at the specified path, or undefined if not found.\n */\nexport const getPropertyByPath = (obj: Record<string, any>, path: string): any => {\n // This implementation is more robust than lodash.get and has no external dependencies.\n try {\n return path.split(/[.[\\]]+/).filter(Boolean).reduce((res, key) => res[key], obj);\n } catch (e) {\n return undefined;\n }\n};\n\n/**\n * Flattens form-element `slots` from the nested IElementSlotConfig shape\n * (`{ [slot]: { style, props, … } }`) into the FLAT `{ [slot]: styleRecord }`\n * map that `<KitsContainer>` / `useResolvedElementStyles` expect.\n *\n * Input components (InputText, Select, …) flatten implicitly via\n * `useComponentDefaults`, which reads each slot's `.style`. Object and Group\n * hand their already-resolved `fieldLogic.slots` straight to `<KitsContainer>`\n * with no such pass, so without this the styles sit one level too deep —\n * they land under a bogus `style` CSS key and never reach the element.\n * See the `slots` memo in `useFieldLogic` for the source shape.\n *\n * @param slots The nested slot-config map from `fieldLogic.slots`.\n * @returns A flat slot→style-record map, or `undefined` when there is nothing to apply.\n */\nexport const flattenSlotStyles = (\n slots?: Record<string, { style?: Record<string, any> } | undefined>,\n): Record<string, Record<string, any>> | undefined => {\n if (!slots) return undefined;\n const flat: Record<string, Record<string, any>> = {};\n for (const [slot, cfg] of Object.entries(slots)) {\n if (cfg && cfg.style && Object.keys(cfg.style).length > 0) {\n flat[slot] = cfg.style;\n }\n }\n return Object.keys(flat).length > 0 ? flat : undefined;\n};\n\n/**\n * Checks if a given string is a valid, absolute URL.\n *\n * @param {string} urlString The string to validate.\n * @returns {boolean} True if the string is a valid URL.\n */\nconst isValidURL = (urlString: string): boolean => {\n\n try {\n // The URL constructor will throw an error for invalid URLs.\n const url = new URL(urlString);\n // Ensure it's a web protocol.\n return ['http:', 'https:'].includes(url.protocol);\n } catch (_) {\n return false;\n }\n};\n\n\n// --- Custom Validation Logic ---\n\ninterface FileValidationProps {\n min?: number; // Minimum number of files\n max?: number; // Maximum number of files\n minKB?: number; // Minimum file size in kilobytes\n maxKB?: number; // Maximum file size in kilobytes\n}\n\n\n/**\n * A custom Yup validation test for file and image uploads.\n *\n * Handles all output shapes produced by KitsFilePicker:\n * - string URL — existing server file (defaultValue / initialUri)\n * - {base64, filename, type} — JSON output (isJsonOutput=true, native & web)\n * - {uri, name, type?, size?} — FormData output on native\n * - DOM File instance — FormData output on web\n */\nexport const formFileValidation = ({\n min,\n max,\n minKB,\n maxKB\n }: FileValidationProps = {}): yup.MixedSchema<any, AnyObject, any> => {\n return yup.mixed().test('fileOrUrl', 'Invalid file or URL format', function (value: any) {\n const {path, createError} = this as TestContext;\n\n if (!value || (Array.isArray(value) && value.length === 0)) {\n return true; // Let a separate `.required()` handle empty values.\n }\n\n const files = Array.isArray(value) ? value : [value];\n\n // Validate file count\n if (min && files.length < min) {\n return createError({path, message: `Please upload at least ${min} file(s).`});\n }\n if (max && files.length > max) {\n return createError({path, message: `You can upload a maximum of ${max} file(s).`});\n }\n\n // Validate each item's shape and size\n const errorSizeFiles: string[] = [];\n\n for (const file of files) {\n // 1. URL string — already-saved server file; skip size check\n if (typeof file === 'string') {\n if (!isValidURL(file)) {\n return createError({path, message: 'Items must be valid Files, URLs, or uploaded file objects.'});\n }\n continue;\n }\n\n if (typeof file !== 'object' || file === null) {\n return createError({path, message: 'Items must be valid Files, URLs, or uploaded file objects.'});\n }\n\n // 2. JSON output: { filename, base64, type } — native & web isJsonOutput=true\n if ('base64' in file) {\n if (typeof file.base64 !== 'string' || !file.base64) {\n return createError({path, message: 'Items must be valid Files, URLs, or uploaded file objects.'});\n }\n if (minKB || maxKB) {\n // Approximate decoded byte size: base64 encodes 3 bytes per 4 chars\n const approxSizeKB = (file.base64.length * 3) / 4 / 1024;\n const name = (file.filename || file.name || 'file') as string;\n if ((maxKB && approxSizeKB > maxKB) || (minKB && approxSizeKB < minKB)) {\n errorSizeFiles.push(name);\n }\n }\n continue;\n }\n\n // 3. Native FormData output: { uri, name, type?, size? }\n if ('uri' in file) {\n if (typeof file.uri !== 'string' || !file.uri) {\n return createError({path, message: 'Items must be valid Files, URLs, or uploaded file objects.'});\n }\n if ((minKB || maxKB) && file.size != null) {\n const fileSizeKB = (file.size as number) / 1024;\n const name = (file.name || 'file') as string;\n if ((maxKB && fileSizeKB > maxKB) || (minKB && fileSizeKB < minKB)) {\n errorSizeFiles.push(name);\n }\n }\n continue;\n }\n\n // 4. Web DOM File object (FormData output on web)\n if (typeof File !== 'undefined' && file instanceof File) {\n const fileSizeKB = file.size / 1024;\n if ((maxKB && fileSizeKB > maxKB) || (minKB && fileSizeKB < minKB)) {\n errorSizeFiles.push(file.name);\n }\n continue;\n }\n\n // Unknown shape — reject\n return createError({path, message: 'Items must be valid Files, URLs, or uploaded file objects.'});\n }\n\n if (errorSizeFiles.length > 0) {\n return createError({\n path,\n message: `Files (${errorSizeFiles.join(', ')}) are outside the size limitations.`\n });\n }\n\n return true;\n });\n};\n\n/**\n * Recursively checks for duplicate field IDs at each level of the element tree.\n * Throws an error if a duplicate is found.\n * @param fields The array of elements to check.\n */\nexport const checkNameDuplication = (fields: IFormElement<any>[]) => {\n const formNames: string[] = [];\n\n fields.forEach((item) => {\n const itemId = item.id as string;\n if (formNames.includes(itemId)) {\n throw new Error(`Field ID conflict: The ID \"${itemId}\" is duplicated. Field IDs must be unique within their nesting level.`);\n }\n if (!(\"displayOnly\" in item) || !item.displayOnly) {\n formNames.push(itemId);\n }\n // Recursively check Group, Object, and Combined types.\n if ((item.type === \"Group\" || item.type === \"Object\" || item.type === \"Combined\") && 'elements' in item) {\n const elements = item.elements;\n if (typeof elements == 'function') {\n // checkNameDuplication(elements([], [], {} as ) as IFormElement<any>[]);\n\n } else {\n checkNameDuplication(elements);\n }\n }\n });\n};\n\n\n/**\n * Recursively builds the initial `defaultValues` object for react-hook-form.\n * @param fields The array of elements to process.\n * @returns An object with the form's default values.\n */\nexport const getDefaultValues = (fields: IFormElement<any>[]): Record<string, any> => {\n const defaultFormValues: FieldValues = {};\n\n // console.log({fields})\n fields.forEach((element) => {\n const elementId = element.id as string;\n if (\"displayOnly\" in element && element.displayOnly) return;\n\n // Handle Combined — register child defaults at top level and set parent initial value\n if (element.type === \"Combined\" && 'elements' in element) {\n const childElements = element.elements;\n if (Array.isArray(childElements)) {\n const childDefaults = getDefaultValues(childElements);\n Object.assign(defaultFormValues, childDefaults);\n }\n if (\"initialValue\" in element && element.initialValue !== undefined) {\n defaultFormValues[elementId] = element.initialValue;\n }\n return;\n }\n\n // Handle nested structures first\n if ((element.type === \"Group\" || element.type === \"Object\") && 'elements' in element) {\n const elements = element.elements;\n if (typeof elements == 'function') {\n // checkNameDuplication(elements([], [], {} as ) as IFormElement<any>[]);\n\n } else {\n defaultFormValues[elementId] = getDefaultValues(elements);\n }\n // For Groups: use initialValue (array of row objects) if provided,\n // otherwise default to empty array so useFieldArray starts with 0 rows.\n if (element.type === \"Group\") {\n if (\"initialValue\" in element && Array.isArray(element.initialValue) && element.initialValue.length > 0) {\n defaultFormValues[elementId] = element.initialValue;\n } else {\n defaultFormValues[elementId] = [];\n }\n }\n return;\n }\n\n // Handle specific types with special initial value logic\n if (element.type === \"File\" || element.type === \"Image\") {\n const initialUri = (element as any).initialUri;\n const limit = (element as any).multiple ? ((element as any).limit ?? 1) : 1;\n if (Array.isArray(initialUri)) {\n const filtered = initialUri.slice(0, limit).filter(isValidURL);\n if (filtered.length > 0) {\n defaultFormValues[elementId] = filtered;\n }\n } else if (isValidURL(initialUri as string)) {\n defaultFormValues[elementId] = [initialUri];\n }\n return;\n }\n\n if (element.type === \"Tags\" && element.initialValue === undefined) {\n if ((element as any).isMultiple) {\n defaultFormValues[elementId] = [];\n }\n return;\n }\n\n // Handle standard initialValue\n if (\"initialValue\" in element && element.initialValue !== undefined) {\n defaultFormValues[elementId] = element.initialValue;\n }\n });\n\n return defaultFormValues;\n};\n\n\n/**\n * Recursively collects the IDs of all child elements inside Combined elements.\n * These IDs are internal to the Combined and should not appear in the form's output data.\n */\nexport const getCombinedChildIds = (fields: IFormElement<any>[]): Set<string> => {\n const childIds = new Set<string>();\n\n fields.forEach((element) => {\n if (element.type === \"Combined\" && 'elements' in element) {\n const children = element.elements;\n if (Array.isArray(children)) {\n children.forEach(child => childIds.add(child.id as string));\n }\n }\n // Recurse into Group/Object to find nested Combined elements\n if ((element.type === \"Group\" || element.type === \"Object\") && 'elements' in element) {\n const nested = element.elements;\n if (typeof nested !== 'function') {\n const nestedIds = getCombinedChildIds(nested);\n nestedIds.forEach(id => childIds.add(id));\n }\n }\n });\n\n return childIds;\n};\n"],"names":["yup"],"mappings":"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"}
|