@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
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 2.0.0 - 2026-07-19
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
- Rebuilt `@verbb/plugin-kit-react` as thin React facades over `@verbb/plugin-kit-web` custom elements (Lit + shadow DOM). Look, behaviour, and accessibility live in the web package.
|
|
9
|
+
- Canonical bootstrap is React `createRoot` + `PluginKitProvider`. Importing a facade registers its custom element — no `createReactApp` / `registerAll` step.
|
|
10
|
+
- `mountShadowApp` and opt-in `createCraftHostBridge` live under `@verbb/plugin-kit-react/utils` (shadow helpers are implemented in `@verbb/plugin-kit-web`).
|
|
11
|
+
- SchemaForm UI bindings stay on `@verbb/plugin-kit-react/forms`; shared store/validation lives in `@verbb/plugin-kit-forms`.
|
|
12
|
+
- Package versions lockstep with `@verbb/plugin-kit-web`, `@verbb/plugin-kit-forms`, `@verbb/plugin-kit-vue`, and related `@verbb/plugin-kit-*` packages at `2.0.0`.
|
|
13
|
+
|
|
14
|
+
### Removed
|
|
15
|
+
- Removed the Base UI / full React component implementation. Use the facade exports over `<pk-*>` elements instead.
|
|
16
|
+
- Removed React-only EditableTable compound APIs (`renderCell`, `modifyColumn`, dnd-kit row stack). Configure columns on `<EditableTable>` / `<pk-editable-table>`, or compose outside the table.
|
|
17
|
+
|
|
5
18
|
## 1.0.10 - 2026-07-09
|
|
6
19
|
|
|
7
20
|
### Added
|
package/README.md
CHANGED
|
@@ -1,31 +1,106 @@
|
|
|
1
|
-
#
|
|
1
|
+
# `@verbb/plugin-kit-react`
|
|
2
2
|
|
|
3
|
-
React
|
|
3
|
+
Thin React facades over `@verbb/plugin-kit-web` custom elements via `@lit/react`.
|
|
4
|
+
|
|
5
|
+
React does **not** reimplement behavior or styles — it maps props and events to the web component. Importing a facade registers its element. Load tokens + FOUCE CSS as below.
|
|
4
6
|
|
|
5
7
|
## Install
|
|
6
8
|
|
|
7
9
|
```bash
|
|
8
|
-
npm install @verbb/plugin-kit-react @verbb/plugin-kit
|
|
10
|
+
npm install react react-dom @verbb/plugin-kit-react @verbb/plugin-kit-web
|
|
9
11
|
```
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
Craft Vite + asset-bundle wiring: [React quick start](https://docs.verbb.io/plugin-kit/react/getting-started/quick-start).
|
|
12
14
|
|
|
13
|
-
|
|
15
|
+
## Bootstrap
|
|
14
16
|
|
|
15
17
|
```tsx
|
|
16
|
-
import { useTranslation } from '@verbb/plugin-kit-react/hooks';
|
|
17
|
-
import { Button } from '@verbb/plugin-kit-react/components';
|
|
18
|
-
import { cn } from '@verbb/plugin-kit-react/utils';
|
|
19
18
|
import '@verbb/plugin-kit-react/style.css';
|
|
19
|
+
|
|
20
|
+
import { createRoot } from 'react-dom/client';
|
|
21
|
+
import { PluginKitProvider } from '@verbb/plugin-kit-react';
|
|
22
|
+
import { Button } from '@verbb/plugin-kit-react/components';
|
|
23
|
+
|
|
24
|
+
import { App } from './App';
|
|
25
|
+
|
|
26
|
+
createRoot(document.querySelector('#my-plugin-root')!).render(
|
|
27
|
+
<PluginKitProvider translationCategory="my-plugin">
|
|
28
|
+
<App />
|
|
29
|
+
</PluginKitProvider>,
|
|
30
|
+
);
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
`PluginKitProvider` wires translations (defaults to `Craft.t` when present) and optional portal / host config. Pass `hostBridge: createCraftHostBridge()` only when you call Craft action / selector helpers. There is no `createReactApp` / `registerAll` step.
|
|
34
|
+
|
|
35
|
+
### Shadow DOM screens
|
|
36
|
+
|
|
37
|
+
```tsx
|
|
38
|
+
import pluginKitStyles from '@verbb/plugin-kit-react/style.css?inline';
|
|
39
|
+
import screenStyles from './screen.css?inline';
|
|
40
|
+
import { createRoot } from 'react-dom/client';
|
|
41
|
+
import { mountShadowApp, PluginKitProvider } from '@verbb/plugin-kit-react/utils';
|
|
42
|
+
|
|
43
|
+
const { mountNode, portalContainer } = mountShadowApp({
|
|
44
|
+
element: '#my-plugin-root',
|
|
45
|
+
styles: [pluginKitStyles, screenStyles],
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
createRoot(mountNode).render(
|
|
49
|
+
<PluginKitProvider
|
|
50
|
+
translationCategory="my-plugin"
|
|
51
|
+
portalContainer={portalContainer}
|
|
52
|
+
>
|
|
53
|
+
<App />
|
|
54
|
+
</PluginKitProvider>,
|
|
55
|
+
);
|
|
20
56
|
```
|
|
21
57
|
|
|
22
|
-
|
|
58
|
+
Keep a document-level `style.css` (or `plugin-kit.css`) import for FOUCE before first paint; inject tokens into the shadow root as above.
|
|
59
|
+
|
|
60
|
+
### Icons
|
|
61
|
+
|
|
62
|
+
`<Icon icon="…">` uses an opt-in registry — register named glyphs, or import `@verbb/plugin-kit-icons/all.js` for the full set:
|
|
63
|
+
|
|
64
|
+
```ts
|
|
65
|
+
import { registerIcons, plus, gear } from '@verbb/plugin-kit-icons';
|
|
66
|
+
|
|
67
|
+
registerIcons({ plus, gear });
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Components
|
|
71
|
+
|
|
72
|
+
### Facades (1:1 with a web component)
|
|
73
|
+
|
|
74
|
+
```tsx
|
|
75
|
+
import { Select, Option } from '@verbb/plugin-kit-react/components';
|
|
76
|
+
|
|
77
|
+
<Select value={value} onPkChange={(e) => setValue(e.detail.value)}>
|
|
78
|
+
<Option value="a">Option A</Option>
|
|
79
|
+
</Select>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### `*Input` convenience wrappers
|
|
83
|
+
|
|
84
|
+
```tsx
|
|
85
|
+
import { CheckboxInput, RadioGroupInput, SelectInput } from '@verbb/plugin-kit-react/components';
|
|
86
|
+
|
|
87
|
+
<CheckboxInput checked={agreed} onCheckedChange={setAgreed}>I agree</CheckboxInput>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Import paths
|
|
91
|
+
|
|
92
|
+
| Subpath | Purpose |
|
|
93
|
+
|---------|---------|
|
|
94
|
+
| `@verbb/plugin-kit-react` | Provider + common re-exports |
|
|
95
|
+
| `@verbb/plugin-kit-react/components` | UI facades (`Button`, TipTap, EditableTable, …) |
|
|
96
|
+
| `@verbb/plugin-kit-react/forms` | SchemaForm UI + registry (engine in `@verbb/plugin-kit-forms`) |
|
|
97
|
+
| `@verbb/plugin-kit-react/utils` | `mountShadowApp`, `createCraftHostBridge`, `configure`, `cn` |
|
|
98
|
+
| `@verbb/plugin-kit-react/hooks` | `useTranslation` |
|
|
99
|
+
| `@verbb/plugin-kit-react/fault` | Fault boundary / watchdog / support bundle |
|
|
100
|
+
| `@verbb/plugin-kit-react/app` | Provider / configure (parity with Vue `/app`) |
|
|
101
|
+
| `@verbb/plugin-kit-react/style.css` | Tokens + FOUCE + overlay chrome |
|
|
23
102
|
|
|
24
|
-
|
|
25
|
-
- `@verbb/plugin-kit-react/components`
|
|
26
|
-
- `@verbb/plugin-kit-react/forms`
|
|
27
|
-
- `@verbb/plugin-kit-react/hooks`
|
|
28
|
-
- `@verbb/plugin-kit-react/utils`
|
|
29
|
-
- `@verbb/plugin-kit-react/style.css`
|
|
103
|
+
## Docs
|
|
30
104
|
|
|
31
|
-
|
|
105
|
+
- [docs.verbb.io/plugin-kit/react](https://docs.verbb.io/plugin-kit/react/)
|
|
106
|
+
- Workshop (monorepo): `npm run dev` → http://localhost:5175
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { PluginKitReactConfig } from './configure.js';
|
|
3
|
+
export type PluginKitProviderProps = PluginKitReactConfig & {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Applies Plugin Kit environment config for a React tree.
|
|
8
|
+
*
|
|
9
|
+
* Importing React components already registers their underlying custom elements —
|
|
10
|
+
* no `registerAll` / registration bootstrap. Pass `hostBridge` only when the tree
|
|
11
|
+
* calls Craft action/selector helpers.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* import { createRoot } from 'react-dom/client';
|
|
16
|
+
* import { PluginKitProvider, Button } from '@verbb/plugin-kit-react';
|
|
17
|
+
*
|
|
18
|
+
* createRoot(el).render(
|
|
19
|
+
* <PluginKitProvider translationCategory="my-plugin">
|
|
20
|
+
* <Button>Save</Button>
|
|
21
|
+
* </PluginKitProvider>,
|
|
22
|
+
* );
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function PluginKitProvider({ children, ...config }: PluginKitProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
/** Read the nearest {@link PluginKitProvider} config (empty object when absent). */
|
|
27
|
+
export declare const usePluginKitConfig: () => PluginKitReactConfig;
|
|
28
|
+
//# sourceMappingURL=PluginKitProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginKitProvider.d.ts","sourceRoot":"","sources":["../../src/app/PluginKitProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,SAAS,EACjB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAa,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtE,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,GAAG;IACxD,QAAQ,EAAE,SAAS,CAAC;CACvB,CAAC;AAIF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,EAAE,sBAAsB,2CAShF;AAED,oFAAoF;AACpF,eAAO,MAAM,kBAAkB,QAAO,oBAErC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { configure } from "./configure.js";
|
|
2
|
+
import { createContext, useContext } from "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
//#region src/app/PluginKitProvider.tsx
|
|
5
|
+
var PluginKitConfigContext = createContext({});
|
|
6
|
+
/**
|
|
7
|
+
* Applies Plugin Kit environment config for a React tree.
|
|
8
|
+
*
|
|
9
|
+
* Importing React components already registers their underlying custom elements —
|
|
10
|
+
* no `registerAll` / registration bootstrap. Pass `hostBridge` only when the tree
|
|
11
|
+
* calls Craft action/selector helpers.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* import { createRoot } from 'react-dom/client';
|
|
16
|
+
* import { PluginKitProvider, Button } from '@verbb/plugin-kit-react';
|
|
17
|
+
*
|
|
18
|
+
* createRoot(el).render(
|
|
19
|
+
* <PluginKitProvider translationCategory="my-plugin">
|
|
20
|
+
* <Button>Save</Button>
|
|
21
|
+
* </PluginKitProvider>,
|
|
22
|
+
* );
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
function PluginKitProvider({ children, ...config }) {
|
|
26
|
+
configure(config);
|
|
27
|
+
return /* @__PURE__ */ jsx(PluginKitConfigContext.Provider, {
|
|
28
|
+
value: config,
|
|
29
|
+
children
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
/** Read the nearest {@link PluginKitProvider} config (empty object when absent). */
|
|
33
|
+
var usePluginKitConfig = () => {
|
|
34
|
+
return useContext(PluginKitConfigContext);
|
|
35
|
+
};
|
|
36
|
+
//#endregion
|
|
37
|
+
export { PluginKitProvider, usePluginKitConfig };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=PluginKitProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginKitProvider.js","names":[],"sources":["../../src/app/PluginKitProvider.tsx"],"sourcesContent":["import {\n createContext,\n useContext,\n type ReactNode,\n} from 'react';\n\nimport { configure, type PluginKitReactConfig } from './configure.js';\n\nexport type PluginKitProviderProps = PluginKitReactConfig & {\n children: ReactNode;\n};\n\nconst PluginKitConfigContext = createContext<PluginKitReactConfig>({});\n\n/**\n * Applies Plugin Kit environment config for a React tree.\n *\n * Importing React components already registers their underlying custom elements —\n * no `registerAll` / registration bootstrap. Pass `hostBridge` only when the tree\n * calls Craft action/selector helpers.\n *\n * @example\n * ```tsx\n * import { createRoot } from 'react-dom/client';\n * import { PluginKitProvider, Button } from '@verbb/plugin-kit-react';\n *\n * createRoot(el).render(\n * <PluginKitProvider translationCategory=\"my-plugin\">\n * <Button>Save</Button>\n * </PluginKitProvider>,\n * );\n * ```\n */\nexport function PluginKitProvider({ children, ...config }: PluginKitProviderProps) {\n // Sync apply before children render overlays — same timing as the old createReactApp path.\n configure(config);\n\n return (\n <PluginKitConfigContext.Provider value={config}>\n {children}\n </PluginKitConfigContext.Provider>\n );\n}\n\n/** Read the nearest {@link PluginKitProvider} config (empty object when absent). */\nexport const usePluginKitConfig = (): PluginKitReactConfig => {\n return useContext(PluginKitConfigContext);\n};\n"],"mappings":";;;;AAYA,IAAM,yBAAyB,cAAoC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;AAqBtE,SAAgB,kBAAkB,EAAE,UAAU,GAAG,UAAkC;AAE/E,WAAU,OAAO;AAEjB,QACI,oBAAC,uBAAuB,UAAxB;EAAiC,OAAO;EACnC;EAC6B,CAAA;;;AAK1C,IAAa,2BAAiD;AAC1D,QAAO,WAAW,uBAAuB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { PluginKitHostBridge } from '@verbb/plugin-kit-core';
|
|
2
|
+
import { PluginKitWebConfig } from '@verbb/plugin-kit-web/plugin-kit';
|
|
3
|
+
import { TranslateParams } from '@verbb/plugin-kit-forms';
|
|
4
|
+
export type TranslateFunction = (category: string, message: string, params?: TranslateParams) => string;
|
|
5
|
+
export type PluginKitReactConfig = PluginKitWebConfig & {
|
|
6
|
+
/** Category passed to the translate function for engine/validation messages. */
|
|
7
|
+
translationCategory?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Custom translate implementation.
|
|
10
|
+
* When omitted and `window.Craft.t` exists, Craft’s translator is used automatically.
|
|
11
|
+
*/
|
|
12
|
+
translate?: TranslateFunction;
|
|
13
|
+
/**
|
|
14
|
+
* Partial merge into the global host bridge used by `hostRequest()` and related helpers.
|
|
15
|
+
* Opt-in — only pass when the app calls Craft action/selector helpers.
|
|
16
|
+
*/
|
|
17
|
+
hostBridge?: Partial<PluginKitHostBridge>;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Configure the React facade stack. Translation is forwarded to the form engine;
|
|
21
|
+
* portal/shadow settings are forwarded to the web-component layer.
|
|
22
|
+
*
|
|
23
|
+
* Prefer {@link PluginKitProvider} for app trees — call this directly only for
|
|
24
|
+
* secondary mounts (e.g. Craft chrome slots) that need a different portal target.
|
|
25
|
+
*/
|
|
26
|
+
export declare const configure: (config: PluginKitReactConfig) => void;
|
|
27
|
+
/** Alias for `configure()`. */
|
|
28
|
+
export declare const configurePluginKitReact: (config: PluginKitReactConfig) => void;
|
|
29
|
+
//# sourceMappingURL=configure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../src/app/configure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAIH,KAAK,kBAAkB,EAC1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAgD,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE7G,MAAM,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,KAAK,MAAM,CAAC;AAExG,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACpD,gFAAgF;IAChF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC7C,CAAC;AAgBF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,oBAAoB,KAAG,IAwCxD,CAAC;AAEF,+BAA+B;AAC/B,eAAO,MAAM,uBAAuB,WA3CF,oBAAoB,KAAG,IA2CT,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { setHostBridge } from "@verbb/plugin-kit-core";
|
|
2
|
+
import { configurePluginKitWeb, setPortalClassName, setPortalContainer } from "@verbb/plugin-kit-web/plugin-kit";
|
|
3
|
+
import { setTranslateFunction, setTranslationCategory } from "@verbb/plugin-kit-forms";
|
|
4
|
+
//#region src/app/configure.ts
|
|
5
|
+
var resolveCraftTranslate = () => {
|
|
6
|
+
const craft = globalThis.Craft;
|
|
7
|
+
if (typeof craft?.t === "function") return (category, message, params) => craft.t(category, message, params);
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Configure the React facade stack. Translation is forwarded to the form engine;
|
|
11
|
+
* portal/shadow settings are forwarded to the web-component layer.
|
|
12
|
+
*
|
|
13
|
+
* Prefer {@link PluginKitProvider} for app trees — call this directly only for
|
|
14
|
+
* secondary mounts (e.g. Craft chrome slots) that need a different portal target.
|
|
15
|
+
*/
|
|
16
|
+
var configure = (config) => {
|
|
17
|
+
const { translationCategory, translate, hostBridge, portalClassName, portalContainer, shadowRootSelectors } = config;
|
|
18
|
+
if (translationCategory) setTranslationCategory(translationCategory);
|
|
19
|
+
const resolvedTranslate = translate ?? resolveCraftTranslate();
|
|
20
|
+
if (resolvedTranslate) setTranslateFunction(resolvedTranslate);
|
|
21
|
+
if (hostBridge) setHostBridge(hostBridge);
|
|
22
|
+
if (portalClassName) setPortalClassName(portalClassName);
|
|
23
|
+
if (portalContainer !== void 0) setPortalContainer(portalContainer);
|
|
24
|
+
const webConfig = {
|
|
25
|
+
...portalContainer !== void 0 ? { portalContainer } : {},
|
|
26
|
+
...shadowRootSelectors !== void 0 ? { shadowRootSelectors } : {}
|
|
27
|
+
};
|
|
28
|
+
if (webConfig.portalContainer !== void 0 || webConfig.shadowRootSelectors !== void 0) configurePluginKitWeb(webConfig);
|
|
29
|
+
};
|
|
30
|
+
/** Alias for `configure()`. */
|
|
31
|
+
var configurePluginKitReact = configure;
|
|
32
|
+
//#endregion
|
|
33
|
+
export { configure, configurePluginKitReact };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=configure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure.js","names":[],"sources":["../../src/app/configure.ts"],"sourcesContent":["import { setHostBridge, type PluginKitHostBridge } from '@verbb/plugin-kit-core';\nimport {\n configurePluginKitWeb,\n setPortalClassName,\n setPortalContainer,\n type PluginKitWebConfig,\n} from '@verbb/plugin-kit-web/plugin-kit';\nimport { setTranslateFunction, setTranslationCategory, type TranslateParams } from '@verbb/plugin-kit-forms';\n\nexport type TranslateFunction = (category: string, message: string, params?: TranslateParams) => string;\n\nexport type PluginKitReactConfig = PluginKitWebConfig & {\n /** Category passed to the translate function for engine/validation messages. */\n translationCategory?: string;\n /**\n * Custom translate implementation.\n * When omitted and `window.Craft.t` exists, Craft’s translator is used automatically.\n */\n translate?: TranslateFunction;\n /**\n * Partial merge into the global host bridge used by `hostRequest()` and related helpers.\n * Opt-in — only pass when the app calls Craft action/selector helpers.\n */\n hostBridge?: Partial<PluginKitHostBridge>;\n};\n\ntype CraftTranslateHost = {\n t?: TranslateFunction;\n};\n\nconst resolveCraftTranslate = (): TranslateFunction | undefined => {\n const craft = (globalThis as typeof globalThis & { Craft?: CraftTranslateHost }).Craft;\n\n if (typeof craft?.t === 'function') {\n return (category, message, params) => craft.t!(category, message, params);\n }\n\n return undefined;\n};\n\n/**\n * Configure the React facade stack. Translation is forwarded to the form engine;\n * portal/shadow settings are forwarded to the web-component layer.\n *\n * Prefer {@link PluginKitProvider} for app trees — call this directly only for\n * secondary mounts (e.g. Craft chrome slots) that need a different portal target.\n */\nexport const configure = (config: PluginKitReactConfig): void => {\n const {\n translationCategory,\n translate,\n hostBridge,\n portalClassName,\n portalContainer,\n shadowRootSelectors,\n } = config;\n\n if (translationCategory) {\n setTranslationCategory(translationCategory);\n }\n\n const resolvedTranslate = translate ?? resolveCraftTranslate();\n\n if (resolvedTranslate) {\n setTranslateFunction(resolvedTranslate);\n }\n\n if (hostBridge) {\n setHostBridge(hostBridge);\n }\n\n if (portalClassName) {\n setPortalClassName(portalClassName);\n }\n\n if (portalContainer !== undefined) {\n setPortalContainer(portalContainer);\n }\n\n const webConfig: PluginKitWebConfig = {\n ...(portalContainer !== undefined ? { portalContainer } : {}),\n ...(shadowRootSelectors !== undefined ? { shadowRootSelectors } : {}),\n };\n\n if (webConfig.portalContainer !== undefined || webConfig.shadowRootSelectors !== undefined) {\n configurePluginKitWeb(webConfig);\n }\n};\n\n/** Alias for `configure()`. */\nexport const configurePluginKitReact = configure;\n"],"mappings":";;;;AA8BA,IAAM,8BAA6D;CAC/D,MAAM,QAAS,WAAkE;AAEjF,KAAI,OAAO,OAAO,MAAM,WACpB,SAAQ,UAAU,SAAS,WAAW,MAAM,EAAG,UAAU,SAAS,OAAO;;;;;;;;;AAajF,IAAa,aAAa,WAAuC;CAC7D,MAAM,EACF,qBACA,WACA,YACA,iBACA,iBACA,wBACA;AAEJ,KAAI,oBACA,wBAAuB,oBAAoB;CAG/C,MAAM,oBAAoB,aAAa,uBAAuB;AAE9D,KAAI,kBACA,sBAAqB,kBAAkB;AAG3C,KAAI,WACA,eAAc,WAAW;AAG7B,KAAI,gBACA,oBAAmB,gBAAgB;AAGvC,KAAI,oBAAoB,KAAA,EACpB,oBAAmB,gBAAgB;CAGvC,MAAM,YAAgC;EAClC,GAAI,oBAAoB,KAAA,IAAY,EAAE,iBAAiB,GAAG,EAAE;EAC5D,GAAI,wBAAwB,KAAA,IAAY,EAAE,qBAAqB,GAAG,EAAE;EACvE;AAED,KAAI,UAAU,oBAAoB,KAAA,KAAa,UAAU,wBAAwB,KAAA,EAC7E,uBAAsB,UAAU;;;AAKxC,IAAa,0BAA0B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { configure, configurePluginKitReact, type PluginKitReactConfig, type TranslateFunction, } from './configure.js';
|
|
2
|
+
export { PluginKitProvider, usePluginKitConfig, type PluginKitProviderProps, } from './PluginKitProvider.js';
|
|
3
|
+
export { mountShadowApp, type MountShadowAppOptions, type ShadowAppMount, } from './mountShadowApp.js';
|
|
4
|
+
export { createCraftHostBridge } from '../utils/craftHostBridge.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,sBAAsB,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACH,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,cAAc,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { configure, configurePluginKitReact } from "./configure.js";
|
|
2
|
+
import { PluginKitProvider, usePluginKitConfig } from "./PluginKitProvider.js";
|
|
3
|
+
import { mountShadowApp } from "./mountShadowApp.js";
|
|
4
|
+
import { createCraftHostBridge } from "../utils/craftHostBridge.js";
|
|
5
|
+
export { PluginKitProvider, configure, configurePluginKitReact, createCraftHostBridge, mountShadowApp, usePluginKitConfig };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Re-export the framework-agnostic helper from `@verbb/plugin-kit-web`.
|
|
3
|
+
* Prefer importing from `@verbb/plugin-kit-react` / `/utils` in app code.
|
|
4
|
+
*/
|
|
5
|
+
export { mountShadowApp, type MountShadowAppOptions, type ShadowAppMount, } from '@verbb/plugin-kit-web/plugin-kit';
|
|
6
|
+
//# sourceMappingURL=mountShadowApp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mountShadowApp.d.ts","sourceRoot":"","sources":["../../src/app/mountShadowApp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACH,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,cAAc,GACtB,MAAM,kCAAkC,CAAC"}
|
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
export {
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { PkButton, PkButtonSize, PkButtonVariant } from '@verbb/plugin-kit-web/components/button/pk-button.js';
|
|
3
|
+
import { PkSpinnerSize, PkSpinnerTone, PkSpinnerVariant } from '@verbb/plugin-kit-web/components/spinner/pk-spinner.js';
|
|
4
|
+
declare const PkButtonElement: import('@lit/react').ReactWebComponent<PkButton, {
|
|
5
|
+
onPkClick: string;
|
|
6
|
+
}>;
|
|
7
|
+
export type ButtonProps = React.ComponentProps<typeof PkButtonElement> & {
|
|
8
|
+
variant?: PkButtonVariant;
|
|
9
|
+
size?: PkButtonSize;
|
|
10
|
+
/** Compact hug-the-glyph density — omit for default square icon-only hit box. */
|
|
11
|
+
icon?: boolean;
|
|
12
|
+
/** Craft `.menubtn` disclosure end-cap in a button group. */
|
|
13
|
+
groupTrigger?: boolean;
|
|
14
|
+
withCaret?: boolean;
|
|
15
|
+
loading?: boolean;
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
type?: 'button' | 'submit' | 'reset';
|
|
18
|
+
/** Override spinner size — v1 Button `spinnerSize` (e.g. `xs` on `size="lg"`). */
|
|
19
|
+
spinnerSize?: PkSpinnerSize;
|
|
20
|
+
spinnerVariant?: PkSpinnerVariant;
|
|
21
|
+
spinnerTone?: PkSpinnerTone;
|
|
22
|
+
'data-state'?: 'hover' | 'focus-visible' | 'active';
|
|
23
|
+
};
|
|
24
|
+
/** React facade over `<pk-button>`. Behavior and styles live in the web component. */
|
|
25
|
+
export declare function Button({ children, variant, size, icon, groupTrigger, withCaret, loading, disabled, type, spinnerSize, spinnerVariant, spinnerTone, 'data-state': dataState, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export { PkButtonElement };
|
|
26
27
|
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,sDAAsD,CAAC;AACzH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAI7H,QAAA,MAAM,eAAe;;EAOnB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,GAAG;IACrE,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,6DAA6D;IAC7D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC,kFAAkF;IAClF,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,YAAY,CAAC,EAAE,OAAO,GAAG,eAAe,GAAG,QAAQ,CAAC;CACvD,CAAC;AAEF,sFAAsF;AACtF,wBAAgB,MAAM,CAAC,EACnB,QAAQ,EACR,OAAmB,EACnB,IAAgB,EAChB,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,OAAe,EACf,QAAgB,EAChB,IAAe,EACf,WAAW,EACX,cAAc,EACd,WAAW,EACX,YAAY,EAAE,SAAS,EACvB,GAAG,KAAK,EACX,EAAE,WAAW,2CAkBb;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1,148 +1,41 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "../utils/
|
|
3
|
-
import
|
|
4
|
-
import "
|
|
5
|
-
import {
|
|
6
|
-
import { forwardRef } from "react";
|
|
7
|
-
import { cva } from "class-variance-authority";
|
|
8
|
-
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { createPluginKitComponent } from "../utils/create-plugin-kit-component.js";
|
|
2
|
+
import { trueBooleanProps } from "../utils/lit-react-booleans.js";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { PkButton } from "@verbb/plugin-kit-web/components/button/pk-button.js";
|
|
9
6
|
//#region src/components/Button.tsx
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
"hover:not-disabled:bg-slate-300",
|
|
16
|
-
"active:not-disabled:bg-slate-400",
|
|
17
|
-
"focus-visible:shadow-[0_0_0_2px_var(--color-sky-600),0_0_5px_1px_hsl(from_var(--color-sky-600)_h_s_l/0.7)]",
|
|
18
|
-
"data-[popup-open]:bg-slate-300"
|
|
19
|
-
],
|
|
20
|
-
primary: [
|
|
21
|
-
"antialiased",
|
|
22
|
-
"bg-red-600 text-white border-primary-500",
|
|
23
|
-
"hover:not-disabled:bg-red-700",
|
|
24
|
-
"active:not-disabled:bg-red-800",
|
|
25
|
-
"focus-visible:shadow-[0_0_0_1px_#ffffff,0_0_0_3px_var(--color-sky-600),0_0_5px_1px_hsl(from_var(--color-sky-600)_h_s_l/0.7)]",
|
|
26
|
-
"data-[popup-open]:bg-red-700"
|
|
27
|
-
],
|
|
28
|
-
secondary: [
|
|
29
|
-
"antialiased",
|
|
30
|
-
"bg-gray-500 text-white",
|
|
31
|
-
"hover:not-disabled:bg-gray-550",
|
|
32
|
-
"active:not-disabled:bg-gray-600",
|
|
33
|
-
"focus-visible:shadow-[0_0_0_1px_#ffffff,0_0_0_3px_var(--color-sky-600),0_0_5px_1px_hsl(from_var(--color-sky-600)_h_s_l/0.7)]",
|
|
34
|
-
"data-[popup-open]:bg-gray-550"
|
|
35
|
-
],
|
|
36
|
-
dashed: [
|
|
37
|
-
"bg-transparent border-dashed border border-slate-500",
|
|
38
|
-
"hover:not-disabled:bg-slate-150",
|
|
39
|
-
"active:not-disabled:bg-slate-250",
|
|
40
|
-
"focus-visible:border-solid focus-visible:border-sky-600 focus-visible:shadow-[0_0_0_1px_var(--color-sky-600),0_0_4px_1px_hsl(from_var(--color-sky-600)_h_s_l/0.7)]",
|
|
41
|
-
"data-[popup-open]:bg-slate-250"
|
|
42
|
-
],
|
|
43
|
-
outline: [
|
|
44
|
-
"bg-transparent border border-slate-400",
|
|
45
|
-
"hover:not-disabled:bg-slate-150",
|
|
46
|
-
"active:not-disabled:bg-slate-250",
|
|
47
|
-
"focus-visible:border-solid focus-visible:border-sky-600 focus-visible:shadow-[0_0_0_1px_var(--color-sky-600),0_0_4px_1px_hsl(from_var(--color-sky-600)_h_s_l/0.7)]",
|
|
48
|
-
"data-[popup-open]:bg-slate-250"
|
|
49
|
-
],
|
|
50
|
-
transparent: [
|
|
51
|
-
"hover:not-disabled:bg-slate-150",
|
|
52
|
-
"active:not-disabled:bg-slate-250",
|
|
53
|
-
"focus-visible:shadow-[0_0_0_2px_var(--color-sky-600),0_0_5px_1px_hsl(from_var(--color-sky-600)_h_s_l/0.7)]",
|
|
54
|
-
"data-[popup-open]:bg-slate-250"
|
|
55
|
-
],
|
|
56
|
-
ghost: [
|
|
57
|
-
"hover:not-disabled:bg-slate-150",
|
|
58
|
-
"active:not-disabled:bg-slate-250",
|
|
59
|
-
"focus-visible:shadow-[0_0_0_2px_var(--color-sky-600),0_0_5px_1px_hsl(from_var(--color-sky-600)_h_s_l/0.7)]"
|
|
60
|
-
],
|
|
61
|
-
link: [
|
|
62
|
-
"rounded-none px-0 py-0 text-sky-700 underline-offset-2",
|
|
63
|
-
"hover:not-disabled:underline",
|
|
64
|
-
"focus-visible:shadow-none focus-visible:underline"
|
|
65
|
-
],
|
|
66
|
-
none: []
|
|
67
|
-
},
|
|
68
|
-
size: {
|
|
69
|
-
default: "px-[10px] py-[7px]",
|
|
70
|
-
none: "p-0",
|
|
71
|
-
xxs: "px-[5px] py-[1px] text-[11px] rounded-sm",
|
|
72
|
-
xs: "px-[8px] py-[3px] text-[12px] rounded-sm",
|
|
73
|
-
sm: "px-[9px] py-[5px] text-[13px] rounded-md",
|
|
74
|
-
icon: "size-8 p-0 justify-center",
|
|
75
|
-
lg: "px-[12px] py-[9px]",
|
|
76
|
-
xl: "px-[16px] py-[10px] text-base"
|
|
77
|
-
},
|
|
78
|
-
loading: { true: "cursor-default" }
|
|
79
|
-
},
|
|
80
|
-
defaultVariants: {
|
|
81
|
-
variant: "default",
|
|
82
|
-
size: "default",
|
|
83
|
-
loading: false
|
|
84
|
-
}
|
|
7
|
+
var PkButtonElement = createPluginKitComponent({
|
|
8
|
+
tagName: "pk-button",
|
|
9
|
+
elementClass: PkButton,
|
|
10
|
+
react: React,
|
|
11
|
+
events: { onPkClick: "click" }
|
|
85
12
|
});
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
if (render) return /* @__PURE__ */ jsx(Slot, {
|
|
108
|
-
...sharedProps,
|
|
109
|
-
children: render
|
|
110
|
-
});
|
|
111
|
-
if (asChild) return /* @__PURE__ */ jsx(Slot, {
|
|
112
|
-
...sharedProps,
|
|
113
|
-
children
|
|
114
|
-
});
|
|
115
|
-
if (href) {
|
|
116
|
-
const anchorProps = {
|
|
117
|
-
target: props.target,
|
|
118
|
-
rel: props.rel,
|
|
119
|
-
download: props.download,
|
|
120
|
-
onClick: props.onClick,
|
|
121
|
-
onFocus: props.onFocus,
|
|
122
|
-
onBlur: props.onBlur,
|
|
123
|
-
onMouseEnter: props.onMouseEnter,
|
|
124
|
-
onMouseLeave: props.onMouseLeave,
|
|
125
|
-
onKeyDown: props.onKeyDown,
|
|
126
|
-
onKeyUp: props.onKeyUp,
|
|
127
|
-
onCopy: props.onCopy
|
|
128
|
-
};
|
|
129
|
-
return /* @__PURE__ */ jsx("a", {
|
|
130
|
-
ref,
|
|
131
|
-
href,
|
|
132
|
-
...sharedProps,
|
|
133
|
-
...anchorProps,
|
|
134
|
-
children: content
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
return /* @__PURE__ */ jsx("button", {
|
|
138
|
-
ref,
|
|
139
|
-
type: type || "button",
|
|
140
|
-
...sharedProps,
|
|
13
|
+
/** React facade over `<pk-button>`. Behavior and styles live in the web component. */
|
|
14
|
+
function Button({ children, variant = "default", size = "default", icon, groupTrigger, withCaret, loading = false, disabled = false, type = "button", spinnerSize, spinnerVariant, spinnerTone, "data-state": dataState, ...props }) {
|
|
15
|
+
return /* @__PURE__ */ jsx(PkButtonElement, {
|
|
16
|
+
variant,
|
|
17
|
+
size,
|
|
18
|
+
loading,
|
|
19
|
+
disabled,
|
|
20
|
+
type,
|
|
21
|
+
...trueBooleanProps([
|
|
22
|
+
"icon",
|
|
23
|
+
"groupTrigger",
|
|
24
|
+
"withCaret"
|
|
25
|
+
], {
|
|
26
|
+
icon,
|
|
27
|
+
groupTrigger,
|
|
28
|
+
withCaret
|
|
29
|
+
}),
|
|
30
|
+
...spinnerSize ? { "spinner-size": spinnerSize } : {},
|
|
31
|
+
...spinnerVariant ? { "spinner-variant": spinnerVariant } : {},
|
|
32
|
+
...spinnerTone ? { "spinner-tone": spinnerTone } : {},
|
|
33
|
+
...dataState ? { "data-state": dataState } : {},
|
|
141
34
|
...props,
|
|
142
|
-
children
|
|
35
|
+
children
|
|
143
36
|
});
|
|
144
|
-
}
|
|
37
|
+
}
|
|
145
38
|
//#endregion
|
|
146
|
-
export { Button,
|
|
39
|
+
export { Button, PkButtonElement };
|
|
147
40
|
|
|
148
41
|
//# sourceMappingURL=Button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","names":[],"sources":["../../src/components/Button.tsx"],"sourcesContent":["import {\n forwardRef,\n type AnchorHTMLAttributes,\n type ButtonHTMLAttributes,\n type ClipboardEventHandler,\n type FocusEventHandler,\n type KeyboardEventHandler,\n type MouseEventHandler,\n type Ref,\n type ReactElement,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@verbb/plugin-kit-react/utils';\n\nimport { Spinner } from '@verbb/plugin-kit-react/components';\nimport { Slot } from '@verbb/plugin-kit-react/components/Slot';\n\nconst buttonVariants = cva('', {\n variants: {\n variant: {\n default: [\n 'bg-slate-250 text-gray-700',\n 'hover:not-disabled:bg-slate-300',\n 'active:not-disabled:bg-slate-400',\n 'focus-visible:shadow-[0_0_0_2px_var(--color-sky-600),0_0_5px_1px_hsl(from_var(--color-sky-600)_h_s_l/0.7)]',\n 'data-[popup-open]:bg-slate-300',\n ],\n primary: [\n 'antialiased',\n 'bg-red-600 text-white border-primary-500',\n 'hover:not-disabled:bg-red-700',\n 'active:not-disabled:bg-red-800',\n 'focus-visible:shadow-[0_0_0_1px_#ffffff,0_0_0_3px_var(--color-sky-600),0_0_5px_1px_hsl(from_var(--color-sky-600)_h_s_l/0.7)]',\n 'data-[popup-open]:bg-red-700',\n ],\n secondary: [\n 'antialiased',\n 'bg-gray-500 text-white',\n 'hover:not-disabled:bg-gray-550',\n 'active:not-disabled:bg-gray-600',\n 'focus-visible:shadow-[0_0_0_1px_#ffffff,0_0_0_3px_var(--color-sky-600),0_0_5px_1px_hsl(from_var(--color-sky-600)_h_s_l/0.7)]',\n 'data-[popup-open]:bg-gray-550',\n ],\n dashed: [\n 'bg-transparent border-dashed border border-slate-500',\n 'hover:not-disabled:bg-slate-150',\n 'active:not-disabled:bg-slate-250',\n 'focus-visible:border-solid focus-visible:border-sky-600 focus-visible:shadow-[0_0_0_1px_var(--color-sky-600),0_0_4px_1px_hsl(from_var(--color-sky-600)_h_s_l/0.7)]',\n 'data-[popup-open]:bg-slate-250',\n ],\n outline: [\n 'bg-transparent border border-slate-400',\n 'hover:not-disabled:bg-slate-150',\n 'active:not-disabled:bg-slate-250',\n 'focus-visible:border-solid focus-visible:border-sky-600 focus-visible:shadow-[0_0_0_1px_var(--color-sky-600),0_0_4px_1px_hsl(from_var(--color-sky-600)_h_s_l/0.7)]',\n 'data-[popup-open]:bg-slate-250',\n ],\n transparent: [\n 'hover:not-disabled:bg-slate-150',\n 'active:not-disabled:bg-slate-250',\n 'focus-visible:shadow-[0_0_0_2px_var(--color-sky-600),0_0_5px_1px_hsl(from_var(--color-sky-600)_h_s_l/0.7)]',\n 'data-[popup-open]:bg-slate-250',\n ],\n ghost: [\n 'hover:not-disabled:bg-slate-150',\n 'active:not-disabled:bg-slate-250',\n 'focus-visible:shadow-[0_0_0_2px_var(--color-sky-600),0_0_5px_1px_hsl(from_var(--color-sky-600)_h_s_l/0.7)]',\n ],\n link: [\n 'rounded-none px-0 py-0 text-sky-700 underline-offset-2',\n 'hover:not-disabled:underline',\n 'focus-visible:shadow-none focus-visible:underline',\n ],\n none: [],\n },\n size: {\n default: 'px-[10px] py-[7px]',\n none: 'p-0',\n xxs: 'px-[5px] py-[1px] text-[11px] rounded-sm',\n xs: 'px-[8px] py-[3px] text-[12px] rounded-sm',\n sm: 'px-[9px] py-[5px] text-[13px] rounded-md',\n icon: 'size-8 p-0 justify-center',\n lg: 'px-[12px] py-[9px]',\n xl: 'px-[16px] py-[10px] text-base',\n },\n loading: {\n true: 'cursor-default',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n loading: false,\n },\n});\n\ntype SpinnerVariant = 'default' | 'primary' | 'secondary' | 'dashed' | 'outline' | 'transparent';\ntype SpinnerSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | null;\n\ntype ButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'size'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n render?: ReactElement\n href?: string\n target?: string\n rel?: string\n download?: string | boolean\n spinnerSize?: SpinnerSize\n spinnerVariant?: SpinnerVariant\n spinnerClassName?: string\n };\n\nconst Button = forwardRef<HTMLButtonElement | HTMLAnchorElement, ButtonProps>(({\n className,\n variant,\n size,\n spinnerSize = null,\n spinnerVariant,\n spinnerClassName = '',\n loading = false,\n children,\n asChild = false,\n render,\n href,\n type,\n ...props\n}, ref) => {\n if (spinnerSize === null) {\n if (size === 'xxs' || size === 'xs') {\n spinnerSize = 'xxs';\n } else if (size === 'lg' || size === 'xl') {\n spinnerSize = 'sm';\n } else {\n spinnerSize = 'xs';\n }\n }\n\n const resolvedVariant = variant === 'ghost' ? 'transparent' : variant;\n const resolvedSpinnerVariant = spinnerVariant || (resolvedVariant === 'primary' || resolvedVariant === 'secondary' || resolvedVariant === 'dashed' || resolvedVariant === 'outline' || resolvedVariant === 'transparent'\n ? resolvedVariant\n : 'default');\n const sharedProps = {\n 'data-slot': 'button',\n 'data-size': size || 'default',\n className: cn(\n 'no-underline hover:no-underline',\n 'inline-flex cursor-pointer outline-none gap-1 items-center justify-center whitespace-nowrap transition-colors',\n 'rounded-lg',\n 'disabled:opacity-50 disabled:cursor-[not-allowed]! disabled:select-none',\n loading && [\n 'relative pointer-events-none text-transparent!',\n 'select-none!',\n ],\n \"[&[data-size='xxs']_svg:not([class*='size-'])]:size-3\",\n \"[&[data-size='xs']_svg:not([class*='size-'])]:size-3.5\",\n \"[&[data-size='sm']_svg:not([class*='size-'])]:size-3.5\",\n \"[&:not([data-size='xxs']):not([data-size='xs']):not([data-size='sm'])_svg:not([class*='size-'])]:size-4\",\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n buttonVariants({\n variant: resolvedVariant,\n size,\n loading,\n className,\n }),\n ),\n } as const;\n\n const content = (\n <>\n {loading && <Spinner variant={resolvedSpinnerVariant} size={spinnerSize} className={cn(\n 'absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2',\n spinnerClassName,\n )} />}\n {children}\n </>\n );\n\n if (render) {\n return (\n <Slot {...sharedProps}>\n {render}\n </Slot>\n );\n }\n\n if (asChild) {\n return (\n <Slot {...sharedProps}>\n {children as ReactElement}\n </Slot>\n );\n }\n\n if (href) {\n const anchorProps: AnchorHTMLAttributes<HTMLAnchorElement> = {\n target: props.target,\n rel: props.rel,\n download: props.download,\n onClick: props.onClick as MouseEventHandler<HTMLAnchorElement> | undefined,\n onFocus: props.onFocus as FocusEventHandler<HTMLAnchorElement> | undefined,\n onBlur: props.onBlur as FocusEventHandler<HTMLAnchorElement> | undefined,\n onMouseEnter: props.onMouseEnter as MouseEventHandler<HTMLAnchorElement> | undefined,\n onMouseLeave: props.onMouseLeave as MouseEventHandler<HTMLAnchorElement> | undefined,\n onKeyDown: props.onKeyDown as KeyboardEventHandler<HTMLAnchorElement> | undefined,\n onKeyUp: props.onKeyUp as KeyboardEventHandler<HTMLAnchorElement> | undefined,\n onCopy: props.onCopy as ClipboardEventHandler<HTMLAnchorElement> | undefined,\n };\n\n return (\n <a\n ref={ref as Ref<HTMLAnchorElement>}\n href={href}\n {...sharedProps}\n {...anchorProps}\n >\n {content}\n </a>\n );\n }\n\n return (\n <button\n ref={ref as Ref<HTMLButtonElement>}\n type={type || 'button'}\n {...sharedProps}\n {...props}\n >\n {content}\n </button>\n );\n});\n\nexport { Button, buttonVariants };\n"],"mappings":";;;;;;;;;AAkBA,IAAM,iBAAiB,IAAI,IAAI;CAC3B,UAAU;EACN,SAAS;GACL,SAAS;IACL;IACA;IACA;IACA;IACA;IACH;GACD,SAAS;IACL;IACA;IACA;IACA;IACA;IACA;IACH;GACD,WAAW;IACP;IACA;IACA;IACA;IACA;IACA;IACH;GACD,QAAQ;IACJ;IACA;IACA;IACA;IACA;IACH;GACD,SAAS;IACL;IACA;IACA;IACA;IACA;IACH;GACD,aAAa;IACT;IACA;IACA;IACA;IACH;GACD,OAAO;IACH;IACA;IACA;IACH;GACD,MAAM;IACF;IACA;IACA;IACH;GACD,MAAM,EAAE;GACX;EACD,MAAM;GACF,SAAS;GACT,MAAM;GACN,KAAK;GACL,IAAI;GACJ,IAAI;GACJ,MAAM;GACN,IAAI;GACJ,IAAI;GACP;EACD,SAAS,EACL,MAAM,kBACT;EACJ;CACD,iBAAiB;EACb,SAAS;EACT,MAAM;EACN,SAAS;EACZ;CACJ,CAAC;AAkBF,IAAM,SAAS,YAAgE,EAC3E,WACA,SACA,MACA,cAAc,MACd,gBACA,mBAAmB,IACnB,UAAU,OACV,UACA,UAAU,OACV,QACA,MACA,MACA,GAAG,SACJ,QAAQ;AACP,KAAI,gBAAgB,KAChB,KAAI,SAAS,SAAS,SAAS,KAC3B,eAAc;UACP,SAAS,QAAQ,SAAS,KACjC,eAAc;KAEd,eAAc;CAItB,MAAM,kBAAkB,YAAY,UAAU,gBAAgB;CAC9D,MAAM,yBAAyB,mBAAmB,oBAAoB,aAAa,oBAAoB,eAAe,oBAAoB,YAAY,oBAAoB,aAAa,oBAAoB,gBACrM,kBACA;CACN,MAAM,cAAc;EAChB,aAAa;EACb,aAAa,QAAQ;EACrB,WAAW,GACP,mCACA,iHACA,cACA,2EACA,WAAW,CACP,kDACA,eACH,EACD,yDACA,0DACA,0DACA,2GACA,gDACA,eAAe;GACX,SAAS;GACT;GACA;GACA;GACH,CAAC,CACL;EACJ;CAED,MAAM,UACF,qBAAA,YAAA,EAAA,UAAA,CACK,WAAW,oBAAC,SAAD;EAAS,SAAS;EAAwB,MAAM;EAAa,WAAW,GAChF,yEACA,iBACH;EAAI,CAAA,EACJ,SACF,EAAA,CAAA;AAGP,KAAI,OACA,QACI,oBAAC,MAAD;EAAM,GAAI;YACL;EACE,CAAA;AAIf,KAAI,QACA,QACI,oBAAC,MAAD;EAAM,GAAI;EACL;EACE,CAAA;AAIf,KAAI,MAAM;EACN,MAAM,cAAuD;GACzD,QAAQ,MAAM;GACd,KAAK,MAAM;GACX,UAAU,MAAM;GAChB,SAAS,MAAM;GACf,SAAS,MAAM;GACf,QAAQ,MAAM;GACd,cAAc,MAAM;GACpB,cAAc,MAAM;GACpB,WAAW,MAAM;GACjB,SAAS,MAAM;GACf,QAAQ,MAAM;GACjB;AAED,SACI,oBAAC,KAAD;GACS;GACC;GACN,GAAI;GACJ,GAAI;aAEH;GACD,CAAA;;AAIZ,QACI,oBAAC,UAAD;EACS;EACL,MAAM,QAAQ;EACd,GAAI;EACJ,GAAI;YAEH;EACI,CAAA;EAEf"}
|
|
1
|
+
{"version":3,"file":"Button.js","names":[],"sources":["../../src/components/Button.tsx"],"sourcesContent":["import React from 'react';\nimport { createPluginKitComponent } from '../utils/create-plugin-kit-component.js';\nimport { PkButton, type PkButtonSize, type PkButtonVariant } from '@verbb/plugin-kit-web/components/button/pk-button.js';\nimport type { PkSpinnerSize, PkSpinnerTone, PkSpinnerVariant } from '@verbb/plugin-kit-web/components/spinner/pk-spinner.js';\n\nimport { trueBooleanProps } from '../utils/lit-react-booleans.js';\n\nconst PkButtonElement = createPluginKitComponent({\n tagName: 'pk-button',\n elementClass: PkButton,\n react: React,\n events: {\n onPkClick: 'click',\n },\n});\n\nexport type ButtonProps = React.ComponentProps<typeof PkButtonElement> & {\n variant?: PkButtonVariant;\n size?: PkButtonSize;\n /** Compact hug-the-glyph density — omit for default square icon-only hit box. */\n icon?: boolean;\n /** Craft `.menubtn` disclosure end-cap in a button group. */\n groupTrigger?: boolean;\n withCaret?: boolean;\n loading?: boolean;\n disabled?: boolean;\n type?: 'button' | 'submit' | 'reset';\n /** Override spinner size — v1 Button `spinnerSize` (e.g. `xs` on `size=\"lg\"`). */\n spinnerSize?: PkSpinnerSize;\n spinnerVariant?: PkSpinnerVariant;\n spinnerTone?: PkSpinnerTone;\n 'data-state'?: 'hover' | 'focus-visible' | 'active';\n};\n\n/** React facade over `<pk-button>`. Behavior and styles live in the web component. */\nexport function Button({\n children,\n variant = 'default',\n size = 'default',\n icon,\n groupTrigger,\n withCaret,\n loading = false,\n disabled = false,\n type = 'button',\n spinnerSize,\n spinnerVariant,\n spinnerTone,\n 'data-state': dataState,\n ...props\n}: ButtonProps) {\n return (\n <PkButtonElement\n variant={variant}\n size={size}\n loading={loading}\n disabled={disabled}\n type={type}\n {...trueBooleanProps(['icon', 'groupTrigger', 'withCaret'], { icon, groupTrigger, withCaret })}\n {...(spinnerSize ? { 'spinner-size': spinnerSize } : {})}\n {...(spinnerVariant ? { 'spinner-variant': spinnerVariant } : {})}\n {...(spinnerTone ? { 'spinner-tone': spinnerTone } : {})}\n {...(dataState ? { 'data-state': dataState } : {})}\n {...props}\n >\n {children}\n </PkButtonElement>\n );\n}\n\nexport { PkButtonElement };\n"],"mappings":";;;;;;AAOA,IAAM,kBAAkB,yBAAyB;CAC7C,SAAS;CACT,cAAc;CACd,OAAO;CACP,QAAQ,EACJ,WAAW,SACd;CACJ,CAAC;;AAqBF,SAAgB,OAAO,EACnB,UACA,UAAU,WACV,OAAO,WACP,MACA,cACA,WACA,UAAU,OACV,WAAW,OACX,OAAO,UACP,aACA,gBACA,aACA,cAAc,WACd,GAAG,SACS;AACZ,QACI,oBAAC,iBAAD;EACa;EACH;EACG;EACC;EACJ;EACN,GAAI,iBAAiB;GAAC;GAAQ;GAAgB;GAAY,EAAE;GAAE;GAAM;GAAc;GAAW,CAAC;EAC9F,GAAK,cAAc,EAAE,gBAAgB,aAAa,GAAG,EAAE;EACvD,GAAK,iBAAiB,EAAE,mBAAmB,gBAAgB,GAAG,EAAE;EAChE,GAAK,cAAc,EAAE,gBAAgB,aAAa,GAAG,EAAE;EACvD,GAAK,YAAY,EAAE,cAAc,WAAW,GAAG,EAAE;EACjD,GAAI;EAEH;EACa,CAAA"}
|