@verbb/plugin-kit-react 1.0.10 → 2.0.1
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/CHANGELOG.md +13 -0
- package/README.md +91 -16
- package/dist/app/PluginKitProvider.d.ts +28 -0
- package/dist/app/PluginKitProvider.d.ts.map +1 -0
- package/dist/app/PluginKitProvider.js +39 -0
- package/dist/app/PluginKitProvider.js.map +1 -0
- package/dist/app/configure.d.ts +29 -0
- package/dist/app/configure.d.ts.map +1 -0
- package/dist/app/configure.js +35 -0
- package/dist/app/configure.js.map +1 -0
- package/dist/app/index.d.ts +5 -0
- package/dist/app/index.d.ts.map +1 -0
- package/dist/app/index.js +5 -0
- package/dist/app/mountShadowApp.d.ts +6 -0
- package/dist/app/mountShadowApp.d.ts.map +1 -0
- package/dist/app/mountShadowApp.js +2 -0
- package/dist/components/Button.d.ts +26 -25
- package/dist/components/Button.d.ts.map +1 -1
- package/dist/components/Button.js +34 -141
- package/dist/components/Button.js.map +1 -1
- package/dist/components/ButtonGroup.d.ts +15 -10
- package/dist/components/ButtonGroup.d.ts.map +1 -1
- package/dist/components/ButtonGroup.js +24 -54
- package/dist/components/ButtonGroup.js.map +1 -1
- package/dist/components/Calendar.d.ts +17 -10
- package/dist/components/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar.js +17 -129
- package/dist/components/Calendar.js.map +1 -1
- package/dist/components/Checkbox.d.ts +27 -4
- package/dist/components/Checkbox.d.ts.map +1 -1
- package/dist/components/Checkbox.js +37 -34
- package/dist/components/Checkbox.js.map +1 -1
- package/dist/components/CheckboxInput.d.ts +10 -10
- package/dist/components/CheckboxInput.d.ts.map +1 -1
- package/dist/components/CheckboxInput.js +30 -10
- package/dist/components/CheckboxInput.js.map +1 -1
- package/dist/components/CheckboxSelect.d.ts +18 -17
- package/dist/components/CheckboxSelect.d.ts.map +1 -1
- package/dist/components/CheckboxSelect.js +30 -58
- package/dist/components/CheckboxSelect.js.map +1 -1
- package/dist/components/CodeEditor.d.ts +16 -10
- package/dist/components/CodeEditor.d.ts.map +1 -1
- package/dist/components/CodeEditor.js +32 -71
- package/dist/components/CodeEditor.js.map +1 -1
- package/dist/components/ColorInput.d.ts +25 -12
- package/dist/components/ColorInput.d.ts.map +1 -1
- package/dist/components/ColorInput.js +42 -142
- package/dist/components/ColorInput.js.map +1 -1
- package/dist/components/Combobox.d.ts +31 -39
- package/dist/components/Combobox.d.ts.map +1 -1
- package/dist/components/Combobox.js +47 -385
- package/dist/components/Combobox.js.map +1 -1
- package/dist/components/ComboboxInput.d.ts +34 -17
- package/dist/components/ComboboxInput.d.ts.map +1 -1
- package/dist/components/ComboboxInput.js +81 -161
- package/dist/components/ComboboxInput.js.map +1 -1
- package/dist/components/CopyButton.d.ts +12 -8
- package/dist/components/CopyButton.d.ts.map +1 -1
- package/dist/components/CopyButton.js +15 -36
- package/dist/components/CopyButton.js.map +1 -1
- package/dist/components/DatePicker.d.ts +28 -7
- package/dist/components/DatePicker.d.ts.map +1 -1
- package/dist/components/DatePicker.js +82 -53
- package/dist/components/DatePicker.js.map +1 -1
- package/dist/components/Dialog.d.ts +20 -20
- package/dist/components/Dialog.d.ts.map +1 -1
- package/dist/components/Dialog.js +50 -175
- package/dist/components/Dialog.js.map +1 -1
- package/dist/components/DropdownMenu.d.ts +39 -46
- package/dist/components/DropdownMenu.d.ts.map +1 -1
- package/dist/components/DropdownMenu.js +40 -232
- package/dist/components/DropdownMenu.js.map +1 -1
- package/dist/components/EditableTable.d.ts +82 -27
- package/dist/components/EditableTable.d.ts.map +1 -1
- package/dist/components/EditableTable.js +183 -133
- package/dist/components/EditableTable.js.map +1 -1
- package/dist/components/Field.d.ts +13 -0
- package/dist/components/Field.d.ts.map +1 -0
- package/dist/components/Field.js +32 -0
- package/dist/components/Field.js.map +1 -0
- package/dist/components/Icon.d.ts +7 -0
- package/dist/components/Icon.d.ts.map +1 -0
- package/dist/components/Icon.js +15 -0
- package/dist/components/Icon.js.map +1 -0
- package/dist/components/Input.d.ts +20 -8
- package/dist/components/Input.d.ts.map +1 -1
- package/dist/components/Input.js +37 -34
- package/dist/components/Input.js.map +1 -1
- package/dist/components/InputGroup.d.ts +39 -19
- package/dist/components/InputGroup.d.ts.map +1 -1
- package/dist/components/InputGroup.js +83 -102
- package/dist/components/InputGroup.js.map +1 -1
- package/dist/components/Lightswitch.d.ts +15 -8
- package/dist/components/Lightswitch.d.ts.map +1 -1
- package/dist/components/Lightswitch.js +22 -47
- package/dist/components/Lightswitch.js.map +1 -1
- package/dist/components/Popover.d.ts +23 -11
- package/dist/components/Popover.d.ts.map +1 -1
- package/dist/components/Popover.js +46 -65
- package/dist/components/Popover.js.map +1 -1
- package/dist/components/Popup.d.ts +14 -0
- package/dist/components/Popup.d.ts.map +1 -0
- package/dist/components/Popup.js +19 -0
- package/dist/components/Popup.js.map +1 -0
- package/dist/components/RadioGroup.d.ts +26 -5
- package/dist/components/RadioGroup.d.ts.map +1 -1
- package/dist/components/RadioGroup.js +56 -26
- package/dist/components/RadioGroup.js.map +1 -1
- package/dist/components/RadioGroupInput.d.ts +19 -0
- package/dist/components/RadioGroupInput.d.ts.map +1 -0
- package/dist/components/RadioGroupInput.js +35 -0
- package/dist/components/RadioGroupInput.js.map +1 -0
- package/dist/components/ScrollArea.d.ts +11 -15
- package/dist/components/ScrollArea.d.ts.map +1 -1
- package/dist/components/ScrollArea.js +11 -42
- package/dist/components/ScrollArea.js.map +1 -1
- package/dist/components/Select.d.ts +46 -22
- package/dist/components/Select.d.ts.map +1 -1
- package/dist/components/Select.js +74 -196
- package/dist/components/Select.js.map +1 -1
- package/dist/components/SelectInput.d.ts +28 -21
- package/dist/components/SelectInput.d.ts.map +1 -1
- package/dist/components/SelectInput.js +62 -76
- package/dist/components/SelectInput.js.map +1 -1
- package/dist/components/Separator.d.ts +7 -3
- package/dist/components/Separator.d.ts.map +1 -1
- package/dist/components/Separator.js +11 -13
- package/dist/components/Separator.js.map +1 -1
- package/dist/components/Spinner.d.ts +12 -8
- package/dist/components/Spinner.d.ts.map +1 -1
- package/dist/components/Spinner.js +15 -34
- package/dist/components/Spinner.js.map +1 -1
- package/dist/components/Status.d.ts +7 -7
- package/dist/components/Status.d.ts.map +1 -1
- package/dist/components/Status.js +11 -51
- package/dist/components/Status.js.map +1 -1
- package/dist/components/Tabs.d.ts +31 -7
- package/dist/components/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs.js +57 -30
- package/dist/components/Tabs.js.map +1 -1
- package/dist/components/Textarea.d.ts +18 -7
- package/dist/components/Textarea.d.ts.map +1 -1
- package/dist/components/Textarea.js +33 -18
- package/dist/components/Textarea.js.map +1 -1
- package/dist/components/TimePicker.d.ts +18 -8
- package/dist/components/TimePicker.d.ts.map +1 -1
- package/dist/components/TimePicker.js +38 -36
- package/dist/components/TimePicker.js.map +1 -1
- package/dist/components/Tiptap.d.ts +43 -0
- package/dist/components/Tiptap.d.ts.map +1 -0
- package/dist/components/Tiptap.js +96 -0
- package/dist/components/Tiptap.js.map +1 -0
- package/dist/components/Toggle.d.ts +13 -8
- package/dist/components/Toggle.d.ts.map +1 -1
- package/dist/components/Toggle.js +13 -42
- package/dist/components/Toggle.js.map +1 -1
- package/dist/components/ToggleGroup.d.ts +11 -10
- package/dist/components/ToggleGroup.d.ts.map +1 -1
- package/dist/components/ToggleGroup.js +11 -65
- package/dist/components/ToggleGroup.js.map +1 -1
- package/dist/components/Tooltip.d.ts +18 -8
- package/dist/components/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip.js +18 -47
- package/dist/components/Tooltip.js.map +1 -1
- package/dist/components/index.d.ts +37 -45
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +35 -43
- package/dist/fault/AppFaultBoundary.d.ts +18 -0
- package/dist/fault/AppFaultBoundary.d.ts.map +1 -0
- package/dist/fault/AppFaultBoundary.js +24 -0
- package/dist/fault/AppFaultBoundary.js.map +1 -0
- package/dist/fault/AppFaultProvider.d.ts +43 -0
- package/dist/fault/AppFaultProvider.d.ts.map +1 -0
- package/dist/fault/AppFaultProvider.js +192 -0
- package/dist/fault/AppFaultProvider.js.map +1 -0
- package/dist/fault/FaultFallback.d.ts +16 -0
- package/dist/fault/FaultFallback.d.ts.map +1 -0
- package/dist/fault/FaultFallback.js +67 -0
- package/dist/fault/FaultFallback.js.map +1 -0
- package/dist/fault/buildSupportBundle.d.ts +3 -0
- package/dist/fault/buildSupportBundle.d.ts.map +1 -0
- package/dist/fault/buildSupportBundle.js +22 -0
- package/dist/fault/buildSupportBundle.js.map +1 -0
- package/dist/fault/index.d.ts +8 -0
- package/dist/fault/index.d.ts.map +1 -0
- package/dist/fault/index.js +7 -0
- package/dist/fault/isIgnorableGlobalError.d.ts +3 -0
- package/dist/fault/isIgnorableGlobalError.d.ts.map +1 -0
- package/dist/fault/isIgnorableGlobalError.js +14 -0
- package/dist/fault/isIgnorableGlobalError.js.map +1 -0
- package/dist/fault/types.d.ts +18 -0
- package/dist/fault/types.d.ts.map +1 -0
- package/dist/fault/useUiWatchdog.d.ts +13 -0
- package/dist/fault/useUiWatchdog.d.ts.map +1 -0
- package/dist/fault/useUiWatchdog.js +38 -0
- package/dist/fault/useUiWatchdog.js.map +1 -0
- package/dist/forms/Field.d.ts +19 -31
- package/dist/forms/Field.d.ts.map +1 -1
- package/dist/forms/Field.js +28 -164
- package/dist/forms/Field.js.map +1 -1
- package/dist/forms/SchemaFormEngine.d.ts +5 -4
- package/dist/forms/SchemaFormEngine.d.ts.map +1 -1
- package/dist/forms/SchemaFormEngine.js +36 -16
- package/dist/forms/SchemaFormEngine.js.map +1 -1
- package/dist/forms/SchemaFormFieldNode.d.ts +13 -0
- package/dist/forms/SchemaFormFieldNode.d.ts.map +1 -0
- package/dist/forms/SchemaFormFieldNode.js +48 -0
- package/dist/forms/SchemaFormFieldNode.js.map +1 -0
- package/dist/forms/assertSchemaRegistry.d.ts +18 -0
- package/dist/forms/assertSchemaRegistry.d.ts.map +1 -0
- package/dist/forms/assertSchemaRegistry.js +71 -0
- package/dist/forms/assertSchemaRegistry.js.map +1 -0
- package/dist/forms/builtin-field-loaders.d.ts +11 -0
- package/dist/forms/builtin-field-loaders.d.ts.map +1 -0
- package/dist/forms/builtin-field-loaders.js +31 -0
- package/dist/forms/builtin-field-loaders.js.map +1 -0
- package/dist/forms/components/FieldWrap.d.ts +7 -1
- package/dist/forms/components/FieldWrap.d.ts.map +1 -1
- package/dist/forms/components/FieldWrap.js +17 -23
- package/dist/forms/components/FieldWrap.js.map +1 -1
- package/dist/forms/components/ModalTabs.d.ts +28 -13
- package/dist/forms/components/ModalTabs.d.ts.map +1 -1
- package/dist/forms/components/ModalTabs.js +99 -30
- package/dist/forms/components/ModalTabs.js.map +1 -1
- package/dist/forms/components/index.d.ts +3 -2
- package/dist/forms/components/index.d.ts.map +1 -1
- package/dist/forms/components/schemaErrors.d.ts +5 -0
- package/dist/forms/components/schemaErrors.d.ts.map +1 -0
- package/dist/forms/components/schemaErrors.js +34 -0
- package/dist/forms/components/schemaErrors.js.map +1 -0
- package/dist/forms/datetime.d.ts +12 -0
- package/dist/forms/datetime.d.ts.map +1 -0
- package/dist/forms/datetime.js +34 -0
- package/dist/forms/datetime.js.map +1 -0
- package/dist/forms/engine/context.d.ts +4 -19
- package/dist/forms/engine/context.d.ts.map +1 -1
- package/dist/forms/engine/context.js.map +1 -1
- package/dist/forms/fields/CheckboxSelectField.d.ts +3 -3
- package/dist/forms/fields/CheckboxSelectField.d.ts.map +1 -1
- package/dist/forms/fields/CheckboxSelectField.js +1 -3
- package/dist/forms/fields/CheckboxSelectField.js.map +1 -1
- package/dist/forms/fields/CodeEditorField.d.ts +3 -3
- package/dist/forms/fields/CodeEditorField.d.ts.map +1 -1
- package/dist/forms/fields/CodeEditorField.js +7 -7
- package/dist/forms/fields/CodeEditorField.js.map +1 -1
- package/dist/forms/fields/ColorField.d.ts +1 -1
- package/dist/forms/fields/ColorField.d.ts.map +1 -1
- package/dist/forms/fields/ColorField.js +4 -5
- package/dist/forms/fields/ColorField.js.map +1 -1
- package/dist/forms/fields/ComboboxField.d.ts +4 -5
- package/dist/forms/fields/ComboboxField.d.ts.map +1 -1
- package/dist/forms/fields/ComboboxField.js +2 -5
- package/dist/forms/fields/ComboboxField.js.map +1 -1
- package/dist/forms/fields/DateTimeField.d.ts +1 -1
- package/dist/forms/fields/DateTimeField.d.ts.map +1 -1
- package/dist/forms/fields/DateTimeField.js +22 -18
- package/dist/forms/fields/DateTimeField.js.map +1 -1
- package/dist/forms/fields/GroupField.d.ts +2 -2
- package/dist/forms/fields/GroupField.d.ts.map +1 -1
- package/dist/forms/fields/GroupField.js +0 -1
- package/dist/forms/fields/GroupField.js.map +1 -1
- package/dist/forms/fields/LightswitchField.d.ts +1 -1
- package/dist/forms/fields/LightswitchField.d.ts.map +1 -1
- package/dist/forms/fields/LightswitchField.js +2 -6
- package/dist/forms/fields/LightswitchField.js.map +1 -1
- package/dist/forms/fields/NumberField.d.ts +1 -1
- package/dist/forms/fields/NumberField.d.ts.map +1 -1
- package/dist/forms/fields/NumberField.js +4 -5
- package/dist/forms/fields/NumberField.js.map +1 -1
- package/dist/forms/fields/RadioGroupField.d.ts +2 -2
- package/dist/forms/fields/RadioGroupField.d.ts.map +1 -1
- package/dist/forms/fields/RadioGroupField.js +14 -39
- package/dist/forms/fields/RadioGroupField.js.map +1 -1
- package/dist/forms/fields/SelectField.d.ts +2 -2
- package/dist/forms/fields/SelectField.d.ts.map +1 -1
- package/dist/forms/fields/SelectField.js +1 -2
- package/dist/forms/fields/SelectField.js.map +1 -1
- package/dist/forms/fields/TextField.d.ts +1 -1
- package/dist/forms/fields/TextField.d.ts.map +1 -1
- package/dist/forms/fields/TextField.js +3 -4
- package/dist/forms/fields/TextField.js.map +1 -1
- package/dist/forms/fields/TextareaField.d.ts +1 -1
- package/dist/forms/fields/TextareaField.d.ts.map +1 -1
- package/dist/forms/fields/TextareaField.js +3 -5
- package/dist/forms/fields/TextareaField.js.map +1 -1
- package/dist/forms/index.d.ts +12 -7
- package/dist/forms/index.d.ts.map +1 -1
- package/dist/forms/index.js +9 -7
- package/dist/forms/registry.d.ts +4 -1
- package/dist/forms/registry.d.ts.map +1 -1
- package/dist/forms/registry.js +18 -50
- package/dist/forms/registry.js.map +1 -1
- package/dist/forms/useEngineField.d.ts +1 -1
- package/dist/forms/useEngineField.d.ts.map +1 -1
- package/dist/forms/useEngineField.js.map +1 -1
- package/dist/forms/utils.d.ts +6 -0
- package/dist/forms/utils.d.ts.map +1 -0
- package/dist/forms/utils.js +14 -0
- package/dist/forms/utils.js.map +1 -0
- package/dist/hooks/index.d.ts +1 -2
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -2
- package/dist/hooks/useTranslation.d.ts +2 -1
- package/dist/hooks/useTranslation.d.ts.map +1 -1
- package/dist/hooks/useTranslation.js +3 -5
- package/dist/hooks/useTranslation.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -2
- package/dist/utils/cn.d.ts +4 -0
- package/dist/utils/cn.d.ts.map +1 -0
- package/dist/utils/cn.js +11 -0
- package/dist/utils/cn.js.map +1 -0
- package/dist/utils/craftHostBridge.d.ts +3 -2
- package/dist/utils/craftHostBridge.d.ts.map +1 -1
- package/dist/utils/craftHostBridge.js +1 -0
- package/dist/utils/craftHostBridge.js.map +1 -1
- package/dist/utils/create-plugin-kit-component.d.ts +16 -0
- package/dist/utils/create-plugin-kit-component.d.ts.map +1 -0
- package/dist/utils/create-plugin-kit-component.js +97 -0
- package/dist/utils/create-plugin-kit-component.js.map +1 -0
- package/dist/utils/index.d.ts +8 -19
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +7 -74
- package/dist/utils/isHostEvent.d.ts +7 -0
- package/dist/utils/isHostEvent.d.ts.map +1 -0
- package/dist/utils/isHostEvent.js +13 -0
- package/dist/utils/isHostEvent.js.map +1 -0
- package/dist/utils/lit-react-booleans.d.ts +9 -0
- package/dist/utils/lit-react-booleans.d.ts.map +1 -0
- package/dist/utils/lit-react-booleans.js +17 -0
- package/dist/utils/lit-react-booleans.js.map +1 -0
- package/dist/utils/pk-change.d.ts +5 -0
- package/dist/utils/pk-change.d.ts.map +1 -0
- package/dist/utils/pk-change.js +13 -0
- package/dist/utils/pk-change.js.map +1 -0
- package/package.json +34 -80
- package/style.css +16 -0
- package/tailwind-preflight-scope.css +28 -0
- package/tailwind-theme.css +245 -0
- package/vite-dev.mjs +22 -2
- package/dist/_virtual/_rolldown/runtime.js +0 -34
- package/dist/components/Command.d.ts +0 -26
- package/dist/components/Command.d.ts.map +0 -1
- package/dist/components/Command.js +0 -94
- package/dist/components/Command.js.map +0 -1
- package/dist/components/FadeIn.d.ts +0 -12
- package/dist/components/FadeIn.d.ts.map +0 -1
- package/dist/components/FadeIn.js +0 -24
- package/dist/components/FadeIn.js.map +0 -1
- package/dist/components/Label.d.ts +0 -4
- package/dist/components/Label.d.ts.map +0 -1
- package/dist/components/Label.js +0 -15
- package/dist/components/Label.js.map +0 -1
- package/dist/components/Markdown.d.ts +0 -11
- package/dist/components/Markdown.d.ts.map +0 -1
- package/dist/components/Markdown.js +0 -46
- package/dist/components/Markdown.js.map +0 -1
- package/dist/components/MenuButton.d.ts +0 -40
- package/dist/components/MenuButton.d.ts.map +0 -1
- package/dist/components/MenuButton.js +0 -122
- package/dist/components/MenuButton.js.map +0 -1
- package/dist/components/ModalTabs.d.ts +0 -8
- package/dist/components/ModalTabs.d.ts.map +0 -1
- package/dist/components/ModalTabs.js +0 -37
- package/dist/components/ModalTabs.js.map +0 -1
- package/dist/components/PaneTabs.d.ts +0 -8
- package/dist/components/PaneTabs.d.ts.map +0 -1
- package/dist/components/PaneTabs.js +0 -37
- package/dist/components/PaneTabs.js.map +0 -1
- package/dist/components/SlideUp.d.ts +0 -12
- package/dist/components/SlideUp.d.ts.map +0 -1
- package/dist/components/SlideUp.js +0 -36
- package/dist/components/SlideUp.js.map +0 -1
- package/dist/components/Slot.d.ts +0 -6
- package/dist/components/Slot.d.ts.map +0 -1
- package/dist/components/Slot.js +0 -52
- package/dist/components/Slot.js.map +0 -1
- package/dist/components/Table.d.ts +0 -10
- package/dist/components/Table.d.ts.map +0 -1
- package/dist/components/Table.js +0 -64
- package/dist/components/Table.js.map +0 -1
- package/dist/components/TiptapContent.d.ts +0 -9
- package/dist/components/TiptapContent.d.ts.map +0 -1
- package/dist/components/TiptapContent.js +0 -43
- package/dist/components/TiptapContent.js.map +0 -1
- package/dist/components/TiptapEditor.d.ts +0 -43
- package/dist/components/TiptapEditor.d.ts.map +0 -1
- package/dist/components/TiptapEditor.js +0 -573
- package/dist/components/TiptapEditor.js.map +0 -1
- package/dist/components/TiptapInput.d.ts +0 -20
- package/dist/components/TiptapInput.d.ts.map +0 -1
- package/dist/components/TiptapInput.js +0 -140
- package/dist/components/TiptapInput.js.map +0 -1
- package/dist/components/VirtualizedScrollArea.d.ts +0 -25
- package/dist/components/VirtualizedScrollArea.d.ts.map +0 -1
- package/dist/components/VirtualizedScrollArea.js +0 -80
- package/dist/components/VirtualizedScrollArea.js.map +0 -1
- package/dist/components/editable-table/RowDataCells.d.ts +0 -3
- package/dist/components/editable-table/RowDataCells.d.ts.map +0 -1
- package/dist/components/editable-table/RowDataCells.js +0 -33
- package/dist/components/editable-table/RowDataCells.js.map +0 -1
- package/dist/components/editable-table/TableCell.d.ts +0 -13
- package/dist/components/editable-table/TableCell.d.ts.map +0 -1
- package/dist/components/editable-table/TableCell.js +0 -415
- package/dist/components/editable-table/TableCell.js.map +0 -1
- package/dist/components/editable-table/TableRow.d.ts +0 -3
- package/dist/components/editable-table/TableRow.d.ts.map +0 -1
- package/dist/components/editable-table/TableRow.js +0 -166
- package/dist/components/editable-table/TableRow.js.map +0 -1
- package/dist/components/editable-table/helpers.d.ts +0 -12
- package/dist/components/editable-table/helpers.d.ts.map +0 -1
- package/dist/components/editable-table/helpers.js +0 -23
- package/dist/components/editable-table/helpers.js.map +0 -1
- package/dist/components/editable-table/index.d.ts +0 -4
- package/dist/components/editable-table/index.d.ts.map +0 -1
- package/dist/components/editable-table/index.js +0 -4
- package/dist/components/editable-table/types.d.ts +0 -55
- package/dist/components/editable-table/types.d.ts.map +0 -1
- package/dist/components/editable-table/types.js +0 -0
- package/dist/components/editable-table/useEditableTableCellChange.d.ts +0 -17
- package/dist/components/editable-table/useEditableTableCellChange.d.ts.map +0 -1
- package/dist/components/editable-table/useEditableTableCellChange.js +0 -152
- package/dist/components/editable-table/useEditableTableCellChange.js.map +0 -1
- package/dist/components/editable-table/useEditableTableDnd.d.ts +0 -18
- package/dist/components/editable-table/useEditableTableDnd.d.ts.map +0 -1
- package/dist/components/editable-table/useEditableTableDnd.js +0 -55
- package/dist/components/editable-table/useEditableTableDnd.js.map +0 -1
- package/dist/components/editable-table/useEditableTableRows.d.ts +0 -17
- package/dist/components/editable-table/useEditableTableRows.d.ts.map +0 -1
- package/dist/components/editable-table/useEditableTableRows.js +0 -108
- package/dist/components/editable-table/useEditableTableRows.js.map +0 -1
- package/dist/components/tiptap/InlineVariablePickerPopover.d.ts +0 -24
- package/dist/components/tiptap/InlineVariablePickerPopover.d.ts.map +0 -1
- package/dist/components/tiptap/InlineVariablePickerPopover.js +0 -63
- package/dist/components/tiptap/InlineVariablePickerPopover.js.map +0 -1
- package/dist/components/tiptap/InsertLinkDialog.d.ts +0 -14
- package/dist/components/tiptap/InsertLinkDialog.d.ts.map +0 -1
- package/dist/components/tiptap/InsertLinkDialog.js +0 -145
- package/dist/components/tiptap/InsertLinkDialog.js.map +0 -1
- package/dist/components/tiptap/LinkBubbleMenu.d.ts +0 -10
- package/dist/components/tiptap/LinkBubbleMenu.d.ts.map +0 -1
- package/dist/components/tiptap/LinkBubbleMenu.js +0 -106
- package/dist/components/tiptap/LinkBubbleMenu.js.map +0 -1
- package/dist/components/tiptap/LinkDropdown.d.ts +0 -53
- package/dist/components/tiptap/LinkDropdown.d.ts.map +0 -1
- package/dist/components/tiptap/LinkDropdown.js +0 -155
- package/dist/components/tiptap/LinkDropdown.js.map +0 -1
- package/dist/components/tiptap/VariableCommandList.d.ts +0 -37
- package/dist/components/tiptap/VariableCommandList.d.ts.map +0 -1
- package/dist/components/tiptap/VariableCommandList.js +0 -166
- package/dist/components/tiptap/VariableCommandList.js.map +0 -1
- package/dist/components/tiptap/VariableDropdown.d.ts +0 -40
- package/dist/components/tiptap/VariableDropdown.d.ts.map +0 -1
- package/dist/components/tiptap/VariableDropdown.js +0 -121
- package/dist/components/tiptap/VariableDropdown.js.map +0 -1
- package/dist/components/tiptap/VariablePickerContext.d.ts +0 -58
- package/dist/components/tiptap/VariablePickerContext.d.ts.map +0 -1
- package/dist/components/tiptap/VariablePickerContext.js +0 -34
- package/dist/components/tiptap/VariablePickerContext.js.map +0 -1
- package/dist/components/tiptap/VariableTag.d.ts +0 -6
- package/dist/components/tiptap/VariableTag.d.ts.map +0 -1
- package/dist/components/tiptap/VariableTag.js +0 -153
- package/dist/components/tiptap/VariableTag.js.map +0 -1
- package/dist/components/tiptap/VariableTagView.d.ts +0 -3
- package/dist/components/tiptap/VariableTagView.d.ts.map +0 -1
- package/dist/components/tiptap/VariableTagView.js +0 -584
- package/dist/components/tiptap/VariableTagView.js.map +0 -1
- package/dist/components/tiptap/VariableTransformControls.d.ts +0 -37
- package/dist/components/tiptap/VariableTransformControls.d.ts.map +0 -1
- package/dist/components/tiptap/VariableTransformControls.js +0 -157
- package/dist/components/tiptap/VariableTransformControls.js.map +0 -1
- package/dist/components/tiptap/editorConfig.d.ts +0 -15
- package/dist/components/tiptap/editorConfig.d.ts.map +0 -1
- package/dist/components/tiptap/editorConfig.js +0 -191
- package/dist/components/tiptap/editorConfig.js.map +0 -1
- package/dist/components/tiptap/useInlineVariablePicker.d.ts +0 -34
- package/dist/components/tiptap/useInlineVariablePicker.d.ts.map +0 -1
- package/dist/components/tiptap/useInlineVariablePicker.js +0 -240
- package/dist/components/tiptap/useInlineVariablePicker.js.map +0 -1
- package/dist/components/tiptap/useVariablePicker.d.ts +0 -28
- package/dist/components/tiptap/useVariablePicker.d.ts.map +0 -1
- package/dist/components/tiptap/useVariablePicker.js +0 -122
- package/dist/components/tiptap/useVariablePicker.js.map +0 -1
- package/dist/components/tiptap/variablePickerUtils.d.ts +0 -11
- package/dist/components/tiptap/variablePickerUtils.d.ts.map +0 -1
- package/dist/components/tiptap/variablePickerUtils.js +0 -63
- package/dist/components/tiptap/variablePickerUtils.js.map +0 -1
- package/dist/components/tiptap/variableSerialization.d.ts +0 -53
- package/dist/components/tiptap/variableSerialization.d.ts.map +0 -1
- package/dist/components/tiptap/variableSerialization.js +0 -291
- package/dist/components/tiptap/variableSerialization.js.map +0 -1
- package/dist/css/core.css +0 -288
- package/dist/css/style.css +0 -295
- package/dist/forms/TranslationIcon.d.ts +0 -5
- package/dist/forms/TranslationIcon.d.ts.map +0 -1
- package/dist/forms/TranslationIcon.js +0 -18
- package/dist/forms/TranslationIcon.js.map +0 -1
- package/dist/forms/components/index.js +0 -3
- package/dist/forms/contexts/VariableCategoriesContext.d.ts +0 -19
- package/dist/forms/contexts/VariableCategoriesContext.d.ts.map +0 -1
- package/dist/forms/contexts/VariableCategoriesContext.js +0 -20
- package/dist/forms/contexts/VariableCategoriesContext.js.map +0 -1
- package/dist/forms/engine/FormStateStore.d.ts +0 -24
- package/dist/forms/engine/FormStateStore.d.ts.map +0 -1
- package/dist/forms/engine/FormStateStore.js +0 -97
- package/dist/forms/engine/FormStateStore.js.map +0 -1
- package/dist/forms/engine/SchemaIndex.d.ts +0 -33
- package/dist/forms/engine/SchemaIndex.d.ts.map +0 -1
- package/dist/forms/engine/SchemaIndex.js +0 -21
- package/dist/forms/engine/SchemaIndex.js.map +0 -1
- package/dist/forms/engine/ValidationEngine.d.ts +0 -13
- package/dist/forms/engine/ValidationEngine.d.ts.map +0 -1
- package/dist/forms/engine/ValidationEngine.js +0 -156
- package/dist/forms/engine/ValidationEngine.js.map +0 -1
- package/dist/forms/engine/buildGroupedMessage.d.ts +0 -2
- package/dist/forms/engine/buildGroupedMessage.d.ts.map +0 -1
- package/dist/forms/engine/buildGroupedMessage.js +0 -20
- package/dist/forms/engine/buildGroupedMessage.js.map +0 -1
- package/dist/forms/engine/rules/email.d.ts +0 -2
- package/dist/forms/engine/rules/email.d.ts.map +0 -1
- package/dist/forms/engine/rules/email.js +0 -11
- package/dist/forms/engine/rules/email.js.map +0 -1
- package/dist/forms/engine/rules/emailOrVariable.d.ts +0 -2
- package/dist/forms/engine/rules/emailOrVariable.d.ts.map +0 -1
- package/dist/forms/engine/rules/emailOrVariable.js +0 -13
- package/dist/forms/engine/rules/emailOrVariable.js.map +0 -1
- package/dist/forms/engine/rules/handle.d.ts +0 -2
- package/dist/forms/engine/rules/handle.d.ts.map +0 -1
- package/dist/forms/engine/rules/handle.js +0 -12
- package/dist/forms/engine/rules/handle.js.map +0 -1
- package/dist/forms/engine/rules/index.d.ts +0 -9
- package/dist/forms/engine/rules/index.d.ts.map +0 -1
- package/dist/forms/engine/rules/index.js +0 -39
- package/dist/forms/engine/rules/index.js.map +0 -1
- package/dist/forms/engine/rules/max.d.ts +0 -2
- package/dist/forms/engine/rules/max.d.ts.map +0 -1
- package/dist/forms/engine/rules/max.js +0 -16
- package/dist/forms/engine/rules/max.js.map +0 -1
- package/dist/forms/engine/rules/min.d.ts +0 -2
- package/dist/forms/engine/rules/min.d.ts.map +0 -1
- package/dist/forms/engine/rules/min.js +0 -16
- package/dist/forms/engine/rules/min.js.map +0 -1
- package/dist/forms/engine/rules/required.d.ts +0 -2
- package/dist/forms/engine/rules/required.d.ts.map +0 -1
- package/dist/forms/engine/rules/required.js +0 -11
- package/dist/forms/engine/rules/required.js.map +0 -1
- package/dist/forms/engine/rules/requiredRichText.d.ts +0 -2
- package/dist/forms/engine/rules/requiredRichText.d.ts.map +0 -1
- package/dist/forms/engine/rules/requiredRichText.js +0 -11
- package/dist/forms/engine/rules/requiredRichText.js.map +0 -1
- package/dist/forms/engine/rules/requiredRules.d.ts +0 -3
- package/dist/forms/engine/rules/requiredRules.d.ts.map +0 -1
- package/dist/forms/engine/rules/requiredRules.js +0 -9
- package/dist/forms/engine/rules/requiredRules.js.map +0 -1
- package/dist/forms/engine/rules/uniqueHandle.d.ts +0 -9
- package/dist/forms/engine/rules/uniqueHandle.d.ts.map +0 -1
- package/dist/forms/engine/rules/uniqueHandle.js +0 -95
- package/dist/forms/engine/rules/uniqueHandle.js.map +0 -1
- package/dist/forms/engine/rules/utils.d.ts +0 -3
- package/dist/forms/engine/rules/utils.d.ts.map +0 -1
- package/dist/forms/engine/rules/utils.js +0 -21
- package/dist/forms/engine/rules/utils.js.map +0 -1
- package/dist/forms/fields/CalculationsField.d.ts +0 -24
- package/dist/forms/fields/CalculationsField.d.ts.map +0 -1
- package/dist/forms/fields/CalculationsField.js +0 -215
- package/dist/forms/fields/CalculationsField.js.map +0 -1
- package/dist/forms/fields/CalculationsToolbar.d.ts +0 -17
- package/dist/forms/fields/CalculationsToolbar.d.ts.map +0 -1
- package/dist/forms/fields/CalculationsToolbar.js +0 -130
- package/dist/forms/fields/CalculationsToolbar.js.map +0 -1
- package/dist/forms/fields/EditableTableField.d.ts +0 -22
- package/dist/forms/fields/EditableTableField.d.ts.map +0 -1
- package/dist/forms/fields/EditableTableField.js +0 -37
- package/dist/forms/fields/EditableTableField.js.map +0 -1
- package/dist/forms/fields/ElementSelectField.d.ts +0 -20
- package/dist/forms/fields/ElementSelectField.d.ts.map +0 -1
- package/dist/forms/fields/ElementSelectField.js +0 -215
- package/dist/forms/fields/ElementSelectField.js.map +0 -1
- package/dist/forms/fields/HandleField.d.ts +0 -20
- package/dist/forms/fields/HandleField.d.ts.map +0 -1
- package/dist/forms/fields/HandleField.js +0 -70
- package/dist/forms/fields/HandleField.js.map +0 -1
- package/dist/forms/fields/ListField.d.ts +0 -18
- package/dist/forms/fields/ListField.d.ts.map +0 -1
- package/dist/forms/fields/ListField.js +0 -52
- package/dist/forms/fields/ListField.js.map +0 -1
- package/dist/forms/fields/RichTextField.d.ts +0 -24
- package/dist/forms/fields/RichTextField.d.ts.map +0 -1
- package/dist/forms/fields/RichTextField.js +0 -53
- package/dist/forms/fields/RichTextField.js.map +0 -1
- package/dist/forms/fields/StaticTableField.d.ts +0 -34
- package/dist/forms/fields/StaticTableField.d.ts.map +0 -1
- package/dist/forms/fields/StaticTableField.js +0 -128
- package/dist/forms/fields/StaticTableField.js.map +0 -1
- package/dist/forms/fields/VariablePickerField.d.ts +0 -21
- package/dist/forms/fields/VariablePickerField.d.ts.map +0 -1
- package/dist/forms/fields/VariablePickerField.js +0 -51
- package/dist/forms/fields/VariablePickerField.js.map +0 -1
- package/dist/forms/store/element-store.d.ts +0 -11
- package/dist/forms/store/element-store.d.ts.map +0 -1
- package/dist/forms/store/element-store.js +0 -41
- package/dist/forms/store/element-store.js.map +0 -1
- package/dist/forms/useEditableTableFieldBinding.d.ts +0 -13
- package/dist/forms/useEditableTableFieldBinding.d.ts.map +0 -1
- package/dist/forms/useEditableTableFieldBinding.js +0 -91
- package/dist/forms/useEditableTableFieldBinding.js.map +0 -1
- package/dist/hooks/useKeyboardShortcuts.d.ts +0 -14
- package/dist/hooks/useKeyboardShortcuts.d.ts.map +0 -1
- package/dist/hooks/useKeyboardShortcuts.js +0 -67
- package/dist/hooks/useKeyboardShortcuts.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/arrayLikeToArray.js +0 -15
- package/dist/node_modules/@babel/runtime/helpers/arrayLikeToArray.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js +0 -15
- package/dist/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/classCallCheck.js +0 -13
- package/dist/node_modules/@babel/runtime/helpers/classCallCheck.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/createClass.js +0 -21
- package/dist/node_modules/@babel/runtime/helpers/createClass.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/defineProperty.js +0 -20
- package/dist/node_modules/@babel/runtime/helpers/defineProperty.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/interopRequireDefault.js +0 -13
- package/dist/node_modules/@babel/runtime/helpers/interopRequireDefault.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/iterableToArray.js +0 -13
- package/dist/node_modules/@babel/runtime/helpers/iterableToArray.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/nonIterableSpread.js +0 -13
- package/dist/node_modules/@babel/runtime/helpers/nonIterableSpread.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/toConsumableArray.js +0 -21
- package/dist/node_modules/@babel/runtime/helpers/toConsumableArray.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/toPrimitive.js +0 -22
- package/dist/node_modules/@babel/runtime/helpers/toPrimitive.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/toPropertyKey.js +0 -18
- package/dist/node_modules/@babel/runtime/helpers/toPropertyKey.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/typeof.js +0 -18
- package/dist/node_modules/@babel/runtime/helpers/typeof.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +0 -19
- package/dist/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js.map +0 -1
- package/dist/node_modules/jexl/dist/Expression.js +0 -84
- package/dist/node_modules/jexl/dist/Expression.js.map +0 -1
- package/dist/node_modules/jexl/dist/Jexl.js +0 -165
- package/dist/node_modules/jexl/dist/Jexl.js.map +0 -1
- package/dist/node_modules/jexl/dist/Lexer.js +0 -152
- package/dist/node_modules/jexl/dist/Lexer.js.map +0 -1
- package/dist/node_modules/jexl/dist/PromiseSync.js +0 -87
- package/dist/node_modules/jexl/dist/PromiseSync.js.map +0 -1
- package/dist/node_modules/jexl/dist/evaluator/Evaluator.js +0 -98
- package/dist/node_modules/jexl/dist/evaluator/Evaluator.js.map +0 -1
- package/dist/node_modules/jexl/dist/evaluator/handlers.js +0 -162
- package/dist/node_modules/jexl/dist/evaluator/handlers.js.map +0 -1
- package/dist/node_modules/jexl/dist/grammar.js +0 -195
- package/dist/node_modules/jexl/dist/grammar.js.map +0 -1
- package/dist/node_modules/jexl/dist/parser/Parser.js +0 -135
- package/dist/node_modules/jexl/dist/parser/Parser.js.map +0 -1
- package/dist/node_modules/jexl/dist/parser/handlers.js +0 -205
- package/dist/node_modules/jexl/dist/parser/handlers.js.map +0 -1
- package/dist/node_modules/jexl/dist/parser/states.js +0 -158
- package/dist/node_modules/jexl/dist/parser/states.js.map +0 -1
- package/dist/types/global.d.d.ts +0 -1
- package/dist/types/global.d.js +0 -0
- package/dist/utils/classes.d.ts +0 -18
- package/dist/utils/classes.d.ts.map +0 -1
- package/dist/utils/classes.js +0 -25
- package/dist/utils/classes.js.map +0 -1
- package/dist/utils/config.d.ts +0 -14
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js +0 -20
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/datetime.d.ts +0 -10
- package/dist/utils/datetime.d.ts.map +0 -1
- package/dist/utils/datetime.js +0 -60
- package/dist/utils/datetime.js.map +0 -1
- package/dist/utils/documentScrollStability.d.ts +0 -7
- package/dist/utils/documentScrollStability.d.ts.map +0 -1
- package/dist/utils/documentScrollStability.js +0 -19
- package/dist/utils/documentScrollStability.js.map +0 -1
- package/dist/utils/handle.d.ts +0 -10
- package/dist/utils/handle.d.ts.map +0 -1
- package/dist/utils/handle.js +0 -51
- package/dist/utils/handle.js.map +0 -1
- package/dist/utils/hostBridge.d.ts +0 -40
- package/dist/utils/hostBridge.d.ts.map +0 -1
- package/dist/utils/hostBridge.js +0 -35
- package/dist/utils/hostBridge.js.map +0 -1
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/portal.d.ts +0 -17
- package/dist/utils/portal.d.ts.map +0 -1
- package/dist/utils/portal.js +0 -51
- package/dist/utils/portal.js.map +0 -1
- package/dist/utils/schema.d.ts +0 -17
- package/dist/utils/schema.d.ts.map +0 -1
- package/dist/utils/schema.js +0 -56
- package/dist/utils/schema.js.map +0 -1
- package/dist/utils/schemaFieldNames.d.ts +0 -2
- package/dist/utils/schemaFieldNames.d.ts.map +0 -1
- package/dist/utils/schemaFieldNames.js +0 -16
- package/dist/utils/schemaFieldNames.js.map +0 -1
- package/dist/utils/schemaIndex.d.ts +0 -6
- package/dist/utils/schemaIndex.d.ts.map +0 -1
- package/dist/utils/schemaIndex.js +0 -31
- package/dist/utils/schemaIndex.js.map +0 -1
- package/dist/utils/schemaIndexCache.d.ts +0 -6
- package/dist/utils/schemaIndexCache.d.ts.map +0 -1
- package/dist/utils/schemaIndexCache.js +0 -32
- package/dist/utils/schemaIndexCache.js.map +0 -1
- package/dist/utils/schemaNormalize.d.ts +0 -13
- package/dist/utils/schemaNormalize.d.ts.map +0 -1
- package/dist/utils/schemaNormalize.js +0 -17
- package/dist/utils/schemaNormalize.js.map +0 -1
- package/dist/utils/store.d.ts +0 -7
- package/dist/utils/store.d.ts.map +0 -1
- package/dist/utils/store.js +0 -6
- package/dist/utils/store.js.map +0 -1
- package/dist/utils/timeOptions.d.ts +0 -6
- package/dist/utils/timeOptions.d.ts.map +0 -1
- package/dist/utils/timeOptions.js +0 -42
- package/dist/utils/timeOptions.js.map +0 -1
- package/dist/utils/tiptap.d.ts +0 -19
- package/dist/utils/tiptap.d.ts.map +0 -1
- package/dist/utils/tiptap.js +0 -92
- package/dist/utils/tiptap.js.map +0 -1
- package/dist/utils/translation.d.ts +0 -5
- package/dist/utils/translation.d.ts.map +0 -1
- package/dist/utils/translation.js +0 -25
- package/dist/utils/translation.js.map +0 -1
- package/dist/utils/validation.d.ts +0 -4
- package/dist/utils/validation.d.ts.map +0 -1
- package/dist/utils/validation.js +0 -260
- package/dist/utils/validation.js.map +0 -1
package/dist/utils/validation.js
DELETED
|
@@ -1,260 +0,0 @@
|
|
|
1
|
-
import { translate } from "./translation.js";
|
|
2
|
-
import { isRichTextEmpty } from "./tiptap.js";
|
|
3
|
-
import { isRequiredRuleName } from "../forms/engine/rules/requiredRules.js";
|
|
4
|
-
import * as v from "valibot";
|
|
5
|
-
//#region src/utils/validation.ts
|
|
6
|
-
var isRecord = (value) => {
|
|
7
|
-
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
8
|
-
};
|
|
9
|
-
var parseRules = (field) => {
|
|
10
|
-
const tokens = (typeof field.validation === "string" ? field.validation : "").split("|").map((token) => {
|
|
11
|
-
return token.trim();
|
|
12
|
-
}).filter(Boolean);
|
|
13
|
-
const hasRequiredRule = tokens.some((rule) => {
|
|
14
|
-
return rule === "required" || rule.startsWith("required");
|
|
15
|
-
});
|
|
16
|
-
if (field.required && !hasRequiredRule) tokens.unshift("required");
|
|
17
|
-
return tokens.map((token) => {
|
|
18
|
-
const [name, ...rest] = token.split(":");
|
|
19
|
-
return {
|
|
20
|
-
name,
|
|
21
|
-
args: rest.length > 0 ? rest.join(":").split(",") : []
|
|
22
|
-
};
|
|
23
|
-
});
|
|
24
|
-
};
|
|
25
|
-
var isEmptyValue = (value) => {
|
|
26
|
-
if (value === void 0 || value === null) return true;
|
|
27
|
-
if (typeof value === "string") return value === "";
|
|
28
|
-
if (Array.isArray(value)) return value.length === 0;
|
|
29
|
-
return false;
|
|
30
|
-
};
|
|
31
|
-
var getValueSize = (value) => {
|
|
32
|
-
if (typeof value === "number") return value;
|
|
33
|
-
if (typeof value === "string") {
|
|
34
|
-
const trimmed = value.trim();
|
|
35
|
-
if (trimmed !== "" && Number.isFinite(Number(trimmed))) return Number(trimmed);
|
|
36
|
-
return value.length;
|
|
37
|
-
}
|
|
38
|
-
if (Array.isArray(value)) return value.length;
|
|
39
|
-
return NaN;
|
|
40
|
-
};
|
|
41
|
-
var collectFields = (node, prefix = "", fields = []) => {
|
|
42
|
-
if (!node) return fields;
|
|
43
|
-
if (Array.isArray(node)) {
|
|
44
|
-
node.forEach((child) => {
|
|
45
|
-
return collectFields(child, prefix, fields);
|
|
46
|
-
});
|
|
47
|
-
return fields;
|
|
48
|
-
}
|
|
49
|
-
if (!isRecord(node)) return fields;
|
|
50
|
-
if (node.$field === "list" && node.name) {
|
|
51
|
-
if (node.children) collectFields(node.children, `${prefix}${node.name}.*.`, fields);
|
|
52
|
-
return fields;
|
|
53
|
-
}
|
|
54
|
-
if (node.$field === "table" && node.name) {
|
|
55
|
-
fields.push({
|
|
56
|
-
...node,
|
|
57
|
-
name: `${prefix}${node.name}`
|
|
58
|
-
});
|
|
59
|
-
if (!Array.isArray(node.columns)) return fields;
|
|
60
|
-
node.columns.forEach((column) => {
|
|
61
|
-
if (!column?.name) return;
|
|
62
|
-
if (column.type === "heading" || column.type === "label") return;
|
|
63
|
-
fields.push({
|
|
64
|
-
...column,
|
|
65
|
-
name: `${prefix}${node.name}.*.${column.name}`
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
return fields;
|
|
69
|
-
}
|
|
70
|
-
if (node.$field && node.name) fields.push({
|
|
71
|
-
...node,
|
|
72
|
-
name: `${prefix}${node.name}`
|
|
73
|
-
});
|
|
74
|
-
if (node.children) collectFields(node.children, prefix, fields);
|
|
75
|
-
return fields;
|
|
76
|
-
};
|
|
77
|
-
var collectTableDefinitions = (node, tables = {}) => {
|
|
78
|
-
if (!node) return tables;
|
|
79
|
-
if (Array.isArray(node)) {
|
|
80
|
-
node.forEach((child) => {
|
|
81
|
-
return collectTableDefinitions(child, tables);
|
|
82
|
-
});
|
|
83
|
-
return tables;
|
|
84
|
-
}
|
|
85
|
-
if (!isRecord(node)) return tables;
|
|
86
|
-
if (node.$field === "table" && node.name) {
|
|
87
|
-
const tableName = String(node.name);
|
|
88
|
-
const tableLabel = String(node.label || node.name);
|
|
89
|
-
const columns = {};
|
|
90
|
-
if (Array.isArray(node.columns)) node.columns.forEach((column) => {
|
|
91
|
-
if (!column?.name) return;
|
|
92
|
-
columns[String(column.name)] = String(column.label || column.name);
|
|
93
|
-
});
|
|
94
|
-
tables[tableName] = {
|
|
95
|
-
name: tableName,
|
|
96
|
-
label: tableLabel,
|
|
97
|
-
columns
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
if (node.children) collectTableDefinitions(node.children, tables);
|
|
101
|
-
return tables;
|
|
102
|
-
};
|
|
103
|
-
var expandWildcardPaths = (values, path) => {
|
|
104
|
-
if (!path.includes("*")) return [path];
|
|
105
|
-
const parts = path.split(".");
|
|
106
|
-
const results = [];
|
|
107
|
-
const walk = (current, index, acc) => {
|
|
108
|
-
if (index >= parts.length) {
|
|
109
|
-
results.push(acc.join("."));
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
const part = parts[index];
|
|
113
|
-
if (part === "*") {
|
|
114
|
-
if (Array.isArray(current)) current.forEach((item, idx) => {
|
|
115
|
-
walk(item, index + 1, [...acc, String(idx)]);
|
|
116
|
-
});
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
if (isRecord(current) && part in current) {
|
|
120
|
-
walk(current[part], index + 1, [...acc, part]);
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
walk(void 0, index + 1, [...acc, part]);
|
|
124
|
-
};
|
|
125
|
-
walk(values, 0, []);
|
|
126
|
-
return results;
|
|
127
|
-
};
|
|
128
|
-
var getValueAtPath = (values, path) => {
|
|
129
|
-
if (!path) return;
|
|
130
|
-
return path.split(".").reduce((current, segment) => {
|
|
131
|
-
if (current === void 0 || current === null) return;
|
|
132
|
-
return current[Array.isArray(current) ? Number(segment) : segment];
|
|
133
|
-
}, values);
|
|
134
|
-
};
|
|
135
|
-
var emailRegex = /(^$|^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$)/;
|
|
136
|
-
var variableRegex = /({.*?})/;
|
|
137
|
-
var buildFieldSchema = (field, rules) => {
|
|
138
|
-
const label = String(field.label || field.name || "");
|
|
139
|
-
const isRequired = rules.some((rule) => {
|
|
140
|
-
return isRequiredRuleName(rule.name);
|
|
141
|
-
});
|
|
142
|
-
const actions = [];
|
|
143
|
-
rules.forEach((rule) => {
|
|
144
|
-
const ruleName = rule.name;
|
|
145
|
-
const { args } = rule;
|
|
146
|
-
const maybeSkip = (value) => {
|
|
147
|
-
return !isRequired && isEmptyValue(value);
|
|
148
|
-
};
|
|
149
|
-
switch (ruleName) {
|
|
150
|
-
case "required":
|
|
151
|
-
actions.push(v.check((value) => {
|
|
152
|
-
return !isEmptyValue(value);
|
|
153
|
-
}, translate("{attribute} cannot be blank.", { attribute: label })));
|
|
154
|
-
break;
|
|
155
|
-
case "requiredRichText":
|
|
156
|
-
actions.push(v.check((value) => {
|
|
157
|
-
return !isRichTextEmpty(value);
|
|
158
|
-
}, translate("{attribute} cannot be blank.", { attribute: label })));
|
|
159
|
-
break;
|
|
160
|
-
case "email":
|
|
161
|
-
actions.push(v.check((value) => {
|
|
162
|
-
if (maybeSkip(value)) return true;
|
|
163
|
-
return emailRegex.test(String(value));
|
|
164
|
-
}, translate("{attribute} must be a valid email address.", { attribute: label })));
|
|
165
|
-
break;
|
|
166
|
-
case "emailOrVariable":
|
|
167
|
-
actions.push(v.check((value) => {
|
|
168
|
-
if (maybeSkip(value)) return true;
|
|
169
|
-
const text = String(value);
|
|
170
|
-
return variableRegex.test(text) || emailRegex.test(text);
|
|
171
|
-
}, translate("{attribute} must be a valid email address or variable.", { attribute: label })));
|
|
172
|
-
break;
|
|
173
|
-
case "min": {
|
|
174
|
-
const min = Number(args[0]);
|
|
175
|
-
actions.push(v.check((value) => {
|
|
176
|
-
if (maybeSkip(value)) return true;
|
|
177
|
-
const size = getValueSize(value);
|
|
178
|
-
return Number.isFinite(size) ? size >= min : false;
|
|
179
|
-
}, translate("{attribute} must be at least {min}.", {
|
|
180
|
-
attribute: label,
|
|
181
|
-
min: String(args[0])
|
|
182
|
-
})));
|
|
183
|
-
break;
|
|
184
|
-
}
|
|
185
|
-
case "max": {
|
|
186
|
-
const max = Number(args[0]);
|
|
187
|
-
actions.push(v.check((value) => {
|
|
188
|
-
if (maybeSkip(value)) return true;
|
|
189
|
-
const size = getValueSize(value);
|
|
190
|
-
return Number.isFinite(size) ? size <= max : false;
|
|
191
|
-
}, translate("{attribute} must be at most {max}.", {
|
|
192
|
-
attribute: label,
|
|
193
|
-
max: String(args[0])
|
|
194
|
-
})));
|
|
195
|
-
break;
|
|
196
|
-
}
|
|
197
|
-
default: break;
|
|
198
|
-
}
|
|
199
|
-
});
|
|
200
|
-
return v.pipe(v.any(), ...actions);
|
|
201
|
-
};
|
|
202
|
-
function validateFormValues(schema, values) {
|
|
203
|
-
const normalizedValues = values && typeof values === "object" ? values : {};
|
|
204
|
-
const fields = collectFields(schema);
|
|
205
|
-
if (!fields.length) return;
|
|
206
|
-
const fieldErrors = {};
|
|
207
|
-
fields.forEach((field) => {
|
|
208
|
-
if (!field?.name) return;
|
|
209
|
-
const rules = parseRules(field);
|
|
210
|
-
if (!rules.length) return;
|
|
211
|
-
const validator = buildFieldSchema(field, rules);
|
|
212
|
-
expandWildcardPaths(normalizedValues, field.name).forEach((path) => {
|
|
213
|
-
const value = getValueAtPath(normalizedValues, path);
|
|
214
|
-
const result = v.safeParse(validator, value);
|
|
215
|
-
if (result.success) return;
|
|
216
|
-
const message = (result.issues || []).map((issue) => {
|
|
217
|
-
return issue.message;
|
|
218
|
-
}).filter(Boolean)[0];
|
|
219
|
-
if (message) fieldErrors[path] = [message];
|
|
220
|
-
});
|
|
221
|
-
});
|
|
222
|
-
const tableDefinitions = collectTableDefinitions(schema);
|
|
223
|
-
const formatColumnMessage = (message, label) => {
|
|
224
|
-
const trimmed = String(message || "").trim();
|
|
225
|
-
if (!trimmed) return label;
|
|
226
|
-
const match = trimmed.match(/^.+?(\s+(?:cannot|must|is)\b.*)$/i);
|
|
227
|
-
if (match) return `${label}${match[1]}`;
|
|
228
|
-
return `${label}: ${trimmed}`;
|
|
229
|
-
};
|
|
230
|
-
Object.entries(tableDefinitions).forEach(([tableName, definition]) => {
|
|
231
|
-
const nestedKeys = Object.keys(fieldErrors).filter((key) => {
|
|
232
|
-
return key.startsWith(`${tableName}.`);
|
|
233
|
-
});
|
|
234
|
-
if (nestedKeys.length === 0) return;
|
|
235
|
-
const columnErrors = {};
|
|
236
|
-
nestedKeys.forEach((key) => {
|
|
237
|
-
const columnName = key.match(new RegExp(`^${tableName}\\.\\d+\\.(.+)$`))?.[1];
|
|
238
|
-
if (!columnName) return;
|
|
239
|
-
const messages = fieldErrors[key] || [];
|
|
240
|
-
if (!messages.length) return;
|
|
241
|
-
if (!columnErrors[columnName]) columnErrors[columnName] = [];
|
|
242
|
-
columnErrors[columnName].push(...messages);
|
|
243
|
-
});
|
|
244
|
-
const columnMessages = Object.entries(columnErrors).flatMap(([columnName, messages]) => {
|
|
245
|
-
if (!messages.length) return [];
|
|
246
|
-
const columnLabel = definition.columns[columnName] || columnName;
|
|
247
|
-
const label = `${definition.label} - ${columnLabel}`;
|
|
248
|
-
const firstMessage = Array.from(new Set(messages))[0];
|
|
249
|
-
return firstMessage ? [formatColumnMessage(firstMessage, label)] : [];
|
|
250
|
-
});
|
|
251
|
-
if (!columnMessages.length) return;
|
|
252
|
-
const merged = new Set([...fieldErrors[tableName] || [], ...columnMessages]);
|
|
253
|
-
fieldErrors[tableName] = Array.from(merged);
|
|
254
|
-
});
|
|
255
|
-
return Object.keys(fieldErrors).length > 0 ? { fields: fieldErrors } : void 0;
|
|
256
|
-
}
|
|
257
|
-
//#endregion
|
|
258
|
-
export { validateFormValues };
|
|
259
|
-
|
|
260
|
-
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","names":[],"sources":["../../src/utils/validation.ts"],"sourcesContent":["import * as v from 'valibot';\nimport { translate } from '@verbb/plugin-kit-react/utils/translation';\nimport { isRequiredRuleName } from '../forms/engine/rules/requiredRules';\nimport { isRichTextEmpty } from './tiptap';\n\n// ============================================================================\n// Valibot schema adapter\n// ============================================================================\n// We accept Laravel-style rule strings from Craft schema and turn them into\n// Valibot validation actions. This keeps the server-driven rules contract\n// while avoiding validatorjs' brittle attribute handling.\n\n// Minimal schema shape required to derive rules/labels.\ntype SchemaField = {\n name?: string;\n label?: string;\n required?: boolean;\n validation?: string;\n $field?: string;\n children?: SchemaValue;\n columns?: Array<SchemaField & { type?: string }>;\n};\n\ntype SchemaValue = SchemaField | SchemaValue[] | null | undefined;\n\nconst isRecord = (value: unknown): value is Record<string, unknown> => {\n return Boolean(value) && typeof value === 'object' && !Array.isArray(value);\n};\n\ntype RuleToken = {\n name: string;\n args: string[];\n};\n\nconst parseRules = (field: SchemaField): RuleToken[] => {\n const rawRules = typeof field.validation === 'string' ? field.validation : '';\n const tokens = rawRules\n .split('|')\n .map((token) => { return token.trim(); })\n .filter(Boolean);\n\n const hasRequiredRule = tokens.some((rule) => { return rule === 'required' || rule.startsWith('required'); });\n if (field.required && !hasRequiredRule) {\n tokens.unshift('required');\n }\n\n return tokens.map((token) => {\n const [name, ...rest] = token.split(':');\n const args = rest.length > 0 ? rest.join(':').split(',') : [];\n return { name, args };\n });\n};\n\nconst isEmptyValue = (value: unknown) => {\n if (value === undefined || value === null) {\n return true;\n }\n\n if (typeof value === 'string') {\n return value === '';\n }\n\n if (Array.isArray(value)) {\n return value.length === 0;\n }\n\n return false;\n};\n\nconst getValueSize = (value: unknown) => {\n if (typeof value === 'number') {\n return value;\n }\n\n if (typeof value === 'string') {\n const trimmed = value.trim();\n if (trimmed !== '' && Number.isFinite(Number(trimmed))) {\n return Number(trimmed);\n }\n\n return value.length;\n }\n\n if (Array.isArray(value)) {\n return value.length;\n }\n\n return NaN;\n};\n\n// Walk schema nodes and collect all fields that can be validated.\n// - list fields: expand children using wildcard paths (`list.*.field`)\n// - table fields: validate the table itself (required / min rules), then each\n// column per row (`table.*.column`)\n// - default fields: just collect as-is\nconst collectFields = (node: SchemaValue, prefix = '', fields: SchemaField[] = []) => {\n if (!node) {\n return fields;\n }\n\n if (Array.isArray(node)) {\n node.forEach((child) => { return collectFields(child, prefix, fields); });\n return fields;\n }\n\n if (!isRecord(node)) {\n return fields;\n }\n\n if (node.$field === 'list' && node.name) {\n if (node.children) {\n collectFields(node.children, `${prefix}${node.name}.*.`, fields);\n }\n return fields;\n }\n\n if (node.$field === 'table' && node.name) {\n fields.push({\n ...node,\n name: `${prefix}${node.name}`,\n });\n\n if (!Array.isArray(node.columns)) {\n return fields;\n }\n\n node.columns.forEach((column: SchemaField & { type?: string }) => {\n if (!column?.name) {\n return;\n }\n\n if (column.type === 'heading' || column.type === 'label') {\n return;\n }\n\n fields.push({\n ...column,\n name: `${prefix}${node.name}.*.${column.name}`,\n });\n });\n\n return fields;\n }\n\n if (node.$field && node.name) {\n fields.push({\n ...node,\n name: `${prefix}${node.name}`,\n });\n }\n\n if (node.children) {\n collectFields(node.children, prefix, fields);\n }\n\n return fields;\n};\n\ntype TableDefinition = {\n name: string;\n label: string;\n columns: Record<string, string>;\n};\n\nconst collectTableDefinitions = (\n node: SchemaValue,\n tables: Record<string, TableDefinition> = {},\n): Record<string, TableDefinition> => {\n if (!node) {\n return tables;\n }\n\n if (Array.isArray(node)) {\n node.forEach((child) => { return collectTableDefinitions(child, tables); });\n return tables;\n }\n\n if (!isRecord(node)) {\n return tables;\n }\n\n if (node.$field === 'table' && node.name) {\n const tableName = String(node.name);\n const tableLabel = String(node.label || node.name);\n const columns: Record<string, string> = {};\n\n if (Array.isArray(node.columns)) {\n node.columns.forEach((column) => {\n if (!column?.name) {\n return;\n }\n\n columns[String(column.name)] = String(column.label || column.name);\n });\n }\n\n tables[tableName] = {\n name: tableName,\n label: tableLabel,\n columns,\n };\n }\n\n if (node.children) {\n collectTableDefinitions(node.children, tables);\n }\n\n return tables;\n};\n\nconst expandWildcardPaths = (values: Record<string, unknown>, path: string) => {\n if (!path.includes('*')) {\n return [path];\n }\n\n const parts = path.split('.');\n const results: string[] = [];\n\n const walk = (current: unknown, index: number, acc: string[]) => {\n if (index >= parts.length) {\n results.push(acc.join('.'));\n return;\n }\n\n const part = parts[index];\n if (part === '*') {\n if (Array.isArray(current)) {\n current.forEach((item, idx) => {\n walk(item, index + 1, [...acc, String(idx)]);\n });\n }\n return;\n }\n\n if (isRecord(current) && part in current) {\n walk(current[part], index + 1, [...acc, part]);\n return;\n }\n\n // Allow missing leaf keys so required rules still validate.\n walk(undefined, index + 1, [...acc, part]);\n };\n\n walk(values, 0, []);\n return results;\n};\n\nconst getValueAtPath = (values: Record<string, unknown>, path: string) => {\n if (!path) {\n return undefined;\n }\n\n return path.split('.').reduce<unknown>((current, segment) => {\n if (current === undefined || current === null) {\n return undefined;\n }\n\n const key = Array.isArray(current) ? Number(segment) : segment;\n return current[key as keyof typeof current];\n }, values);\n};\n\nconst emailRegex = /(^$|^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$)/;\nconst variableRegex = /({.*?})/;\n\nconst buildFieldSchema = (field: SchemaField, rules: RuleToken[]) => {\n const label = String(field.label || field.name || '');\n const isRequired = rules.some((rule) => { return isRequiredRuleName(rule.name); });\n\n const actions = [];\n\n rules.forEach((rule) => {\n const ruleName = rule.name;\n const { args } = rule;\n\n const maybeSkip = (value: unknown) => {\n return !isRequired && isEmptyValue(value);\n };\n\n switch (ruleName) {\n case 'required':\n actions.push(v.check(\n (value) => { return !isEmptyValue(value); },\n translate('{attribute} cannot be blank.', { attribute: label }),\n ));\n break;\n\n case 'requiredRichText':\n actions.push(v.check(\n (value) => { return !isRichTextEmpty(value); },\n translate('{attribute} cannot be blank.', { attribute: label }),\n ));\n break;\n\n case 'email':\n actions.push(v.check(\n (value) => {\n if (maybeSkip(value)) {\n return true;\n }\n return emailRegex.test(String(value));\n },\n translate('{attribute} must be a valid email address.', { attribute: label }),\n ));\n break;\n\n case 'emailOrVariable':\n actions.push(v.check(\n (value) => {\n if (maybeSkip(value)) {\n return true;\n }\n const text = String(value);\n return variableRegex.test(text) || emailRegex.test(text);\n },\n translate('{attribute} must be a valid email address or variable.', { attribute: label }),\n ));\n break;\n\n case 'min': {\n const min = Number(args[0]);\n actions.push(v.check(\n (value) => {\n if (maybeSkip(value)) {\n return true;\n }\n const size = getValueSize(value);\n return Number.isFinite(size) ? size >= min : false;\n },\n translate('{attribute} must be at least {min}.', { attribute: label, min: String(args[0]) }),\n ));\n break;\n }\n\n case 'max': {\n const max = Number(args[0]);\n actions.push(v.check(\n (value) => {\n if (maybeSkip(value)) {\n return true;\n }\n const size = getValueSize(value);\n return Number.isFinite(size) ? size <= max : false;\n },\n translate('{attribute} must be at most {max}.', { attribute: label, max: String(args[0]) }),\n ));\n break;\n }\n\n default:\n break;\n }\n });\n\n return v.pipe(v.any(), ...actions);\n};\n\n// Run Valibot and return TanStack Form–friendly error shape.\nexport function validateFormValues(\n schema: unknown,\n values: Record<string, unknown>,\n): { fields: Record<string, string[]> } | undefined {\n const normalizedValues = values && typeof values === 'object' ? values : {};\n const fields = collectFields(schema as SchemaValue);\n\n if (!fields.length) {\n return undefined;\n }\n\n const fieldErrors: Record<string, string[]> = {};\n\n fields.forEach((field) => {\n if (!field?.name) {\n return;\n }\n\n const rules = parseRules(field);\n if (!rules.length) {\n return;\n }\n\n const validator = buildFieldSchema(field, rules);\n const paths = expandWildcardPaths(normalizedValues, field.name);\n\n paths.forEach((path) => {\n const value = getValueAtPath(normalizedValues, path);\n const result = v.safeParse(validator, value);\n\n if (result.success) {\n return;\n }\n\n const message = (result.issues || [])\n .map((issue) => { return issue.message; })\n .filter(Boolean)[0];\n\n if (message) {\n fieldErrors[path] = [message];\n }\n });\n });\n\n // Aggregate table row errors up to the parent table field.\n const tableDefinitions = collectTableDefinitions(schema);\n const formatColumnMessage = (message: string, label: string) => {\n const trimmed = String(message || '').trim();\n if (!trimmed) {\n return label;\n }\n\n const match = trimmed.match(/^.+?(\\s+(?:cannot|must|is)\\b.*)$/i);\n if (match) {\n return `${label}${match[1]}`;\n }\n\n return `${label}: ${trimmed}`;\n };\n\n Object.entries(tableDefinitions).forEach(([tableName, definition]) => {\n const nestedKeys = Object.keys(fieldErrors).filter((key) => {\n return key.startsWith(`${tableName}.`);\n });\n if (nestedKeys.length === 0) {\n return;\n }\n\n const columnErrors: Record<string, string[]> = {};\n nestedKeys.forEach((key) => {\n const matches = key.match(new RegExp(`^${tableName}\\\\.\\\\d+\\\\.(.+)$`));\n const columnName = matches?.[1];\n if (!columnName) {\n return;\n }\n\n const messages = fieldErrors[key] || [];\n if (!messages.length) {\n return;\n }\n\n if (!columnErrors[columnName]) {\n columnErrors[columnName] = [];\n }\n\n columnErrors[columnName].push(...messages);\n });\n\n const columnMessages = Object.entries(columnErrors).flatMap(([columnName, messages]) => {\n if (!messages.length) {\n return [];\n }\n\n const columnLabel = definition.columns[columnName] || columnName;\n const label = `${definition.label} - ${columnLabel}`;\n const uniqueMessages = Array.from(new Set(messages));\n const firstMessage = uniqueMessages[0];\n return firstMessage ? [formatColumnMessage(firstMessage, label)] : [];\n });\n\n if (!columnMessages.length) {\n return;\n }\n\n const merged = new Set([...(fieldErrors[tableName] || []), ...columnMessages]);\n fieldErrors[tableName] = Array.from(merged);\n });\n\n return Object.keys(fieldErrors).length > 0 ? { fields: fieldErrors } : undefined;\n}\n"],"mappings":"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"}
|