@verbb/plugin-kit-react 1.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 +5 -0
- package/LICENSE.md +21 -0
- package/README.md +31 -0
- package/dist/_virtual/_rolldown/runtime.js +34 -0
- package/dist/components/Button.d.ts +26 -0
- package/dist/components/Button.d.ts.map +1 -0
- package/dist/components/Button.js +148 -0
- package/dist/components/Button.js.map +1 -0
- package/dist/components/ButtonGroup.d.ts +11 -0
- package/dist/components/ButtonGroup.d.ts.map +1 -0
- package/dist/components/ButtonGroup.js +59 -0
- package/dist/components/ButtonGroup.js.map +1 -0
- package/dist/components/Calendar.d.ts +11 -0
- package/dist/components/Calendar.d.ts.map +1 -0
- package/dist/components/Calendar.js +133 -0
- package/dist/components/Calendar.js.map +1 -0
- package/dist/components/Checkbox.d.ts +5 -0
- package/dist/components/Checkbox.d.ts.map +1 -0
- package/dist/components/Checkbox.js +41 -0
- package/dist/components/Checkbox.js.map +1 -0
- package/dist/components/CheckboxInput.d.ts +14 -0
- package/dist/components/CheckboxInput.d.ts.map +1 -0
- package/dist/components/CheckboxInput.js +31 -0
- package/dist/components/CheckboxInput.js.map +1 -0
- package/dist/components/CheckboxSelect.d.ts +19 -0
- package/dist/components/CheckboxSelect.d.ts.map +1 -0
- package/dist/components/CheckboxSelect.js +63 -0
- package/dist/components/CheckboxSelect.js.map +1 -0
- package/dist/components/ColorInput.d.ts +14 -0
- package/dist/components/ColorInput.d.ts.map +1 -0
- package/dist/components/ColorInput.js +148 -0
- package/dist/components/ColorInput.js.map +1 -0
- package/dist/components/Combobox.d.ts +40 -0
- package/dist/components/Combobox.d.ts.map +1 -0
- package/dist/components/Combobox.js +393 -0
- package/dist/components/Combobox.js.map +1 -0
- package/dist/components/ComboboxInput.d.ts +28 -0
- package/dist/components/ComboboxInput.d.ts.map +1 -0
- package/dist/components/ComboboxInput.js +165 -0
- package/dist/components/ComboboxInput.js.map +1 -0
- package/dist/components/Command.d.ts +26 -0
- package/dist/components/Command.d.ts.map +1 -0
- package/dist/components/Command.js +94 -0
- package/dist/components/Command.js.map +1 -0
- package/dist/components/CopyButton.d.ts +9 -0
- package/dist/components/CopyButton.d.ts.map +1 -0
- package/dist/components/CopyButton.js +40 -0
- package/dist/components/CopyButton.js.map +1 -0
- package/dist/components/DatePicker.d.ts +9 -0
- package/dist/components/DatePicker.d.ts.map +1 -0
- package/dist/components/DatePicker.js +46 -0
- package/dist/components/DatePicker.js.map +1 -0
- package/dist/components/Dialog.d.ts +21 -0
- package/dist/components/Dialog.d.ts.map +1 -0
- package/dist/components/Dialog.js +179 -0
- package/dist/components/Dialog.js.map +1 -0
- package/dist/components/DropdownMenu.d.ts +47 -0
- package/dist/components/DropdownMenu.d.ts.map +1 -0
- package/dist/components/DropdownMenu.js +240 -0
- package/dist/components/DropdownMenu.js.map +1 -0
- package/dist/components/EditableTable.d.ts +28 -0
- package/dist/components/EditableTable.d.ts.map +1 -0
- package/dist/components/EditableTable.js +145 -0
- package/dist/components/EditableTable.js.map +1 -0
- package/dist/components/FadeIn.d.ts +12 -0
- package/dist/components/FadeIn.d.ts.map +1 -0
- package/dist/components/FadeIn.js +24 -0
- package/dist/components/FadeIn.js.map +1 -0
- package/dist/components/Input.d.ts +9 -0
- package/dist/components/Input.d.ts.map +1 -0
- package/dist/components/Input.js +43 -0
- package/dist/components/Input.js.map +1 -0
- package/dist/components/InputGroup.d.ts +20 -0
- package/dist/components/InputGroup.d.ts.map +1 -0
- package/dist/components/InputGroup.js +111 -0
- package/dist/components/InputGroup.js.map +1 -0
- package/dist/components/Label.d.ts +4 -0
- package/dist/components/Label.d.ts.map +1 -0
- package/dist/components/Label.js +15 -0
- package/dist/components/Label.js.map +1 -0
- package/dist/components/Lightswitch.d.ts +9 -0
- package/dist/components/Lightswitch.d.ts.map +1 -0
- package/dist/components/Lightswitch.js +56 -0
- package/dist/components/Lightswitch.js.map +1 -0
- package/dist/components/Markdown.d.ts +11 -0
- package/dist/components/Markdown.d.ts.map +1 -0
- package/dist/components/Markdown.js +46 -0
- package/dist/components/Markdown.js.map +1 -0
- package/dist/components/MenuButton.d.ts +40 -0
- package/dist/components/MenuButton.d.ts.map +1 -0
- package/dist/components/MenuButton.js +122 -0
- package/dist/components/MenuButton.js.map +1 -0
- package/dist/components/ModalTabs.d.ts +8 -0
- package/dist/components/ModalTabs.d.ts.map +1 -0
- package/dist/components/ModalTabs.js +37 -0
- package/dist/components/ModalTabs.js.map +1 -0
- package/dist/components/PaneTabs.d.ts +8 -0
- package/dist/components/PaneTabs.d.ts.map +1 -0
- package/dist/components/PaneTabs.js +37 -0
- package/dist/components/PaneTabs.js.map +1 -0
- package/dist/components/Popover.d.ts +12 -0
- package/dist/components/Popover.d.ts.map +1 -0
- package/dist/components/Popover.js +70 -0
- package/dist/components/Popover.js.map +1 -0
- package/dist/components/RadioGroup.d.ts +6 -0
- package/dist/components/RadioGroup.d.ts.map +1 -0
- package/dist/components/RadioGroup.js +34 -0
- package/dist/components/RadioGroup.js.map +1 -0
- package/dist/components/ScrollArea.d.ts +16 -0
- package/dist/components/ScrollArea.d.ts.map +1 -0
- package/dist/components/ScrollArea.js +47 -0
- package/dist/components/ScrollArea.js.map +1 -0
- package/dist/components/Select.d.ts +23 -0
- package/dist/components/Select.d.ts.map +1 -0
- package/dist/components/Select.js +205 -0
- package/dist/components/Select.js.map +1 -0
- package/dist/components/SelectInput.d.ts +33 -0
- package/dist/components/SelectInput.d.ts.map +1 -0
- package/dist/components/SelectInput.js +85 -0
- package/dist/components/SelectInput.js.map +1 -0
- package/dist/components/Separator.d.ts +4 -0
- package/dist/components/Separator.d.ts.map +1 -0
- package/dist/components/Separator.js +17 -0
- package/dist/components/Separator.js.map +1 -0
- package/dist/components/SlideUp.d.ts +12 -0
- package/dist/components/SlideUp.d.ts.map +1 -0
- package/dist/components/SlideUp.js +36 -0
- package/dist/components/SlideUp.js.map +1 -0
- package/dist/components/Slot.d.ts +6 -0
- package/dist/components/Slot.d.ts.map +1 -0
- package/dist/components/Slot.js +52 -0
- package/dist/components/Slot.js.map +1 -0
- package/dist/components/Spinner.d.ts +9 -0
- package/dist/components/Spinner.d.ts.map +1 -0
- package/dist/components/Spinner.js +43 -0
- package/dist/components/Spinner.js.map +1 -0
- package/dist/components/Status.d.ts +8 -0
- package/dist/components/Status.d.ts.map +1 -0
- package/dist/components/Status.js +55 -0
- package/dist/components/Status.js.map +1 -0
- package/dist/components/Table.d.ts +10 -0
- package/dist/components/Table.d.ts.map +1 -0
- package/dist/components/Table.js +64 -0
- package/dist/components/Table.js.map +1 -0
- package/dist/components/Tabs.d.ts +8 -0
- package/dist/components/Tabs.d.ts.map +1 -0
- package/dist/components/Tabs.js +37 -0
- package/dist/components/Tabs.js.map +1 -0
- package/dist/components/Textarea.d.ts +8 -0
- package/dist/components/Textarea.d.ts.map +1 -0
- package/dist/components/Textarea.js +26 -0
- package/dist/components/Textarea.js.map +1 -0
- package/dist/components/TimePicker.d.ts +9 -0
- package/dist/components/TimePicker.d.ts.map +1 -0
- package/dist/components/TimePicker.js +40 -0
- package/dist/components/TimePicker.js.map +1 -0
- package/dist/components/TiptapContent.d.ts +9 -0
- package/dist/components/TiptapContent.d.ts.map +1 -0
- package/dist/components/TiptapContent.js +24 -0
- package/dist/components/TiptapContent.js.map +1 -0
- package/dist/components/TiptapEditor.d.ts +41 -0
- package/dist/components/TiptapEditor.d.ts.map +1 -0
- package/dist/components/TiptapEditor.js +555 -0
- package/dist/components/TiptapEditor.js.map +1 -0
- package/dist/components/TiptapInput.d.ts +15 -0
- package/dist/components/TiptapInput.d.ts.map +1 -0
- package/dist/components/TiptapInput.js +138 -0
- package/dist/components/TiptapInput.js.map +1 -0
- package/dist/components/Toggle.d.ts +9 -0
- package/dist/components/Toggle.d.ts.map +1 -0
- package/dist/components/Toggle.js +48 -0
- package/dist/components/Toggle.js.map +1 -0
- package/dist/components/ToggleGroup.d.ts +11 -0
- package/dist/components/ToggleGroup.d.ts.map +1 -0
- package/dist/components/ToggleGroup.js +70 -0
- package/dist/components/ToggleGroup.js.map +1 -0
- package/dist/components/Tooltip.d.ts +9 -0
- package/dist/components/Tooltip.d.ts.map +1 -0
- package/dist/components/Tooltip.js +51 -0
- package/dist/components/Tooltip.js.map +1 -0
- package/dist/components/VirtualizedScrollArea.d.ts +25 -0
- package/dist/components/VirtualizedScrollArea.d.ts.map +1 -0
- package/dist/components/VirtualizedScrollArea.js +80 -0
- package/dist/components/VirtualizedScrollArea.js.map +1 -0
- package/dist/components/editable-table/RowDataCells.d.ts +3 -0
- package/dist/components/editable-table/RowDataCells.d.ts.map +1 -0
- package/dist/components/editable-table/RowDataCells.js +33 -0
- package/dist/components/editable-table/RowDataCells.js.map +1 -0
- package/dist/components/editable-table/TableCell.d.ts +13 -0
- package/dist/components/editable-table/TableCell.d.ts.map +1 -0
- package/dist/components/editable-table/TableCell.js +415 -0
- package/dist/components/editable-table/TableCell.js.map +1 -0
- package/dist/components/editable-table/TableRow.d.ts +3 -0
- package/dist/components/editable-table/TableRow.d.ts.map +1 -0
- package/dist/components/editable-table/TableRow.js +163 -0
- package/dist/components/editable-table/TableRow.js.map +1 -0
- package/dist/components/editable-table/helpers.d.ts +12 -0
- package/dist/components/editable-table/helpers.d.ts.map +1 -0
- package/dist/components/editable-table/helpers.js +23 -0
- package/dist/components/editable-table/helpers.js.map +1 -0
- package/dist/components/editable-table/index.d.ts +4 -0
- package/dist/components/editable-table/index.d.ts.map +1 -0
- package/dist/components/editable-table/index.js +4 -0
- package/dist/components/editable-table/types.d.ts +43 -0
- package/dist/components/editable-table/types.d.ts.map +1 -0
- package/dist/components/editable-table/types.js +0 -0
- package/dist/components/editable-table/useEditableTableCellChange.d.ts +17 -0
- package/dist/components/editable-table/useEditableTableCellChange.d.ts.map +1 -0
- package/dist/components/editable-table/useEditableTableCellChange.js +152 -0
- package/dist/components/editable-table/useEditableTableCellChange.js.map +1 -0
- package/dist/components/editable-table/useEditableTableDnd.d.ts +18 -0
- package/dist/components/editable-table/useEditableTableDnd.d.ts.map +1 -0
- package/dist/components/editable-table/useEditableTableDnd.js +55 -0
- package/dist/components/editable-table/useEditableTableDnd.js.map +1 -0
- package/dist/components/editable-table/useEditableTableRows.d.ts +17 -0
- package/dist/components/editable-table/useEditableTableRows.d.ts.map +1 -0
- package/dist/components/editable-table/useEditableTableRows.js +108 -0
- package/dist/components/editable-table/useEditableTableRows.js.map +1 -0
- package/dist/components/index.d.ts +45 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +45 -0
- package/dist/components/tiptap/InlineVariablePickerPopover.d.ts +24 -0
- package/dist/components/tiptap/InlineVariablePickerPopover.d.ts.map +1 -0
- package/dist/components/tiptap/InlineVariablePickerPopover.js +63 -0
- package/dist/components/tiptap/InlineVariablePickerPopover.js.map +1 -0
- package/dist/components/tiptap/InsertLinkDialog.d.ts +14 -0
- package/dist/components/tiptap/InsertLinkDialog.d.ts.map +1 -0
- package/dist/components/tiptap/InsertLinkDialog.js +145 -0
- package/dist/components/tiptap/InsertLinkDialog.js.map +1 -0
- package/dist/components/tiptap/LinkBubbleMenu.d.ts +10 -0
- package/dist/components/tiptap/LinkBubbleMenu.d.ts.map +1 -0
- package/dist/components/tiptap/LinkBubbleMenu.js +106 -0
- package/dist/components/tiptap/LinkBubbleMenu.js.map +1 -0
- package/dist/components/tiptap/LinkDropdown.d.ts +53 -0
- package/dist/components/tiptap/LinkDropdown.d.ts.map +1 -0
- package/dist/components/tiptap/LinkDropdown.js +155 -0
- package/dist/components/tiptap/LinkDropdown.js.map +1 -0
- package/dist/components/tiptap/VariableCommandList.d.ts +37 -0
- package/dist/components/tiptap/VariableCommandList.d.ts.map +1 -0
- package/dist/components/tiptap/VariableCommandList.js +166 -0
- package/dist/components/tiptap/VariableCommandList.js.map +1 -0
- package/dist/components/tiptap/VariableDropdown.d.ts +33 -0
- package/dist/components/tiptap/VariableDropdown.d.ts.map +1 -0
- package/dist/components/tiptap/VariableDropdown.js +121 -0
- package/dist/components/tiptap/VariableDropdown.js.map +1 -0
- package/dist/components/tiptap/VariablePickerContext.d.ts +38 -0
- package/dist/components/tiptap/VariablePickerContext.d.ts.map +1 -0
- package/dist/components/tiptap/VariablePickerContext.js +30 -0
- package/dist/components/tiptap/VariablePickerContext.js.map +1 -0
- package/dist/components/tiptap/VariableTag.d.ts +6 -0
- package/dist/components/tiptap/VariableTag.d.ts.map +1 -0
- package/dist/components/tiptap/VariableTag.js +153 -0
- package/dist/components/tiptap/VariableTag.js.map +1 -0
- package/dist/components/tiptap/VariableTagView.d.ts +3 -0
- package/dist/components/tiptap/VariableTagView.d.ts.map +1 -0
- package/dist/components/tiptap/VariableTagView.js +445 -0
- package/dist/components/tiptap/VariableTagView.js.map +1 -0
- package/dist/components/tiptap/VariableTransformControls.d.ts +37 -0
- package/dist/components/tiptap/VariableTransformControls.d.ts.map +1 -0
- package/dist/components/tiptap/VariableTransformControls.js +157 -0
- package/dist/components/tiptap/VariableTransformControls.js.map +1 -0
- package/dist/components/tiptap/editorConfig.d.ts +15 -0
- package/dist/components/tiptap/editorConfig.d.ts.map +1 -0
- package/dist/components/tiptap/editorConfig.js +191 -0
- package/dist/components/tiptap/editorConfig.js.map +1 -0
- package/dist/components/tiptap/useInlineVariablePicker.d.ts +34 -0
- package/dist/components/tiptap/useInlineVariablePicker.d.ts.map +1 -0
- package/dist/components/tiptap/useInlineVariablePicker.js +240 -0
- package/dist/components/tiptap/useInlineVariablePicker.js.map +1 -0
- package/dist/components/tiptap/useVariablePicker.d.ts +28 -0
- package/dist/components/tiptap/useVariablePicker.d.ts.map +1 -0
- package/dist/components/tiptap/useVariablePicker.js +122 -0
- package/dist/components/tiptap/useVariablePicker.js.map +1 -0
- package/dist/components/tiptap/variablePickerUtils.d.ts +11 -0
- package/dist/components/tiptap/variablePickerUtils.d.ts.map +1 -0
- package/dist/components/tiptap/variablePickerUtils.js +63 -0
- package/dist/components/tiptap/variablePickerUtils.js.map +1 -0
- package/dist/components/tiptap/variableSerialization.d.ts +49 -0
- package/dist/components/tiptap/variableSerialization.d.ts.map +1 -0
- package/dist/components/tiptap/variableSerialization.js +250 -0
- package/dist/components/tiptap/variableSerialization.js.map +1 -0
- package/dist/css/core.css +288 -0
- package/dist/css/style.css +295 -0
- package/dist/forms/Field.d.ts +37 -0
- package/dist/forms/Field.d.ts.map +1 -0
- package/dist/forms/Field.js +159 -0
- package/dist/forms/Field.js.map +1 -0
- package/dist/forms/SchemaFormEngine.d.ts +23 -0
- package/dist/forms/SchemaFormEngine.d.ts.map +1 -0
- package/dist/forms/SchemaFormEngine.js +444 -0
- package/dist/forms/SchemaFormEngine.js.map +1 -0
- package/dist/forms/components/FieldWrap.d.ts +11 -0
- package/dist/forms/components/FieldWrap.d.ts.map +1 -0
- package/dist/forms/components/FieldWrap.js +84 -0
- package/dist/forms/components/FieldWrap.js.map +1 -0
- package/dist/forms/components/ModalTabs.d.ts +21 -0
- package/dist/forms/components/ModalTabs.d.ts.map +1 -0
- package/dist/forms/components/ModalTabs.js +84 -0
- package/dist/forms/components/ModalTabs.js.map +1 -0
- package/dist/forms/components/index.d.ts +3 -0
- package/dist/forms/components/index.d.ts.map +1 -0
- package/dist/forms/components/index.js +3 -0
- package/dist/forms/contexts/VariableCategoriesContext.d.ts +17 -0
- package/dist/forms/contexts/VariableCategoriesContext.d.ts.map +1 -0
- package/dist/forms/contexts/VariableCategoriesContext.js +18 -0
- package/dist/forms/contexts/VariableCategoriesContext.js.map +1 -0
- package/dist/forms/engine/FormStateStore.d.ts +24 -0
- package/dist/forms/engine/FormStateStore.d.ts.map +1 -0
- package/dist/forms/engine/FormStateStore.js +97 -0
- package/dist/forms/engine/FormStateStore.js.map +1 -0
- package/dist/forms/engine/SchemaIndex.d.ts +33 -0
- package/dist/forms/engine/SchemaIndex.d.ts.map +1 -0
- package/dist/forms/engine/SchemaIndex.js +21 -0
- package/dist/forms/engine/SchemaIndex.js.map +1 -0
- package/dist/forms/engine/ValidationEngine.d.ts +13 -0
- package/dist/forms/engine/ValidationEngine.d.ts.map +1 -0
- package/dist/forms/engine/ValidationEngine.js +155 -0
- package/dist/forms/engine/ValidationEngine.js.map +1 -0
- package/dist/forms/engine/buildGroupedMessage.d.ts +2 -0
- package/dist/forms/engine/buildGroupedMessage.d.ts.map +1 -0
- package/dist/forms/engine/buildGroupedMessage.js +20 -0
- package/dist/forms/engine/buildGroupedMessage.js.map +1 -0
- package/dist/forms/engine/context.d.ts +60 -0
- package/dist/forms/engine/context.d.ts.map +1 -0
- package/dist/forms/engine/context.js +12 -0
- package/dist/forms/engine/context.js.map +1 -0
- package/dist/forms/engine/rules/email.d.ts +2 -0
- package/dist/forms/engine/rules/email.d.ts.map +1 -0
- package/dist/forms/engine/rules/email.js +11 -0
- package/dist/forms/engine/rules/email.js.map +1 -0
- package/dist/forms/engine/rules/emailOrVariable.d.ts +2 -0
- package/dist/forms/engine/rules/emailOrVariable.d.ts.map +1 -0
- package/dist/forms/engine/rules/emailOrVariable.js +13 -0
- package/dist/forms/engine/rules/emailOrVariable.js.map +1 -0
- package/dist/forms/engine/rules/handle.d.ts +2 -0
- package/dist/forms/engine/rules/handle.d.ts.map +1 -0
- package/dist/forms/engine/rules/handle.js +12 -0
- package/dist/forms/engine/rules/handle.js.map +1 -0
- package/dist/forms/engine/rules/index.d.ts +9 -0
- package/dist/forms/engine/rules/index.d.ts.map +1 -0
- package/dist/forms/engine/rules/index.js +35 -0
- package/dist/forms/engine/rules/index.js.map +1 -0
- package/dist/forms/engine/rules/max.d.ts +2 -0
- package/dist/forms/engine/rules/max.d.ts.map +1 -0
- package/dist/forms/engine/rules/max.js +16 -0
- package/dist/forms/engine/rules/max.js.map +1 -0
- package/dist/forms/engine/rules/min.d.ts +2 -0
- package/dist/forms/engine/rules/min.d.ts.map +1 -0
- package/dist/forms/engine/rules/min.js +16 -0
- package/dist/forms/engine/rules/min.js.map +1 -0
- package/dist/forms/engine/rules/required.d.ts +2 -0
- package/dist/forms/engine/rules/required.d.ts.map +1 -0
- package/dist/forms/engine/rules/required.js +11 -0
- package/dist/forms/engine/rules/required.js.map +1 -0
- package/dist/forms/engine/rules/uniqueHandle.d.ts +9 -0
- package/dist/forms/engine/rules/uniqueHandle.d.ts.map +1 -0
- package/dist/forms/engine/rules/uniqueHandle.js +95 -0
- package/dist/forms/engine/rules/uniqueHandle.js.map +1 -0
- package/dist/forms/engine/rules/utils.d.ts +3 -0
- package/dist/forms/engine/rules/utils.d.ts.map +1 -0
- package/dist/forms/engine/rules/utils.js +21 -0
- package/dist/forms/engine/rules/utils.js.map +1 -0
- package/dist/forms/fields/CalculationsField.d.ts +24 -0
- package/dist/forms/fields/CalculationsField.d.ts.map +1 -0
- package/dist/forms/fields/CalculationsField.js +215 -0
- package/dist/forms/fields/CalculationsField.js.map +1 -0
- package/dist/forms/fields/CalculationsToolbar.d.ts +17 -0
- package/dist/forms/fields/CalculationsToolbar.d.ts.map +1 -0
- package/dist/forms/fields/CalculationsToolbar.js +130 -0
- package/dist/forms/fields/CalculationsToolbar.js.map +1 -0
- package/dist/forms/fields/CheckboxSelectField.d.ts +19 -0
- package/dist/forms/fields/CheckboxSelectField.d.ts.map +1 -0
- package/dist/forms/fields/CheckboxSelectField.js +30 -0
- package/dist/forms/fields/CheckboxSelectField.js.map +1 -0
- package/dist/forms/fields/ColorField.d.ts +15 -0
- package/dist/forms/fields/ColorField.d.ts.map +1 -0
- package/dist/forms/fields/ColorField.js +30 -0
- package/dist/forms/fields/ColorField.js.map +1 -0
- package/dist/forms/fields/ComboboxField.d.ts +23 -0
- package/dist/forms/fields/ComboboxField.d.ts.map +1 -0
- package/dist/forms/fields/ComboboxField.js +38 -0
- package/dist/forms/fields/ComboboxField.js.map +1 -0
- package/dist/forms/fields/DateTimeField.d.ts +14 -0
- package/dist/forms/fields/DateTimeField.d.ts.map +1 -0
- package/dist/forms/fields/DateTimeField.js +53 -0
- package/dist/forms/fields/DateTimeField.js.map +1 -0
- package/dist/forms/fields/EditableTableField.d.ts +22 -0
- package/dist/forms/fields/EditableTableField.d.ts.map +1 -0
- package/dist/forms/fields/EditableTableField.js +37 -0
- package/dist/forms/fields/EditableTableField.js.map +1 -0
- package/dist/forms/fields/ElementSelectField.d.ts +20 -0
- package/dist/forms/fields/ElementSelectField.d.ts.map +1 -0
- package/dist/forms/fields/ElementSelectField.js +215 -0
- package/dist/forms/fields/ElementSelectField.js.map +1 -0
- package/dist/forms/fields/GroupField.d.ts +19 -0
- package/dist/forms/fields/GroupField.d.ts.map +1 -0
- package/dist/forms/fields/GroupField.js +50 -0
- package/dist/forms/fields/GroupField.js.map +1 -0
- package/dist/forms/fields/HandleField.d.ts +20 -0
- package/dist/forms/fields/HandleField.d.ts.map +1 -0
- package/dist/forms/fields/HandleField.js +70 -0
- package/dist/forms/fields/HandleField.js.map +1 -0
- package/dist/forms/fields/LightswitchField.d.ts +14 -0
- package/dist/forms/fields/LightswitchField.d.ts.map +1 -0
- package/dist/forms/fields/LightswitchField.js +29 -0
- package/dist/forms/fields/LightswitchField.js.map +1 -0
- package/dist/forms/fields/ListField.d.ts +17 -0
- package/dist/forms/fields/ListField.d.ts.map +1 -0
- package/dist/forms/fields/ListField.js +51 -0
- package/dist/forms/fields/ListField.js.map +1 -0
- package/dist/forms/fields/NumberField.d.ts +17 -0
- package/dist/forms/fields/NumberField.d.ts.map +1 -0
- package/dist/forms/fields/NumberField.js +33 -0
- package/dist/forms/fields/NumberField.js.map +1 -0
- package/dist/forms/fields/RadioGroupField.d.ts +25 -0
- package/dist/forms/fields/RadioGroupField.d.ts.map +1 -0
- package/dist/forms/fields/RadioGroupField.js +102 -0
- package/dist/forms/fields/RadioGroupField.js.map +1 -0
- package/dist/forms/fields/RichTextField.d.ts +23 -0
- package/dist/forms/fields/RichTextField.d.ts.map +1 -0
- package/dist/forms/fields/RichTextField.js +50 -0
- package/dist/forms/fields/RichTextField.js.map +1 -0
- package/dist/forms/fields/SelectField.d.ts +25 -0
- package/dist/forms/fields/SelectField.d.ts.map +1 -0
- package/dist/forms/fields/SelectField.js +73 -0
- package/dist/forms/fields/SelectField.js.map +1 -0
- package/dist/forms/fields/StaticTableField.d.ts +34 -0
- package/dist/forms/fields/StaticTableField.d.ts.map +1 -0
- package/dist/forms/fields/StaticTableField.js +128 -0
- package/dist/forms/fields/StaticTableField.js.map +1 -0
- package/dist/forms/fields/TextField.d.ts +16 -0
- package/dist/forms/fields/TextField.d.ts.map +1 -0
- package/dist/forms/fields/TextField.js +31 -0
- package/dist/forms/fields/TextField.js.map +1 -0
- package/dist/forms/fields/TextareaField.d.ts +17 -0
- package/dist/forms/fields/TextareaField.d.ts.map +1 -0
- package/dist/forms/fields/TextareaField.js +32 -0
- package/dist/forms/fields/TextareaField.js.map +1 -0
- package/dist/forms/fields/VariablePickerField.d.ts +21 -0
- package/dist/forms/fields/VariablePickerField.d.ts.map +1 -0
- package/dist/forms/fields/VariablePickerField.js +49 -0
- package/dist/forms/fields/VariablePickerField.js.map +1 -0
- package/dist/forms/index.d.ts +8 -0
- package/dist/forms/index.d.ts.map +1 -0
- package/dist/forms/index.js +10 -0
- package/dist/forms/registry.d.ts +8 -0
- package/dist/forms/registry.d.ts.map +1 -0
- package/dist/forms/registry.js +76 -0
- package/dist/forms/registry.js.map +1 -0
- package/dist/forms/store/element-store.d.ts +11 -0
- package/dist/forms/store/element-store.d.ts.map +1 -0
- package/dist/forms/store/element-store.js +41 -0
- package/dist/forms/store/element-store.js.map +1 -0
- package/dist/forms/useEditableTableFieldBinding.d.ts +13 -0
- package/dist/forms/useEditableTableFieldBinding.d.ts.map +1 -0
- package/dist/forms/useEditableTableFieldBinding.js +91 -0
- package/dist/forms/useEditableTableFieldBinding.js.map +1 -0
- package/dist/forms/useEngineField.d.ts +9 -0
- package/dist/forms/useEngineField.d.ts.map +1 -0
- package/dist/forms/useEngineField.js +32 -0
- package/dist/forms/useEngineField.js.map +1 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +3 -0
- package/dist/hooks/useKeyboardShortcuts.d.ts +14 -0
- package/dist/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/dist/hooks/useKeyboardShortcuts.js +67 -0
- package/dist/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/hooks/useTranslation.d.ts +3 -0
- package/dist/hooks/useTranslation.d.ts.map +1 -0
- package/dist/hooks/useTranslation.js +12 -0
- package/dist/hooks/useTranslation.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/node_modules/@babel/runtime/helpers/arrayLikeToArray.js +15 -0
- package/dist/node_modules/@babel/runtime/helpers/arrayLikeToArray.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js +15 -0
- package/dist/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/classCallCheck.js +13 -0
- package/dist/node_modules/@babel/runtime/helpers/classCallCheck.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/createClass.js +21 -0
- package/dist/node_modules/@babel/runtime/helpers/createClass.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/defineProperty.js +20 -0
- package/dist/node_modules/@babel/runtime/helpers/defineProperty.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/interopRequireDefault.js +13 -0
- package/dist/node_modules/@babel/runtime/helpers/interopRequireDefault.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/iterableToArray.js +13 -0
- package/dist/node_modules/@babel/runtime/helpers/iterableToArray.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/nonIterableSpread.js +13 -0
- package/dist/node_modules/@babel/runtime/helpers/nonIterableSpread.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/toConsumableArray.js +21 -0
- package/dist/node_modules/@babel/runtime/helpers/toConsumableArray.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/toPrimitive.js +22 -0
- package/dist/node_modules/@babel/runtime/helpers/toPrimitive.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/toPropertyKey.js +18 -0
- package/dist/node_modules/@babel/runtime/helpers/toPropertyKey.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/typeof.js +18 -0
- package/dist/node_modules/@babel/runtime/helpers/typeof.js.map +1 -0
- package/dist/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +19 -0
- package/dist/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js.map +1 -0
- package/dist/node_modules/jexl/dist/Expression.js +84 -0
- package/dist/node_modules/jexl/dist/Expression.js.map +1 -0
- package/dist/node_modules/jexl/dist/Jexl.js +165 -0
- package/dist/node_modules/jexl/dist/Jexl.js.map +1 -0
- package/dist/node_modules/jexl/dist/Lexer.js +152 -0
- package/dist/node_modules/jexl/dist/Lexer.js.map +1 -0
- package/dist/node_modules/jexl/dist/PromiseSync.js +87 -0
- package/dist/node_modules/jexl/dist/PromiseSync.js.map +1 -0
- package/dist/node_modules/jexl/dist/evaluator/Evaluator.js +98 -0
- package/dist/node_modules/jexl/dist/evaluator/Evaluator.js.map +1 -0
- package/dist/node_modules/jexl/dist/evaluator/handlers.js +162 -0
- package/dist/node_modules/jexl/dist/evaluator/handlers.js.map +1 -0
- package/dist/node_modules/jexl/dist/grammar.js +195 -0
- package/dist/node_modules/jexl/dist/grammar.js.map +1 -0
- package/dist/node_modules/jexl/dist/parser/Parser.js +135 -0
- package/dist/node_modules/jexl/dist/parser/Parser.js.map +1 -0
- package/dist/node_modules/jexl/dist/parser/handlers.js +205 -0
- package/dist/node_modules/jexl/dist/parser/handlers.js.map +1 -0
- package/dist/node_modules/jexl/dist/parser/states.js +158 -0
- package/dist/node_modules/jexl/dist/parser/states.js.map +1 -0
- package/dist/types/global.d.d.ts +1 -0
- package/dist/types/global.d.js +0 -0
- package/dist/utils/classes.d.ts +18 -0
- package/dist/utils/classes.d.ts.map +1 -0
- package/dist/utils/classes.js +25 -0
- package/dist/utils/classes.js.map +1 -0
- package/dist/utils/config.d.ts +14 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +16 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/craftHostBridge.d.ts +16 -0
- package/dist/utils/craftHostBridge.d.ts.map +1 -0
- package/dist/utils/craftHostBridge.js +28 -0
- package/dist/utils/craftHostBridge.js.map +1 -0
- package/dist/utils/handle.d.ts +10 -0
- package/dist/utils/handle.d.ts.map +1 -0
- package/dist/utils/handle.js +51 -0
- package/dist/utils/handle.js.map +1 -0
- package/dist/utils/hostBridge.d.ts +40 -0
- package/dist/utils/hostBridge.d.ts.map +1 -0
- package/dist/utils/hostBridge.js +35 -0
- package/dist/utils/hostBridge.js.map +1 -0
- package/dist/utils/index.d.ts +18 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +66 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/portal.d.ts +17 -0
- package/dist/utils/portal.d.ts.map +1 -0
- package/dist/utils/portal.js +51 -0
- package/dist/utils/portal.js.map +1 -0
- package/dist/utils/schema.d.ts +17 -0
- package/dist/utils/schema.d.ts.map +1 -0
- package/dist/utils/schema.js +56 -0
- package/dist/utils/schema.js.map +1 -0
- package/dist/utils/schemaFieldNames.d.ts +2 -0
- package/dist/utils/schemaFieldNames.d.ts.map +1 -0
- package/dist/utils/schemaFieldNames.js +16 -0
- package/dist/utils/schemaFieldNames.js.map +1 -0
- package/dist/utils/schemaIndex.d.ts +6 -0
- package/dist/utils/schemaIndex.d.ts.map +1 -0
- package/dist/utils/schemaIndex.js +31 -0
- package/dist/utils/schemaIndex.js.map +1 -0
- package/dist/utils/schemaIndexCache.d.ts +6 -0
- package/dist/utils/schemaIndexCache.d.ts.map +1 -0
- package/dist/utils/schemaIndexCache.js +32 -0
- package/dist/utils/schemaIndexCache.js.map +1 -0
- package/dist/utils/schemaNormalize.d.ts +13 -0
- package/dist/utils/schemaNormalize.d.ts.map +1 -0
- package/dist/utils/schemaNormalize.js +17 -0
- package/dist/utils/schemaNormalize.js.map +1 -0
- package/dist/utils/store.d.ts +7 -0
- package/dist/utils/store.d.ts.map +1 -0
- package/dist/utils/store.js +6 -0
- package/dist/utils/store.js.map +1 -0
- package/dist/utils/timeOptions.d.ts +6 -0
- package/dist/utils/timeOptions.d.ts.map +1 -0
- package/dist/utils/timeOptions.js +42 -0
- package/dist/utils/timeOptions.js.map +1 -0
- package/dist/utils/tiptap.d.ts +13 -0
- package/dist/utils/tiptap.d.ts.map +1 -0
- package/dist/utils/tiptap.js +39 -0
- package/dist/utils/tiptap.js.map +1 -0
- package/dist/utils/translation.d.ts +5 -0
- package/dist/utils/translation.d.ts.map +1 -0
- package/dist/utils/translation.js +21 -0
- package/dist/utils/translation.js.map +1 -0
- package/dist/utils/validation.d.ts +4 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +253 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +167 -0
- package/vite-dev.mjs +56 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { cn } from "../utils/classes.js";
|
|
2
|
+
import "../utils/index.js";
|
|
3
|
+
import { Input } from "./Input.js";
|
|
4
|
+
import { Textarea } from "./Textarea.js";
|
|
5
|
+
import "./index.js";
|
|
6
|
+
import { Button } from "./Button.js";
|
|
7
|
+
import { cva } from "class-variance-authority";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
//#region src/components/InputGroup.tsx
|
|
10
|
+
function InputGroup({ className, ...props }) {
|
|
11
|
+
return /* @__PURE__ */ jsx("div", {
|
|
12
|
+
"data-slot": "input-group",
|
|
13
|
+
role: "group",
|
|
14
|
+
className: cn("group/input-group outline-none relative flex w-full min-w-0 items-center", "has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col", "has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col", "has-[>[data-align=block-end]]:[&>input]:pt-3", "has-[>[data-align=block-start]]:[&>input]:pb-3", "has-[>[data-align=inline-end]]:[&>input]:pr-1.5", "has-[>[data-align=inline-start]]:[&>input]:pl-1.5", "rounded-sm", "border border-[rgba(96,125,159,0.4)]", "bg-[rgb(251,252,254)] bg-clip-padding", "has-[[data-slot=input-group-control]:focus-visible]:border-sky-600", "has-[[data-slot=field-control]:focus-visible]:border-sky-600", "has-[[data-slot=input-group-control]:focus-visible]:shadow-[0_0_0_1px_var(--color-sky-600),0_0_4px_0_hsl(from_var(--color-sky-600)_h_s_l/0.7)]", "has-[[data-slot=field-control]:focus-visible]:shadow-[0_0_0_1px_var(--color-sky-600),0_0_4px_0_hsl(from_var(--color-sky-600)_h_s_l/0.7)]", "has-[[data-slot][aria-invalid=true]]:border-rose-600!", "has-disabled:opacity-50", className),
|
|
15
|
+
...props
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
var inputGroupAddonVariants = cva([
|
|
19
|
+
"flex h-auto items-center justify-center gap-2",
|
|
20
|
+
"px-2 text-sm",
|
|
21
|
+
"cursor-text select-none",
|
|
22
|
+
"group-data-[disabled=true]/input-group:opacity-50",
|
|
23
|
+
"[&>svg:not([class*='size-'])]:size-3",
|
|
24
|
+
"[&>kbd]:rounded-[calc(var(--radius)-5px)]"
|
|
25
|
+
].join(" "), {
|
|
26
|
+
variants: { align: {
|
|
27
|
+
"inline-start": [
|
|
28
|
+
"order-first pl-2",
|
|
29
|
+
"has-[>button]:ml-[-0.3rem]",
|
|
30
|
+
"has-[>kbd]:ml-[-0.15rem]"
|
|
31
|
+
].join(" "),
|
|
32
|
+
"inline-end": [
|
|
33
|
+
"order-last pr-2",
|
|
34
|
+
"has-[>button]:mr-[-0.3rem]",
|
|
35
|
+
"has-[>kbd]:mr-[-0.15rem]"
|
|
36
|
+
].join(" "),
|
|
37
|
+
"block-start": [
|
|
38
|
+
"order-first w-full justify-start",
|
|
39
|
+
"px-2.5 pt-2",
|
|
40
|
+
"group-has-[>input]/input-group:pt-2",
|
|
41
|
+
"[.border-b]:pb-2"
|
|
42
|
+
].join(" "),
|
|
43
|
+
"block-end": [
|
|
44
|
+
"order-last w-full justify-start",
|
|
45
|
+
"px-2.5 pb-2",
|
|
46
|
+
"group-has-[>input]/input-group:pb-2",
|
|
47
|
+
"[.border-t]:pt-2"
|
|
48
|
+
].join(" ")
|
|
49
|
+
} },
|
|
50
|
+
defaultVariants: { align: "inline-start" }
|
|
51
|
+
});
|
|
52
|
+
function InputGroupAddon({ className, align = "inline-start", ...props }) {
|
|
53
|
+
return /* @__PURE__ */ jsx("div", {
|
|
54
|
+
role: "group",
|
|
55
|
+
"data-slot": "input-group-addon",
|
|
56
|
+
"data-align": align,
|
|
57
|
+
className: cn(inputGroupAddonVariants({ align }), className),
|
|
58
|
+
onClick: (e) => {
|
|
59
|
+
if (e.target.closest("button")) return;
|
|
60
|
+
e.currentTarget.parentElement?.querySelector("input")?.focus();
|
|
61
|
+
},
|
|
62
|
+
...props
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
var inputGroupButtonVariants = cva([
|
|
66
|
+
"flex items-center gap-2",
|
|
67
|
+
"text-gray-500 text-sm",
|
|
68
|
+
"shadow-none rounded-sm",
|
|
69
|
+
"hover:bg-slate-100"
|
|
70
|
+
].join(" "), {
|
|
71
|
+
variants: { size: {
|
|
72
|
+
xs: "",
|
|
73
|
+
sm: "",
|
|
74
|
+
"icon-xs": "size-6 [&>svg]:size-3.5 p-0 has-[>svg]:p-0",
|
|
75
|
+
"icon-sm": ""
|
|
76
|
+
} },
|
|
77
|
+
defaultVariants: { size: "xs" }
|
|
78
|
+
});
|
|
79
|
+
function InputGroupButton({ className, type = "button", variant = "none", size = "xs", ...props }) {
|
|
80
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
81
|
+
type,
|
|
82
|
+
"data-size": size,
|
|
83
|
+
variant,
|
|
84
|
+
className: cn(inputGroupButtonVariants({ size }), className),
|
|
85
|
+
...props
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
function InputGroupText({ className, ...props }) {
|
|
89
|
+
return /* @__PURE__ */ jsx("span", {
|
|
90
|
+
className: cn("flex items-center gap-2 text-sm", "text-gray-500", "[&_svg:not([class*='size-'])]:size-3", "[&_svg]:pointer-events-none", className),
|
|
91
|
+
...props
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
function InputGroupInput({ className, ...props }) {
|
|
95
|
+
return /* @__PURE__ */ jsx(Input, {
|
|
96
|
+
"data-slot": "input-group-control",
|
|
97
|
+
className: cn("flex-1", "rounded-none border-0", "bg-transparent", "shadow-none!", "disabled:bg-transparent", className),
|
|
98
|
+
...props
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
function InputGroupTextarea({ className, ...props }) {
|
|
102
|
+
return /* @__PURE__ */ jsx(Textarea, {
|
|
103
|
+
"data-slot": "input-group-control",
|
|
104
|
+
className: cn("flex-1", "rounded-none border-0 py-2", "resize-none", "bg-transparent", "shadow-none!", "disabled:bg-transparent", className),
|
|
105
|
+
...props
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
//#endregion
|
|
109
|
+
export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea };
|
|
110
|
+
|
|
111
|
+
//# sourceMappingURL=InputGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputGroup.js","names":[],"sources":["../../src/components/InputGroup.tsx"],"sourcesContent":["import { ComponentProps } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@verbb/plugin-kit-react/utils';\nimport { Button } from '@verbb/plugin-kit-react/components';\nimport { Input } from '@verbb/plugin-kit-react/components';\nimport { Textarea } from '@verbb/plugin-kit-react/components';\n\nfunction InputGroup({ className, ...props }: ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n // Layout\n 'group/input-group outline-none relative flex w-full min-w-0 items-center',\n 'has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col',\n 'has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col',\n 'has-[>[data-align=block-end]]:[&>input]:pt-3',\n 'has-[>[data-align=block-start]]:[&>input]:pb-3',\n 'has-[>[data-align=inline-end]]:[&>input]:pr-1.5',\n 'has-[>[data-align=inline-start]]:[&>input]:pl-1.5',\n\n // Theme\n 'rounded-sm',\n 'border border-[rgba(96,125,159,0.4)]',\n 'bg-[rgb(251,252,254)] bg-clip-padding',\n\n // Focus and validation\n 'has-[[data-slot=input-group-control]:focus-visible]:border-sky-600',\n 'has-[[data-slot=field-control]:focus-visible]:border-sky-600',\n 'has-[[data-slot=input-group-control]:focus-visible]:shadow-[0_0_0_1px_var(--color-sky-600),0_0_4px_0_hsl(from_var(--color-sky-600)_h_s_l/0.7)]',\n 'has-[[data-slot=field-control]:focus-visible]:shadow-[0_0_0_1px_var(--color-sky-600),0_0_4px_0_hsl(from_var(--color-sky-600)_h_s_l/0.7)]',\n 'has-[[data-slot][aria-invalid=true]]:border-rose-600!',\n\n // Disabled\n 'has-disabled:opacity-50',\n\n className,\n )}\n {...props}\n />\n );\n}\n\nconst inputGroupAddonVariants = cva(\n [\n // Layout\n 'flex h-auto items-center justify-center gap-2',\n 'px-2 text-sm',\n\n // Interaction\n 'cursor-text select-none',\n\n // Disabled\n 'group-data-[disabled=true]/input-group:opacity-50',\n\n // Children\n \"[&>svg:not([class*='size-'])]:size-3\",\n '[&>kbd]:rounded-[calc(var(--radius)-5px)]',\n ].join(' '),\n {\n variants: {\n align: {\n 'inline-start': [\n // Layout\n 'order-first pl-2',\n\n // Child offsets\n 'has-[>button]:ml-[-0.3rem]',\n 'has-[>kbd]:ml-[-0.15rem]',\n ].join(' '),\n 'inline-end': [\n // Layout\n 'order-last pr-2',\n\n // Child offsets\n 'has-[>button]:mr-[-0.3rem]',\n 'has-[>kbd]:mr-[-0.15rem]',\n ].join(' '),\n 'block-start': [\n // Layout\n 'order-first w-full justify-start',\n 'px-2.5 pt-2',\n\n // State\n 'group-has-[>input]/input-group:pt-2',\n '[.border-b]:pb-2',\n ].join(' '),\n 'block-end': [\n // Layout\n 'order-last w-full justify-start',\n 'px-2.5 pb-2',\n\n // State\n 'group-has-[>input]/input-group:pb-2',\n '[.border-t]:pt-2',\n ].join(' '),\n },\n },\n defaultVariants: {\n align: 'inline-start',\n },\n },\n);\n\nfunction InputGroupAddon({\n className,\n align = 'inline-start',\n ...props\n}: ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest('button')) {\n return;\n }\n e.currentTarget.parentElement?.querySelector('input')?.focus();\n }}\n {...props}\n />\n );\n}\n\nconst inputGroupButtonVariants = cva(\n [\n // Layout\n 'flex items-center gap-2',\n 'text-gray-500 text-sm',\n\n // Theme\n 'shadow-none rounded-sm',\n\n 'hover:bg-slate-100',\n ].join(' '),\n {\n variants: {\n size: {\n // xs: \"h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3\",\n xs: '',\n sm: '',\n 'icon-xs': 'size-6 [&>svg]:size-3.5 p-0 has-[>svg]:p-0',\n 'icon-sm': '',\n // 'icon-sm': 'size-8 p-0 has-[>svg]:p-0',\n },\n },\n defaultVariants: {\n size: 'xs',\n },\n },\n);\n\nfunction InputGroupButton({\n className,\n type = 'button',\n variant = 'none',\n size = 'xs',\n ...props\n}: Omit<ComponentProps<typeof Button>, 'size' | 'type'> &\n VariantProps<typeof inputGroupButtonVariants> & {\n type?: 'button' | 'submit' | 'reset'\n disabled?: boolean\n }) {\n return (\n <Button\n type={type}\n data-size={size}\n variant={variant}\n className={cn(inputGroupButtonVariants({ size }), className)}\n {...props}\n />\n );\n}\n\nfunction InputGroupText({ className, ...props }: ComponentProps<'span'>) {\n return (\n <span\n className={cn(\n // Layout\n 'flex items-center gap-2 text-sm',\n\n // Theme\n 'text-gray-500',\n\n // Icons\n \"[&_svg:not([class*='size-'])]:size-3\",\n '[&_svg]:pointer-events-none',\n\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupInput({\n className,\n ...props\n}: Omit<ComponentProps<'input'>, 'size' | 'width'>) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\n // Layout\n 'flex-1',\n 'rounded-none border-0',\n\n // Theme\n 'bg-transparent',\n 'shadow-none!',\n\n // Disabled\n 'disabled:bg-transparent',\n\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupTextarea({\n className,\n ...props\n}: ComponentProps<'textarea'>) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\n // Layout\n 'flex-1',\n 'rounded-none border-0 py-2',\n 'resize-none',\n\n // Theme\n 'bg-transparent',\n 'shadow-none!',\n\n // Disabled\n 'disabled:bg-transparent',\n\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n};\n"],"mappings":";;;;;;;;;AAQA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAgC;AAChE,QACI,oBAAC,OAAD;EACI,aAAU;EACV,MAAK;EACL,WAAW,GAEP,4EACA,+EACA,mFACA,gDACA,kDACA,mDACA,qDAGA,cACA,wCACA,yCAGA,sEACA,gEACA,kJACA,4IACA,yDAGA,2BAEA,UACH;EACD,GAAI;EACN,CAAA;;AAIV,IAAM,0BAA0B,IAC5B;CAEI;CACA;CAGA;CAGA;CAGA;CACA;CACH,CAAC,KAAK,IAAI,EACX;CACI,UAAU,EACN,OAAO;EACH,gBAAgB;GAEZ;GAGA;GACA;GACH,CAAC,KAAK,IAAI;EACX,cAAc;GAEV;GAGA;GACA;GACH,CAAC,KAAK,IAAI;EACX,eAAe;GAEX;GACA;GAGA;GACA;GACH,CAAC,KAAK,IAAI;EACX,aAAa;GAET;GACA;GAGA;GACA;GACH,CAAC,KAAK,IAAI;EACd,EACJ;CACD,iBAAiB,EACb,OAAO,gBACV;CACJ,CACJ;AAED,SAAS,gBAAgB,EACrB,WACA,QAAQ,gBACR,GAAG,SACkE;AACrE,QACI,oBAAC,OAAD;EACI,MAAK;EACL,aAAU;EACV,cAAY;EACZ,WAAW,GAAG,wBAAwB,EAAE,OAAO,CAAC,EAAE,UAAU;EAC5D,UAAU,MAAM;AACZ,OAAK,EAAE,OAAuB,QAAQ,SAAS,CAC3C;AAEJ,KAAE,cAAc,eAAe,cAAc,QAAQ,EAAE,OAAO;;EAElE,GAAI;EACN,CAAA;;AAIV,IAAM,2BAA2B,IAC7B;CAEI;CACA;CAGA;CAEA;CACH,CAAC,KAAK,IAAI,EACX;CACI,UAAU,EACN,MAAM;EAEF,IAAI;EACJ,IAAI;EACJ,WAAW;EACX,WAAW;EAEd,EACJ;CACD,iBAAiB,EACb,MAAM,MACT;CACJ,CACJ;AAED,SAAS,iBAAiB,EACtB,WACA,OAAO,UACP,UAAU,QACV,OAAO,MACP,GAAG,SAKA;AACH,QACI,oBAAC,QAAD;EACU;EACN,aAAW;EACF;EACT,WAAW,GAAG,yBAAyB,EAAE,MAAM,CAAC,EAAE,UAAU;EAC5D,GAAI;EACN,CAAA;;AAIV,SAAS,eAAe,EAAE,WAAW,GAAG,SAAiC;AACrE,QACI,oBAAC,QAAD;EACI,WAAW,GAEP,mCAGA,iBAGA,wCACA,+BAEA,UACH;EACD,GAAI;EACN,CAAA;;AAIV,SAAS,gBAAgB,EACrB,WACA,GAAG,SAC6C;AAChD,QACI,oBAAC,OAAD;EACI,aAAU;EACV,WAAW,GAEP,UACA,yBAGA,kBACA,gBAGA,2BAEA,UACH;EACD,GAAI;EACN,CAAA;;AAIV,SAAS,mBAAmB,EACxB,WACA,GAAG,SACwB;AAC3B,QACI,oBAAC,UAAD;EACI,aAAU;EACV,WAAW,GAEP,UACA,8BACA,eAGA,kBACA,gBAGA,2BAEA,UACH;EACD,GAAI;EACN,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Label.d.ts","sourceRoot":"","sources":["../../src/components/Label.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAIvC,iBAAS,KAAK,CAAC,EACX,SAAS,EACT,GAAG,KAAK,EACX,EAAE,cAAc,CAAC,OAAO,CAAC,2CAQzB;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { cn } from "../utils/classes.js";
|
|
2
|
+
import "../utils/index.js";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/Label.tsx
|
|
5
|
+
function Label({ className, ...props }) {
|
|
6
|
+
return /* @__PURE__ */ jsx("label", {
|
|
7
|
+
"data-slot": "label",
|
|
8
|
+
className: cn("text-sm font-bold leading-none", className),
|
|
9
|
+
...props
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { Label };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=Label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Label.js","names":[],"sources":["../../src/components/Label.tsx"],"sourcesContent":["import { ComponentProps } from 'react';\n\nimport { cn } from '@verbb/plugin-kit-react/utils';\n\nfunction Label({\n className,\n ...props\n}: ComponentProps<'label'>) {\n return (\n <label\n data-slot=\"label\"\n className={cn('text-sm font-bold leading-none', className)}\n {...props}\n />\n );\n};\n\nexport { Label };\n"],"mappings":";;;;AAIA,SAAS,MAAM,EACX,WACA,GAAG,SACqB;AACxB,QACI,oBAAC,SAAD;EACI,aAAU;EACV,WAAW,GAAG,kCAAkC,UAAU;EAC1D,GAAI;EACN,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ComponentProps } from 'react';
|
|
2
|
+
import { Switch as SwitchPrimitive } from '@base-ui/react/switch';
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
declare const lightswitchVariants: (props?: ({
|
|
5
|
+
size?: "default" | "xs" | "sm" | null | undefined;
|
|
6
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
7
|
+
declare function Lightswitch({ className, size, ...props }: ComponentProps<typeof SwitchPrimitive.Root> & VariantProps<typeof lightswitchVariants>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export { Lightswitch };
|
|
9
|
+
//# sourceMappingURL=Lightswitch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lightswitch.d.ts","sourceRoot":"","sources":["../../src/components/Lightswitch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,mBAAmB;;8EAWvB,CAAC;AA4BH,iBAAS,WAAW,CAAC,EACjB,SAAS,EACT,IAAgB,EAChB,GAAG,KAAK,EACX,EAAE,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC,2CAmExF;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { cn } from "../utils/classes.js";
|
|
2
|
+
import "../utils/index.js";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { Switch } from "@base-ui/react/switch";
|
|
6
|
+
//#region src/components/Lightswitch.tsx
|
|
7
|
+
var lightswitchVariants = cva("", {
|
|
8
|
+
variants: { size: {
|
|
9
|
+
xs: "h-[16px] w-[24px] rounded-[8px]",
|
|
10
|
+
sm: "h-[18px] w-[28px] rounded-[9px]",
|
|
11
|
+
default: "h-[22px] w-[34px] rounded-[11px]"
|
|
12
|
+
} },
|
|
13
|
+
defaultVariants: { size: "default" }
|
|
14
|
+
});
|
|
15
|
+
var lightswitchThumbVariants = cva("", {
|
|
16
|
+
variants: { size: {
|
|
17
|
+
xs: "size-[12px] translate-x-[2px] data-checked:translate-x-[calc(100%-2px)]",
|
|
18
|
+
sm: "size-[14px] translate-x-[2px] data-checked:translate-x-[calc(100%-2px)]",
|
|
19
|
+
default: "size-[18px] translate-x-[2px] data-checked:translate-x-[calc(100%-4px)]"
|
|
20
|
+
} },
|
|
21
|
+
defaultVariants: { size: "default" }
|
|
22
|
+
});
|
|
23
|
+
var lightswitchIconVariants = cva("", {
|
|
24
|
+
variants: { size: {
|
|
25
|
+
xs: "hidden",
|
|
26
|
+
sm: "size-[10px]",
|
|
27
|
+
default: "size-[14px]"
|
|
28
|
+
} },
|
|
29
|
+
defaultVariants: { size: "default" }
|
|
30
|
+
});
|
|
31
|
+
function Lightswitch({ className, size = "default", ...props }) {
|
|
32
|
+
return /* @__PURE__ */ jsx(Switch.Root, {
|
|
33
|
+
"data-slot": "switch",
|
|
34
|
+
className: cn("peer outline-none inline-flex shrink-0 items-center cursor-pointer select-none", lightswitchVariants({ size }), "shadow-[inset_0_0_0_1px_rgba(96,126,160,0.8)]", "bg-gray-200", "data-checked:bg-teal-550", "data-checked:shadow-[inset_0_0_0_1px_#008779]", "focus-visible:!shadow-[0_0_0_1px_#ffffff,0_0_0_3px_var(--color-sky-600),0_0_6px_1px_hsl(from_var(--color-sky-600)_h_s_l/0.8)]", "aria-invalid:!shadow-[0_0_0_1px_#ffffff,0_0_0_2.5px_var(--color-rose-600)]", "aria-invalid:focus-visible:!shadow-[0_0_0_1px_#ffffff,0_0_0_3px_var(--color-rose-600),0_0_6px_1px_hsl(from_var(--color-rose-600)_h_s_l/0.8)]", "disabled:cursor-not-allowed disabled:opacity-50 data-disabled:cursor-not-allowed data-disabled:opacity-50", className),
|
|
35
|
+
...props,
|
|
36
|
+
children: /* @__PURE__ */ jsx(Switch.Thumb, {
|
|
37
|
+
"data-slot": "switch-thumb",
|
|
38
|
+
className: cn("pointer-events-none block rounded-full", "flex items-center justify-center", lightswitchThumbVariants({ size }), "bg-white", "shadow-[inset_0_0_0_1px_rgba(96,126,160,0.8)]", "transition-transform", "data-checked:shadow-[inset_0_0_0_1px_#008779]"),
|
|
39
|
+
children: /* @__PURE__ */ jsx("svg", {
|
|
40
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
41
|
+
role: "img",
|
|
42
|
+
"aria-hidden": "true",
|
|
43
|
+
viewBox: "0 0 640 640",
|
|
44
|
+
className: cn(lightswitchIconVariants({ size }), "text-teal-550", "opacity-0", "translate-y-[1px]", "transition-opacity", "[[data-checked]_&]:opacity-100"),
|
|
45
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
46
|
+
fill: "currentColor",
|
|
47
|
+
d: "M557.5 192L534.9 214.6L278.9 470.6C266.4 483.1 246.1 483.1 233.6 470.6L105.6 342.6L83 320L128.3 274.7C129.6 276 172.3 318.7 256.3 402.7L489.7 169.3L512.3 146.7L557.6 192z"
|
|
48
|
+
})
|
|
49
|
+
})
|
|
50
|
+
})
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { Lightswitch };
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=Lightswitch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lightswitch.js","names":[],"sources":["../../src/components/Lightswitch.tsx"],"sourcesContent":["import { ComponentProps } from 'react';\nimport { Switch as SwitchPrimitive } from '@base-ui/react/switch';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@verbb/plugin-kit-react/utils';\n\nconst lightswitchVariants = cva('', {\n variants: {\n size: {\n xs: 'h-[16px] w-[24px] rounded-[8px]',\n sm: 'h-[18px] w-[28px] rounded-[9px]',\n default: 'h-[22px] w-[34px] rounded-[11px]',\n },\n },\n defaultVariants: {\n size: 'default',\n },\n});\n\nconst lightswitchThumbVariants = cva('', {\n variants: {\n size: {\n xs: 'size-[12px] translate-x-[2px] data-checked:translate-x-[calc(100%-2px)]',\n sm: 'size-[14px] translate-x-[2px] data-checked:translate-x-[calc(100%-2px)]',\n default: 'size-[18px] translate-x-[2px] data-checked:translate-x-[calc(100%-4px)]',\n },\n },\n defaultVariants: {\n size: 'default',\n },\n});\n\nconst lightswitchIconVariants = cva('', {\n variants: {\n size: {\n xs: 'hidden',\n sm: 'size-[10px]',\n default: 'size-[14px]',\n },\n },\n defaultVariants: {\n size: 'default',\n },\n});\n\nfunction Lightswitch({\n className,\n size = 'default',\n ...props\n}: ComponentProps<typeof SwitchPrimitive.Root> & VariantProps<typeof lightswitchVariants>) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(\n // Reset\n 'peer outline-none inline-flex shrink-0 items-center cursor-pointer select-none',\n\n // Theme\n lightswitchVariants({ size }),\n 'shadow-[inset_0_0_0_1px_rgba(96,126,160,0.8)]',\n 'bg-gray-200',\n\n // State\n 'data-checked:bg-teal-550',\n 'data-checked:shadow-[inset_0_0_0_1px_#008779]',\n\n // Hover & Focus\n 'focus-visible:!shadow-[0_0_0_1px_#ffffff,0_0_0_3px_var(--color-sky-600),0_0_6px_1px_hsl(from_var(--color-sky-600)_h_s_l/0.8)]',\n 'aria-invalid:!shadow-[0_0_0_1px_#ffffff,0_0_0_2.5px_var(--color-rose-600)]',\n 'aria-invalid:focus-visible:!shadow-[0_0_0_1px_#ffffff,0_0_0_3px_var(--color-rose-600),0_0_6px_1px_hsl(from_var(--color-rose-600)_h_s_l/0.8)]',\n\n // Disabled styles\n 'disabled:cursor-not-allowed disabled:opacity-50 data-disabled:cursor-not-allowed data-disabled:opacity-50',\n\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n // Reset\n 'pointer-events-none block rounded-full',\n 'flex items-center justify-center',\n\n // Theme\n lightswitchThumbVariants({ size }),\n 'bg-white',\n 'shadow-[inset_0_0_0_1px_rgba(96,126,160,0.8)]',\n\n // Transitions and state changes\n 'transition-transform',\n 'data-checked:shadow-[inset_0_0_0_1px_#008779]',\n )}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-hidden=\"true\"\n viewBox=\"0 0 640 640\"\n className={cn(\n lightswitchIconVariants({ size }),\n 'text-teal-550',\n 'opacity-0',\n 'translate-y-[1px]',\n\n // Transitions and state changes\n 'transition-opacity',\n '[[data-checked]_&]:opacity-100',\n )}\n >\n <path fill=\"currentColor\" d=\"M557.5 192L534.9 214.6L278.9 470.6C266.4 483.1 246.1 483.1 233.6 470.6L105.6 342.6L83 320L128.3 274.7C129.6 276 172.3 318.7 256.3 402.7L489.7 169.3L512.3 146.7L557.6 192z\" />\n </svg>\n </SwitchPrimitive.Thumb>\n </SwitchPrimitive.Root>\n );\n};\n\nexport { Lightswitch };\n"],"mappings":";;;;;;AAMA,IAAM,sBAAsB,IAAI,IAAI;CAChC,UAAU,EACN,MAAM;EACF,IAAI;EACJ,IAAI;EACJ,SAAS;EACZ,EACJ;CACD,iBAAiB,EACb,MAAM,WACT;CACJ,CAAC;AAEF,IAAM,2BAA2B,IAAI,IAAI;CACrC,UAAU,EACN,MAAM;EACF,IAAI;EACJ,IAAI;EACJ,SAAS;EACZ,EACJ;CACD,iBAAiB,EACb,MAAM,WACT;CACJ,CAAC;AAEF,IAAM,0BAA0B,IAAI,IAAI;CACpC,UAAU,EACN,MAAM;EACF,IAAI;EACJ,IAAI;EACJ,SAAS;EACZ,EACJ;CACD,iBAAiB,EACb,MAAM,WACT;CACJ,CAAC;AAEF,SAAS,YAAY,EACjB,WACA,OAAO,WACP,GAAG,SACoF;AACvF,QACI,oBAAC,OAAgB,MAAjB;EACI,aAAU;EACV,WAAW,GAEP,kFAGA,oBAAoB,EAAE,MAAM,CAAC,EAC7B,iDACA,eAGA,4BACA,iDAGA,iIACA,8EACA,gJAGA,6GAEA,UACH;EACD,GAAI;YAEJ,oBAAC,OAAgB,OAAjB;GACI,aAAU;GACV,WAAW,GAEP,0CACA,oCAGA,yBAAyB,EAAE,MAAM,CAAC,EAClC,YACA,iDAGA,wBACA,gDACH;aAED,oBAAC,OAAD;IACI,OAAM;IACN,MAAK;IACL,eAAY;IACZ,SAAQ;IACR,WAAW,GACP,wBAAwB,EAAE,MAAM,CAAC,EACjC,iBACA,aACA,qBAGA,sBACA,iCACH;cAED,oBAAC,QAAD;KAAM,MAAK;KAAe,GAAE;KAA+K,CAAA;IACzM,CAAA;GACc,CAAA;EACL,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ComponentProps } from 'react';
|
|
2
|
+
type MarkdownProps = Omit<ComponentProps<'div'>, 'dangerouslySetInnerHTML' | 'children'> & {
|
|
3
|
+
content: string;
|
|
4
|
+
/** When true (default), only inline markdown (bold, italic, links) is rendered. When false, full block markdown (headers, lists, etc.) is supported. */
|
|
5
|
+
inline?: boolean;
|
|
6
|
+
/** The HTML element to render as. Defaults to 'div' for block, 'span' for inline. */
|
|
7
|
+
as?: 'div' | 'span' | 'p';
|
|
8
|
+
};
|
|
9
|
+
export declare const Markdown: import('react').ForwardRefExoticComponent<Omit<MarkdownProps, "ref"> & import('react').RefAttributes<HTMLDivElement | HTMLParagraphElement | HTMLSpanElement>>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=Markdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../src/components/Markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,OAAO,CAAC;AAIlE,KAAK,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,yBAAyB,GAAG,UAAU,CAAC,GAAG;IACvF,OAAO,EAAE,MAAM,CAAC;IAChB,wJAAwJ;IACxJ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qFAAqF;IACrF,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,GAAG,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,QAAQ,gKA6DpB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { cn } from "../utils/classes.js";
|
|
2
|
+
import { utils_exports } from "../utils/index.js";
|
|
3
|
+
import { forwardRef } from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/Markdown.tsx
|
|
6
|
+
var Markdown = forwardRef(({ content, inline = true, as, className, ...props }, ref) => {
|
|
7
|
+
let html = "";
|
|
8
|
+
if (content) html = inline ? (0, utils_exports.renderInlineMarkdown)(content) : (0, utils_exports.renderMarkdown)(content);
|
|
9
|
+
const Component = as ?? (inline ? "span" : "div");
|
|
10
|
+
if (!html) return null;
|
|
11
|
+
if (Component === "span") return /* @__PURE__ */ jsx("span", {
|
|
12
|
+
ref,
|
|
13
|
+
className: cn([
|
|
14
|
+
"[&_a]:text-blue-500 [&_a]:hover:underline",
|
|
15
|
+
"[&_code]:rounded [&_code]:border [&_code]:border-slate-200 [&_code]:bg-slate-150 [&_code]:px-[3px] [&_code]:py-[1px] [&_code]:font-mono [&_code]:text-[0.85em] [&_code]:text-gray-700",
|
|
16
|
+
className
|
|
17
|
+
]),
|
|
18
|
+
dangerouslySetInnerHTML: { __html: html },
|
|
19
|
+
...props
|
|
20
|
+
});
|
|
21
|
+
if (Component === "p") return /* @__PURE__ */ jsx("p", {
|
|
22
|
+
ref,
|
|
23
|
+
className: cn([
|
|
24
|
+
"[&_a]:text-blue-500 [&_a]:hover:underline",
|
|
25
|
+
"[&_code]:rounded [&_code]:border [&_code]:border-slate-200 [&_code]:bg-slate-150 [&_code]:px-[3px] [&_code]:py-[1px] [&_code]:font-mono [&_code]:text-[0.85em] [&_code]:text-gray-700",
|
|
26
|
+
className
|
|
27
|
+
]),
|
|
28
|
+
dangerouslySetInnerHTML: { __html: html },
|
|
29
|
+
...props
|
|
30
|
+
});
|
|
31
|
+
return /* @__PURE__ */ jsx("div", {
|
|
32
|
+
ref,
|
|
33
|
+
className: cn([
|
|
34
|
+
"[&_a]:text-blue-500 [&_a]:hover:underline",
|
|
35
|
+
"[&_code]:rounded [&_code]:border [&_code]:border-slate-200 [&_code]:bg-slate-150 [&_code]:px-[3px] [&_code]:py-[1px] [&_code]:font-mono [&_code]:text-[0.85em] [&_code]:text-gray-700",
|
|
36
|
+
className
|
|
37
|
+
]),
|
|
38
|
+
dangerouslySetInnerHTML: { __html: html },
|
|
39
|
+
...props
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
Markdown.displayName = "Markdown";
|
|
43
|
+
//#endregion
|
|
44
|
+
export { Markdown };
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=Markdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Markdown.js","names":[],"sources":["../../src/components/Markdown.tsx"],"sourcesContent":["import { type ComponentProps, type Ref, forwardRef } from 'react';\nimport { renderMarkdown, renderInlineMarkdown } from '@verbb/plugin-kit-react/utils';\nimport { cn } from '@verbb/plugin-kit-react/utils';\n\ntype MarkdownProps = Omit<ComponentProps<'div'>, 'dangerouslySetInnerHTML' | 'children'> & {\n content: string;\n /** When true (default), only inline markdown (bold, italic, links) is rendered. When false, full block markdown (headers, lists, etc.) is supported. */\n inline?: boolean;\n /** The HTML element to render as. Defaults to 'div' for block, 'span' for inline. */\n as?: 'div' | 'span' | 'p';\n};\n\nexport const Markdown = forwardRef<HTMLDivElement | HTMLSpanElement | HTMLParagraphElement, MarkdownProps>(\n ({\n content, inline = true, as, className, ...props\n }, ref) => {\n let html = '';\n if (content) {\n html = inline ? renderInlineMarkdown(content) : renderMarkdown(content);\n }\n\n const Component = as ?? (inline ? 'span' : 'div');\n\n if (!html) {\n return null;\n }\n\n if (Component === 'span') {\n return (\n <span\n ref={ref as Ref<HTMLSpanElement>}\n className={cn([\n '[&_a]:text-blue-500 [&_a]:hover:underline',\n '[&_code]:rounded [&_code]:border [&_code]:border-slate-200 [&_code]:bg-slate-150 [&_code]:px-[3px] [&_code]:py-[1px] [&_code]:font-mono [&_code]:text-[0.85em] [&_code]:text-gray-700',\n\n className,\n ])}\n dangerouslySetInnerHTML={{ __html: html }}\n {...props}\n />\n );\n }\n\n if (Component === 'p') {\n return (\n <p\n ref={ref as Ref<HTMLParagraphElement>}\n className={cn([\n '[&_a]:text-blue-500 [&_a]:hover:underline',\n '[&_code]:rounded [&_code]:border [&_code]:border-slate-200 [&_code]:bg-slate-150 [&_code]:px-[3px] [&_code]:py-[1px] [&_code]:font-mono [&_code]:text-[0.85em] [&_code]:text-gray-700',\n\n className,\n ])}\n dangerouslySetInnerHTML={{ __html: html }}\n {...props}\n />\n );\n }\n\n return (\n <div\n ref={ref as Ref<HTMLDivElement>}\n className={cn([\n '[&_a]:text-blue-500 [&_a]:hover:underline',\n '[&_code]:rounded [&_code]:border [&_code]:border-slate-200 [&_code]:bg-slate-150 [&_code]:px-[3px] [&_code]:py-[1px] [&_code]:font-mono [&_code]:text-[0.85em] [&_code]:text-gray-700',\n\n className,\n ])}\n dangerouslySetInnerHTML={{ __html: html }}\n {...props}\n />\n );\n },\n);\n\nMarkdown.displayName = 'Markdown';\n"],"mappings":";;;;;AAYA,IAAa,WAAW,YACnB,EACG,SAAS,SAAS,MAAM,IAAI,WAAW,GAAG,SAC3C,QAAQ;CACP,IAAI,OAAO;AACX,KAAI,QACA,QAAO,UAAA,GAAA,cAAA,sBAA8B,QAAQ,IAAA,GAAA,cAAA,gBAAkB,QAAQ;CAG3E,MAAM,YAAY,OAAO,SAAS,SAAS;AAE3C,KAAI,CAAC,KACD,QAAO;AAGX,KAAI,cAAc,OACd,QACI,oBAAC,QAAD;EACS;EACL,WAAW,GAAG;GACV;GACA;GAEA;GACH,CAAC;EACF,yBAAyB,EAAE,QAAQ,MAAM;EACzC,GAAI;EACN,CAAA;AAIV,KAAI,cAAc,IACd,QACI,oBAAC,KAAD;EACS;EACL,WAAW,GAAG;GACV;GACA;GAEA;GACH,CAAC;EACF,yBAAyB,EAAE,QAAQ,MAAM;EACzC,GAAI;EACN,CAAA;AAIV,QACI,oBAAC,OAAD;EACS;EACL,WAAW,GAAG;GACV;GACA;GAEA;GACH,CAAC;EACF,yBAAyB,EAAE,QAAQ,MAAM;EACzC,GAAI;EACN,CAAA;EAGb;AAED,SAAS,cAAc"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { VariantProps } from 'class-variance-authority';
|
|
3
|
+
import { buttonVariants } from './Button.jsx';
|
|
4
|
+
declare const menuTriggerVariants: (props?: ({
|
|
5
|
+
size?: "default" | "xs" | "sm" | "lg" | "xl" | null | undefined;
|
|
6
|
+
split?: "split" | "none" | null | undefined;
|
|
7
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
8
|
+
type MenuButtonVariant = VariantProps<typeof buttonVariants>['variant'];
|
|
9
|
+
type MenuButtonSize = VariantProps<typeof menuTriggerVariants>['size'];
|
|
10
|
+
type MenuMainAction = {
|
|
11
|
+
label?: React.ReactNode;
|
|
12
|
+
icon?: React.ReactNode;
|
|
13
|
+
iconPosition?: 'start' | 'end' | 'overlay';
|
|
14
|
+
iconClassName?: string;
|
|
15
|
+
labelClassName?: string;
|
|
16
|
+
onClick?: () => void;
|
|
17
|
+
};
|
|
18
|
+
type MenuActionItem = {
|
|
19
|
+
label: React.ReactNode;
|
|
20
|
+
icon?: React.ReactNode;
|
|
21
|
+
variant?: 'default' | 'destructive';
|
|
22
|
+
onClick?: () => void;
|
|
23
|
+
};
|
|
24
|
+
type MenuSeparatorItem = {
|
|
25
|
+
type: 'separator';
|
|
26
|
+
};
|
|
27
|
+
type MenuItem = MenuActionItem | MenuSeparatorItem;
|
|
28
|
+
type MenuButtonProps = React.ComponentProps<'div'> & {
|
|
29
|
+
mainAction?: MenuMainAction;
|
|
30
|
+
menuItems?: MenuItem[];
|
|
31
|
+
variant?: MenuButtonVariant;
|
|
32
|
+
size?: MenuButtonSize;
|
|
33
|
+
loading?: boolean;
|
|
34
|
+
disabled?: boolean;
|
|
35
|
+
defaultOpen?: boolean;
|
|
36
|
+
modal?: boolean;
|
|
37
|
+
};
|
|
38
|
+
export declare const MenuButton: ({ mainAction, menuItems, variant, size, loading, disabled, className, defaultOpen, modal, ...props }: MenuButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=MenuButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuButton.d.ts","sourceRoot":"","sources":["../../src/components/MenuButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,OAAO,EAAU,cAAc,EAAE,MAAM,cAAc,CAAC;AAwBtD,QAAA,MAAM,mBAAmB;;;8EAkBvB,CAAC;AAiBH,KAAK,iBAAiB,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC;AACxE,KAAK,cAAc,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE,KAAK,cAAc,GAAG;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,cAAc,GAAG;IAClB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACrB,IAAI,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,KAAK,QAAQ,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAEnD,KAAK,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IACjD,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,sGAWxB,eAAe,4CA4FjB,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { cn } from "../utils/classes.js";
|
|
2
|
+
import "../utils/index.js";
|
|
3
|
+
import { useTranslation } from "../hooks/useTranslation.js";
|
|
4
|
+
import "../hooks/index.js";
|
|
5
|
+
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger } from "./DropdownMenu.js";
|
|
6
|
+
import { Button } from "./Button.js";
|
|
7
|
+
import { cva } from "class-variance-authority";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|
10
|
+
import { faChevronDown } from "@fortawesome/pro-solid-svg-icons";
|
|
11
|
+
//#region src/components/MenuButton.tsx
|
|
12
|
+
var menuMainButtonVariants = cva("!rounded-r-none", {
|
|
13
|
+
variants: { split: {
|
|
14
|
+
split: null,
|
|
15
|
+
none: "!border-r-0"
|
|
16
|
+
} },
|
|
17
|
+
defaultVariants: { split: "none" }
|
|
18
|
+
});
|
|
19
|
+
var menuTriggerVariants = cva("!rounded-l-none !border-l-0", {
|
|
20
|
+
variants: {
|
|
21
|
+
size: {
|
|
22
|
+
xs: "px-1.5 py-[3px]",
|
|
23
|
+
sm: "px-1.5 py-[5px]",
|
|
24
|
+
default: "px-1.5 py-[7px]",
|
|
25
|
+
lg: "px-2 py-[9px]",
|
|
26
|
+
xl: "px-2.5 py-[10px]"
|
|
27
|
+
},
|
|
28
|
+
split: {
|
|
29
|
+
split: "-ml-px",
|
|
30
|
+
none: "ml-[1px]"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
defaultVariants: {
|
|
34
|
+
size: "default",
|
|
35
|
+
split: "none"
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
var menuTriggerIconVariants = cva("", {
|
|
39
|
+
variants: { size: {
|
|
40
|
+
xs: "size-2.5",
|
|
41
|
+
sm: "size-3",
|
|
42
|
+
default: "size-3",
|
|
43
|
+
lg: "size-3.5",
|
|
44
|
+
xl: "size-4"
|
|
45
|
+
} },
|
|
46
|
+
defaultVariants: { size: "default" }
|
|
47
|
+
});
|
|
48
|
+
var MenuButton = ({ mainAction, menuItems = [], variant = "default", size = "default", loading = false, disabled = false, className = "", defaultOpen = false, modal = true, ...props }) => {
|
|
49
|
+
const t = useTranslation();
|
|
50
|
+
const splitBorderVariant = variant === "outline" || variant === "dashed" ? "split" : "none";
|
|
51
|
+
const triggerClass = menuTriggerVariants({
|
|
52
|
+
size,
|
|
53
|
+
split: splitBorderVariant
|
|
54
|
+
});
|
|
55
|
+
const mainButtonClass = menuMainButtonVariants({ split: splitBorderVariant });
|
|
56
|
+
const handleMainAction = () => {
|
|
57
|
+
mainAction?.onClick?.();
|
|
58
|
+
};
|
|
59
|
+
const renderMenuItems = () => {
|
|
60
|
+
return menuItems.map((item, index) => {
|
|
61
|
+
if ("type" in item && item.type === "separator") return /* @__PURE__ */ jsx(DropdownMenuSeparator, {}, `separator-${index}`);
|
|
62
|
+
const actionItem = item;
|
|
63
|
+
return /* @__PURE__ */ jsxs(DropdownMenuItem, {
|
|
64
|
+
onClick: () => {
|
|
65
|
+
actionItem.onClick?.();
|
|
66
|
+
},
|
|
67
|
+
variant: actionItem.variant,
|
|
68
|
+
children: [actionItem.icon && /* @__PURE__ */ jsx("span", {
|
|
69
|
+
className: cn("mr-2"),
|
|
70
|
+
children: actionItem.icon
|
|
71
|
+
}), actionItem.label]
|
|
72
|
+
}, index);
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
76
|
+
className: cn("inline-flex", className),
|
|
77
|
+
...props,
|
|
78
|
+
children: [/* @__PURE__ */ jsx(Button, {
|
|
79
|
+
variant,
|
|
80
|
+
size,
|
|
81
|
+
loading,
|
|
82
|
+
disabled,
|
|
83
|
+
onClick: handleMainAction,
|
|
84
|
+
className: mainButtonClass,
|
|
85
|
+
children: /* @__PURE__ */ jsxs("span", {
|
|
86
|
+
className: cn("inline-flex items-center", mainAction?.icon && mainAction?.label && mainAction?.iconPosition !== "overlay" ? "gap-2" : "", mainAction?.iconPosition === "overlay" ? "relative" : ""),
|
|
87
|
+
children: [mainAction?.icon ? /* @__PURE__ */ jsx("span", {
|
|
88
|
+
className: cn(mainAction?.iconPosition === "overlay" ? "absolute inset-0 flex items-center justify-center pointer-events-none" : "", mainAction?.iconClassName || ""),
|
|
89
|
+
children: mainAction.icon
|
|
90
|
+
}) : null, mainAction?.label ? /* @__PURE__ */ jsx("span", {
|
|
91
|
+
className: mainAction?.labelClassName || "",
|
|
92
|
+
children: mainAction.label
|
|
93
|
+
}) : null]
|
|
94
|
+
})
|
|
95
|
+
}), /* @__PURE__ */ jsxs(DropdownMenu, {
|
|
96
|
+
size,
|
|
97
|
+
defaultOpen,
|
|
98
|
+
modal,
|
|
99
|
+
children: [/* @__PURE__ */ jsx(DropdownMenuTrigger, {
|
|
100
|
+
disabled,
|
|
101
|
+
render: /* @__PURE__ */ jsx(Button, {
|
|
102
|
+
variant,
|
|
103
|
+
size: "none",
|
|
104
|
+
disabled,
|
|
105
|
+
className: triggerClass,
|
|
106
|
+
"aria-label": t("Open menu")
|
|
107
|
+
}),
|
|
108
|
+
children: /* @__PURE__ */ jsx(FontAwesomeIcon, {
|
|
109
|
+
icon: faChevronDown,
|
|
110
|
+
className: cn(menuTriggerIconVariants({ size }), "transition-transform data-[popup-open]:rotate-180")
|
|
111
|
+
})
|
|
112
|
+
}), /* @__PURE__ */ jsx(DropdownMenuContent, {
|
|
113
|
+
align: "end",
|
|
114
|
+
children: renderMenuItems()
|
|
115
|
+
})]
|
|
116
|
+
})]
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
//#endregion
|
|
120
|
+
export { MenuButton };
|
|
121
|
+
|
|
122
|
+
//# sourceMappingURL=MenuButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuButton.js","names":[],"sources":["../../src/components/MenuButton.tsx"],"sourcesContent":["import type React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faChevronDown } from '@fortawesome/pro-solid-svg-icons';\n\nimport { Button, buttonVariants } from './Button.jsx';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from './DropdownMenu.jsx';\n\nimport { cn } from '@verbb/plugin-kit-react/utils';\nimport { useTranslation } from '@verbb/plugin-kit-react/hooks';\n\nconst menuMainButtonVariants = cva('!rounded-r-none', {\n variants: {\n split: {\n split: null,\n none: '!border-r-0',\n },\n },\n defaultVariants: {\n split: 'none',\n },\n});\n\nconst menuTriggerVariants = cva('!rounded-l-none !border-l-0', {\n variants: {\n size: {\n xs: 'px-1.5 py-[3px]',\n sm: 'px-1.5 py-[5px]',\n default: 'px-1.5 py-[7px]',\n lg: 'px-2 py-[9px]',\n xl: 'px-2.5 py-[10px]',\n },\n split: {\n split: '-ml-px',\n none: 'ml-[1px]',\n },\n },\n defaultVariants: {\n size: 'default',\n split: 'none',\n },\n});\n\nconst menuTriggerIconVariants = cva('', {\n variants: {\n size: {\n xs: 'size-2.5',\n sm: 'size-3',\n default: 'size-3',\n lg: 'size-3.5',\n xl: 'size-4',\n },\n },\n defaultVariants: {\n size: 'default',\n },\n});\n\ntype MenuButtonVariant = VariantProps<typeof buttonVariants>['variant'];\ntype MenuButtonSize = VariantProps<typeof menuTriggerVariants>['size'];\n\ntype MenuMainAction = {\n label?: React.ReactNode;\n icon?: React.ReactNode;\n iconPosition?: 'start' | 'end' | 'overlay';\n iconClassName?: string;\n labelClassName?: string;\n onClick?: () => void;\n};\n\ntype MenuActionItem = {\n label: React.ReactNode;\n icon?: React.ReactNode;\n variant?: 'default' | 'destructive';\n onClick?: () => void;\n};\n\ntype MenuSeparatorItem = {\n type: 'separator';\n};\n\ntype MenuItem = MenuActionItem | MenuSeparatorItem;\n\ntype MenuButtonProps = React.ComponentProps<'div'> & {\n mainAction?: MenuMainAction;\n menuItems?: MenuItem[];\n variant?: MenuButtonVariant;\n size?: MenuButtonSize;\n loading?: boolean;\n disabled?: boolean;\n defaultOpen?: boolean;\n modal?: boolean;\n};\n\nexport const MenuButton = ({\n mainAction,\n menuItems = [],\n variant = 'default',\n size = 'default',\n loading = false,\n disabled = false,\n className = '',\n defaultOpen = false,\n modal = true,\n ...props\n}: MenuButtonProps) => {\n const t = useTranslation();\n const hasSplitBorder = variant === 'outline' || variant === 'dashed';\n const splitBorderVariant = hasSplitBorder ? 'split' : 'none';\n\n const triggerClass = menuTriggerVariants({ size, split: splitBorderVariant });\n const mainButtonClass = menuMainButtonVariants({ split: splitBorderVariant });\n\n const handleMainAction = () => {\n mainAction?.onClick?.();\n };\n\n const renderMenuItems = () => {\n return menuItems.map((item, index) => {\n if ('type' in item && item.type === 'separator') {\n return <DropdownMenuSeparator key={`separator-${index}`} />;\n }\n\n const actionItem = item as MenuActionItem;\n\n return (\n <DropdownMenuItem\n key={index}\n onClick={() => { actionItem.onClick?.(); }}\n variant={actionItem.variant}\n >\n {actionItem.icon && (\n <span className={cn('mr-2')}>{actionItem.icon}</span>\n )}\n {actionItem.label}\n </DropdownMenuItem>\n );\n });\n };\n\n return (\n <div className={cn('inline-flex', className)} {...props}>\n <Button\n variant={variant}\n size={size}\n loading={loading}\n disabled={disabled}\n onClick={handleMainAction}\n className={mainButtonClass}\n >\n <span className={cn(\n 'inline-flex items-center',\n mainAction?.icon && mainAction?.label && mainAction?.iconPosition !== 'overlay' ? 'gap-2' : '',\n mainAction?.iconPosition === 'overlay' ? 'relative' : '',\n )}>\n {mainAction?.icon ? (\n <span className={cn(\n mainAction?.iconPosition === 'overlay'\n ? 'absolute inset-0 flex items-center justify-center pointer-events-none'\n : '',\n mainAction?.iconClassName || '',\n )}>{mainAction.icon}</span>\n ) : null}\n {mainAction?.label ? (\n <span className={mainAction?.labelClassName || ''}>{mainAction.label}</span>\n ) : null}\n </span>\n </Button>\n\n <DropdownMenu size={size} defaultOpen={defaultOpen} modal={modal}>\n <DropdownMenuTrigger\n disabled={disabled}\n render={(\n <Button\n variant={variant}\n size=\"none\"\n disabled={disabled}\n className={triggerClass}\n aria-label={t('Open menu')}\n />\n )}\n >\n <FontAwesomeIcon\n icon={faChevronDown}\n className={cn(\n menuTriggerIconVariants({ size }),\n 'transition-transform data-[popup-open]:rotate-180',\n )}\n />\n </DropdownMenuTrigger>\n\n <DropdownMenuContent align=\"end\">\n {renderMenuItems()}\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;AAiBA,IAAM,yBAAyB,IAAI,mBAAmB;CAClD,UAAU,EACN,OAAO;EACH,OAAO;EACP,MAAM;EACT,EACJ;CACD,iBAAiB,EACb,OAAO,QACV;CACJ,CAAC;AAEF,IAAM,sBAAsB,IAAI,+BAA+B;CAC3D,UAAU;EACN,MAAM;GACF,IAAI;GACJ,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACP;EACD,OAAO;GACH,OAAO;GACP,MAAM;GACT;EACJ;CACD,iBAAiB;EACb,MAAM;EACN,OAAO;EACV;CACJ,CAAC;AAEF,IAAM,0BAA0B,IAAI,IAAI;CACpC,UAAU,EACN,MAAM;EACF,IAAI;EACJ,IAAI;EACJ,SAAS;EACT,IAAI;EACJ,IAAI;EACP,EACJ;CACD,iBAAiB,EACb,MAAM,WACT;CACJ,CAAC;AAsCF,IAAa,cAAc,EACvB,YACA,YAAY,EAAE,EACd,UAAU,WACV,OAAO,WACP,UAAU,OACV,WAAW,OACX,YAAY,IACZ,cAAc,OACd,QAAQ,MACR,GAAG,YACgB;CACnB,MAAM,IAAI,gBAAgB;CAE1B,MAAM,qBADiB,YAAY,aAAa,YAAY,WAChB,UAAU;CAEtD,MAAM,eAAe,oBAAoB;EAAE;EAAM,OAAO;EAAoB,CAAC;CAC7E,MAAM,kBAAkB,uBAAuB,EAAE,OAAO,oBAAoB,CAAC;CAE7E,MAAM,yBAAyB;AAC3B,cAAY,WAAW;;CAG3B,MAAM,wBAAwB;AAC1B,SAAO,UAAU,KAAK,MAAM,UAAU;AAClC,OAAI,UAAU,QAAQ,KAAK,SAAS,YAChC,QAAO,oBAAC,uBAAD,EAAoD,EAAxB,aAAa,QAAW;GAG/D,MAAM,aAAa;AAEnB,UACI,qBAAC,kBAAD;IAEI,eAAe;AAAE,gBAAW,WAAW;;IACvC,SAAS,WAAW;cAHxB,CAKK,WAAW,QACR,oBAAC,QAAD;KAAM,WAAW,GAAG,OAAO;eAAG,WAAW;KAAY,CAAA,EAExD,WAAW,MACG;MARV,MAQU;IAEzB;;AAGN,QACI,qBAAC,OAAD;EAAK,WAAW,GAAG,eAAe,UAAU;EAAE,GAAI;YAAlD,CACI,oBAAC,QAAD;GACa;GACH;GACG;GACC;GACV,SAAS;GACT,WAAW;aAEX,qBAAC,QAAD;IAAM,WAAW,GACb,4BACA,YAAY,QAAQ,YAAY,SAAS,YAAY,iBAAiB,YAAY,UAAU,IAC5F,YAAY,iBAAiB,YAAY,aAAa,GACzD;cAJD,CAKK,YAAY,OACT,oBAAC,QAAD;KAAM,WAAW,GACb,YAAY,iBAAiB,YACvB,0EACA,IACN,YAAY,iBAAiB,GAChC;eAAG,WAAW;KAAY,CAAA,GAC3B,MACH,YAAY,QACT,oBAAC,QAAD;KAAM,WAAW,YAAY,kBAAkB;eAAK,WAAW;KAAa,CAAA,GAC5E,KACD;;GACF,CAAA,EAET,qBAAC,cAAD;GAAoB;GAAmB;GAAoB;aAA3D,CACI,oBAAC,qBAAD;IACc;IACV,QACI,oBAAC,QAAD;KACa;KACT,MAAK;KACK;KACV,WAAW;KACX,cAAY,EAAE,YAAY;KAC5B,CAAA;cAGN,oBAAC,iBAAD;KACI,MAAM;KACN,WAAW,GACP,wBAAwB,EAAE,MAAM,CAAC,EACjC,oDACH;KACH,CAAA;IACgB,CAAA,EAEtB,oBAAC,qBAAD;IAAqB,OAAM;cACtB,iBAAiB;IACA,CAAA,CACX;KACb"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ComponentProps } from 'react';
|
|
2
|
+
import { Tabs as TabsPrimitive } from '@base-ui/react/tabs';
|
|
3
|
+
declare function ModalTabs({ className, ...props }: ComponentProps<typeof TabsPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function ModalTabsList({ className, ...props }: ComponentProps<typeof TabsPrimitive.List>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function ModalTabsTrigger({ className, ...props }: ComponentProps<typeof TabsPrimitive.Tab>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function ModalTabsContent({ className, ...props }: ComponentProps<typeof TabsPrimitive.Panel>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export { ModalTabs, ModalTabsList, ModalTabsTrigger, ModalTabsContent, };
|
|
8
|
+
//# sourceMappingURL=ModalTabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalTabs.d.ts","sourceRoot":"","sources":["../../src/components/ModalTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAI5D,iBAAS,SAAS,CAAC,EACf,SAAS,EACT,GAAG,KAAK,EACX,EAAE,cAAc,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,2CAgB3C;AAED,iBAAS,aAAa,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACX,EAAE,cAAc,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,2CAmB3C;AAED,iBAAS,gBAAgB,CAAC,EACtB,SAAS,EACT,GAAG,KAAK,EACX,EAAE,cAAc,CAAC,OAAO,aAAa,CAAC,GAAG,CAAC,2CAsC1C;AAED,iBAAS,gBAAgB,CAAC,EACtB,SAAS,EACT,GAAG,KAAK,EACX,EAAE,cAAc,CAAC,OAAO,aAAa,CAAC,KAAK,CAAC,2CAoB5C;AAED,OAAO,EACH,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACnB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { cn } from "../utils/classes.js";
|
|
2
|
+
import "../utils/index.js";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { Tabs } from "@base-ui/react/tabs";
|
|
5
|
+
//#region src/components/ModalTabs.tsx
|
|
6
|
+
function ModalTabs({ className, ...props }) {
|
|
7
|
+
return /* @__PURE__ */ jsx(Tabs.Root, {
|
|
8
|
+
"data-slot": "tabs",
|
|
9
|
+
className: cn("overflow-hidden", "rounded-lg", "h-full", "min-h-0", "flex flex-col", className),
|
|
10
|
+
...props
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
function ModalTabsList({ className, ...props }) {
|
|
14
|
+
return /* @__PURE__ */ jsx(Tabs.List, {
|
|
15
|
+
"data-slot": "tabs-list",
|
|
16
|
+
className: cn("flex flex-row flex-nowrap", "w-full", "min-w-0 max-w-full", "overflow-x-auto overflow-y-hidden", "bg-white", "z-11", "shadow-[0_1px_5px_#cdd8e440]", "border-b border-b-gray-100", className),
|
|
17
|
+
...props
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function ModalTabsTrigger({ className, ...props }) {
|
|
21
|
+
return /* @__PURE__ */ jsx(Tabs.Tab, {
|
|
22
|
+
"data-slot": "tabs-trigger",
|
|
23
|
+
className: cn("outline-none shadow-none cursor-pointer", "shrink-0 whitespace-nowrap", "relative", "px-[15px]", "pt-[15px]", "pb-[15px]", "text-[#64788d]", "text-[12px]", "font-medium", "uppercase", "hover:text-sky-600", "focus-visible:shadow-[inset_0_0_0_2px_var(--color-sky-600)]", "data-[active]:after:content-[\"\"]", "data-[active]:after:absolute", "data-[active]:after:bottom-0", "data-[active]:after:left-[15px]", "data-[active]:after:right-0", "data-[active]:after:w-[calc(100%-30px)]", "data-[active]:after:h-[2px]", "data-[active]:after:bg-sky-600", className),
|
|
24
|
+
...props
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
function ModalTabsContent({ className, ...props }) {
|
|
28
|
+
return /* @__PURE__ */ jsx(Tabs.Panel, {
|
|
29
|
+
"data-slot": "tabs-content",
|
|
30
|
+
className: cn("outline-none", "flex-1 min-h-0", "p-4", "overflow-y-auto", "focus-visible:shadow-[inset_0_0_0_2px_var(--color-sky-600)]", className),
|
|
31
|
+
...props
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
export { ModalTabs, ModalTabsContent, ModalTabsList, ModalTabsTrigger };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=ModalTabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalTabs.js","names":[],"sources":["../../src/components/ModalTabs.tsx"],"sourcesContent":["import { ComponentProps } from 'react';\nimport { Tabs as TabsPrimitive } from '@base-ui/react/tabs';\n\nimport { cn } from '@verbb/plugin-kit-react/utils';\n\nfunction ModalTabs({\n className,\n ...props\n}: ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn(\n 'overflow-hidden',\n 'rounded-lg',\n 'h-full',\n 'min-h-0',\n 'flex flex-col',\n\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ModalTabsList({\n className,\n ...props\n}: ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n 'flex flex-row flex-nowrap',\n 'w-full',\n 'min-w-0 max-w-full',\n 'overflow-x-auto overflow-y-hidden',\n 'bg-white',\n 'z-11',\n 'shadow-[0_1px_5px_#cdd8e440]',\n 'border-b border-b-gray-100',\n\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ModalTabsTrigger({\n className,\n ...props\n}: ComponentProps<typeof TabsPrimitive.Tab>) {\n return (\n <TabsPrimitive.Tab\n data-slot=\"tabs-trigger\"\n className={cn(\n 'outline-none shadow-none cursor-pointer',\n 'shrink-0 whitespace-nowrap',\n\n 'relative',\n 'px-[15px]',\n 'pt-[15px]',\n 'pb-[15px]',\n 'text-[#64788d]',\n 'text-[12px]',\n 'font-medium',\n 'uppercase',\n\n // Hover state\n 'hover:text-sky-600',\n\n // Accessibility\n 'focus-visible:shadow-[inset_0_0_0_2px_var(--color-sky-600)]',\n\n // Active state\n 'data-[active]:after:content-[\"\"]',\n 'data-[active]:after:absolute',\n 'data-[active]:after:bottom-0',\n 'data-[active]:after:left-[15px]',\n 'data-[active]:after:right-0',\n 'data-[active]:after:w-[calc(100%-30px)]',\n 'data-[active]:after:h-[2px]',\n 'data-[active]:after:bg-sky-600',\n\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ModalTabsContent({\n className,\n ...props\n}: ComponentProps<typeof TabsPrimitive.Panel>) {\n return (\n <TabsPrimitive.Panel\n data-slot=\"tabs-content\"\n className={cn(\n // Reset and layout\n 'outline-none',\n 'flex-1 min-h-0',\n\n 'p-4',\n 'overflow-y-auto',\n\n // Accessibility\n 'focus-visible:shadow-[inset_0_0_0_2px_var(--color-sky-600)]',\n\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n ModalTabs,\n ModalTabsList,\n ModalTabsTrigger,\n ModalTabsContent,\n};\n"],"mappings":";;;;;AAKA,SAAS,UAAU,EACf,WACA,GAAG,SACuC;AAC1C,QACI,oBAAC,KAAc,MAAf;EACI,aAAU;EACV,WAAW,GACP,mBACA,cACA,UACA,WACA,iBAEA,UACH;EACD,GAAI;EACN,CAAA;;AAIV,SAAS,cAAc,EACnB,WACA,GAAG,SACuC;AAC1C,QACI,oBAAC,KAAc,MAAf;EACI,aAAU;EACV,WAAW,GACP,6BACA,UACA,sBACA,qCACA,YACA,QACA,gCACA,8BAEA,UACH;EACD,GAAI;EACN,CAAA;;AAIV,SAAS,iBAAiB,EACtB,WACA,GAAG,SACsC;AACzC,QACI,oBAAC,KAAc,KAAf;EACI,aAAU;EACV,WAAW,GACP,2CACA,8BAEA,YACA,aACA,aACA,aACA,kBACA,eACA,eACA,aAGA,sBAGA,+DAGA,sCACA,gCACA,gCACA,mCACA,+BACA,2CACA,+BACA,kCAEA,UACH;EACD,GAAI;EACN,CAAA;;AAIV,SAAS,iBAAiB,EACtB,WACA,GAAG,SACwC;AAC3C,QACI,oBAAC,KAAc,OAAf;EACI,aAAU;EACV,WAAW,GAEP,gBACA,kBAEA,OACA,mBAGA,+DAEA,UACH;EACD,GAAI;EACN,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ComponentProps } from 'react';
|
|
2
|
+
import { Tabs as TabsPrimitive } from '@base-ui/react/tabs';
|
|
3
|
+
declare function PaneTabs({ className, ...props }: ComponentProps<typeof TabsPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function PaneTabsList({ className, ...props }: ComponentProps<typeof TabsPrimitive.List>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function PaneTabsTrigger({ className, ...props }: ComponentProps<typeof TabsPrimitive.Tab>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function PaneTabsContent({ className, ...props }: ComponentProps<typeof TabsPrimitive.Panel>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export { PaneTabs, PaneTabsList, PaneTabsTrigger, PaneTabsContent, };
|
|
8
|
+
//# sourceMappingURL=PaneTabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaneTabs.d.ts","sourceRoot":"","sources":["../../src/components/PaneTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAI5D,iBAAS,QAAQ,CAAC,EACd,SAAS,EACT,GAAG,KAAK,EACX,EAAE,cAAc,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,2CAgB3C;AAED,iBAAS,YAAY,CAAC,EAClB,SAAS,EACT,GAAG,KAAK,EACX,EAAE,cAAc,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,2CAiB3C;AAED,iBAAS,eAAe,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EACX,EAAE,cAAc,CAAC,OAAO,aAAa,CAAC,GAAG,CAAC,2CAwB1C;AAED,iBAAS,eAAe,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EACX,EAAE,cAAc,CAAC,OAAO,aAAa,CAAC,KAAK,CAAC,2CAqB5C;AAED,OAAO,EACH,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,eAAe,GAClB,CAAC"}
|