@verbb/plugin-kit-react 1.0.10 → 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 +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
|
@@ -1,146 +1,196 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "
|
|
3
|
-
import { useTranslation } from "../hooks/useTranslation.js";
|
|
4
|
-
import "../hooks/index.js";
|
|
5
|
-
import { TableRow } from "./editable-table/TableRow.js";
|
|
6
|
-
import { isGeneratedColumn, isThinColumn } from "./editable-table/helpers.js";
|
|
7
|
-
import { useEditableTableRows } from "./editable-table/useEditableTableRows.js";
|
|
8
|
-
import { useEditableTableDnd } from "./editable-table/useEditableTableDnd.js";
|
|
9
|
-
import { useEditableTableCellChange } from "./editable-table/useEditableTableCellChange.js";
|
|
10
|
-
import { Table, TableBody, TableHead, TableHeader, TableRow as TableRow$1 } from "./Table.js";
|
|
11
|
-
import "./index.js";
|
|
12
|
-
import { Button } from "./Button.js";
|
|
13
|
-
import { useCallback, useMemo } from "react";
|
|
1
|
+
import { createPluginKitComponent } from "../utils/create-plugin-kit-component.js";
|
|
2
|
+
import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef } from "react";
|
|
14
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
15
|
-
import {
|
|
16
|
-
import { faPlus } from "@fortawesome/pro-solid-svg-icons";
|
|
17
|
-
import { DragDropProvider } from "@dnd-kit/react";
|
|
18
|
-
import { AutoScroller } from "@dnd-kit/dom";
|
|
4
|
+
import { PkEditableTable, getCustomCellSlotName, isCustomColumn, nextRowId } from "@verbb/plugin-kit-web/components/editable-table/pk-editable-table.js";
|
|
19
5
|
//#region src/components/EditableTable.tsx
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
6
|
+
var PkEditableTableElement = createPluginKitComponent({
|
|
7
|
+
tagName: "pk-editable-table",
|
|
8
|
+
elementClass: PkEditableTable,
|
|
9
|
+
react: React,
|
|
10
|
+
events: {
|
|
11
|
+
onPkChange: "pk-change",
|
|
12
|
+
onPkCellChange: "pk-cell-change",
|
|
13
|
+
onPkRowMenuSelect: "pk-row-menu-select",
|
|
14
|
+
onInput: "input",
|
|
15
|
+
onChange: "change"
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
function optionalBoolean(name, value) {
|
|
19
|
+
if (value === void 0) return {};
|
|
20
|
+
return { [name]: value };
|
|
21
|
+
}
|
|
22
|
+
function cellHasError(cellErrors, fieldName, rowIndex, columnName) {
|
|
23
|
+
if (!cellErrors) return false;
|
|
24
|
+
const errors = (fieldName ? cellErrors[`${fieldName}.${rowIndex}.${columnName}`] : void 0) ?? cellErrors[`${rowIndex}.${columnName}`];
|
|
25
|
+
if (!errors) return false;
|
|
26
|
+
return Array.isArray(errors) ? errors.length > 0 : Boolean(errors);
|
|
27
|
+
}
|
|
28
|
+
function normalizeColumnsForElement(columns) {
|
|
29
|
+
if (!Array.isArray(columns)) return [];
|
|
30
|
+
return columns.map((column) => {
|
|
31
|
+
const forceCustom = typeof column.renderCell === "function" || column.type === "custom" || typeof column.type === "string" && column.type !== "" && isCustomColumn({
|
|
32
|
+
name: String(column.name),
|
|
33
|
+
type: column.type
|
|
27
34
|
});
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
return {
|
|
36
|
+
name: String(column.name),
|
|
37
|
+
type: (forceCustom ? "custom" : column.type) || "text",
|
|
38
|
+
label: column.label,
|
|
39
|
+
required: column.required,
|
|
40
|
+
placeholder: column.placeholder,
|
|
41
|
+
width: column.width,
|
|
42
|
+
thin: column.thin,
|
|
43
|
+
options: column.options,
|
|
44
|
+
source: column.source,
|
|
45
|
+
allowUnselect: column.allowUnselect,
|
|
46
|
+
class: column.class || column.className || void 0
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function wrapModifyRow(modifyRow) {
|
|
51
|
+
if (!modifyRow) return null;
|
|
52
|
+
return (row, rowIndex) => {
|
|
53
|
+
const result = modifyRow(row, rowIndex);
|
|
54
|
+
if (!result || typeof result !== "object") return result ?? void 0;
|
|
55
|
+
if ("cellClassName" in result || "tone" in result) {
|
|
56
|
+
const typed = result;
|
|
57
|
+
return {
|
|
58
|
+
class: typed.class || typed.cellClassName,
|
|
59
|
+
title: typed.title,
|
|
60
|
+
tone: typed.tone
|
|
61
|
+
};
|
|
36
62
|
}
|
|
37
|
-
return
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
63
|
+
return result;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Keep stable `_id`s for slotted custom cells. The CE also mints ids, but React
|
|
68
|
+
* projections key slots from the rows prop — without ids on first paint, TipTap
|
|
69
|
+
* cells would mount empty until the next pk-change.
|
|
70
|
+
*/
|
|
71
|
+
function ensureRowIds(rows, previousIds) {
|
|
72
|
+
if (!Array.isArray(rows)) return {
|
|
73
|
+
rows: [],
|
|
74
|
+
ids: [],
|
|
75
|
+
minted: false
|
|
76
|
+
};
|
|
77
|
+
let minted = false;
|
|
78
|
+
const ids = [];
|
|
79
|
+
return {
|
|
80
|
+
rows: rows.map((row, index) => {
|
|
81
|
+
if (typeof row._id === "string" && row._id !== "") {
|
|
82
|
+
ids[index] = row._id;
|
|
83
|
+
return row;
|
|
84
|
+
}
|
|
85
|
+
const reused = previousIds[index];
|
|
86
|
+
const id = reused || nextRowId();
|
|
87
|
+
if (!reused) minted = true;
|
|
88
|
+
ids[index] = id;
|
|
44
89
|
return {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
label: column.label,
|
|
48
|
-
required: column.required,
|
|
49
|
-
placeholder: column.placeholder,
|
|
50
|
-
options: column.options
|
|
90
|
+
...row,
|
|
91
|
+
_id: id
|
|
51
92
|
};
|
|
52
|
-
})
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
93
|
+
}),
|
|
94
|
+
ids,
|
|
95
|
+
minted
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* React facade over `<pk-editable-table>`.
|
|
100
|
+
* Behavior and styles live in the web component; this layer adds React sugar
|
|
101
|
+
* (`onChange`, `onCellChange`, `renderCell` light-DOM projection, `modifyRow`
|
|
102
|
+
* className alias) without reimplementing the table.
|
|
103
|
+
*/
|
|
104
|
+
var EditableTable = forwardRef(function EditableTable({ allowAdd, allowDelete, allowReorder, columns, rows, cellErrors, fieldName, onChange, onCellChange, onPkChange, onPkCellChange, onPkRowMenuSelect, onRowMenuSelect, modifyColumn, modifyRow, getRowMenuItems, renderRowMenuItemsBeforeCore, children, ...rest }, ref) {
|
|
105
|
+
const elementRef = useRef(null);
|
|
106
|
+
const rowIdsRef = useRef([]);
|
|
107
|
+
useImperativeHandle(ref, () => elementRef.current, []);
|
|
108
|
+
const { rows: rowsWithIds, ids: nextIds, minted } = useMemo(() => ensureRowIds(rows, rowIdsRef.current), [rows]);
|
|
109
|
+
rowIdsRef.current = nextIds;
|
|
110
|
+
useEffect(() => {
|
|
111
|
+
if (!minted || !onChange) return;
|
|
112
|
+
onChange(rowsWithIds);
|
|
113
|
+
}, [
|
|
114
|
+
minted,
|
|
56
115
|
onChange,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
onCellChange
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}, [
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
onDragEnd: handleDragEnd,
|
|
97
|
-
children: /* @__PURE__ */ jsxs(Table, { children: [/* @__PURE__ */ jsx(TableHeader, { children: /* @__PURE__ */ jsxs(TableRow$1, { children: [normalizedColumns.map((column) => {
|
|
98
|
-
return /* @__PURE__ */ jsxs(TableHead, {
|
|
99
|
-
className: cn(column.className, isThinColumn(column) && "w-[1%] whitespace-nowrap"),
|
|
100
|
-
children: [column.label, column.required && /* @__PURE__ */ jsx("span", {
|
|
101
|
-
className: "text-error ml-1",
|
|
102
|
-
children: "*"
|
|
103
|
-
})]
|
|
104
|
-
}, column.name);
|
|
105
|
-
}), (allowReorder || allowDelete) && /* @__PURE__ */ jsx(TableHead, { className: "p-0 w-0" })] }) }), /* @__PURE__ */ jsx(TableBody, { children: internalData.map((row, rowIndex) => {
|
|
106
|
-
return /* @__PURE__ */ jsx(TableRowComponent, {
|
|
116
|
+
rowsWithIds
|
|
117
|
+
]);
|
|
118
|
+
const elementColumns = useMemo(() => normalizeColumnsForElement(columns), [columns]);
|
|
119
|
+
const resolvedGetRowMenuItems = getRowMenuItems ?? renderRowMenuItemsBeforeCore ?? null;
|
|
120
|
+
const resolvedModifyRow = useMemo(() => wrapModifyRow(modifyRow), [modifyRow]);
|
|
121
|
+
const handlePkChange = useCallback((event) => {
|
|
122
|
+
onPkChange?.(event);
|
|
123
|
+
if (!onChange) return;
|
|
124
|
+
const detail = event.detail;
|
|
125
|
+
if (detail?.rows) onChange(detail.rows);
|
|
126
|
+
}, [onChange, onPkChange]);
|
|
127
|
+
const handlePkCellChange = useCallback((event) => {
|
|
128
|
+
onPkCellChange?.(event);
|
|
129
|
+
if (!onCellChange) return;
|
|
130
|
+
const detail = event.detail;
|
|
131
|
+
if (!detail) return;
|
|
132
|
+
onCellChange(detail.rowIndex, detail.columnName, detail.value, detail.row);
|
|
133
|
+
}, [onCellChange, onPkCellChange]);
|
|
134
|
+
const handlePkRowMenuSelect = useCallback((event) => {
|
|
135
|
+
onPkRowMenuSelect?.(event);
|
|
136
|
+
if (!onRowMenuSelect) return;
|
|
137
|
+
const detail = event.detail;
|
|
138
|
+
if (detail) onRowMenuSelect(detail);
|
|
139
|
+
}, [onPkRowMenuSelect, onRowMenuSelect]);
|
|
140
|
+
const customCellProjections = useMemo(() => {
|
|
141
|
+
if (!Array.isArray(columns) || rowsWithIds.length === 0) return null;
|
|
142
|
+
const projections = [];
|
|
143
|
+
rowsWithIds.forEach((row, rowIndex) => {
|
|
144
|
+
const rowId = String(row._id);
|
|
145
|
+
columns.forEach((column) => {
|
|
146
|
+
if (typeof column.renderCell !== "function") return;
|
|
147
|
+
const columnName = String(column.name);
|
|
148
|
+
const slotName = getCustomCellSlotName(rowId, columnName);
|
|
149
|
+
const isInvalid = cellHasError(cellErrors, typeof fieldName === "string" ? fieldName : void 0, rowIndex, columnName);
|
|
150
|
+
projections.push(/* @__PURE__ */ jsx("div", {
|
|
151
|
+
slot: slotName,
|
|
152
|
+
className: typeof column.contentClassName === "string" ? column.contentClassName : void 0,
|
|
153
|
+
children: column.renderCell({
|
|
154
|
+
column,
|
|
107
155
|
row,
|
|
108
156
|
rowIndex,
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
157
|
+
value: row[columnName],
|
|
158
|
+
isInvalid,
|
|
159
|
+
updateValue: (next) => {
|
|
160
|
+
elementRef.current?.setCellValue(rowIndex, columnName, next);
|
|
161
|
+
}
|
|
162
|
+
})
|
|
163
|
+
}, slotName));
|
|
164
|
+
});
|
|
165
|
+
});
|
|
166
|
+
return projections.length > 0 ? projections : null;
|
|
167
|
+
}, [
|
|
168
|
+
cellErrors,
|
|
169
|
+
columns,
|
|
170
|
+
fieldName,
|
|
171
|
+
rowsWithIds
|
|
172
|
+
]);
|
|
173
|
+
return /* @__PURE__ */ jsxs(PkEditableTableElement, {
|
|
174
|
+
ref: elementRef,
|
|
175
|
+
...rest,
|
|
176
|
+
columns: elementColumns,
|
|
177
|
+
rows: rowsWithIds,
|
|
178
|
+
cellErrors,
|
|
179
|
+
fieldName,
|
|
180
|
+
modifyColumn: modifyColumn ?? null,
|
|
181
|
+
modifyRow: resolvedModifyRow,
|
|
182
|
+
getRowMenuItems: resolvedGetRowMenuItems,
|
|
183
|
+
...optionalBoolean("allowAdd", allowAdd),
|
|
184
|
+
...optionalBoolean("allowDelete", allowDelete),
|
|
185
|
+
...optionalBoolean("allowReorder", allowReorder),
|
|
186
|
+
...onChange || onPkChange ? { onPkChange: handlePkChange } : {},
|
|
187
|
+
...onCellChange || onPkCellChange ? { onPkCellChange: handlePkCellChange } : {},
|
|
188
|
+
...onRowMenuSelect || onPkRowMenuSelect ? { onPkRowMenuSelect: handlePkRowMenuSelect } : {},
|
|
189
|
+
children: [customCellProjections, children]
|
|
141
190
|
});
|
|
142
|
-
}
|
|
191
|
+
});
|
|
192
|
+
EditableTable.displayName = "EditableTable";
|
|
143
193
|
//#endregion
|
|
144
|
-
export { EditableTable };
|
|
194
|
+
export { EditableTable, PkEditableTableElement, getCustomCellSlotName };
|
|
145
195
|
|
|
146
196
|
//# sourceMappingURL=EditableTable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditableTable.js","names":[],"sources":["../../src/components/EditableTable.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\nimport { DragDropProvider } from '@dnd-kit/react';\nimport { AutoScroller } from '@dnd-kit/dom';\nimport {\n Button,\n Table,\n TableHeader,\n TableBody,\n TableRow as UITableRow,\n TableHead,\n} from '@verbb/plugin-kit-react/components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faPlus } from '@fortawesome/pro-solid-svg-icons';\nimport { useTranslation } from '@verbb/plugin-kit-react/hooks';\nimport { cn } from '@verbb/plugin-kit-react/utils';\nimport { TableRow } from './editable-table/TableRow';\nimport { isGeneratedColumn, isThinColumn } from './editable-table/helpers';\nimport { useEditableTableRows } from './editable-table/useEditableTableRows';\nimport { useEditableTableDnd } from './editable-table/useEditableTableDnd';\nimport { useEditableTableCellChange } from './editable-table/useEditableTableCellChange';\nimport type {\n EditableTableColumn,\n EditableTableModifyColumn,\n EditableTableModifyRow,\n EditableTableOnCellChange,\n EditableTableRow,\n EditableTableRowActionArgs,\n} from './editable-table/types';\n\nexport type {\n EditableTableColumn,\n EditableTableModifyColumn,\n EditableTableModifyColumnResult,\n EditableTableModifyRow,\n EditableTableOnCellChange,\n EditableTableRow,\n EditableTableRowActionArgs,\n} from './editable-table/types';\n\nexport type EditableTableProps = {\n columns: EditableTableColumn[];\n rows: EditableTableRow[];\n onChange: (rows: EditableTableRow[]) => void;\n onCellChange?: EditableTableOnCellChange;\n addRowLabel?: string;\n allowReorder?: boolean;\n allowAdd?: boolean;\n allowDelete?: boolean;\n className?: string;\n modifyColumn?: EditableTableModifyColumn;\n modifyRow?: EditableTableModifyRow;\n fieldName?: string;\n cellErrors?: Record<string, unknown>;\n newRowDefaults?: Record<string, unknown>;\n renderActions?: (args: { rows: EditableTableRow[]; addRow: () => void; isDragging: boolean }) => React.ReactNode;\n renderRowActions?: (args: EditableTableRowActionArgs) => React.ReactNode;\n renderRowMenuItemsBeforeCore?: (args: EditableTableRowActionArgs) => React.ReactNode;\n renderRowMenuItemsAfterCore?: (args: EditableTableRowActionArgs) => React.ReactNode;\n renderRowMenuItems?: (args: EditableTableRowActionArgs) => React.ReactNode;\n};\n\ntype TableRowComponentProps = {\n row: EditableTableRow;\n rowIndex: number;\n rowCount: number;\n columns: EditableTableColumn[];\n columnsSignature: string;\n useDnd: boolean;\n allowReorder: boolean;\n showReorderControls: boolean;\n allowDelete: boolean;\n modifyColumn?: EditableTableModifyColumn;\n modifyRow?: EditableTableModifyRow;\n getCellErrors: (rowIndex: number, columnName: string) => unknown[];\n onUpdateCell: (rowIndex: number, row: EditableTableRow, column: EditableTableColumn, newValue: unknown) => void;\n moveRow: (row: EditableTableRow, direction: number) => void;\n removeRow: (row: EditableTableRow) => void;\n t: (key: string) => string;\n renderRowActions?: (args: EditableTableRowActionArgs) => React.ReactNode;\n renderRowMenuItemsBeforeCore?: (args: EditableTableRowActionArgs) => React.ReactNode;\n renderRowMenuItemsAfterCore?: (args: EditableTableRowActionArgs) => React.ReactNode;\n renderRowMenuItems?: (args: EditableTableRowActionArgs) => React.ReactNode;\n};\n\nexport function EditableTable({\n columns,\n rows,\n onChange,\n onCellChange = undefined,\n addRowLabel,\n allowReorder = true,\n allowAdd = true,\n allowDelete = true,\n className = '',\n modifyColumn = undefined,\n modifyRow = undefined,\n fieldName = undefined,\n cellErrors = {},\n newRowDefaults = {},\n renderActions = undefined,\n renderRowActions = undefined,\n renderRowMenuItemsBeforeCore = undefined,\n renderRowMenuItemsAfterCore = undefined,\n renderRowMenuItems = undefined,\n}: EditableTableProps) {\n const TableRowComponent = TableRow as React.ComponentType<TableRowComponentProps>;\n const t = useTranslation();\n const normalizedColumns = useMemo(() => {\n const sourceColumns = Array.isArray(columns) ? columns : [];\n const validColumns = sourceColumns.filter((column) => {\n return typeof column?.name === 'string' && column.name.trim() !== '';\n });\n\n if (validColumns.length !== sourceColumns.length) {\n const invalidColumns = sourceColumns.filter((column) => {\n return !(typeof column?.name === 'string' && column.name.trim() !== '');\n });\n\n console.error(\n 'EditableTable: column definitions must include a non-empty `name`.',\n { invalidColumns, columns: sourceColumns },\n );\n }\n\n return validColumns;\n }, [columns]);\n\n const generatedColumns = useMemo(() => {\n return normalizedColumns.filter(isGeneratedColumn);\n }, [normalizedColumns]);\n\n const columnsSignature = useMemo(() => {\n return JSON.stringify(normalizedColumns.map((column) => {\n return {\n name: column.name,\n type: column.type,\n label: column.label,\n required: column.required,\n placeholder: column.placeholder,\n options: column.options,\n };\n }));\n }, [normalizedColumns]);\n\n const {\n internalData,\n setInternalData,\n internalDataRef,\n skipNextRowsSyncRef,\n handleChange,\n addRow,\n removeRow,\n updateRow,\n moveRow,\n } = useEditableTableRows({\n rows,\n onChange,\n newRowDefaults,\n });\n\n const {\n isDragging,\n isDndHydrated,\n effectiveAllowReorder,\n handleDragStart,\n handleDragEnd,\n } = useEditableTableDnd({\n allowReorder,\n internalData,\n handleChange,\n });\n\n const {\n handleCellValueChange,\n } = useEditableTableCellChange({\n internalData,\n internalDataRef,\n setInternalData,\n skipNextRowsSyncRef,\n generatedColumns,\n onCellChange,\n updateRow,\n handleChange,\n });\n\n const getCellErrors = useCallback((rowIndex: number, columnName: string) => {\n if (!fieldName) {\n return [];\n }\n\n const key = `${fieldName}.${rowIndex}.${columnName}`;\n const errors = cellErrors?.[key];\n if (!errors) {\n return [];\n }\n\n return Array.isArray(errors) ? errors : [errors];\n }, [cellErrors, fieldName]);\n\n const actions = typeof renderActions === 'function'\n ? renderActions({\n rows: internalData,\n addRow,\n isDragging,\n })\n : null;\n\n const dragDropPlugins = useCallback((defaults) => {\n return defaults.filter((plugin) => { return plugin !== AutoScroller; });\n }, []);\n\n return (\n <div className={className}>\n {actions}\n\n <DragDropProvider\n plugins={dragDropPlugins}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n >\n <Table>\n <TableHeader>\n <UITableRow>\n {normalizedColumns.map((column) => {\n return (\n <TableHead key={column.name} className={cn(column.className, isThinColumn(column) && 'w-[1%] whitespace-nowrap')}>\n {column.label}\n {column.required && <span className=\"text-error ml-1\">*</span>}\n </TableHead>\n );\n })}\n {(allowReorder || allowDelete) && <TableHead className=\"p-0 w-0\"></TableHead>}\n </UITableRow>\n </TableHeader>\n <TableBody>\n {internalData.map((row, rowIndex) => {\n return (\n <TableRowComponent\n key={row._id}\n row={row}\n rowIndex={rowIndex}\n rowCount={internalData.length}\n columns={normalizedColumns}\n columnsSignature={columnsSignature}\n useDnd={allowReorder && isDndHydrated}\n allowReorder={effectiveAllowReorder && isDndHydrated}\n showReorderControls={allowReorder}\n allowDelete={allowDelete}\n modifyColumn={modifyColumn}\n modifyRow={modifyRow}\n getCellErrors={getCellErrors}\n onUpdateCell={handleCellValueChange}\n moveRow={moveRow}\n removeRow={removeRow}\n t={t}\n renderRowActions={renderRowActions}\n renderRowMenuItemsBeforeCore={renderRowMenuItemsBeforeCore}\n renderRowMenuItemsAfterCore={renderRowMenuItemsAfterCore}\n renderRowMenuItems={renderRowMenuItems}\n />\n );\n })}\n </TableBody>\n </Table>\n </DragDropProvider>\n\n {allowAdd && (\n <Button\n type=\"button\"\n variant=\"dashed\"\n onClick={addRow}\n className={cn('w-full rounded-t-none! border-t-0!', isDragging && 'pointer-events-none')}\n >\n <FontAwesomeIcon icon={faPlus} className=\"size-3 mr-1\" />\n {addRowLabel || t('Add row')}\n </Button>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EditableTable.js","names":[],"sources":["../../src/components/EditableTable.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n type ReactNode,\n} from 'react';\nimport { createPluginKitComponent } from '../utils/create-plugin-kit-component.js';\nimport {\n getCustomCellSlotName,\n isCustomColumn,\n nextRowId,\n PkEditableTable,\n type PkEditableTableColumn,\n type PkEditableTableColumnType,\n type PkEditableTableGetRowMenuItems,\n type PkEditableTableModifyColumn,\n type PkEditableTableModifyRow,\n type PkEditableTableOption,\n type PkEditableTableRow,\n type PkEditableTableRowMenuItem,\n type PkEditableTableRowModifier,\n} from '@verbb/plugin-kit-web/components/editable-table/pk-editable-table.js';\n\nconst PkEditableTableElement = createPluginKitComponent({\n tagName: 'pk-editable-table',\n elementClass: PkEditableTable,\n react: React,\n events: {\n onPkChange: 'pk-change',\n onPkCellChange: 'pk-cell-change',\n onPkRowMenuSelect: 'pk-row-menu-select',\n onInput: 'input',\n onChange: 'change',\n },\n});\n\ntype PkEditableTableElementProps = React.ComponentProps<typeof PkEditableTableElement>;\n\nexport type EditableTableCellRenderContext = {\n column: EditableTableColumn;\n row: PkEditableTableRow;\n rowIndex: number;\n value: unknown;\n isInvalid: boolean;\n updateValue: (next: unknown) => void;\n};\n\n/**\n * Column shape for the React facade. Extra keys (Formie metadata, `renderCell`,\n * `className`) are stripped / remapped before forwarding to the web component.\n */\nexport type EditableTableColumn = Omit<PkEditableTableColumn, 'type' | 'class'> & {\n type?: PkEditableTableColumnType | (string & {});\n /** Maps to the CE `class` field. */\n className?: string;\n class?: string;\n /**\n * Optional class on the light-DOM projection wrapper for custom cells.\n * Built-in cell types ignore this (shadow cells cannot take host Tailwind).\n */\n contentClassName?: string;\n /** When set, the column is forced to `type: 'custom'` and content is projected. */\n renderCell?: (context: EditableTableCellRenderContext) => ReactNode;\n};\n\nexport type EditableTableRowMenuSelectDetail = {\n rowIndex: number;\n row: PkEditableTableRow;\n item: PkEditableTableRowMenuItem;\n action: string;\n value: string;\n};\n\nexport type EditableTableProps = Omit<\n PkEditableTableElementProps,\n 'onChange' | 'columns' | 'modifyColumn' | 'modifyRow' | 'getRowMenuItems' | 'children'\n> & {\n columns?: EditableTableColumn[];\n /**\n * Controlled rows callback — sugar over `onPkChange` detail.\n * Prefer this in React apps; `onPkChange` remains for CE parity.\n */\n onChange?: (rows: PkEditableTableRow[]) => void;\n /**\n * Per-cell sugar over `pk-cell-change`.\n * Signature matches Formie's historical `(rowIndex, columnName, value)` binding.\n */\n onCellChange?: (rowIndex: number, columnName: string, value: unknown, row?: PkEditableTableRow) => void;\n modifyColumn?: PkEditableTableModifyColumn | null;\n /**\n * Per-row chrome. Accepts CE shape (`class` / `title`) or Formie's\n * transitional `{ cellClassName, title }`.\n */\n modifyRow?: ((\n row: PkEditableTableRow,\n rowIndex: number,\n ) => PkEditableTableRowModifier | { cellClassName?: string; title?: string; tone?: PkEditableTableRowModifier['tone'] } | null | undefined) | null;\n getRowMenuItems?: PkEditableTableGetRowMenuItems | null;\n /**\n * @deprecated Prefer `getRowMenuItems`. Alias kept so Formie can migrate call sites.\n */\n renderRowMenuItemsBeforeCore?: PkEditableTableGetRowMenuItems | null;\n onRowMenuSelect?: (detail: EditableTableRowMenuSelectDetail) => void;\n};\n\nfunction optionalBoolean(name: 'allowAdd' | 'allowDelete' | 'allowReorder', value: boolean | undefined) {\n // Defaults live on the CE (`true`). Only forward when the caller sets a value —\n // including `false`, which `trueBooleanProps` would drop.\n if (value === undefined) {\n return {};\n }\n\n return { [name]: value };\n}\n\nfunction cellHasError(\n cellErrors: Record<string, string[] | string> | undefined,\n fieldName: string | undefined,\n rowIndex: number,\n columnName: string,\n): boolean {\n if (!cellErrors) {\n return false;\n }\n\n const prefixed = fieldName ? cellErrors[`${fieldName}.${rowIndex}.${columnName}`] : undefined;\n const bare = cellErrors[`${rowIndex}.${columnName}`];\n const errors = prefixed ?? bare;\n if (!errors) {\n return false;\n }\n\n return Array.isArray(errors) ? errors.length > 0 : Boolean(errors);\n}\n\nfunction normalizeColumnsForElement(columns: EditableTableColumn[] | undefined): PkEditableTableColumn[] {\n if (!Array.isArray(columns)) {\n return [];\n }\n\n return columns.map((column) => {\n const forceCustom = typeof column.renderCell === 'function'\n || column.type === 'custom'\n || (typeof column.type === 'string'\n && column.type !== ''\n && isCustomColumn({ name: String(column.name), type: column.type as PkEditableTableColumnType }));\n\n return {\n name: String(column.name),\n type: (forceCustom ? 'custom' : (column.type as PkEditableTableColumnType | undefined)) || 'text',\n label: column.label,\n required: column.required,\n placeholder: column.placeholder,\n width: column.width,\n thin: column.thin,\n options: column.options,\n source: column.source,\n allowUnselect: column.allowUnselect,\n class: column.class || column.className || undefined,\n };\n });\n}\n\nfunction wrapModifyRow(\n modifyRow: EditableTableProps['modifyRow'],\n): PkEditableTableModifyRow | null {\n if (!modifyRow) {\n return null;\n }\n\n return (row, rowIndex) => {\n const result = modifyRow(row, rowIndex);\n if (!result || typeof result !== 'object') {\n return result ?? undefined;\n }\n\n if ('cellClassName' in result || 'tone' in result) {\n const typed = result as {\n cellClassName?: string;\n title?: string;\n class?: string;\n tone?: PkEditableTableRowModifier['tone'];\n };\n return {\n class: typed.class || typed.cellClassName,\n title: typed.title,\n tone: typed.tone,\n };\n }\n\n return result as PkEditableTableRowModifier;\n };\n}\n\n/**\n * Keep stable `_id`s for slotted custom cells. The CE also mints ids, but React\n * projections key slots from the rows prop — without ids on first paint, TipTap\n * cells would mount empty until the next pk-change.\n */\nfunction ensureRowIds(\n rows: PkEditableTableRow[] | undefined,\n previousIds: string[],\n): { rows: PkEditableTableRow[]; ids: string[]; minted: boolean } {\n if (!Array.isArray(rows)) {\n return { rows: [], ids: [], minted: false };\n }\n\n let minted = false;\n const ids: string[] = [];\n const nextRows = rows.map((row, index) => {\n if (typeof row._id === 'string' && row._id !== '') {\n ids[index] = row._id;\n return row;\n }\n\n const reused = previousIds[index];\n const id = reused || nextRowId();\n if (!reused) {\n minted = true;\n }\n ids[index] = id;\n return { ...row, _id: id };\n });\n\n return { rows: nextRows, ids, minted };\n}\n\n/**\n * React facade over `<pk-editable-table>`.\n * Behavior and styles live in the web component; this layer adds React sugar\n * (`onChange`, `onCellChange`, `renderCell` light-DOM projection, `modifyRow`\n * className alias) without reimplementing the table.\n */\nexport const EditableTable = forwardRef<PkEditableTable, EditableTableProps>(function EditableTable(\n {\n allowAdd,\n allowDelete,\n allowReorder,\n columns,\n rows,\n cellErrors,\n fieldName,\n onChange,\n onCellChange,\n onPkChange,\n onPkCellChange,\n onPkRowMenuSelect,\n onRowMenuSelect,\n modifyColumn,\n modifyRow,\n getRowMenuItems,\n renderRowMenuItemsBeforeCore,\n children,\n ...rest\n },\n ref,\n) {\n const elementRef = useRef<PkEditableTable | null>(null);\n const rowIdsRef = useRef<string[]>([]);\n\n useImperativeHandle(ref, () => elementRef.current as PkEditableTable, []);\n\n const { rows: rowsWithIds, ids: nextIds, minted } = useMemo(\n () => ensureRowIds(rows as PkEditableTableRow[] | undefined, rowIdsRef.current),\n [rows],\n );\n rowIdsRef.current = nextIds;\n\n // Push minted ids into controlled state so subsequent renders stay stable.\n useEffect(() => {\n if (!minted || !onChange) {\n return;\n }\n\n onChange(rowsWithIds);\n }, [minted, onChange, rowsWithIds]);\n\n const elementColumns = useMemo(() => normalizeColumnsForElement(columns), [columns]);\n const resolvedGetRowMenuItems = getRowMenuItems ?? renderRowMenuItemsBeforeCore ?? null;\n const resolvedModifyRow = useMemo(() => wrapModifyRow(modifyRow), [modifyRow]);\n\n const handlePkChange = useCallback(\n (event: Event) => {\n onPkChange?.(event as Parameters<NonNullable<PkEditableTableElementProps['onPkChange']>>[0]);\n if (!onChange) {\n return;\n }\n\n const detail = (event as CustomEvent<{ rows: PkEditableTableRow[] }>).detail;\n if (detail?.rows) {\n onChange(detail.rows);\n }\n },\n [onChange, onPkChange],\n );\n\n const handlePkCellChange = useCallback(\n (event: Event) => {\n onPkCellChange?.(event as Parameters<NonNullable<PkEditableTableElementProps['onPkCellChange']>>[0]);\n if (!onCellChange) {\n return;\n }\n\n const detail = (event as CustomEvent<{\n rowIndex: number;\n columnName: string;\n value: unknown;\n row: PkEditableTableRow;\n }>).detail;\n if (!detail) {\n return;\n }\n\n onCellChange(detail.rowIndex, detail.columnName, detail.value, detail.row);\n },\n [onCellChange, onPkCellChange],\n );\n\n const handlePkRowMenuSelect = useCallback(\n (event: Event) => {\n onPkRowMenuSelect?.(event as Parameters<NonNullable<PkEditableTableElementProps['onPkRowMenuSelect']>>[0]);\n if (!onRowMenuSelect) {\n return;\n }\n\n const detail = (event as CustomEvent<EditableTableRowMenuSelectDetail>).detail;\n if (detail) {\n onRowMenuSelect(detail);\n }\n },\n [onPkRowMenuSelect, onRowMenuSelect],\n );\n\n const customCellProjections = useMemo(() => {\n if (!Array.isArray(columns) || rowsWithIds.length === 0) {\n return null;\n }\n\n const projections: ReactNode[] = [];\n\n rowsWithIds.forEach((row, rowIndex) => {\n const rowId = String(row._id);\n columns.forEach((column) => {\n if (typeof column.renderCell !== 'function') {\n return;\n }\n\n const columnName = String(column.name);\n const slotName = getCustomCellSlotName(rowId, columnName);\n const isInvalid = cellHasError(\n cellErrors as Record<string, string[] | string> | undefined,\n typeof fieldName === 'string' ? fieldName : undefined,\n rowIndex,\n columnName,\n );\n\n projections.push(\n <div\n key={slotName}\n slot={slotName}\n className={typeof column.contentClassName === 'string' ? column.contentClassName : undefined}\n >\n {column.renderCell({\n column,\n row,\n rowIndex,\n value: row[columnName],\n isInvalid,\n updateValue: (next) => {\n elementRef.current?.setCellValue(rowIndex, columnName, next);\n },\n })}\n </div>,\n );\n });\n });\n\n return projections.length > 0 ? projections : null;\n }, [cellErrors, columns, fieldName, rowsWithIds]);\n\n return (\n <PkEditableTableElement\n ref={elementRef}\n {...rest}\n columns={elementColumns}\n rows={rowsWithIds}\n cellErrors={cellErrors}\n fieldName={fieldName}\n modifyColumn={modifyColumn ?? null}\n modifyRow={resolvedModifyRow}\n getRowMenuItems={resolvedGetRowMenuItems}\n {...optionalBoolean('allowAdd', allowAdd)}\n {...optionalBoolean('allowDelete', allowDelete)}\n {...optionalBoolean('allowReorder', allowReorder)}\n {...(onChange || onPkChange ? { onPkChange: handlePkChange } : {})}\n {...(onCellChange || onPkCellChange ? { onPkCellChange: handlePkCellChange } : {})}\n {...(onRowMenuSelect || onPkRowMenuSelect ? { onPkRowMenuSelect: handlePkRowMenuSelect } : {})}\n >\n {customCellProjections}\n {children}\n </PkEditableTableElement>\n );\n});\n\nEditableTable.displayName = 'EditableTable';\n\nexport { PkEditableTableElement, getCustomCellSlotName };\nexport type {\n PkEditableTableColumn,\n PkEditableTableColumnType,\n PkEditableTableGetRowMenuItems,\n PkEditableTableModifyColumn,\n PkEditableTableModifyRow,\n PkEditableTableOption,\n PkEditableTableRow,\n PkEditableTableRowMenuItem,\n PkEditableTableRowModifier,\n};\n\n/** @deprecated Use `PkEditableTableColumn` — alias kept for transitional imports. */\nexport type EditableTableColumnAlias = PkEditableTableColumn;\n/** @deprecated Use `PkEditableTableRow` — alias kept for transitional imports. */\nexport type EditableTableRow = PkEditableTableRow;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
import { PkField } from '@verbb/plugin-kit-web/components/field/pk-field.js';
|
|
3
|
+
declare const PkFieldElement: import('@lit/react').ReactWebComponent<PkField, {}>;
|
|
4
|
+
type PkFieldElementProps = React.ComponentProps<typeof PkFieldElement>;
|
|
5
|
+
export type FieldProps = Omit<PkFieldElementProps, 'children'> & {
|
|
6
|
+
/** Trailing header actions — rendered into `slot="header-end"`. */
|
|
7
|
+
headerEnd?: ReactNode;
|
|
8
|
+
children?: ReactNode;
|
|
9
|
+
};
|
|
10
|
+
/** React facade over `<pk-field>`. Behavior and styles live in the web component. */
|
|
11
|
+
export declare const Field: React.ForwardRefExoticComponent<Omit<FieldProps, "ref"> & React.RefAttributes<PkField>>;
|
|
12
|
+
export { PkFieldElement };
|
|
13
|
+
//# sourceMappingURL=Field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/components/Field.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAE,OAAO,EAAE,MAAM,oDAAoD,CAAC;AAI7E,QAAA,MAAM,cAAc,qDAIlB,CAAC;AAEH,KAAK,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC;AAEvE,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,GAAG;IAC7D,mEAAmE;IACnE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,KAAK,yFAmBhB,CAAC;AAIH,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { createPluginKitComponent } from "../utils/create-plugin-kit-component.js";
|
|
2
|
+
import { trueBooleanProps } from "../utils/lit-react-booleans.js";
|
|
3
|
+
import React, { forwardRef } from "react";
|
|
4
|
+
import { PkField } from "@verbb/plugin-kit-web/components/field/pk-field.js";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/Field.tsx
|
|
7
|
+
var PkFieldElement = createPluginKitComponent({
|
|
8
|
+
tagName: "pk-field",
|
|
9
|
+
elementClass: PkField,
|
|
10
|
+
react: React
|
|
11
|
+
});
|
|
12
|
+
/** React facade over `<pk-field>`. Behavior and styles live in the web component. */
|
|
13
|
+
var Field = forwardRef(function Field(props, ref) {
|
|
14
|
+
const { required, translatable, headerEnd, children, ...rest } = props;
|
|
15
|
+
return /* @__PURE__ */ jsxs(PkFieldElement, {
|
|
16
|
+
ref,
|
|
17
|
+
...rest,
|
|
18
|
+
...trueBooleanProps(["required", "translatable"], {
|
|
19
|
+
required,
|
|
20
|
+
translatable
|
|
21
|
+
}),
|
|
22
|
+
children: [headerEnd ? /* @__PURE__ */ jsx("div", {
|
|
23
|
+
slot: "header-end",
|
|
24
|
+
children: headerEnd
|
|
25
|
+
}) : null, children]
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
Field.displayName = "Field";
|
|
29
|
+
//#endregion
|
|
30
|
+
export { Field, PkFieldElement };
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=Field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Field.js","names":[],"sources":["../../src/components/Field.tsx"],"sourcesContent":["import React, { forwardRef, type ReactNode } from 'react';\nimport { createPluginKitComponent } from '../utils/create-plugin-kit-component.js';\nimport { PkField } from '@verbb/plugin-kit-web/components/field/pk-field.js';\n\nimport { trueBooleanProps } from '../utils/lit-react-booleans.js';\n\nconst PkFieldElement = createPluginKitComponent({\n tagName: 'pk-field',\n elementClass: PkField,\n react: React,\n});\n\ntype PkFieldElementProps = React.ComponentProps<typeof PkFieldElement>;\n\nexport type FieldProps = Omit<PkFieldElementProps, 'children'> & {\n /** Trailing header actions — rendered into `slot=\"header-end\"`. */\n headerEnd?: ReactNode;\n children?: ReactNode;\n};\n\n/** React facade over `<pk-field>`. Behavior and styles live in the web component. */\nexport const Field = forwardRef<PkField, FieldProps>(function Field(props, ref) {\n const {\n required,\n translatable,\n headerEnd,\n children,\n ...rest\n } = props;\n\n return (\n <PkFieldElement\n ref={ref}\n {...rest}\n {...trueBooleanProps(['required', 'translatable'], { required, translatable })}\n >\n {headerEnd ? <div slot=\"header-end\">{headerEnd}</div> : null}\n {children}\n </PkFieldElement>\n );\n});\n\nField.displayName = 'Field';\n\nexport { PkFieldElement };\n"],"mappings":";;;;;;AAMA,IAAM,iBAAiB,yBAAyB;CAC5C,SAAS;CACT,cAAc;CACd,OAAO;CACV,CAAC;;AAWF,IAAa,QAAQ,WAAgC,SAAS,MAAM,OAAO,KAAK;CAC5E,MAAM,EACF,UACA,cACA,WACA,UACA,GAAG,SACH;AAEJ,QACI,qBAAC,gBAAD;EACS;EACL,GAAI;EACJ,GAAI,iBAAiB,CAAC,YAAY,eAAe,EAAE;GAAE;GAAU;GAAc,CAAC;YAHlF,CAKK,YAAY,oBAAC,OAAD;GAAK,MAAK;aAAc;GAAgB,CAAA,GAAG,MACvD,SACY;;EAEvB;AAEF,MAAM,cAAc"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { PkIcon } from '@verbb/plugin-kit-web/components/icon/pk-icon.js';
|
|
3
|
+
/** React facade over `<pk-icon>`. Behavior and styles live in the web component. */
|
|
4
|
+
export declare const PkIconElement: import('@lit/react').ReactWebComponent<PkIcon, {}>;
|
|
5
|
+
export declare const Icon: import('@lit/react').ReactWebComponent<PkIcon, {}>;
|
|
6
|
+
export type IconProps = React.ComponentProps<typeof PkIconElement>;
|
|
7
|
+
//# sourceMappingURL=Icon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../src/components/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,kDAAkD,CAAC;AAE1E,oFAAoF;AACpF,eAAO,MAAM,aAAa,oDAIxB,CAAC;AAEH,eAAO,MAAM,IAAI,oDAAgB,CAAC;AAClC,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createPluginKitComponent } from "../utils/create-plugin-kit-component.js";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { PkIcon } from "@verbb/plugin-kit-web/components/icon/pk-icon.js";
|
|
4
|
+
//#region src/components/Icon.tsx
|
|
5
|
+
/** React facade over `<pk-icon>`. Behavior and styles live in the web component. */
|
|
6
|
+
var PkIconElement = createPluginKitComponent({
|
|
7
|
+
tagName: "pk-icon",
|
|
8
|
+
elementClass: PkIcon,
|
|
9
|
+
react: React
|
|
10
|
+
});
|
|
11
|
+
var Icon = PkIconElement;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { Icon, PkIconElement };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=Icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Icon.js","names":[],"sources":["../../src/components/Icon.tsx"],"sourcesContent":["import React from 'react';\nimport { createPluginKitComponent } from '../utils/create-plugin-kit-component.js';\nimport { PkIcon } from '@verbb/plugin-kit-web/components/icon/pk-icon.js';\n\n/** React facade over `<pk-icon>`. Behavior and styles live in the web component. */\nexport const PkIconElement = createPluginKitComponent({\n tagName: 'pk-icon',\n elementClass: PkIcon,\n react: React,\n});\n\nexport const Icon = PkIconElement;\nexport type IconProps = React.ComponentProps<typeof PkIconElement>;\n"],"mappings":";;;;;AAKA,IAAa,gBAAgB,yBAAyB;CAClD,SAAS;CACT,cAAc;CACd,OAAO;CACV,CAAC;AAEF,IAAa,OAAO"}
|
|
@@ -1,9 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
declare const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { PkInput, PkInputSize } from '@verbb/plugin-kit-web/components/input/pk-input.js';
|
|
3
|
+
declare const PkInputElement: import('@lit/react').ReactWebComponent<PkInput, {
|
|
4
|
+
onInput: string;
|
|
5
|
+
onChange: string;
|
|
6
|
+
onPkClear: string;
|
|
7
|
+
onFocus: string;
|
|
8
|
+
onBlur: string;
|
|
9
|
+
}>;
|
|
10
|
+
type PkInputElementProps = React.ComponentProps<typeof PkInputElement>;
|
|
11
|
+
/** React facade over `<pk-input>`. Behavior and styles live in the web component. */
|
|
12
|
+
export declare const Input: React.ForwardRefExoticComponent<Omit<Omit<React.HTMLAttributes<PkInput>, "defaultValue" | "onFocus" | "onBlur" | "onChange" | "onInput" | "form" | "input" | "label" | "select" | "pattern" | "value" | "firstUpdated" | "updated" | "render" | "connectedCallback" | "createRenderRoot" | "performUpdate" | "renderOptions" | "disconnectedCallback" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "disabled" | "instructions" | "required" | "step" | "name" | "type" | "size" | "placeholder" | "readonly" | "invalid" | "autocomplete" | "min" | "max" | "assumeInteractionOn" | "validators" | "customError" | "valueHasChanged" | "hasInteracted" | "formResetCallback" | "formDisabledCallback" | "formStateRestoreCallback" | "labels" | "validity" | "willValidate" | "validationMessage" | "getForm" | "checkValidity" | "reportValidity" | "resetValidity" | "setCustomValidity" | "fitCell" | "onPkClear" | "withClear" | "withLabel" | "withInstructions" | "mono" | "minlength" | "maxlength"> & {
|
|
13
|
+
onInput?: ((e: Event) => void) | undefined;
|
|
14
|
+
onChange?: ((e: Event) => void) | undefined;
|
|
15
|
+
onPkClear?: ((e: Event) => void) | undefined;
|
|
16
|
+
onFocus?: ((e: Event) => void) | undefined;
|
|
17
|
+
onBlur?: ((e: Event) => void) | undefined;
|
|
18
|
+
} & Partial<Omit<PkInput, keyof HTMLElement>> & React.RefAttributes<PkInput>, "ref"> & React.RefAttributes<PkInput>>;
|
|
19
|
+
export type InputProps = PkInputElementProps;
|
|
20
|
+
export type { PkInputSize };
|
|
9
21
|
//# sourceMappingURL=Input.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,oDAAoD,CAAC;AAI/F,QAAA,MAAM,cAAc;;;;;;EAYlB,CAAC;AAEH,KAAK,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC;AAEvE,qFAAqF;AACrF,eAAO,MAAM,KAAK;;;;;;oHAchB,CAAC;AAIH,MAAM,MAAM,UAAU,GAAG,mBAAmB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,CAAC"}
|
package/dist/components/Input.js
CHANGED
|
@@ -1,42 +1,45 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "../utils/
|
|
3
|
-
import {
|
|
1
|
+
import { createPluginKitComponent } from "../utils/create-plugin-kit-component.js";
|
|
2
|
+
import { trueBooleanProps } from "../utils/lit-react-booleans.js";
|
|
3
|
+
import React, { forwardRef } from "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
|
-
import {
|
|
5
|
+
import { PkInput } from "@verbb/plugin-kit-web/components/input/pk-input.js";
|
|
6
6
|
//#region src/components/Input.tsx
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
xs: "w-4",
|
|
18
|
-
sm: "w-8",
|
|
19
|
-
lg: "w-12",
|
|
20
|
-
xl: "w-16",
|
|
21
|
-
full: "w-full"
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
defaultVariants: {
|
|
25
|
-
size: "default",
|
|
26
|
-
width: "full"
|
|
7
|
+
var PkInputElement = createPluginKitComponent({
|
|
8
|
+
tagName: "pk-input",
|
|
9
|
+
elementClass: PkInput,
|
|
10
|
+
react: React,
|
|
11
|
+
events: {
|
|
12
|
+
onInput: "input",
|
|
13
|
+
onChange: "input",
|
|
14
|
+
onPkClear: "pk-clear",
|
|
15
|
+
onFocus: "focus",
|
|
16
|
+
onBlur: "blur"
|
|
27
17
|
}
|
|
28
18
|
});
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
19
|
+
/** React facade over `<pk-input>`. Behavior and styles live in the web component. */
|
|
20
|
+
var Input = forwardRef(function Input(props, ref) {
|
|
21
|
+
const { disabled, readonly, invalid, fitCell, autofocus, mono, ...rest } = props;
|
|
22
|
+
return /* @__PURE__ */ jsx(PkInputElement, {
|
|
23
|
+
ref,
|
|
24
|
+
...rest,
|
|
25
|
+
...trueBooleanProps([
|
|
26
|
+
"disabled",
|
|
27
|
+
"readonly",
|
|
28
|
+
"invalid",
|
|
29
|
+
"fitCell",
|
|
30
|
+
"autofocus",
|
|
31
|
+
"mono"
|
|
32
|
+
], {
|
|
33
|
+
disabled,
|
|
34
|
+
readonly,
|
|
35
|
+
invalid,
|
|
36
|
+
fitCell,
|
|
37
|
+
autofocus,
|
|
38
|
+
mono
|
|
39
|
+
})
|
|
38
40
|
});
|
|
39
|
-
}
|
|
41
|
+
});
|
|
42
|
+
Input.displayName = "Input";
|
|
40
43
|
//#endregion
|
|
41
44
|
export { Input };
|
|
42
45
|
|