@verbb/plugin-kit-react 1.0.9 → 2.0.0
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 +25 -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 -73
- 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 -155
- 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 -35
- 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/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 -13
- package/dist/utils/tiptap.d.ts.map +0 -1
- package/dist/utils/tiptap.js +0 -39
- 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 -21
- 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 -253
- package/dist/utils/validation.js.map +0 -1
|
@@ -1,415 +0,0 @@
|
|
|
1
|
-
import { cn } from "../../utils/classes.js";
|
|
2
|
-
import "../../utils/index.js";
|
|
3
|
-
import { Checkbox } from "../Checkbox.js";
|
|
4
|
-
import { ComboboxInput } from "../ComboboxInput.js";
|
|
5
|
-
import { ColorInput } from "../ColorInput.js";
|
|
6
|
-
import { DatePicker } from "../DatePicker.js";
|
|
7
|
-
import { useTranslation } from "../../hooks/useTranslation.js";
|
|
8
|
-
import "../../hooks/index.js";
|
|
9
|
-
import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuTrigger } from "../DropdownMenu.js";
|
|
10
|
-
import { VariableCommandList } from "../tiptap/VariableCommandList.js";
|
|
11
|
-
import { useVariablePicker } from "../tiptap/useVariablePicker.js";
|
|
12
|
-
import { Input } from "../Input.js";
|
|
13
|
-
import { Lightswitch } from "../Lightswitch.js";
|
|
14
|
-
import { Popover, PopoverContent, PopoverTrigger } from "../Popover.js";
|
|
15
|
-
import { SelectInput } from "../SelectInput.js";
|
|
16
|
-
import { Textarea } from "../Textarea.js";
|
|
17
|
-
import { TimePicker } from "../TimePicker.js";
|
|
18
|
-
import "../index.js";
|
|
19
|
-
import { Button } from "../Button.js";
|
|
20
|
-
import { useMemo, useState } from "react";
|
|
21
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
22
|
-
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|
23
|
-
import { faChevronDown, faEllipsis } from "@fortawesome/pro-solid-svg-icons";
|
|
24
|
-
//#region src/components/editable-table/TableCell.tsx
|
|
25
|
-
function VariablePickerCell({ finalColumn, value, updateValue, isInvalid }) {
|
|
26
|
-
const t = useTranslation();
|
|
27
|
-
const [open, setOpen] = useState(false);
|
|
28
|
-
const picker = useVariablePicker({
|
|
29
|
-
variableCategories: finalColumn.variableCategories || {},
|
|
30
|
-
variableCategoryLabels: finalColumn.variableCategoryLabels || {},
|
|
31
|
-
variableCategoryOrder: finalColumn.variableCategoryOrder || [],
|
|
32
|
-
isOpen: open,
|
|
33
|
-
onApply: (_baseVariable, variable) => {
|
|
34
|
-
updateValue(String(variable?.value || ""));
|
|
35
|
-
setOpen(false);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
const noneOptionLabel = finalColumn.noneOptionLabel || t("Select an option");
|
|
39
|
-
const selectedLabel = useMemo(() => {
|
|
40
|
-
const targetValue = String(value || "");
|
|
41
|
-
if (!targetValue) return noneOptionLabel;
|
|
42
|
-
let label = "";
|
|
43
|
-
const visit = (items = []) => {
|
|
44
|
-
items.forEach((item) => {
|
|
45
|
-
if (label || !item || typeof item !== "object") return;
|
|
46
|
-
if (String(item.value || "") === targetValue) {
|
|
47
|
-
label = item.label || targetValue;
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
if (Array.isArray(item.children)) visit(item.children);
|
|
51
|
-
});
|
|
52
|
-
};
|
|
53
|
-
Object.values(finalColumn.variableCategories || {}).forEach((items) => {
|
|
54
|
-
if (Array.isArray(items)) visit(items);
|
|
55
|
-
});
|
|
56
|
-
return label || targetValue;
|
|
57
|
-
}, [
|
|
58
|
-
finalColumn.variableCategories,
|
|
59
|
-
noneOptionLabel,
|
|
60
|
-
value
|
|
61
|
-
]);
|
|
62
|
-
const pickerGroups = useMemo(() => {
|
|
63
|
-
const groups = Array.isArray(picker.groups) ? picker.groups : [];
|
|
64
|
-
const groupedByPage = [];
|
|
65
|
-
groups.forEach((group) => {
|
|
66
|
-
if (group?.value !== "fieldsVariables" || !Array.isArray(group.items)) {
|
|
67
|
-
groupedByPage.push(group);
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
const pageBuckets = /* @__PURE__ */ new Map();
|
|
71
|
-
group.items.forEach((item) => {
|
|
72
|
-
const pageLabel = String(item?.pageLabel || "").trim() || t("Fields");
|
|
73
|
-
if (!pageBuckets.has(pageLabel)) pageBuckets.set(pageLabel, []);
|
|
74
|
-
const bucket = pageBuckets.get(pageLabel);
|
|
75
|
-
if (bucket) bucket.push(item);
|
|
76
|
-
});
|
|
77
|
-
pageBuckets.forEach((items, pageLabel) => {
|
|
78
|
-
groupedByPage.push({
|
|
79
|
-
label: pageLabel,
|
|
80
|
-
value: `fieldsVariables:${pageLabel}`,
|
|
81
|
-
items
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
if (picker.page) return groupedByPage;
|
|
86
|
-
return [{
|
|
87
|
-
label: "",
|
|
88
|
-
value: "none",
|
|
89
|
-
items: [{
|
|
90
|
-
label: noneOptionLabel,
|
|
91
|
-
value: "__none__"
|
|
92
|
-
}]
|
|
93
|
-
}, ...groupedByPage];
|
|
94
|
-
}, [
|
|
95
|
-
noneOptionLabel,
|
|
96
|
-
picker.groups,
|
|
97
|
-
picker.page,
|
|
98
|
-
t
|
|
99
|
-
]);
|
|
100
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
101
|
-
className: "flex items-center gap-1 px-2",
|
|
102
|
-
children: [/* @__PURE__ */ jsxs(Popover, {
|
|
103
|
-
modal: false,
|
|
104
|
-
open,
|
|
105
|
-
onOpenChange: setOpen,
|
|
106
|
-
children: [/* @__PURE__ */ jsx(PopoverTrigger, {
|
|
107
|
-
nativeButton: true,
|
|
108
|
-
render: /* @__PURE__ */ jsxs(Button, {
|
|
109
|
-
size: "sm",
|
|
110
|
-
variant: "default",
|
|
111
|
-
className: cn("min-w-0 flex-1 py-[6px] justify-between", isInvalid && "border-error", finalColumn.className),
|
|
112
|
-
children: [/* @__PURE__ */ jsx("span", {
|
|
113
|
-
className: "truncate flex-1 text-left",
|
|
114
|
-
children: selectedLabel
|
|
115
|
-
}), /* @__PURE__ */ jsx(FontAwesomeIcon, {
|
|
116
|
-
icon: faChevronDown,
|
|
117
|
-
className: "size-2.5 pointer-events-none ml-2 shrink-0"
|
|
118
|
-
})]
|
|
119
|
-
})
|
|
120
|
-
}), /* @__PURE__ */ jsx(PopoverContent, {
|
|
121
|
-
align: "start",
|
|
122
|
-
side: "bottom",
|
|
123
|
-
sideOffset: 6,
|
|
124
|
-
positionMethod: "fixed",
|
|
125
|
-
collisionAvoidance: {
|
|
126
|
-
side: "flip",
|
|
127
|
-
align: "shift",
|
|
128
|
-
fallbackAxisSide: "none"
|
|
129
|
-
},
|
|
130
|
-
className: finalColumn.contentClassName || "min-w-[360px] max-w-[480px] p-0 overflow-hidden flex flex-col",
|
|
131
|
-
portalClassName: "z-250",
|
|
132
|
-
children: /* @__PURE__ */ jsx(VariableCommandList, {
|
|
133
|
-
search: picker.search,
|
|
134
|
-
onSearchChange: picker.setSearch,
|
|
135
|
-
groups: pickerGroups,
|
|
136
|
-
options: picker.options,
|
|
137
|
-
onSelect: (item, baseVariable) => {
|
|
138
|
-
if (item?.value === "__none__") {
|
|
139
|
-
updateValue("");
|
|
140
|
-
setOpen(false);
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
picker.handleSelect(item, baseVariable);
|
|
144
|
-
},
|
|
145
|
-
placeholder: t("Search values"),
|
|
146
|
-
showSearch: true,
|
|
147
|
-
shouldFilter: false,
|
|
148
|
-
onBack: picker.page ? picker.handleBack : void 0,
|
|
149
|
-
isChildMode: !!picker.page,
|
|
150
|
-
selectFirstItem: true,
|
|
151
|
-
autoFocusSearchInput: true
|
|
152
|
-
})
|
|
153
|
-
})]
|
|
154
|
-
}), finalColumn.showActionsMenu !== false && /* @__PURE__ */ jsxs(DropdownMenu, {
|
|
155
|
-
size: "sm",
|
|
156
|
-
children: [/* @__PURE__ */ jsx(DropdownMenuTrigger, { render: /* @__PURE__ */ jsx(Button, {
|
|
157
|
-
className: "rounded-none w-7 h-7 -mr-1",
|
|
158
|
-
variant: "none",
|
|
159
|
-
"aria-label": t("More actions"),
|
|
160
|
-
size: "xs",
|
|
161
|
-
children: /* @__PURE__ */ jsx(FontAwesomeIcon, {
|
|
162
|
-
icon: faEllipsis,
|
|
163
|
-
className: "size-3"
|
|
164
|
-
})
|
|
165
|
-
}) }), /* @__PURE__ */ jsx(DropdownMenuContent, {
|
|
166
|
-
align: "end",
|
|
167
|
-
sideOffset: 8,
|
|
168
|
-
children: /* @__PURE__ */ jsx(DropdownMenuGroup, { children: /* @__PURE__ */ jsx(DropdownMenuItem, {
|
|
169
|
-
onClick: () => {
|
|
170
|
-
updateValue("");
|
|
171
|
-
},
|
|
172
|
-
children: noneOptionLabel
|
|
173
|
-
}) })
|
|
174
|
-
})]
|
|
175
|
-
})]
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
function TableCell({ column, value, row, rowIndex, modifyColumn, getCellErrors, onUpdateCell }) {
|
|
179
|
-
const updateValue = (newValue) => {
|
|
180
|
-
onUpdateCell(rowIndex, row, column, newValue);
|
|
181
|
-
};
|
|
182
|
-
const columnModifications = modifyColumn ? modifyColumn(row, column.name) : null;
|
|
183
|
-
const finalColumn = columnModifications ? {
|
|
184
|
-
...column,
|
|
185
|
-
...columnModifications
|
|
186
|
-
} : column;
|
|
187
|
-
const cellErrorList = getCellErrors(rowIndex, finalColumn.name);
|
|
188
|
-
const isInvalid = cellErrorList.length > 0;
|
|
189
|
-
const { renderCell } = finalColumn;
|
|
190
|
-
if (typeof renderCell === "function") return renderCell({
|
|
191
|
-
column: finalColumn,
|
|
192
|
-
value,
|
|
193
|
-
row,
|
|
194
|
-
rowIndex,
|
|
195
|
-
isInvalid,
|
|
196
|
-
updateValue,
|
|
197
|
-
cellErrors: cellErrorList
|
|
198
|
-
});
|
|
199
|
-
switch (finalColumn.type) {
|
|
200
|
-
case "select": return /* @__PURE__ */ jsx("div", {
|
|
201
|
-
className: "min-w-0 px-2",
|
|
202
|
-
children: /* @__PURE__ */ jsx(SelectInput, {
|
|
203
|
-
size: "xs",
|
|
204
|
-
options: finalColumn.options,
|
|
205
|
-
placeholder: finalColumn.placeholder,
|
|
206
|
-
onChange: updateValue,
|
|
207
|
-
value: value || "",
|
|
208
|
-
triggerClassName: cn("w-full max-w-full", isInvalid && "border-error"),
|
|
209
|
-
"data-editable-table-input": "true"
|
|
210
|
-
})
|
|
211
|
-
});
|
|
212
|
-
case "combobox": return /* @__PURE__ */ jsx("div", {
|
|
213
|
-
className: "px-2",
|
|
214
|
-
children: /* @__PURE__ */ jsx(ComboboxInput, {
|
|
215
|
-
options: finalColumn.options,
|
|
216
|
-
placeholder: finalColumn.placeholder,
|
|
217
|
-
value: value || null,
|
|
218
|
-
onValueChange: (nextValue) => {
|
|
219
|
-
return updateValue(nextValue ?? "");
|
|
220
|
-
},
|
|
221
|
-
className: cn(isInvalid && "border-error", finalColumn.className),
|
|
222
|
-
contentClassName: finalColumn.contentClassName
|
|
223
|
-
})
|
|
224
|
-
});
|
|
225
|
-
case "variablePicker": return /* @__PURE__ */ jsx(VariablePickerCell, {
|
|
226
|
-
finalColumn,
|
|
227
|
-
value,
|
|
228
|
-
updateValue,
|
|
229
|
-
isInvalid
|
|
230
|
-
});
|
|
231
|
-
case "textarea": return /* @__PURE__ */ jsx(Textarea, {
|
|
232
|
-
value: value || "",
|
|
233
|
-
"data-editable-table-input": "true",
|
|
234
|
-
onChange: (e) => {
|
|
235
|
-
return updateValue(e.target.value);
|
|
236
|
-
},
|
|
237
|
-
"aria-invalid": isInvalid,
|
|
238
|
-
className: cn([
|
|
239
|
-
"h-full w-full min-h-auto",
|
|
240
|
-
"border-none",
|
|
241
|
-
"rounded-none",
|
|
242
|
-
"bg-transparent",
|
|
243
|
-
"focus-visible:shadow-none",
|
|
244
|
-
"focus-visible:inset-ring-1",
|
|
245
|
-
"focus-visible:inset-ring-gray-200",
|
|
246
|
-
"aria-invalid:focus-visible:shadow-none!",
|
|
247
|
-
"aria-invalid:focus-visible:inset-ring-rose-600!",
|
|
248
|
-
isInvalid && "inset-ring-1 inset-ring-rose-600"
|
|
249
|
-
]),
|
|
250
|
-
rows: 1,
|
|
251
|
-
placeholder: finalColumn.placeholder
|
|
252
|
-
});
|
|
253
|
-
case "checkbox": return /* @__PURE__ */ jsx("div", {
|
|
254
|
-
className: "flex items-center justify-center px-2",
|
|
255
|
-
children: /* @__PURE__ */ jsx(Checkbox, {
|
|
256
|
-
checked: Boolean(value),
|
|
257
|
-
onCheckedChange: (checked) => {
|
|
258
|
-
return updateValue(Boolean(checked));
|
|
259
|
-
},
|
|
260
|
-
"aria-invalid": isInvalid
|
|
261
|
-
})
|
|
262
|
-
});
|
|
263
|
-
case "radio": return /* @__PURE__ */ jsx("div", {
|
|
264
|
-
className: "flex items-center justify-center px-2",
|
|
265
|
-
children: /* @__PURE__ */ jsx(Checkbox, {
|
|
266
|
-
checked: Boolean(value),
|
|
267
|
-
onCheckedChange: (checked) => {
|
|
268
|
-
return updateValue(Boolean(checked));
|
|
269
|
-
},
|
|
270
|
-
"aria-invalid": isInvalid
|
|
271
|
-
})
|
|
272
|
-
});
|
|
273
|
-
case "lightswitch": return /* @__PURE__ */ jsx("div", {
|
|
274
|
-
className: "flex items-center justify-center px-2",
|
|
275
|
-
children: /* @__PURE__ */ jsx(Lightswitch, {
|
|
276
|
-
checked: Boolean(value),
|
|
277
|
-
size: "sm",
|
|
278
|
-
onCheckedChange: (checked) => {
|
|
279
|
-
return updateValue(Boolean(checked));
|
|
280
|
-
},
|
|
281
|
-
"aria-invalid": isInvalid
|
|
282
|
-
})
|
|
283
|
-
});
|
|
284
|
-
case "label": return /* @__PURE__ */ jsx("div", {
|
|
285
|
-
className: "px-2 py-2 text-sm",
|
|
286
|
-
children: value || ""
|
|
287
|
-
});
|
|
288
|
-
case "heading": return /* @__PURE__ */ jsx("div", {
|
|
289
|
-
className: "px-2 py-2 text-sm font-semibold text-gray-800",
|
|
290
|
-
children: value || ""
|
|
291
|
-
});
|
|
292
|
-
case "handle":
|
|
293
|
-
case "value": return /* @__PURE__ */ jsx(Input, {
|
|
294
|
-
type: "text",
|
|
295
|
-
value: value ?? "",
|
|
296
|
-
"data-editable-table-input": "true",
|
|
297
|
-
onChange: (e) => {
|
|
298
|
-
return updateValue(e.target.value);
|
|
299
|
-
},
|
|
300
|
-
"aria-invalid": isInvalid,
|
|
301
|
-
className: cn([
|
|
302
|
-
"h-full w-full",
|
|
303
|
-
"relative",
|
|
304
|
-
"border-none",
|
|
305
|
-
"rounded-none",
|
|
306
|
-
"bg-transparent",
|
|
307
|
-
"font-mono text-[0.9em]",
|
|
308
|
-
"focus-visible:shadow-none",
|
|
309
|
-
"focus-visible:inset-ring-1",
|
|
310
|
-
"focus-visible:inset-ring-gray-200",
|
|
311
|
-
"aria-invalid:focus-visible:shadow-none!",
|
|
312
|
-
"aria-invalid:focus-visible:inset-ring-rose-600!",
|
|
313
|
-
isInvalid && "inset-ring-1 inset-ring-rose-600"
|
|
314
|
-
]),
|
|
315
|
-
placeholder: finalColumn.placeholder
|
|
316
|
-
});
|
|
317
|
-
case "color": return /* @__PURE__ */ jsx(ColorInput, {
|
|
318
|
-
value: value || "",
|
|
319
|
-
size: "sm",
|
|
320
|
-
onValueChange: (nextValue) => {
|
|
321
|
-
return updateValue(nextValue);
|
|
322
|
-
},
|
|
323
|
-
isInvalid,
|
|
324
|
-
fitCell: true,
|
|
325
|
-
className: cn([
|
|
326
|
-
"h-full w-full",
|
|
327
|
-
"relative",
|
|
328
|
-
"border-none",
|
|
329
|
-
"rounded-none",
|
|
330
|
-
"bg-transparent",
|
|
331
|
-
"focus-visible:shadow-none",
|
|
332
|
-
"focus-visible:inset-ring-1",
|
|
333
|
-
"focus-visible:inset-ring-gray-200",
|
|
334
|
-
"aria-invalid:focus-visible:shadow-none!",
|
|
335
|
-
"aria-invalid:focus-visible:inset-ring-rose-600!",
|
|
336
|
-
isInvalid && "inset-ring-1 inset-ring-rose-600"
|
|
337
|
-
]),
|
|
338
|
-
"data-editable-table-input": "true"
|
|
339
|
-
});
|
|
340
|
-
case "date": return /* @__PURE__ */ jsx(DatePicker, {
|
|
341
|
-
value: value || null,
|
|
342
|
-
onValueChange: (nextDate) => {
|
|
343
|
-
if (!nextDate) {
|
|
344
|
-
updateValue("");
|
|
345
|
-
return;
|
|
346
|
-
}
|
|
347
|
-
const isoDate = nextDate.toISOString().split("T")[0];
|
|
348
|
-
updateValue(isoDate);
|
|
349
|
-
},
|
|
350
|
-
placeholder: finalColumn.placeholder,
|
|
351
|
-
className: cn([
|
|
352
|
-
"h-full w-full",
|
|
353
|
-
"relative",
|
|
354
|
-
"border-none",
|
|
355
|
-
"rounded-none",
|
|
356
|
-
"bg-transparent",
|
|
357
|
-
"focus-visible:shadow-none",
|
|
358
|
-
"focus-visible:inset-ring-1",
|
|
359
|
-
"focus-visible:inset-ring-gray-200",
|
|
360
|
-
"aria-invalid:focus-visible:shadow-none!",
|
|
361
|
-
"aria-invalid:focus-visible:inset-ring-rose-600!",
|
|
362
|
-
isInvalid && "inset-ring-1 inset-ring-rose-600"
|
|
363
|
-
]),
|
|
364
|
-
isInvalid
|
|
365
|
-
});
|
|
366
|
-
case "time": return /* @__PURE__ */ jsx(TimePicker, {
|
|
367
|
-
value: value || "",
|
|
368
|
-
onValueChange: (nextValue) => {
|
|
369
|
-
return updateValue(nextValue || "");
|
|
370
|
-
},
|
|
371
|
-
placeholder: finalColumn.placeholder,
|
|
372
|
-
className: cn([
|
|
373
|
-
"h-full w-full",
|
|
374
|
-
"relative",
|
|
375
|
-
"border-none",
|
|
376
|
-
"rounded-none",
|
|
377
|
-
"bg-transparent",
|
|
378
|
-
"focus-visible:shadow-none",
|
|
379
|
-
"focus-visible:inset-ring-1",
|
|
380
|
-
"focus-visible:inset-ring-gray-200",
|
|
381
|
-
"aria-invalid:focus-visible:shadow-none!",
|
|
382
|
-
"aria-invalid:focus-visible:inset-ring-rose-600!",
|
|
383
|
-
isInvalid && "inset-ring-1 inset-ring-rose-600"
|
|
384
|
-
]),
|
|
385
|
-
isInvalid
|
|
386
|
-
});
|
|
387
|
-
default: return /* @__PURE__ */ jsx(Input, {
|
|
388
|
-
type: finalColumn.type || "text",
|
|
389
|
-
value: value || "",
|
|
390
|
-
"data-editable-table-input": "true",
|
|
391
|
-
onChange: (e) => {
|
|
392
|
-
return updateValue(e.target.value);
|
|
393
|
-
},
|
|
394
|
-
"aria-invalid": isInvalid,
|
|
395
|
-
className: cn([
|
|
396
|
-
"h-full w-full",
|
|
397
|
-
"relative",
|
|
398
|
-
"border-none",
|
|
399
|
-
"rounded-none",
|
|
400
|
-
"bg-transparent",
|
|
401
|
-
"focus-visible:shadow-none",
|
|
402
|
-
"focus-visible:inset-ring-1",
|
|
403
|
-
"focus-visible:inset-ring-gray-200",
|
|
404
|
-
"aria-invalid:focus-visible:shadow-none!",
|
|
405
|
-
"aria-invalid:focus-visible:inset-ring-rose-600!",
|
|
406
|
-
isInvalid && "inset-ring-1 inset-ring-rose-600"
|
|
407
|
-
]),
|
|
408
|
-
placeholder: finalColumn.placeholder
|
|
409
|
-
});
|
|
410
|
-
}
|
|
411
|
-
}
|
|
412
|
-
//#endregion
|
|
413
|
-
export { TableCell };
|
|
414
|
-
|
|
415
|
-
//# sourceMappingURL=TableCell.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableCell.js","names":[],"sources":["../../../src/components/editable-table/TableCell.tsx"],"sourcesContent":["import {\n Input,\n Textarea,\n SelectInput,\n ComboboxInput,\n Button,\n Popover,\n PopoverTrigger,\n PopoverContent,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n Checkbox,\n Lightswitch,\n ColorInput,\n DatePicker,\n TimePicker,\n} from '@verbb/plugin-kit-react/components';\nimport type { ComponentProps } from 'react';\nimport { useMemo, useState } from 'react';\nimport { useVariablePicker } from '@verbb/plugin-kit-react/components/tiptap/useVariablePicker';\nimport type { VariableGroup } from '@verbb/plugin-kit-react/components/tiptap/VariableCommandList';\nimport { VariableCommandList } from '@verbb/plugin-kit-react/components/tiptap/VariableCommandList';\nimport type { VariableOption } from '@verbb/plugin-kit-react/components/tiptap/VariableDropdown';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faChevronDown, faEllipsis } from '@fortawesome/pro-solid-svg-icons';\nimport { cn } from '@verbb/plugin-kit-react/utils';\nimport { useTranslation } from '@verbb/plugin-kit-react/hooks';\nimport type {\n EditableTableColumn,\n EditableTableModifyColumn,\n EditableTableRow,\n} from './types';\n\ntype Props = {\n column: EditableTableColumn;\n value: unknown;\n row: EditableTableRow;\n rowIndex: number;\n modifyColumn?: EditableTableModifyColumn | null;\n getCellErrors: (rowIndex: number, columnName: string) => unknown[];\n onUpdateCell: (rowIndex: number, row: EditableTableRow, column: EditableTableColumn, newValue: unknown) => void;\n};\n\nfunction VariablePickerCell({\n finalColumn,\n value,\n updateValue,\n isInvalid,\n}: {\n finalColumn: EditableTableColumn;\n value: unknown;\n updateValue: (newValue: unknown) => void;\n isInvalid: boolean;\n}) {\n const t = useTranslation();\n const [open, setOpen] = useState(false);\n const picker = useVariablePicker({\n variableCategories: finalColumn.variableCategories || {},\n variableCategoryLabels: finalColumn.variableCategoryLabels || {},\n variableCategoryOrder: finalColumn.variableCategoryOrder || [],\n isOpen: open,\n onApply: (_baseVariable, variable) => {\n updateValue(String(variable?.value || ''));\n setOpen(false);\n },\n });\n\n const noneOptionLabel = finalColumn.noneOptionLabel || t('Select an option');\n\n const selectedLabel = useMemo(() => {\n const targetValue = String(value || '');\n if (!targetValue) {\n return noneOptionLabel;\n }\n\n let label = '';\n\n const visit = (items: VariableOption[] = []) => {\n items.forEach((item) => {\n if (label || !item || typeof item !== 'object') {\n return;\n }\n\n if (String(item.value || '') === targetValue) {\n label = item.label || targetValue;\n return;\n }\n\n if (Array.isArray(item.children)) {\n visit(item.children);\n }\n });\n };\n\n Object.values(finalColumn.variableCategories || {}).forEach((items) => {\n if (Array.isArray(items)) {\n visit(items);\n }\n });\n\n return label || targetValue;\n }, [finalColumn.variableCategories, noneOptionLabel, value]);\n\n const pickerGroups = useMemo(() => {\n const groups: VariableGroup[] = Array.isArray(picker.groups) ? picker.groups : [];\n const groupedByPage: VariableGroup[] = [];\n\n groups.forEach((group) => {\n if (group?.value !== 'fieldsVariables' || !Array.isArray(group.items)) {\n groupedByPage.push(group);\n return;\n }\n\n const pageBuckets = new Map<string, VariableOption[]>();\n group.items.forEach((item) => {\n const pageLabel = String(item?.pageLabel || '').trim() || t('Fields');\n if (!pageBuckets.has(pageLabel)) {\n pageBuckets.set(pageLabel, []);\n }\n const bucket = pageBuckets.get(pageLabel);\n if (bucket) {\n bucket.push(item);\n }\n });\n\n pageBuckets.forEach((items, pageLabel) => {\n groupedByPage.push({\n label: pageLabel,\n value: `fieldsVariables:${pageLabel}`,\n items,\n });\n });\n });\n\n if (picker.page) {\n return groupedByPage;\n }\n\n return [{\n label: '',\n value: 'none',\n items: [{ label: noneOptionLabel, value: '__none__' }],\n }, ...groupedByPage];\n }, [noneOptionLabel, picker.groups, picker.page, t]);\n\n return (\n <div className=\"flex items-center gap-1 px-2\">\n <Popover modal={false} open={open} onOpenChange={setOpen}>\n <PopoverTrigger\n nativeButton={true}\n render={(\n <Button\n size=\"sm\"\n variant=\"default\"\n className={cn(\n 'min-w-0 flex-1 py-[6px] justify-between',\n isInvalid && 'border-error',\n finalColumn.className,\n )}\n >\n <span className=\"truncate flex-1 text-left\">{selectedLabel}</span>\n <FontAwesomeIcon icon={faChevronDown} className=\"size-2.5 pointer-events-none ml-2 shrink-0\" />\n </Button>\n )}\n />\n <PopoverContent\n align=\"start\"\n side=\"bottom\"\n sideOffset={6}\n positionMethod=\"fixed\"\n collisionAvoidance={{\n side: 'flip',\n align: 'shift',\n fallbackAxisSide: 'none',\n }}\n className={finalColumn.contentClassName || 'min-w-[360px] max-w-[480px] p-0 overflow-hidden flex flex-col'}\n portalClassName=\"z-250\"\n >\n <VariableCommandList\n search={picker.search}\n onSearchChange={picker.setSearch}\n groups={pickerGroups}\n options={picker.options}\n onSelect={(item, baseVariable) => {\n if (item?.value === '__none__') {\n updateValue('');\n setOpen(false);\n return;\n }\n\n picker.handleSelect(item, baseVariable);\n }}\n placeholder={t('Search values')}\n showSearch\n shouldFilter={false}\n onBack={picker.page ? picker.handleBack : undefined}\n isChildMode={!!picker.page}\n selectFirstItem\n autoFocusSearchInput={true}\n />\n </PopoverContent>\n </Popover>\n\n {finalColumn.showActionsMenu !== false && (\n <DropdownMenu size=\"sm\">\n <DropdownMenuTrigger\n render={(\n <Button className=\"rounded-none w-7 h-7 -mr-1\" variant=\"none\" aria-label={t('More actions')} size=\"xs\">\n <FontAwesomeIcon icon={faEllipsis} className=\"size-3\" />\n </Button>\n )}\n />\n <DropdownMenuContent align=\"end\" sideOffset={8}>\n <DropdownMenuGroup>\n <DropdownMenuItem onClick={() => { updateValue(''); }}>\n {noneOptionLabel}\n </DropdownMenuItem>\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n )}\n </div>\n );\n}\n\nexport function TableCell({\n column,\n value,\n row,\n rowIndex,\n modifyColumn,\n getCellErrors,\n onUpdateCell,\n}: Props) {\n const updateValue = (newValue: unknown) => {\n onUpdateCell(rowIndex, row, column, newValue);\n };\n\n const columnModifications = modifyColumn ? modifyColumn(row, column.name) : null;\n const finalColumn = columnModifications ? { ...column, ...columnModifications } : column;\n const cellErrorList = getCellErrors(rowIndex, finalColumn.name);\n const isInvalid = cellErrorList.length > 0;\n const { renderCell } = finalColumn;\n\n if (typeof renderCell === 'function') {\n return renderCell({\n column: finalColumn,\n value,\n row,\n rowIndex,\n isInvalid,\n updateValue,\n cellErrors: cellErrorList,\n });\n }\n\n switch (finalColumn.type) {\n case 'select':\n return (\n <div className=\"min-w-0 px-2\">\n <SelectInput\n size=\"xs\"\n options={finalColumn.options as ComponentProps<typeof SelectInput>['options']}\n placeholder={finalColumn.placeholder}\n onChange={updateValue}\n value={value || ''}\n triggerClassName={cn('w-full max-w-full', isInvalid && 'border-error')}\n data-editable-table-input=\"true\"\n />\n </div>\n );\n\n case 'combobox':\n return (\n <div className=\"px-2\">\n <ComboboxInput\n options={finalColumn.options as ComponentProps<typeof ComboboxInput>['options']}\n placeholder={finalColumn.placeholder}\n value={value || null}\n onValueChange={(nextValue) => { return updateValue(nextValue ?? ''); }}\n className={cn(isInvalid && 'border-error', finalColumn.className)}\n contentClassName={finalColumn.contentClassName}\n />\n </div>\n );\n\n case 'variablePicker':\n return (\n <VariablePickerCell\n finalColumn={finalColumn}\n value={value}\n updateValue={updateValue}\n isInvalid={isInvalid}\n />\n );\n\n case 'textarea':\n return (\n <Textarea\n value={value || ''}\n data-editable-table-input=\"true\"\n onChange={(e) => { return updateValue(e.target.value); }}\n aria-invalid={isInvalid}\n className={cn([\n 'h-full w-full min-h-auto',\n 'border-none',\n 'rounded-none',\n 'bg-transparent',\n 'focus-visible:shadow-none',\n 'focus-visible:inset-ring-1',\n 'focus-visible:inset-ring-gray-200',\n 'aria-invalid:focus-visible:shadow-none!',\n 'aria-invalid:focus-visible:inset-ring-rose-600!',\n isInvalid && 'inset-ring-1 inset-ring-rose-600',\n ])}\n rows={1}\n placeholder={finalColumn.placeholder}\n />\n );\n\n case 'checkbox':\n return (\n <div className=\"flex items-center justify-center px-2\">\n <Checkbox\n checked={Boolean(value)}\n onCheckedChange={(checked) => { return updateValue(Boolean(checked)); }}\n aria-invalid={isInvalid}\n />\n </div>\n );\n\n case 'radio':\n return (\n <div className=\"flex items-center justify-center px-2\">\n <Checkbox\n checked={Boolean(value)}\n onCheckedChange={(checked) => { return updateValue(Boolean(checked)); }}\n aria-invalid={isInvalid}\n />\n </div>\n );\n\n case 'lightswitch':\n return (\n <div className=\"flex items-center justify-center px-2\">\n <Lightswitch\n checked={Boolean(value)}\n size=\"sm\"\n onCheckedChange={(checked) => { return updateValue(Boolean(checked)); }}\n aria-invalid={isInvalid}\n />\n </div>\n );\n\n case 'label':\n return <div className=\"px-2 py-2 text-sm\">{value || ''}</div>;\n\n case 'heading':\n return <div className=\"px-2 py-2 text-sm font-semibold text-gray-800\">{value || ''}</div>;\n\n case 'handle':\n case 'value':\n return (\n <Input\n type=\"text\"\n value={value ?? ''}\n data-editable-table-input=\"true\"\n onChange={(e) => { return updateValue(e.target.value); }}\n aria-invalid={isInvalid}\n className={cn([\n 'h-full w-full',\n 'relative',\n 'border-none',\n 'rounded-none',\n 'bg-transparent',\n 'font-mono text-[0.9em]',\n 'focus-visible:shadow-none',\n 'focus-visible:inset-ring-1',\n 'focus-visible:inset-ring-gray-200',\n 'aria-invalid:focus-visible:shadow-none!',\n 'aria-invalid:focus-visible:inset-ring-rose-600!',\n isInvalid && 'inset-ring-1 inset-ring-rose-600',\n ])}\n placeholder={finalColumn.placeholder}\n />\n );\n\n case 'color':\n return (\n <ColorInput\n value={value || ''}\n size=\"sm\"\n onValueChange={(nextValue) => { return updateValue(nextValue); }}\n isInvalid={isInvalid}\n fitCell\n className={cn([\n 'h-full w-full',\n 'relative',\n 'border-none',\n 'rounded-none',\n 'bg-transparent',\n 'focus-visible:shadow-none',\n 'focus-visible:inset-ring-1',\n 'focus-visible:inset-ring-gray-200',\n 'aria-invalid:focus-visible:shadow-none!',\n 'aria-invalid:focus-visible:inset-ring-rose-600!',\n isInvalid && 'inset-ring-1 inset-ring-rose-600',\n ])}\n data-editable-table-input=\"true\"\n />\n );\n\n case 'date':\n return (\n <DatePicker\n value={value || null}\n onValueChange={(nextDate) => {\n if (!nextDate) {\n updateValue('');\n return;\n }\n\n const isoDate = nextDate.toISOString().split('T')[0];\n updateValue(isoDate);\n }}\n placeholder={finalColumn.placeholder}\n className={cn([\n 'h-full w-full',\n 'relative',\n 'border-none',\n 'rounded-none',\n 'bg-transparent',\n 'focus-visible:shadow-none',\n 'focus-visible:inset-ring-1',\n 'focus-visible:inset-ring-gray-200',\n 'aria-invalid:focus-visible:shadow-none!',\n 'aria-invalid:focus-visible:inset-ring-rose-600!',\n isInvalid && 'inset-ring-1 inset-ring-rose-600',\n ])}\n isInvalid={isInvalid}\n />\n );\n\n case 'time':\n return (\n <TimePicker\n value={value || ''}\n onValueChange={(nextValue) => { return updateValue(nextValue || ''); }}\n placeholder={finalColumn.placeholder}\n className={cn([\n 'h-full w-full',\n 'relative',\n 'border-none',\n 'rounded-none',\n 'bg-transparent',\n 'focus-visible:shadow-none',\n 'focus-visible:inset-ring-1',\n 'focus-visible:inset-ring-gray-200',\n 'aria-invalid:focus-visible:shadow-none!',\n 'aria-invalid:focus-visible:inset-ring-rose-600!',\n isInvalid && 'inset-ring-1 inset-ring-rose-600',\n ])}\n isInvalid={isInvalid}\n />\n );\n\n case 'email':\n case 'number':\n case 'text':\n case 'url':\n default:\n return (\n <Input\n type={finalColumn.type || 'text'}\n value={value || ''}\n data-editable-table-input=\"true\"\n onChange={(e) => { return updateValue(e.target.value); }}\n aria-invalid={isInvalid}\n className={cn([\n 'h-full w-full',\n 'relative',\n 'border-none',\n 'rounded-none',\n 'bg-transparent',\n 'focus-visible:shadow-none',\n 'focus-visible:inset-ring-1',\n 'focus-visible:inset-ring-gray-200',\n 'aria-invalid:focus-visible:shadow-none!',\n 'aria-invalid:focus-visible:inset-ring-rose-600!',\n isInvalid && 'inset-ring-1 inset-ring-rose-600',\n ])}\n placeholder={finalColumn.placeholder}\n />\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableRow.d.ts","sourceRoot":"","sources":["../../../src/components/editable-table/TableRow.jsx"],"names":[],"mappings":"AA4DA,0DA2LG;kBAvPe,OAAO"}
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import { cn } from "../../utils/classes.js";
|
|
2
|
-
import "../../utils/index.js";
|
|
3
|
-
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger } from "../DropdownMenu.js";
|
|
4
|
-
import { RowDataCells } from "./RowDataCells.js";
|
|
5
|
-
import { TableCell, TableRow as TableRow$1 } from "../Table.js";
|
|
6
|
-
import "../index.js";
|
|
7
|
-
import { Button } from "../Button.js";
|
|
8
|
-
import React from "react";
|
|
9
|
-
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
-
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|
11
|
-
import { faArrowDown, faArrowUp, faEllipsis, faXmark } from "@fortawesome/pro-solid-svg-icons";
|
|
12
|
-
import { useSortable } from "@dnd-kit/react/sortable";
|
|
13
|
-
import { RestrictToVerticalAxis } from "@dnd-kit/abstract/modifiers";
|
|
14
|
-
import { RestrictToElement } from "@dnd-kit/dom/modifiers";
|
|
15
|
-
//#region src/components/editable-table/TableRow.jsx
|
|
16
|
-
var SortableRow = ({ row, rowIndex, allowReorder, className, children }) => {
|
|
17
|
-
const sortable = useSortable({
|
|
18
|
-
id: row._id,
|
|
19
|
-
index: rowIndex,
|
|
20
|
-
disabled: !allowReorder,
|
|
21
|
-
modifiers: [RestrictToVerticalAxis, RestrictToElement.configure({ element: (operation) => {
|
|
22
|
-
return (operation?.source?.element)?.parentElement ?? null;
|
|
23
|
-
} })]
|
|
24
|
-
});
|
|
25
|
-
return /* @__PURE__ */ jsx(TableRow$1, {
|
|
26
|
-
ref: sortable.ref,
|
|
27
|
-
className: cn(sortable.isDragging && "shadow-lg", className),
|
|
28
|
-
children: children({ handleRef: sortable.handleRef })
|
|
29
|
-
});
|
|
30
|
-
};
|
|
31
|
-
var PlainRow = ({ className, children }) => {
|
|
32
|
-
return /* @__PURE__ */ jsx(TableRow$1, {
|
|
33
|
-
className,
|
|
34
|
-
children: typeof children === "function" ? children({ handleRef: void 0 }) : children
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
var TableRow = React.memo(({ row, rowIndex, rowCount, columns, columnsSignature, useDnd, allowReorder, showReorderControls, allowDelete, modifyColumn, modifyRow, getCellErrors, onUpdateCell, moveRow, removeRow, t, renderRowActions, renderRowMenuItemsBeforeCore, renderRowMenuItemsAfterCore, renderRowMenuItems }) => {
|
|
38
|
-
return /* @__PURE__ */ jsx(useDnd ? SortableRow : PlainRow, {
|
|
39
|
-
row,
|
|
40
|
-
rowIndex,
|
|
41
|
-
allowReorder,
|
|
42
|
-
className: "bg-white",
|
|
43
|
-
children: ({ handleRef }) => {
|
|
44
|
-
const dragHandleRef = useDnd ? handleRef : void 0;
|
|
45
|
-
const rowModifications = modifyRow ? modifyRow(row, rowIndex) : null;
|
|
46
|
-
const legacyBeforeRowMenuItems = renderRowMenuItems?.({
|
|
47
|
-
row,
|
|
48
|
-
rowIndex,
|
|
49
|
-
rowCount
|
|
50
|
-
});
|
|
51
|
-
const customRowMenuItemsBeforeCore = renderRowMenuItemsBeforeCore?.({
|
|
52
|
-
row,
|
|
53
|
-
rowIndex,
|
|
54
|
-
rowCount
|
|
55
|
-
}) ?? legacyBeforeRowMenuItems;
|
|
56
|
-
const customRowMenuItemsAfterCore = renderRowMenuItemsAfterCore?.({
|
|
57
|
-
row,
|
|
58
|
-
rowIndex,
|
|
59
|
-
rowCount
|
|
60
|
-
});
|
|
61
|
-
const hasCustomRowMenuItemsBeforeCore = Boolean(customRowMenuItemsBeforeCore);
|
|
62
|
-
const hasCustomRowMenuItemsAfterCore = Boolean(customRowMenuItemsAfterCore);
|
|
63
|
-
const hasMoveActions = showReorderControls && rowCount > 1;
|
|
64
|
-
const hasMenuActions = hasMoveActions || hasCustomRowMenuItemsBeforeCore || hasCustomRowMenuItemsAfterCore;
|
|
65
|
-
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(RowDataCells, {
|
|
66
|
-
row,
|
|
67
|
-
rowIndex,
|
|
68
|
-
columns,
|
|
69
|
-
columnsSignature,
|
|
70
|
-
modifyColumn,
|
|
71
|
-
modifyRow,
|
|
72
|
-
getCellErrors,
|
|
73
|
-
onUpdateCell
|
|
74
|
-
}), (showReorderControls || allowDelete) && /* @__PURE__ */ jsx(TableCell, {
|
|
75
|
-
className: cn(rowModifications?.cellClassName ?? "bg-[#fbfcfe]"),
|
|
76
|
-
title: rowModifications?.title,
|
|
77
|
-
children: /* @__PURE__ */ jsxs("div", {
|
|
78
|
-
className: "flex items-center px-1",
|
|
79
|
-
children: [
|
|
80
|
-
showReorderControls && /* @__PURE__ */ jsx("span", {
|
|
81
|
-
ref: dragHandleRef,
|
|
82
|
-
children: /* @__PURE__ */ jsx(Button, {
|
|
83
|
-
type: "button",
|
|
84
|
-
variant: "none",
|
|
85
|
-
size: "xs",
|
|
86
|
-
disabled: !useDnd,
|
|
87
|
-
className: cn("cursor-move", "p-0 w-[24px] h-[24px]", "text-gray-500", "hover:bg-transparent", "active:bg-transparent", "hover:text-blue-500", !useDnd && "opacity-40 cursor-default"),
|
|
88
|
-
children: /* @__PURE__ */ jsx("div", {
|
|
89
|
-
className: "size-3",
|
|
90
|
-
children: /* @__PURE__ */ jsx("svg", {
|
|
91
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
92
|
-
viewBox: "0 0 448 512",
|
|
93
|
-
focusable: "false",
|
|
94
|
-
"aria-hidden": "true",
|
|
95
|
-
children: /* @__PURE__ */ jsx("path", {
|
|
96
|
-
fill: "currentColor",
|
|
97
|
-
d: "M71.3 295.6c-21.9-21.9-21.9-57.3 0-79.2s57.3-21.9 79.2 0 21.9 57.3 0 79.2s-57.4 21.9-79.2 0zM184.4 182.5c-21.9-21.9-21.9-57.3 0-79.2s57.3-21.9 79.2 0 21.9 57.3 0 79.2-57.3 21.8-79.2 0zm0 147c21.9-21.9 57.3-21.9 79.2 0s21.9 57.3 0 79.2s-57.3 21.9-79.2 0c-21.9-21.8-21.9-57.3 0-79.2zM297.5 216.4c21.9-21.9 57.3-21.9 79.2 0s21.9 57.3 0 79.2s-57.3 21.9-79.2 0c-21.8-21.9-21.8-57.3 0-79.2z"
|
|
98
|
-
})
|
|
99
|
-
})
|
|
100
|
-
})
|
|
101
|
-
})
|
|
102
|
-
}),
|
|
103
|
-
showReorderControls && /* @__PURE__ */ jsxs(DropdownMenu, { children: [/* @__PURE__ */ jsx(DropdownMenuTrigger, {
|
|
104
|
-
render: /* @__PURE__ */ jsx(Button, {
|
|
105
|
-
type: "button",
|
|
106
|
-
variant: "none",
|
|
107
|
-
size: "xs",
|
|
108
|
-
disabled: !hasMenuActions,
|
|
109
|
-
className: cn("p-0 w-[24px] h-[24px]", "text-gray-500", "hover:bg-transparent", "active:bg-transparent", "hover:text-blue-500", !hasMenuActions && "opacity-40 cursor-not-allowed"),
|
|
110
|
-
"aria-label": t("Row actions")
|
|
111
|
-
}),
|
|
112
|
-
children: /* @__PURE__ */ jsx(FontAwesomeIcon, {
|
|
113
|
-
icon: faEllipsis,
|
|
114
|
-
className: "size-[12px]"
|
|
115
|
-
})
|
|
116
|
-
}), /* @__PURE__ */ jsxs(DropdownMenuContent, {
|
|
117
|
-
align: "end",
|
|
118
|
-
children: [
|
|
119
|
-
customRowMenuItemsBeforeCore,
|
|
120
|
-
hasCustomRowMenuItemsBeforeCore && hasMoveActions && /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
|
|
121
|
-
showReorderControls && rowIndex > 0 && /* @__PURE__ */ jsxs(DropdownMenuItem, {
|
|
122
|
-
onClick: () => {
|
|
123
|
-
return moveRow(row, -1);
|
|
124
|
-
},
|
|
125
|
-
children: [/* @__PURE__ */ jsx(FontAwesomeIcon, { icon: faArrowUp }), t("Move up")]
|
|
126
|
-
}),
|
|
127
|
-
showReorderControls && rowIndex < rowCount - 1 && /* @__PURE__ */ jsxs(DropdownMenuItem, {
|
|
128
|
-
onClick: () => {
|
|
129
|
-
return moveRow(row, 1);
|
|
130
|
-
},
|
|
131
|
-
children: [/* @__PURE__ */ jsx(FontAwesomeIcon, { icon: faArrowDown }), t("Move down")]
|
|
132
|
-
}),
|
|
133
|
-
hasMoveActions && hasCustomRowMenuItemsAfterCore && /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
|
|
134
|
-
customRowMenuItemsAfterCore
|
|
135
|
-
]
|
|
136
|
-
})] }),
|
|
137
|
-
renderRowActions?.({
|
|
138
|
-
row,
|
|
139
|
-
rowIndex,
|
|
140
|
-
rowCount
|
|
141
|
-
}),
|
|
142
|
-
allowDelete && /* @__PURE__ */ jsx(Button, {
|
|
143
|
-
type: "button",
|
|
144
|
-
variant: "none",
|
|
145
|
-
size: "xs",
|
|
146
|
-
onClick: () => {
|
|
147
|
-
return removeRow(row);
|
|
148
|
-
},
|
|
149
|
-
className: cn("p-0 w-[24px] h-[24px]", "text-gray-500", "hover:bg-transparent", "active:bg-transparent", "hover:text-red-500"),
|
|
150
|
-
children: /* @__PURE__ */ jsx(FontAwesomeIcon, {
|
|
151
|
-
icon: faXmark,
|
|
152
|
-
className: "size-[12px] mt-[2px]"
|
|
153
|
-
})
|
|
154
|
-
})
|
|
155
|
-
]
|
|
156
|
-
})
|
|
157
|
-
})] });
|
|
158
|
-
}
|
|
159
|
-
});
|
|
160
|
-
}, (prevProps, nextProps) => {
|
|
161
|
-
return prevProps.row === nextProps.row && prevProps.rowIndex === nextProps.rowIndex && prevProps.rowCount === nextProps.rowCount && prevProps.columnsSignature === nextProps.columnsSignature && prevProps.getCellErrors === nextProps.getCellErrors && prevProps.useDnd === nextProps.useDnd && prevProps.allowReorder === nextProps.allowReorder && prevProps.showReorderControls === nextProps.showReorderControls && prevProps.allowDelete === nextProps.allowDelete && prevProps.modifyRow === nextProps.modifyRow && prevProps.renderRowActions === nextProps.renderRowActions && prevProps.renderRowMenuItemsBeforeCore === nextProps.renderRowMenuItemsBeforeCore && prevProps.renderRowMenuItemsAfterCore === nextProps.renderRowMenuItemsAfterCore && prevProps.renderRowMenuItems === nextProps.renderRowMenuItems;
|
|
162
|
-
});
|
|
163
|
-
//#endregion
|
|
164
|
-
export { TableRow };
|
|
165
|
-
|
|
166
|
-
//# sourceMappingURL=TableRow.js.map
|