@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,175 +1,95 @@
|
|
|
1
|
-
import { Combobox
|
|
2
|
-
import {
|
|
3
|
-
import "
|
|
4
|
-
import {
|
|
5
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { Combobox } from "./Combobox.js";
|
|
2
|
+
import { Option } from "./Select.js";
|
|
3
|
+
import { forwardRef, useMemo } from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
5
|
//#region src/components/ComboboxInput.tsx
|
|
7
|
-
var optionsCache = /* @__PURE__ */ new Map();
|
|
8
6
|
var toStringValue = (value) => {
|
|
9
|
-
return
|
|
7
|
+
return value === void 0 || value === null ? "" : String(value);
|
|
10
8
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const resolvedOptions = useMemo(() => {
|
|
29
|
-
return fetchedOptions ?? options ?? [];
|
|
30
|
-
}, [fetchedOptions, options]);
|
|
31
|
-
const resolveCachedOptions = useCallback(() => {
|
|
32
|
-
if (disableCache || !cacheKey) return null;
|
|
33
|
-
const cached = optionsCache.get(cacheKey);
|
|
34
|
-
if (!cached) return null;
|
|
35
|
-
if (cached.expiresAt <= Date.now()) {
|
|
36
|
-
optionsCache.delete(cacheKey);
|
|
37
|
-
return null;
|
|
38
|
-
}
|
|
39
|
-
return cached.options;
|
|
40
|
-
}, [cacheKey, disableCache]);
|
|
41
|
-
const persistCachedOptions = useCallback((nextOptions) => {
|
|
42
|
-
if (disableCache || !cacheKey) return;
|
|
43
|
-
optionsCache.set(cacheKey, {
|
|
44
|
-
options: nextOptions,
|
|
45
|
-
expiresAt: Date.now() + cacheTtlMs
|
|
9
|
+
/**
|
|
10
|
+
* Convenience facade over `<pk-combobox>` mirroring the `plugin-kit-react` `ComboboxInput`
|
|
11
|
+
* contract: `options[]` (or `fetchOptions` for async search), controlled `value`/`onValueChange`,
|
|
12
|
+
* and `multiple`. Unlike the base-ui version, `pk-combobox` owns async fetching, filtering, chips,
|
|
13
|
+
* and empty/loading states internally — this wrapper just maps props/values.
|
|
14
|
+
*
|
|
15
|
+
* `pk-combobox` is string-valued, so values are stringified for the element and mapped back to
|
|
16
|
+
* their original option value on change.
|
|
17
|
+
*/
|
|
18
|
+
var ComboboxInput = forwardRef(function ComboboxInput({ options, fetchOptions, value = null, onValueChange, multiple = false, disabled = false, placeholder = "", emptyMessage = "No options found.", loadingMessage = "Searching…", startTypingMessage = "Start typing to search…", showClear = false, isInvalid, size, width, allowCreate, onCreate, onOpenChange, name, id, "aria-label": ariaLabel, "aria-describedby": ariaDescribedBy, "aria-errormessage": ariaErrorMessage, "aria-labelledby": ariaLabelledBy }, ref) {
|
|
19
|
+
const usesAsync = Boolean(fetchOptions) && !options?.length;
|
|
20
|
+
const flatOptions = useMemo(() => {
|
|
21
|
+
return options ?? [];
|
|
22
|
+
}, [options]);
|
|
23
|
+
const mapBack = (raw) => {
|
|
24
|
+
const match = flatOptions.find((option) => {
|
|
25
|
+
return toStringValue(option.value) === toStringValue(raw);
|
|
46
26
|
});
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
hasLoadedRef.current = true;
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
if (hasLoadedRef.current && fetchedOptions) return;
|
|
61
|
-
let isMounted = true;
|
|
62
|
-
const loadOptions = async () => {
|
|
63
|
-
setLoading(true);
|
|
64
|
-
try {
|
|
65
|
-
const fetchedOptions = await fetchOptions();
|
|
66
|
-
if (isMounted) {
|
|
67
|
-
setFetchedOptions(fetchedOptions);
|
|
68
|
-
persistCachedOptions(fetchedOptions);
|
|
69
|
-
hasLoadedRef.current = true;
|
|
70
|
-
}
|
|
71
|
-
} catch (error) {
|
|
72
|
-
console.error("Failed to load combobox options:", error);
|
|
73
|
-
} finally {
|
|
74
|
-
if (isMounted) setLoading(false);
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
loadOptions();
|
|
78
|
-
return () => {
|
|
79
|
-
isMounted = false;
|
|
80
|
-
};
|
|
81
|
-
}, [
|
|
82
|
-
fetchOptions,
|
|
83
|
-
fetchedOptions,
|
|
84
|
-
isOpen,
|
|
85
|
-
persistCachedOptions,
|
|
86
|
-
resolveCachedOptions
|
|
87
|
-
]);
|
|
88
|
-
const selectedValue = useMemo(() => {
|
|
89
|
-
if (isMultiple) {
|
|
90
|
-
const selectedValues = Array.isArray(value) ? new Set(value.map((item) => {
|
|
91
|
-
return toStringValue(item);
|
|
92
|
-
})) : /* @__PURE__ */ new Set();
|
|
93
|
-
return resolvedOptions.filter((option) => {
|
|
94
|
-
return selectedValues.has(toStringValue(option.value));
|
|
27
|
+
return match ? match.value : raw;
|
|
28
|
+
};
|
|
29
|
+
const adaptedFetch = useMemo(() => {
|
|
30
|
+
if (!fetchOptions) return null;
|
|
31
|
+
return async (query, signal) => {
|
|
32
|
+
return (await fetchOptions(query, signal)).map((option) => {
|
|
33
|
+
return {
|
|
34
|
+
value: toStringValue(option.value),
|
|
35
|
+
label: option.label
|
|
36
|
+
};
|
|
95
37
|
});
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}) ?? null;
|
|
100
|
-
}, [
|
|
101
|
-
isMultiple,
|
|
102
|
-
resolvedOptions,
|
|
103
|
-
value
|
|
104
|
-
]);
|
|
105
|
-
const handleChange = (nextValue) => {
|
|
38
|
+
};
|
|
39
|
+
}, [fetchOptions]);
|
|
40
|
+
const handleChange = (event) => {
|
|
106
41
|
if (!onValueChange) return;
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
42
|
+
const raw = event.detail?.value;
|
|
43
|
+
if (multiple) {
|
|
44
|
+
onValueChange((Array.isArray(raw) ? raw : raw ? [raw] : []).map((entry) => {
|
|
45
|
+
return mapBack(entry);
|
|
110
46
|
}));
|
|
111
47
|
return;
|
|
112
48
|
}
|
|
113
|
-
|
|
49
|
+
const single = Array.isArray(raw) ? raw[0] : raw;
|
|
50
|
+
onValueChange(single ? mapBack(single) : null);
|
|
114
51
|
};
|
|
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
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
}), /* @__PURE__ */ jsxs(ComboboxContent, {
|
|
155
|
-
anchor: isMultiple ? anchor : void 0,
|
|
156
|
-
className: contentClassName,
|
|
157
|
-
children: [/* @__PURE__ */ jsx(ComboboxEmpty, { children: emptyMessage }), /* @__PURE__ */ jsx(ComboboxList, { children: (item) => {
|
|
158
|
-
return /* @__PURE__ */ jsx(ComboboxItem, {
|
|
159
|
-
value: item,
|
|
160
|
-
children: /* @__PURE__ */ jsxs("span", {
|
|
161
|
-
className: "flex items-center gap-2",
|
|
162
|
-
children: [/* @__PURE__ */ jsx(OptionIcon, { icon: item.icon }), /* @__PURE__ */ jsx(ComboboxHighlightedText, {
|
|
163
|
-
text: item.label,
|
|
164
|
-
search: searchValue
|
|
165
|
-
})]
|
|
166
|
-
})
|
|
167
|
-
}, toStringValue(item.value));
|
|
168
|
-
} })]
|
|
169
|
-
})]
|
|
170
|
-
}), withLoadingIndicator && loading && /* @__PURE__ */ jsx(Spinner, { size: "xs" })]
|
|
52
|
+
const valueProps = multiple ? { values: (Array.isArray(value) ? value : []).map((entry) => {
|
|
53
|
+
return toStringValue(entry);
|
|
54
|
+
}) } : { value: toStringValue(value) };
|
|
55
|
+
return /* @__PURE__ */ jsx(Combobox, {
|
|
56
|
+
ref,
|
|
57
|
+
multiple,
|
|
58
|
+
disabled,
|
|
59
|
+
placeholder,
|
|
60
|
+
emptyMessage,
|
|
61
|
+
loadingMessage,
|
|
62
|
+
startTypingMessage,
|
|
63
|
+
clearable: showClear,
|
|
64
|
+
invalid: isInvalid,
|
|
65
|
+
size,
|
|
66
|
+
width,
|
|
67
|
+
allowCreate,
|
|
68
|
+
async: usesAsync,
|
|
69
|
+
fetchOptions: adaptedFetch,
|
|
70
|
+
name,
|
|
71
|
+
id,
|
|
72
|
+
onPkChange: handleChange,
|
|
73
|
+
onPkCreate: onCreate ? (event) => {
|
|
74
|
+
return onCreate(event.detail?.query ?? "");
|
|
75
|
+
} : void 0,
|
|
76
|
+
onPkOpenChange: onOpenChange ? (event) => {
|
|
77
|
+
return onOpenChange(Boolean(event.detail?.open));
|
|
78
|
+
} : void 0,
|
|
79
|
+
"aria-label": ariaLabel,
|
|
80
|
+
"aria-describedby": ariaDescribedBy,
|
|
81
|
+
"aria-errormessage": ariaErrorMessage,
|
|
82
|
+
"aria-labelledby": ariaLabelledBy,
|
|
83
|
+
...valueProps,
|
|
84
|
+
children: !usesAsync && flatOptions.map((option) => {
|
|
85
|
+
return /* @__PURE__ */ jsx(Option, {
|
|
86
|
+
value: toStringValue(option.value),
|
|
87
|
+
disabled: option.disabled,
|
|
88
|
+
children: option.label
|
|
89
|
+
}, toStringValue(option.value));
|
|
90
|
+
})
|
|
171
91
|
});
|
|
172
|
-
};
|
|
92
|
+
});
|
|
173
93
|
//#endregion
|
|
174
94
|
export { ComboboxInput };
|
|
175
95
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxInput.js","names":[],"sources":["../../src/components/ComboboxInput.tsx"],"sourcesContent":["import {\n Fragment, useCallback, useEffect, useMemo, useRef, useState,\n} from 'react';\nimport type { ComponentProps } from 'react';\n\nimport { Spinner } from '@verbb/plugin-kit-react/components';\nimport {\n Combobox,\n ComboboxPrimitiveInput,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxList,\n ComboboxItem,\n ComboboxValue,\n ComboboxChips,\n ComboboxChip,\n ComboboxChipsInput,\n ComboboxHighlightedText,\n useComboboxAnchor,\n} from '@verbb/plugin-kit-react/components/Combobox';\n\nexport type ComboboxInputOption = {\n label: string;\n value: string | number;\n icon?: string | null;\n [key: string]: unknown;\n};\n\nexport type ComboboxInputProps = {\n options?: ComboboxInputOption[];\n fetchOptions?: () => Promise<ComboboxInputOption[]>;\n value?: string | number | Array<string | number> | null;\n onValueChange?: (value: string | number | Array<string | number> | null) => void;\n multiple?: boolean;\n disabled?: boolean;\n placeholder?: string;\n emptyMessage?: string;\n className?: string;\n contentClassName?: string;\n withLoadingIndicator?: boolean;\n showClear?: boolean;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n onInputValueChange?: (value: string) => void;\n cacheKey?: string;\n cacheTtlMs?: number;\n disableCache?: boolean;\n};\n\ntype CacheEntry = {\n options: ComboboxInputOption[];\n expiresAt: number;\n};\n\nconst optionsCache = new Map<string, CacheEntry>();\n\nconst toStringValue = (value: unknown): string => {\n return String(value ?? '');\n};\n\nconst OptionIcon = ({ icon }: { icon?: string | null }) => {\n if (!icon || typeof icon !== 'string') {\n return null;\n }\n\n return (\n <span\n className=\"text-slate-500 [&_svg]:size-4 [&_svg]:shrink-0\"\n aria-hidden=\"true\"\n dangerouslySetInnerHTML={{ __html: icon }}\n />\n );\n};\n\nexport const ComboboxInput = ({\n options,\n fetchOptions,\n value = null,\n onValueChange,\n multiple = false,\n disabled = false,\n placeholder = 'Select an option',\n emptyMessage = 'No options found.',\n className,\n contentClassName,\n withLoadingIndicator = true,\n showClear = true,\n open,\n defaultOpen,\n onOpenChange,\n onInputValueChange,\n cacheKey,\n cacheTtlMs = 5 * 60 * 1000,\n disableCache = false,\n}: ComboboxInputProps) => {\n const [fetchedOptions, setFetchedOptions] = useState<ComboboxInputOption[] | null>(null);\n const [loading, setLoading] = useState(false);\n const [internalOpen, setInternalOpen] = useState(Boolean(defaultOpen));\n const [searchValue, setSearchValue] = useState('');\n const hasLoadedRef = useRef(false);\n const anchor = useComboboxAnchor();\n const isMultiple = multiple;\n const isOpen = open ?? internalOpen;\n\n const resolvedOptions = useMemo(() => {\n return fetchedOptions ?? options ?? [];\n }, [fetchedOptions, options]);\n\n const resolveCachedOptions = useCallback(() => {\n if (disableCache || !cacheKey) {\n return null;\n }\n\n const cached = optionsCache.get(cacheKey);\n if (!cached) {\n return null;\n }\n\n if (cached.expiresAt <= Date.now()) {\n optionsCache.delete(cacheKey);\n return null;\n }\n\n return cached.options;\n }, [cacheKey, disableCache]);\n\n const persistCachedOptions = useCallback((nextOptions: ComboboxInputOption[]) => {\n if (disableCache || !cacheKey) {\n return;\n }\n\n optionsCache.set(cacheKey, {\n options: nextOptions,\n expiresAt: Date.now() + cacheTtlMs,\n });\n }, [cacheKey, cacheTtlMs, disableCache]);\n\n useEffect(() => {\n if (!fetchOptions || !isOpen) {\n return;\n }\n\n const cachedOptions = resolveCachedOptions();\n if (cachedOptions) {\n setFetchedOptions(cachedOptions);\n hasLoadedRef.current = true;\n return;\n }\n\n if (hasLoadedRef.current && fetchedOptions) {\n return;\n }\n\n let isMounted = true;\n\n const loadOptions = async() => {\n setLoading(true);\n\n try {\n const fetchedOptions = await fetchOptions();\n\n if (isMounted) {\n setFetchedOptions(fetchedOptions);\n persistCachedOptions(fetchedOptions);\n hasLoadedRef.current = true;\n }\n } catch (error) {\n console.error('Failed to load combobox options:', error);\n } finally {\n if (isMounted) {\n setLoading(false);\n }\n }\n };\n\n loadOptions();\n\n return () => {\n isMounted = false;\n };\n }, [fetchOptions, fetchedOptions, isOpen, persistCachedOptions, resolveCachedOptions]);\n\n const selectedValue = useMemo(() => {\n if (isMultiple) {\n const selectedValues = Array.isArray(value) ? new Set(value.map((item) => { return toStringValue(item); })) : new Set<string>();\n return resolvedOptions.filter((option) => { return selectedValues.has(toStringValue(option.value)); });\n }\n\n return resolvedOptions.find((option) => { return toStringValue(option.value) === toStringValue(value); }) ?? null;\n }, [isMultiple, resolvedOptions, value]);\n\n const handleChange = (nextValue: unknown) => {\n if (!onValueChange) {\n return;\n }\n\n if (isMultiple) {\n const nextItems = Array.isArray(nextValue) ? nextValue : [];\n onValueChange(nextItems.map((item) => { return item.value; }));\n return;\n }\n\n onValueChange(nextValue?.value ?? null);\n };\n\n return (\n <div className=\"flex items-center gap-2\">\n <Combobox\n multiple={isMultiple}\n items={resolvedOptions}\n value={selectedValue as ComponentProps<typeof Combobox>['value']}\n onValueChange={handleChange}\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={(nextOpen) => {\n setInternalOpen(nextOpen);\n onOpenChange?.(nextOpen);\n\n if (!nextOpen) {\n setSearchValue('');\n }\n }}\n onInputValueChange={(nextValue) => {\n const nextSearchValue = String(nextValue ?? '');\n setSearchValue(nextSearchValue);\n onInputValueChange?.(nextSearchValue);\n }}\n itemToStringLabel={(item) => { return (item as ComboboxInputOption | null)?.label ?? ''; }}\n itemToStringValue={(item) => { return toStringValue((item as ComboboxInputOption | null)?.value); }}\n disabled={disabled}\n >\n {isMultiple ? (\n <ComboboxChips ref={anchor} className={className}>\n <ComboboxValue>\n {(items) => {\n return (\n <Fragment>\n {items.map((item) => {\n return (\n <ComboboxChip key={toStringValue(item.value)}>\n <OptionIcon icon={item.icon} />\n {item.label}\n </ComboboxChip>\n );\n })}\n <ComboboxChipsInput placeholder={placeholder} />\n </Fragment>\n );\n }}\n </ComboboxValue>\n </ComboboxChips>\n ) : (\n <ComboboxPrimitiveInput\n className={className}\n placeholder={placeholder}\n showClear={showClear}\n disabled={disabled}\n />\n )}\n\n <ComboboxContent\n anchor={isMultiple ? anchor : undefined}\n className={contentClassName}\n >\n <ComboboxEmpty>{emptyMessage}</ComboboxEmpty>\n <ComboboxList>\n {(item) => {\n return (\n <ComboboxItem key={toStringValue(item.value)} value={item}>\n <span className=\"flex items-center gap-2\">\n <OptionIcon icon={item.icon} />\n <ComboboxHighlightedText text={item.label} search={searchValue} />\n </span>\n </ComboboxItem>\n );\n }}\n </ComboboxList>\n </ComboboxContent>\n </Combobox>\n\n {withLoadingIndicator && loading && <Spinner size=\"xs\" />}\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ComboboxInput.js","names":[],"sources":["../../src/components/ComboboxInput.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport type { PkCombobox, PkComboboxSize } from '@verbb/plugin-kit-web/components/combobox/pk-combobox.js';\n\nimport { Combobox } from './Combobox.js';\nimport { Option } from './Select.js';\n\nexport interface ComboboxInputOption {\n value: string | number;\n label: string;\n disabled?: boolean;\n [key: string]: unknown;\n}\n\nexport type ComboboxFetchOptions = (\n query: string,\n signal?: AbortSignal,\n) => Promise<ComboboxInputOption[]>;\n\nexport interface ComboboxInputProps {\n options?: ComboboxInputOption[];\n fetchOptions?: ComboboxFetchOptions;\n value?: string | number | Array<string | number> | null;\n onValueChange?: (value: string | number | Array<string | number> | null) => void;\n multiple?: boolean;\n disabled?: boolean;\n placeholder?: string;\n emptyMessage?: string;\n loadingMessage?: string;\n startTypingMessage?: string;\n showClear?: boolean;\n isInvalid?: boolean;\n size?: PkComboboxSize;\n /** When `full`, stretch the combobox host to the available width (schema fields, table cells). */\n width?: 'full';\n allowCreate?: boolean;\n onCreate?: (query: string) => void;\n onOpenChange?: (open: boolean) => void;\n name?: string;\n id?: string;\n 'aria-label'?: string;\n 'aria-describedby'?: string;\n 'aria-errormessage'?: string;\n 'aria-labelledby'?: string;\n}\n\nconst toStringValue = (value: unknown): string => {\n return value === undefined || value === null ? '' : String(value);\n};\n\n/**\n * Convenience facade over `<pk-combobox>` mirroring the `plugin-kit-react` `ComboboxInput`\n * contract: `options[]` (or `fetchOptions` for async search), controlled `value`/`onValueChange`,\n * and `multiple`. Unlike the base-ui version, `pk-combobox` owns async fetching, filtering, chips,\n * and empty/loading states internally — this wrapper just maps props/values.\n *\n * `pk-combobox` is string-valued, so values are stringified for the element and mapped back to\n * their original option value on change.\n */\nexport const ComboboxInput = forwardRef<PkCombobox, ComboboxInputProps>(function ComboboxInput(\n {\n options,\n fetchOptions,\n value = null,\n onValueChange,\n multiple = false,\n disabled = false,\n placeholder = '',\n emptyMessage = 'No options found.',\n loadingMessage = 'Searching…',\n startTypingMessage = 'Start typing to search…',\n // Off by default — match pk-combobox `clearable=false` and v1 (None as a list option).\n showClear = false,\n isInvalid,\n size,\n width,\n allowCreate,\n onCreate,\n onOpenChange,\n name,\n id,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n 'aria-errormessage': ariaErrorMessage,\n 'aria-labelledby': ariaLabelledBy,\n },\n ref,\n) {\n const usesAsync = Boolean(fetchOptions) && !options?.length;\n\n const flatOptions = useMemo(() => { return options ?? []; }, [options]);\n\n const mapBack = (raw: string): string | number => {\n const match = flatOptions.find((option) => { return toStringValue(option.value) === toStringValue(raw); });\n return match ? match.value : raw;\n };\n\n const adaptedFetch = useMemo(() => {\n if (!fetchOptions) {\n return null;\n }\n\n return async (query: string, signal: AbortSignal) => {\n const results = await fetchOptions(query, signal);\n return results.map((option) => { return { value: toStringValue(option.value), label: option.label }; });\n };\n }, [fetchOptions]);\n\n const handleChange = (event: Event): void => {\n if (!onValueChange) {\n return;\n }\n\n const detail = (event as CustomEvent<{ value: string | string[] }>).detail;\n const raw = detail?.value;\n\n if (multiple) {\n const arr = Array.isArray(raw) ? raw : raw ? [raw] : [];\n onValueChange(arr.map((entry) => { return mapBack(entry); }));\n return;\n }\n\n const single = Array.isArray(raw) ? raw[0] : raw;\n onValueChange(single ? mapBack(single) : null);\n };\n\n const valueProps = multiple\n ? { values: (Array.isArray(value) ? value : []).map((entry) => { return toStringValue(entry); }) }\n : { value: toStringValue(value) };\n\n return (\n <Combobox\n ref={ref}\n multiple={multiple}\n disabled={disabled}\n placeholder={placeholder}\n emptyMessage={emptyMessage}\n loadingMessage={loadingMessage}\n startTypingMessage={startTypingMessage}\n clearable={showClear}\n invalid={isInvalid}\n size={size}\n width={width}\n allowCreate={allowCreate}\n async={usesAsync}\n fetchOptions={adaptedFetch}\n name={name}\n id={id}\n onPkChange={handleChange}\n onPkCreate={onCreate ? (event: Event) => { return onCreate((event as CustomEvent<{ query: string }>).detail?.query ?? ''); } : undefined}\n onPkOpenChange={onOpenChange ? (event: Event) => { return onOpenChange(Boolean((event as CustomEvent<{ open: boolean }>).detail?.open)); } : undefined}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedBy}\n aria-errormessage={ariaErrorMessage}\n aria-labelledby={ariaLabelledBy}\n {...valueProps}\n >\n {!usesAsync\n && flatOptions.map((option) => {\n return (\n <Option key={toStringValue(option.value)} value={toStringValue(option.value)} disabled={option.disabled}>\n {option.label}\n </Option>\n );\n })}\n </Combobox>\n );\n});\n"],"mappings":";;;;;AA6CA,IAAM,iBAAiB,UAA2B;AAC9C,QAAO,UAAU,KAAA,KAAa,UAAU,OAAO,KAAK,OAAO,MAAM;;;;;;;;;;;AAYrE,IAAa,gBAAgB,WAA2C,SAAS,cAC7E,EACI,SACA,cACA,QAAQ,MACR,eACA,WAAW,OACX,WAAW,OACX,cAAc,IACd,eAAe,qBACf,iBAAiB,cACjB,qBAAqB,2BAErB,YAAY,OACZ,WACA,MACA,OACA,aACA,UACA,cACA,MACA,IACA,cAAc,WACd,oBAAoB,iBACpB,qBAAqB,kBACrB,mBAAmB,kBAEvB,KACF;CACE,MAAM,YAAY,QAAQ,aAAa,IAAI,CAAC,SAAS;CAErD,MAAM,cAAc,cAAc;AAAE,SAAO,WAAW,EAAE;IAAK,CAAC,QAAQ,CAAC;CAEvE,MAAM,WAAW,QAAiC;EAC9C,MAAM,QAAQ,YAAY,MAAM,WAAW;AAAE,UAAO,cAAc,OAAO,MAAM,KAAK,cAAc,IAAI;IAAI;AAC1G,SAAO,QAAQ,MAAM,QAAQ;;CAGjC,MAAM,eAAe,cAAc;AAC/B,MAAI,CAAC,aACD,QAAO;AAGX,SAAO,OAAO,OAAe,WAAwB;AAEjD,WAAO,MADe,aAAa,OAAO,OAAO,EAClC,KAAK,WAAW;AAAE,WAAO;KAAE,OAAO,cAAc,OAAO,MAAM;KAAE,OAAO,OAAO;KAAO;KAAI;;IAE5G,CAAC,aAAa,CAAC;CAElB,MAAM,gBAAgB,UAAuB;AACzC,MAAI,CAAC,cACD;EAIJ,MAAM,MADU,MAAoD,QAChD;AAEpB,MAAI,UAAU;AAEV,kBADY,MAAM,QAAQ,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,GAAG,EAAE,EACrC,KAAK,UAAU;AAAE,WAAO,QAAQ,MAAM;KAAI,CAAC;AAC7D;;EAGJ,MAAM,SAAS,MAAM,QAAQ,IAAI,GAAG,IAAI,KAAK;AAC7C,gBAAc,SAAS,QAAQ,OAAO,GAAG,KAAK;;CAGlD,MAAM,aAAa,WACb,EAAE,SAAS,MAAM,QAAQ,MAAM,GAAG,QAAQ,EAAE,EAAE,KAAK,UAAU;AAAE,SAAO,cAAc,MAAM;GAAI,EAAE,GAChG,EAAE,OAAO,cAAc,MAAM,EAAE;AAErC,QACI,oBAAC,UAAD;EACS;EACK;EACA;EACG;EACC;EACE;EACI;EACpB,WAAW;EACX,SAAS;EACH;EACC;EACM;EACb,OAAO;EACP,cAAc;EACR;EACF;EACJ,YAAY;EACZ,YAAY,YAAY,UAAiB;AAAE,UAAO,SAAU,MAAyC,QAAQ,SAAS,GAAG;MAAM,KAAA;EAC/H,gBAAgB,gBAAgB,UAAiB;AAAE,UAAO,aAAa,QAAS,MAAyC,QAAQ,KAAK,CAAC;MAAM,KAAA;EAC7I,cAAY;EACZ,oBAAkB;EAClB,qBAAmB;EACnB,mBAAiB;EACjB,GAAI;YAEH,CAAC,aACK,YAAY,KAAK,WAAW;AAC3B,UACI,oBAAC,QAAD;IAA0C,OAAO,cAAc,OAAO,MAAM;IAAE,UAAU,OAAO;cAC1F,OAAO;IACH,EAFI,cAAc,OAAO,MAAM,CAE/B;IAEf;EACC,CAAA;EAEjB"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { PkCopyButton } from '@verbb/plugin-kit-web/components/copy-button/pk-copy-button.js';
|
|
3
|
+
/** React facade over `<pk-copy-button>`. Behavior and styles live in the web component. */
|
|
4
|
+
export declare const PkCopyButtonElement: import('@lit/react').ReactWebComponent<PkCopyButton, {
|
|
5
|
+
onPkCopy: string;
|
|
6
|
+
onPkCopyError: string;
|
|
7
|
+
}>;
|
|
8
|
+
export declare const CopyButton: import('@lit/react').ReactWebComponent<PkCopyButton, {
|
|
9
|
+
onPkCopy: string;
|
|
10
|
+
onPkCopyError: string;
|
|
11
|
+
}>;
|
|
12
|
+
export type CopyButtonProps = React.ComponentProps<typeof PkCopyButtonElement>;
|
|
9
13
|
//# sourceMappingURL=CopyButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyButton.d.ts","sourceRoot":"","sources":["../../src/components/CopyButton.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CopyButton.d.ts","sourceRoot":"","sources":["../../src/components/CopyButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,gEAAgE,CAAC;AAE9F,2FAA2F;AAC3F,eAAO,MAAM,mBAAmB;;;EAQ9B,CAAC;AAEH,eAAO,MAAM,UAAU;;;EAAsB,CAAC;AAC9C,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -1,40 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "
|
|
3
|
-
import {
|
|
4
|
-
import { useEffect, useState } from "react";
|
|
5
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|
7
|
-
import { faCheck, faClipboard } from "@fortawesome/pro-solid-svg-icons";
|
|
1
|
+
import { createPluginKitComponent } from "../utils/create-plugin-kit-component.js";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { PkCopyButton } from "@verbb/plugin-kit-web/components/copy-button/pk-copy-button.js";
|
|
8
4
|
//#region src/components/CopyButton.tsx
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
21
|
-
}, [hasCopied]);
|
|
22
|
-
return /* @__PURE__ */ jsxs(Button, {
|
|
23
|
-
size: "icon",
|
|
24
|
-
variant,
|
|
25
|
-
className: cn(className),
|
|
26
|
-
onClick: () => {
|
|
27
|
-
copyToClipboardWithMeta(value);
|
|
28
|
-
setHasCopied(true);
|
|
29
|
-
},
|
|
30
|
-
...props,
|
|
31
|
-
children: [/* @__PURE__ */ jsx("span", {
|
|
32
|
-
className: "sr-only",
|
|
33
|
-
children: "Copy"
|
|
34
|
-
}), hasCopied ? /* @__PURE__ */ jsx(FontAwesomeIcon, { icon: faCheck }) : /* @__PURE__ */ jsx(FontAwesomeIcon, { icon: faClipboard })]
|
|
35
|
-
});
|
|
36
|
-
}
|
|
5
|
+
/** React facade over `<pk-copy-button>`. Behavior and styles live in the web component. */
|
|
6
|
+
var PkCopyButtonElement = createPluginKitComponent({
|
|
7
|
+
tagName: "pk-copy-button",
|
|
8
|
+
elementClass: PkCopyButton,
|
|
9
|
+
react: React,
|
|
10
|
+
events: {
|
|
11
|
+
onPkCopy: "pk-copy",
|
|
12
|
+
onPkCopyError: "pk-copy-error"
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
var CopyButton = PkCopyButtonElement;
|
|
37
16
|
//#endregion
|
|
38
|
-
export { CopyButton,
|
|
17
|
+
export { CopyButton, PkCopyButtonElement };
|
|
39
18
|
|
|
40
19
|
//# sourceMappingURL=CopyButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyButton.js","names":[],"sources":["../../src/components/CopyButton.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"CopyButton.js","names":[],"sources":["../../src/components/CopyButton.tsx"],"sourcesContent":["import React from 'react';\nimport { createPluginKitComponent } from '../utils/create-plugin-kit-component.js';\nimport { PkCopyButton } from '@verbb/plugin-kit-web/components/copy-button/pk-copy-button.js';\n\n/** React facade over `<pk-copy-button>`. Behavior and styles live in the web component. */\nexport const PkCopyButtonElement = createPluginKitComponent({\n tagName: 'pk-copy-button',\n elementClass: PkCopyButton,\n react: React,\n events: {\n onPkCopy: 'pk-copy',\n onPkCopyError: 'pk-copy-error',\n },\n});\n\nexport const CopyButton = PkCopyButtonElement;\nexport type CopyButtonProps = React.ComponentProps<typeof PkCopyButtonElement>;\n"],"mappings":";;;;;AAKA,IAAa,sBAAsB,yBAAyB;CACxD,SAAS;CACT,cAAc;CACd,OAAO;CACP,QAAQ;EACJ,UAAU;EACV,eAAe;EAClB;CACJ,CAAC;AAEF,IAAa,aAAa"}
|
|
@@ -1,9 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { PkDatePicker, PkDatePickerMode, PkDatePickerSize } from '@verbb/plugin-kit-web/components/date-picker/pk-date-picker.js';
|
|
3
|
+
declare const PkDatePickerElement: import('@lit/react').ReactWebComponent<PkDatePicker, {
|
|
4
|
+
onPkChange: string;
|
|
5
|
+
onPkClear: string;
|
|
6
|
+
onInput: string;
|
|
7
|
+
onChange: string;
|
|
8
|
+
onPkShow: string;
|
|
9
|
+
onPkAfterShow: string;
|
|
10
|
+
onPkHide: string;
|
|
11
|
+
onPkAfterHide: string;
|
|
12
|
+
}>;
|
|
13
|
+
type PkDatePickerElementProps = React.ComponentProps<typeof PkDatePickerElement>;
|
|
14
|
+
export type DatePickerProps = Omit<PkDatePickerElementProps, 'value' | 'onPkChange'> & {
|
|
15
|
+
/** ISO string, Date, or empty — v1 DatePicker accepted Date. */
|
|
16
|
+
value?: string | Date | null;
|
|
17
|
+
/** React/Formie alias for the CE `invalid` boolean. */
|
|
7
18
|
isInvalid?: boolean;
|
|
8
|
-
|
|
19
|
+
/**
|
|
20
|
+
* v1 callback — receives a local `Date` (or `undefined` when cleared).
|
|
21
|
+
* Prefer `onPkChange` for raw ISO `detail.value` from the CE.
|
|
22
|
+
*/
|
|
23
|
+
onValueChange?: (value: Date | undefined) => void;
|
|
24
|
+
onPkChange?: PkDatePickerElementProps['onPkChange'];
|
|
25
|
+
};
|
|
26
|
+
/** React facade over `<pk-date-picker>`. Behavior and styles live in the web component. */
|
|
27
|
+
export declare const DatePicker: React.ForwardRefExoticComponent<Omit<DatePickerProps, "ref"> & React.RefAttributes<PkDatePicker>>;
|
|
28
|
+
export { PkDatePickerElement };
|
|
29
|
+
export type { PkDatePickerMode, PkDatePickerSize };
|
|
9
30
|
//# sourceMappingURL=DatePicker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../src/components/DatePicker.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../src/components/DatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,gEAAgE,CAAC;AAI5I,QAAA,MAAM,mBAAmB;;;;;;;;;EAcvB,CAAC;AAEH,KAAK,wBAAwB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEjF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,EAAE,OAAO,GAAG,YAAY,CAAC,GAAG;IACnF,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,uDAAuD;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAClD,UAAU,CAAC,EAAE,wBAAwB,CAAC,YAAY,CAAC,CAAC;CACvD,CAAC;AAiDF,2FAA2F;AAC3F,eAAO,MAAM,UAAU,mGAiErB,CAAC;AAIH,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC/B,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,60 +1,89 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import "
|
|
5
|
-
import {
|
|
6
|
-
import { Popover, PopoverContent, PopoverTrigger } from "./Popover.js";
|
|
7
|
-
import "./index.js";
|
|
8
|
-
import { Button } from "./Button.js";
|
|
9
|
-
import { useEffect, useMemo, useState } from "react";
|
|
10
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
-
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|
12
|
-
import { faCalendar } from "@fortawesome/pro-solid-svg-icons";
|
|
1
|
+
import { createPluginKitComponent } from "../utils/create-plugin-kit-component.js";
|
|
2
|
+
import { trueBooleanProps } from "../utils/lit-react-booleans.js";
|
|
3
|
+
import React, { forwardRef, useMemo } from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { PkDatePicker } from "@verbb/plugin-kit-web/components/date-picker/pk-date-picker.js";
|
|
13
6
|
//#region src/components/DatePicker.tsx
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
7
|
+
var PkDatePickerElement = createPluginKitComponent({
|
|
8
|
+
tagName: "pk-date-picker",
|
|
9
|
+
elementClass: PkDatePicker,
|
|
10
|
+
react: React,
|
|
11
|
+
events: {
|
|
12
|
+
onPkChange: "pk-change",
|
|
13
|
+
onPkClear: "pk-clear",
|
|
14
|
+
onInput: "input",
|
|
15
|
+
onChange: "change",
|
|
16
|
+
onPkShow: "pk-show",
|
|
17
|
+
onPkAfterShow: "pk-after-show",
|
|
18
|
+
onPkHide: "pk-hide",
|
|
19
|
+
onPkAfterHide: "pk-after-hide"
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
/** Local YYYY-MM-DD — keep facade free of non-exported kit util paths. */
|
|
23
|
+
function formatIsoDate(date) {
|
|
24
|
+
return `${String(date.getFullYear()).padStart(4, "0")}-${String(date.getMonth() + 1).padStart(2, "0")}-${String(date.getDate()).padStart(2, "0")}`;
|
|
25
|
+
}
|
|
26
|
+
function parseIsoDate(value) {
|
|
27
|
+
const match = /^(\d{4})-(\d{2})-(\d{2})$/.exec(value.trim());
|
|
28
|
+
if (!match) return null;
|
|
29
|
+
const year = Number(match[1]);
|
|
30
|
+
const month = Number(match[2]);
|
|
31
|
+
const day = Number(match[3]);
|
|
32
|
+
const date = new Date(year, month - 1, day);
|
|
33
|
+
if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) return null;
|
|
34
|
+
return date;
|
|
35
|
+
}
|
|
36
|
+
/** Coerce Formie/v1 Date|string values to the CE’s ISO `YYYY-MM-DD` string. */
|
|
37
|
+
function toIsoValue(value) {
|
|
38
|
+
if (value == null || value === "") return "";
|
|
39
|
+
if (value instanceof Date) {
|
|
40
|
+
if (Number.isNaN(value.getTime())) return "";
|
|
41
|
+
return formatIsoDate(value);
|
|
42
|
+
}
|
|
43
|
+
const dateOnly = String(value).match(/^(\d{4}-\d{2}-\d{2})/);
|
|
44
|
+
return dateOnly ? dateOnly[1] : String(value);
|
|
45
|
+
}
|
|
46
|
+
/** React facade over `<pk-date-picker>`. Behavior and styles live in the web component. */
|
|
47
|
+
var DatePicker = forwardRef(function DatePicker(props, ref) {
|
|
48
|
+
const { value, onValueChange, onPkChange, disabled, invalid, isInvalid, clearable, multiple, open, disablePast, disableFuture, withClear, required, ...rest } = props;
|
|
49
|
+
const resolvedInvalid = Boolean(invalid ?? isInvalid);
|
|
50
|
+
const isoValue = useMemo(() => toIsoValue(value), [value]);
|
|
51
|
+
const handlePkChange = (event) => {
|
|
52
|
+
onPkChange?.(event);
|
|
53
|
+
if (!onValueChange) return;
|
|
54
|
+
const next = event.detail?.value;
|
|
55
|
+
onValueChange(next ? parseIsoDate(next) ?? void 0 : void 0);
|
|
31
56
|
};
|
|
32
|
-
return /* @__PURE__ */
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
57
|
+
return /* @__PURE__ */ jsx(PkDatePickerElement, {
|
|
58
|
+
ref,
|
|
59
|
+
...rest,
|
|
60
|
+
value: isoValue,
|
|
61
|
+
onPkChange: handlePkChange,
|
|
62
|
+
...trueBooleanProps([
|
|
63
|
+
"disabled",
|
|
64
|
+
"invalid",
|
|
65
|
+
"clearable",
|
|
66
|
+
"multiple",
|
|
67
|
+
"open",
|
|
68
|
+
"disablePast",
|
|
69
|
+
"disableFuture",
|
|
70
|
+
"withClear",
|
|
71
|
+
"required"
|
|
72
|
+
], {
|
|
38
73
|
disabled,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
selected: date,
|
|
49
|
-
month,
|
|
50
|
-
onMonthChange: setMonth,
|
|
51
|
-
captionLayout: "dropdown",
|
|
52
|
-
onSelect: handleSelect
|
|
53
|
-
})
|
|
54
|
-
})]
|
|
74
|
+
invalid: resolvedInvalid,
|
|
75
|
+
clearable,
|
|
76
|
+
multiple,
|
|
77
|
+
open,
|
|
78
|
+
disablePast,
|
|
79
|
+
disableFuture,
|
|
80
|
+
withClear,
|
|
81
|
+
required
|
|
82
|
+
})
|
|
55
83
|
});
|
|
56
|
-
}
|
|
84
|
+
});
|
|
85
|
+
DatePicker.displayName = "DatePicker";
|
|
57
86
|
//#endregion
|
|
58
|
-
export { DatePicker };
|
|
87
|
+
export { DatePicker, PkDatePickerElement };
|
|
59
88
|
|
|
60
89
|
//# sourceMappingURL=DatePicker.js.map
|