@baseplate-dev/ui-components 0.1.1
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/LICENSE +390 -0
- package/dist/components/Alert/Alert.d.ts +15 -0
- package/dist/components/Alert/Alert.d.ts.map +1 -0
- package/dist/components/Alert/Alert.js +32 -0
- package/dist/components/Alert/Alert.js.map +1 -0
- package/dist/components/Badge/Badge.d.ts +21 -0
- package/dist/components/Badge/Badge.d.ts.map +1 -0
- package/dist/components/Badge/Badge.js +33 -0
- package/dist/components/Badge/Badge.js.map +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.d.ts +12 -0
- package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.js +28 -0
- package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/components/Button/Button.d.ts +23 -0
- package/dist/components/Button/Button.d.ts.map +1 -0
- package/dist/components/Button/Button.js +22 -0
- package/dist/components/Button/Button.js.map +1 -0
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +7 -0
- package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -0
- package/dist/components/ButtonGroup/ButtonGroup.js +10 -0
- package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -0
- package/dist/components/Card/Card.d.ts +15 -0
- package/dist/components/Card/Card.d.ts.map +1 -0
- package/dist/components/Card/Card.js +30 -0
- package/dist/components/Card/Card.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.d.ts +10 -0
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/Checkbox/Checkbox.js +15 -0
- package/dist/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/components/CheckboxField/CheckboxField.d.ts +19 -0
- package/dist/components/CheckboxField/CheckboxField.d.ts.map +1 -0
- package/dist/components/CheckboxField/CheckboxField.js +20 -0
- package/dist/components/CheckboxField/CheckboxField.js.map +1 -0
- package/dist/components/ColorPicker/ColorPicker.d.ts +16 -0
- package/dist/components/ColorPicker/ColorPicker.d.ts.map +1 -0
- package/dist/components/ColorPicker/ColorPicker.js +19 -0
- package/dist/components/ColorPicker/ColorPicker.js.map +1 -0
- package/dist/components/ColorPickerField/ColorPickerField.d.ts +36 -0
- package/dist/components/ColorPickerField/ColorPickerField.d.ts.map +1 -0
- package/dist/components/ColorPickerField/ColorPickerField.js +43 -0
- package/dist/components/ColorPickerField/ColorPickerField.js.map +1 -0
- package/dist/components/Combobox/Combobox.d.ts +71 -0
- package/dist/components/Combobox/Combobox.d.ts.map +1 -0
- package/dist/components/Combobox/Combobox.js +173 -0
- package/dist/components/Combobox/Combobox.js.map +1 -0
- package/dist/components/Combobox/Combobox.test.d.ts +2 -0
- package/dist/components/Combobox/Combobox.test.d.ts.map +1 -0
- package/dist/components/Combobox/Combobox.test.js +148 -0
- package/dist/components/Combobox/Combobox.test.js.map +1 -0
- package/dist/components/ComboboxField/ComboboxField.d.ts +20 -0
- package/dist/components/ComboboxField/ComboboxField.d.ts.map +1 -0
- package/dist/components/ComboboxField/ComboboxField.js +39 -0
- package/dist/components/ComboboxField/ComboboxField.js.map +1 -0
- package/dist/components/Command/Command.d.ts +22 -0
- package/dist/components/Command/Command.d.ts.map +1 -0
- package/dist/components/Command/Command.js +40 -0
- package/dist/components/Command/Command.js.map +1 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +8 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.js +48 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.js.map +1 -0
- package/dist/components/Dialog/Dialog.d.ts +22 -0
- package/dist/components/Dialog/Dialog.d.ts.map +1 -0
- package/dist/components/Dialog/Dialog.js +42 -0
- package/dist/components/Dialog/Dialog.js.map +1 -0
- package/dist/components/Dropdown/Dropdown.d.ts +31 -0
- package/dist/components/Dropdown/Dropdown.d.ts.map +1 -0
- package/dist/components/Dropdown/Dropdown.js +57 -0
- package/dist/components/Dropdown/Dropdown.js.map +1 -0
- package/dist/components/EmptyDisplay/EmptyDisplay.d.ts +30 -0
- package/dist/components/EmptyDisplay/EmptyDisplay.d.ts.map +1 -0
- package/dist/components/EmptyDisplay/EmptyDisplay.js +14 -0
- package/dist/components/EmptyDisplay/EmptyDisplay.js.map +1 -0
- package/dist/components/ErrorDisplay/ErrorDisplay.d.ts +25 -0
- package/dist/components/ErrorDisplay/ErrorDisplay.d.ts.map +1 -0
- package/dist/components/ErrorDisplay/ErrorDisplay.js +16 -0
- package/dist/components/ErrorDisplay/ErrorDisplay.js.map +1 -0
- package/dist/components/ErrorableLoader/ErrorableLoader.d.ts +25 -0
- package/dist/components/ErrorableLoader/ErrorableLoader.d.ts.map +1 -0
- package/dist/components/ErrorableLoader/ErrorableLoader.js +14 -0
- package/dist/components/ErrorableLoader/ErrorableLoader.js.map +1 -0
- package/dist/components/FormActionBar/FormActionBar.d.ts +32 -0
- package/dist/components/FormActionBar/FormActionBar.d.ts.map +1 -0
- package/dist/components/FormActionBar/FormActionBar.js +28 -0
- package/dist/components/FormActionBar/FormActionBar.js.map +1 -0
- package/dist/components/FormItem/FormItem.d.ts +23 -0
- package/dist/components/FormItem/FormItem.d.ts.map +1 -0
- package/dist/components/FormItem/FormItem.js +57 -0
- package/dist/components/FormItem/FormItem.js.map +1 -0
- package/dist/components/Input/Input.d.ts +11 -0
- package/dist/components/Input/Input.d.ts.map +1 -0
- package/dist/components/Input/Input.js +15 -0
- package/dist/components/Input/Input.js.map +1 -0
- package/dist/components/InputField/InputField.d.ts +17 -0
- package/dist/components/InputField/InputField.d.ts.map +1 -0
- package/dist/components/InputField/InputField.js +18 -0
- package/dist/components/InputField/InputField.js.map +1 -0
- package/dist/components/Label/Label.d.ts +10 -0
- package/dist/components/Label/Label.d.ts.map +1 -0
- package/dist/components/Label/Label.js +14 -0
- package/dist/components/Label/Label.js.map +1 -0
- package/dist/components/Loader/Loader.d.ts +10 -0
- package/dist/components/Loader/Loader.d.ts.map +1 -0
- package/dist/components/Loader/Loader.js +10 -0
- package/dist/components/Loader/Loader.js.map +1 -0
- package/dist/components/MultiCombobox/MultiCombobox.d.ts +47 -0
- package/dist/components/MultiCombobox/MultiCombobox.d.ts.map +1 -0
- package/dist/components/MultiCombobox/MultiCombobox.js +114 -0
- package/dist/components/MultiCombobox/MultiCombobox.js.map +1 -0
- package/dist/components/MultiComboboxField/MultiComboboxField.d.ts +19 -0
- package/dist/components/MultiComboboxField/MultiComboboxField.d.ts.map +1 -0
- package/dist/components/MultiComboboxField/MultiComboboxField.js +38 -0
- package/dist/components/MultiComboboxField/MultiComboboxField.js.map +1 -0
- package/dist/components/MultiSwitchField/MultiSwitchField.d.ts +41 -0
- package/dist/components/MultiSwitchField/MultiSwitchField.d.ts.map +1 -0
- package/dist/components/MultiSwitchField/MultiSwitchField.js +44 -0
- package/dist/components/MultiSwitchField/MultiSwitchField.js.map +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.d.ts +27 -0
- package/dist/components/NavigationMenu/NavigationMenu.d.ts.map +1 -0
- package/dist/components/NavigationMenu/NavigationMenu.js +50 -0
- package/dist/components/NavigationMenu/NavigationMenu.js.map +1 -0
- package/dist/components/NavigationTabs/NavigationTabs.d.ts +9 -0
- package/dist/components/NavigationTabs/NavigationTabs.d.ts.map +1 -0
- package/dist/components/NavigationTabs/NavigationTabs.js +14 -0
- package/dist/components/NavigationTabs/NavigationTabs.js.map +1 -0
- package/dist/components/Popover/Popover.d.ts +17 -0
- package/dist/components/Popover/Popover.d.ts.map +1 -0
- package/dist/components/Popover/Popover.js +23 -0
- package/dist/components/Popover/Popover.js.map +1 -0
- package/dist/components/RecordView/RecordView.d.ts +24 -0
- package/dist/components/RecordView/RecordView.d.ts.map +1 -0
- package/dist/components/RecordView/RecordView.js +16 -0
- package/dist/components/RecordView/RecordView.js.map +1 -0
- package/dist/components/ScrollArea/ScrollArea.d.ts +11 -0
- package/dist/components/ScrollArea/ScrollArea.d.ts.map +1 -0
- package/dist/components/ScrollArea/ScrollArea.js +19 -0
- package/dist/components/ScrollArea/ScrollArea.js.map +1 -0
- package/dist/components/SectionList/SectionList.d.ts +36 -0
- package/dist/components/SectionList/SectionList.d.ts.map +1 -0
- package/dist/components/SectionList/SectionList.js +25 -0
- package/dist/components/SectionList/SectionList.js.map +1 -0
- package/dist/components/Select/Select.d.ts +26 -0
- package/dist/components/Select/Select.d.ts.map +1 -0
- package/dist/components/Select/Select.js +51 -0
- package/dist/components/Select/Select.js.map +1 -0
- package/dist/components/SelectField/SelectField.d.ts +13 -0
- package/dist/components/SelectField/SelectField.d.ts.map +1 -0
- package/dist/components/SelectField/SelectField.js +30 -0
- package/dist/components/SelectField/SelectField.js.map +1 -0
- package/dist/components/Separator/Separator.d.ts +10 -0
- package/dist/components/Separator/Separator.d.ts.map +1 -0
- package/dist/components/Separator/Separator.js +14 -0
- package/dist/components/Separator/Separator.js.map +1 -0
- package/dist/components/Sheet/Sheet.d.ts +20 -0
- package/dist/components/Sheet/Sheet.d.ts.map +1 -0
- package/dist/components/Sheet/Sheet.js +46 -0
- package/dist/components/Sheet/Sheet.js.map +1 -0
- package/dist/components/SidebarLayout/SidebarLayout.d.ts +23 -0
- package/dist/components/SidebarLayout/SidebarLayout.d.ts.map +1 -0
- package/dist/components/SidebarLayout/SidebarLayout.js +22 -0
- package/dist/components/SidebarLayout/SidebarLayout.js.map +1 -0
- package/dist/components/Switch/Switch.d.ts +10 -0
- package/dist/components/Switch/Switch.d.ts.map +1 -0
- package/dist/components/Switch/Switch.js +13 -0
- package/dist/components/Switch/Switch.js.map +1 -0
- package/dist/components/SwitchField/SwitchField.d.ts +16 -0
- package/dist/components/SwitchField/SwitchField.d.ts.map +1 -0
- package/dist/components/SwitchField/SwitchField.js +15 -0
- package/dist/components/SwitchField/SwitchField.js.map +1 -0
- package/dist/components/Table/Table.d.ts +16 -0
- package/dist/components/Table/Table.d.ts.map +1 -0
- package/dist/components/Table/Table.js +33 -0
- package/dist/components/Table/Table.js.map +1 -0
- package/dist/components/Tabs/Tabs.d.ts +13 -0
- package/dist/components/Tabs/Tabs.d.ts.map +1 -0
- package/dist/components/Tabs/Tabs.js +23 -0
- package/dist/components/Tabs/Tabs.js.map +1 -0
- package/dist/components/Textarea/Textarea.d.ts +10 -0
- package/dist/components/Textarea/Textarea.d.ts.map +1 -0
- package/dist/components/Textarea/Textarea.js +12 -0
- package/dist/components/Textarea/Textarea.js.map +1 -0
- package/dist/components/TextareaField/TextareaField.d.ts +17 -0
- package/dist/components/TextareaField/TextareaField.d.ts.map +1 -0
- package/dist/components/TextareaField/TextareaField.js +18 -0
- package/dist/components/TextareaField/TextareaField.js.map +1 -0
- package/dist/components/Toaster/Toaster.d.ts +11 -0
- package/dist/components/Toaster/Toaster.d.ts.map +1 -0
- package/dist/components/Toaster/Toaster.js +29 -0
- package/dist/components/Toaster/Toaster.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.d.ts +8 -0
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
- package/dist/components/Tooltip/Tooltip.js +18 -0
- package/dist/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/components/index.d.ts +48 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +48 -0
- package/dist/components/index.js.map +1 -0
- package/dist/constants/strings.d.ts +14 -0
- package/dist/constants/strings.d.ts.map +1 -0
- package/dist/constants/strings.js +13 -0
- package/dist/constants/strings.js.map +1 -0
- package/dist/contexts/component-strings.d.ts +16 -0
- package/dist/contexts/component-strings.d.ts.map +1 -0
- package/dist/contexts/component-strings.js +9 -0
- package/dist/contexts/component-strings.js.map +1 -0
- package/dist/hooks/index.d.ts +5 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +5 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useConfirmDialog.d.ts +22 -0
- package/dist/hooks/useConfirmDialog.d.ts.map +1 -0
- package/dist/hooks/useConfirmDialog.js +20 -0
- package/dist/hooks/useConfirmDialog.js.map +1 -0
- package/dist/hooks/useControlledState.d.ts +6 -0
- package/dist/hooks/useControlledState.d.ts.map +1 -0
- package/dist/hooks/useControlledState.js +27 -0
- package/dist/hooks/useControlledState.js.map +1 -0
- package/dist/hooks/useControllerMerged.d.ts +22 -0
- package/dist/hooks/useControllerMerged.d.ts.map +1 -0
- package/dist/hooks/useControllerMerged.js +32 -0
- package/dist/hooks/useControllerMerged.js.map +1 -0
- package/dist/hooks/useEventCallback.d.ts +3 -0
- package/dist/hooks/useEventCallback.d.ts.map +1 -0
- package/dist/hooks/useEventCallback.js +15 -0
- package/dist/hooks/useEventCallback.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/stories/button-icons.d.ts +15 -0
- package/dist/stories/button-icons.d.ts.map +1 -0
- package/dist/stories/button-icons.js +17 -0
- package/dist/stories/button-icons.js.map +1 -0
- package/dist/styles/button.d.ts +6 -0
- package/dist/styles/button.d.ts.map +1 -0
- package/dist/styles/button.js +33 -0
- package/dist/styles/button.js.map +1 -0
- package/dist/styles/index.d.ts +4 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/dist/styles/index.js +4 -0
- package/dist/styles/index.js.map +1 -0
- package/dist/styles/input.d.ts +6 -0
- package/dist/styles/input.d.ts.map +1 -0
- package/dist/styles/input.js +24 -0
- package/dist/styles/input.js.map +1 -0
- package/dist/styles/select.d.ts +9 -0
- package/dist/styles/select.d.ts.map +1 -0
- package/dist/styles/select.js +22 -0
- package/dist/styles/select.js.map +1 -0
- package/dist/tests/render.test-helper.d.ts +4 -0
- package/dist/tests/render.test-helper.d.ts.map +1 -0
- package/dist/tests/render.test-helper.js +7 -0
- package/dist/tests/render.test-helper.js.map +1 -0
- package/dist/tests/setup.d.ts +2 -0
- package/dist/tests/setup.d.ts.map +1 -0
- package/dist/tests/setup.js +27 -0
- package/dist/tests/setup.js.map +1 -0
- package/dist/types/form.d.ts +40 -0
- package/dist/types/form.d.ts.map +1 -0
- package/dist/types/form.js +2 -0
- package/dist/types/form.js.map +1 -0
- package/dist/types/react.d.ts +3 -0
- package/dist/types/react.d.ts.map +1 -0
- package/dist/types/react.js +2 -0
- package/dist/types/react.js.map +1 -0
- package/dist/utils/cn.d.ts +3 -0
- package/dist/utils/cn.d.ts.map +1 -0
- package/dist/utils/cn.js +5 -0
- package/dist/utils/cn.js.map +1 -0
- package/dist/utils/generic-forward-ref.d.ts +8 -0
- package/dist/utils/generic-forward-ref.d.ts.map +1 -0
- package/dist/utils/generic-forward-ref.js +15 -0
- package/dist/utils/generic-forward-ref.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/refs.d.ts +10 -0
- package/dist/utils/refs.d.ts.map +1 -0
- package/dist/utils/refs.js +24 -0
- package/dist/utils/refs.js.map +1 -0
- package/package.json +127 -0
- package/src/theme.css +81 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const STORYBOOK_ICON_SELECT: {
|
|
2
|
+
options: string[];
|
|
3
|
+
mapping: {
|
|
4
|
+
None: null;
|
|
5
|
+
Down: import("react-icons/lib").IconType;
|
|
6
|
+
Up: import("react-icons/lib").IconType;
|
|
7
|
+
Right: import("react-icons/lib").IconType;
|
|
8
|
+
Left: import("react-icons/lib").IconType;
|
|
9
|
+
Home: import("react-icons/lib").IconType;
|
|
10
|
+
Settings: import("react-icons/lib").IconType;
|
|
11
|
+
Plus: import("react-icons/lib").IconType;
|
|
12
|
+
Power: import("react-icons/lib").IconType;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=button-icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-icons.d.ts","sourceRoot":"","sources":["../../src/stories/button-icons.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;CAGjC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { MdAdd, MdChevronLeft, MdChevronRight, MdExpandLess, MdExpandMore, MdHome, MdPowerSettingsNew, MdSettings, } from 'react-icons/md';
|
|
2
|
+
const ICONS = {
|
|
3
|
+
None: null,
|
|
4
|
+
Down: MdExpandMore,
|
|
5
|
+
Up: MdExpandLess,
|
|
6
|
+
Right: MdChevronRight,
|
|
7
|
+
Left: MdChevronLeft,
|
|
8
|
+
Home: MdHome,
|
|
9
|
+
Settings: MdSettings,
|
|
10
|
+
Plus: MdAdd,
|
|
11
|
+
Power: MdPowerSettingsNew,
|
|
12
|
+
};
|
|
13
|
+
export const STORYBOOK_ICON_SELECT = {
|
|
14
|
+
options: Object.keys(ICONS),
|
|
15
|
+
mapping: ICONS,
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=button-icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-icons.js","sourceRoot":"","sources":["../../src/stories/button-icons.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,kBAAkB,EAClB,UAAU,GACX,MAAM,gBAAgB,CAAC;AAExB,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,YAAY;IAClB,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,kBAAkB;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3B,OAAO,EAAE,KAAK;CACf,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const buttonVariants: (props?: ({
|
|
2
|
+
variant?: "link" | "default" | "secondary" | "destructive" | "outline" | "ghost" | "ghostDestructive" | "linkDestructive" | null | undefined;
|
|
3
|
+
size?: "default" | "none" | "icon" | "sm" | "lg" | null | undefined;
|
|
4
|
+
justify?: "center" | "start" | "end" | null | undefined;
|
|
5
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
|
+
//# sourceMappingURL=button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/styles/button.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc;;;;8EAqC1B,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { cva } from 'class-variance-authority';
|
|
2
|
+
export const buttonVariants = cva("inline-flex shrink-0 cursor-pointer items-center justify-center rounded-md font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
|
|
3
|
+
variants: {
|
|
4
|
+
variant: {
|
|
5
|
+
default: 'border border-input bg-primary text-sm text-primary-foreground hover:bg-primary-hover',
|
|
6
|
+
destructive: 'bg-destructive text-sm text-destructive-foreground hover:bg-destructive-hover',
|
|
7
|
+
outline: 'border border-input bg-background text-sm hover:bg-accent hover:text-accent-foreground',
|
|
8
|
+
secondary: 'border border-input bg-secondary text-sm text-secondary-foreground hover:bg-secondary-hover',
|
|
9
|
+
ghost: 'text-sm hover:bg-accent hover:text-accent-foreground',
|
|
10
|
+
ghostDestructive: 'text-sm text-destructive hover:bg-accent',
|
|
11
|
+
link: 'text-link underline-offset-4 hover:underline',
|
|
12
|
+
linkDestructive: 'text-destructive underline-offset-4 hover:underline',
|
|
13
|
+
},
|
|
14
|
+
size: {
|
|
15
|
+
default: 'h-10 gap-2 px-4 py-2 has-[>svg]:px-3',
|
|
16
|
+
none: '',
|
|
17
|
+
sm: 'h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5',
|
|
18
|
+
lg: 'h-10 gap-2 rounded-md px-6 has-[>svg]:px-4',
|
|
19
|
+
icon: 'size-9',
|
|
20
|
+
},
|
|
21
|
+
justify: {
|
|
22
|
+
start: 'justify-start',
|
|
23
|
+
center: 'justify-center',
|
|
24
|
+
end: 'justify-end',
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
defaultVariants: {
|
|
28
|
+
variant: 'default',
|
|
29
|
+
size: 'default',
|
|
30
|
+
justify: 'center',
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/styles/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE/C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAC/B,8bAA8b,EAC9b;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EACL,uFAAuF;YACzF,WAAW,EACT,+EAA+E;YACjF,OAAO,EACL,wFAAwF;YAC1F,SAAS,EACP,6FAA6F;YAC/F,KAAK,EAAE,sDAAsD;YAC7D,gBAAgB,EAAE,0CAA0C;YAC5D,IAAI,EAAE,8CAA8C;YACpD,eAAe,EAAE,qDAAqD;SACvE;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,sCAAsC;YAC/C,IAAI,EAAE,EAAE;YACR,EAAE,EAAE,+CAA+C;YACnD,EAAE,EAAE,4CAA4C;YAChD,IAAI,EAAE,QAAQ;SACf;QACD,OAAO,EAAE;YACP,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,gBAAgB;YACxB,GAAG,EAAE,aAAa;SACnB;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,QAAQ;KAClB;CACF,CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/styles/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/styles/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const inputVariants: (props?: ({
|
|
2
|
+
height?: "default" | "flexible" | null | undefined;
|
|
3
|
+
background?: "default" | "transparent" | null | undefined;
|
|
4
|
+
rightPadding?: "default" | "none" | null | undefined;
|
|
5
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
|
+
//# sourceMappingURL=input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/styles/input.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa;;;;8EA4BzB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { cva } from 'class-variance-authority';
|
|
2
|
+
import { cn } from '#src/utils/index.js';
|
|
3
|
+
export const inputVariants = cva(cn('flex w-full min-w-0 rounded-md bg-transparent py-1 pl-3 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30', 'border border-input', 'focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50', 'aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40'), {
|
|
4
|
+
variants: {
|
|
5
|
+
height: {
|
|
6
|
+
default: 'h-9',
|
|
7
|
+
flexible: 'min-h-9',
|
|
8
|
+
},
|
|
9
|
+
background: {
|
|
10
|
+
default: 'bg-background',
|
|
11
|
+
transparent: '',
|
|
12
|
+
},
|
|
13
|
+
rightPadding: {
|
|
14
|
+
default: 'pr-3',
|
|
15
|
+
none: '',
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
defaultVariants: {
|
|
19
|
+
height: 'default',
|
|
20
|
+
background: 'default',
|
|
21
|
+
rightPadding: 'default',
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/styles/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE/C,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAEzC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAC9B,EAAE,CACA,yaAAya,EACza,qBAAqB,EACrB,+EAA+E,EAC/E,wGAAwG,CACzG,EACD;IACE,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,SAAS;SACpB;QACD,UAAU,EAAE;YACV,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,EAAE;SAChB;QACD,YAAY,EAAE;YACZ,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,EAAE;SACT;KACF;IACD,eAAe,EAAE;QACf,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,SAAS;QACrB,YAAY,EAAE,SAAS;KACxB;CACF,CACF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const selectTriggerVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
2
|
+
export declare const selectContentVariants: (props?: ({
|
|
3
|
+
popper?: "none" | "active" | null | undefined;
|
|
4
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
5
|
+
export declare const selectItemVariants: (props?: ({
|
|
6
|
+
withFocus?: "none" | "highlight" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
export declare const selectCheckVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
9
|
+
//# sourceMappingURL=select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/styles/select.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,oFAEjC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;8EAWjC,CAAC;AAKF,eAAO,MAAM,kBAAkB;;8EAU9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,oFAE/B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { cva } from 'class-variance-authority';
|
|
2
|
+
export const selectTriggerVariants = cva("flex w-full items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground");
|
|
3
|
+
export const selectContentVariants = cva('relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95', {
|
|
4
|
+
variants: {
|
|
5
|
+
popper: {
|
|
6
|
+
none: '',
|
|
7
|
+
active: 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',
|
|
8
|
+
},
|
|
9
|
+
},
|
|
10
|
+
});
|
|
11
|
+
// Replaces data-[disabled] with data-[disabled=true] since Radix sets disabled=false and adds aria-selected selector
|
|
12
|
+
// https://github.com/shadcn-ui/ui/issues/3256
|
|
13
|
+
export const selectItemVariants = cva("relative flex w-full cursor-pointer items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", {
|
|
14
|
+
variants: {
|
|
15
|
+
withFocus: {
|
|
16
|
+
none: '',
|
|
17
|
+
highlight: 'focus:bg-accent focus:text-accent-foreground',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
export const selectCheckVariants = cva('absolute right-2 flex size-3.5 items-center justify-center');
|
|
22
|
+
//# sourceMappingURL=select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/styles/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE/C,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CACtC,+yBAA+yB,CAChzB,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CACtC,+iBAA+iB,EAC/iB;IACE,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,IAAI,EAAE,EAAE;YACR,MAAM,EACJ,iIAAiI;SACpI;KACF;CACF,CACF,CAAC;AAEF,qHAAqH;AACrH,8CAA8C;AAE9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CACnC,qcAAqc,EACrc;IACE,QAAQ,EAAE;QACR,SAAS,EAAE;YACT,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,8CAA8C;SAC1D;KACF;CACF,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CACpC,4DAA4D,CAC7D,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { RenderOptions, RenderResult } from '@testing-library/react';
|
|
2
|
+
import type { ReactElement } from 'react';
|
|
3
|
+
export declare const renderWithProviders: (ui: ReactElement, options?: Omit<RenderOptions, "wrapper">) => RenderResult;
|
|
4
|
+
//# sourceMappingURL=render.test-helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.test-helper.d.ts","sourceRoot":"","sources":["../../src/tests/render.test-helper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAkB1C,eAAO,MAAM,mBAAmB,OAC1B,YAAY,YACN,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,KACvC,YAAyE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { render } from '@testing-library/react';
|
|
3
|
+
import { DEFAULT_COMPONENT_STRINGS } from '#src/constants/strings.js';
|
|
4
|
+
import { ComponentStringsProvider } from '#src/contexts/component-strings.js';
|
|
5
|
+
const UiComponentProviders = ({ children, }) => (_jsx(ComponentStringsProvider, { value: DEFAULT_COMPONENT_STRINGS, children: children }));
|
|
6
|
+
export const renderWithProviders = (ui, options) => render(ui, { wrapper: UiComponentProviders, ...options });
|
|
7
|
+
//# sourceMappingURL=render.test-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.test-helper.js","sourceRoot":"","sources":["../../src/tests/render.test-helper.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAE9E,MAAM,oBAAoB,GAAG,CAAC,EAC5B,QAAQ,GAGT,EAAqB,EAAE,CAAC,CACvB,KAAC,wBAAwB,IAAC,KAAK,EAAE,yBAAyB,YACvD,QAAQ,GACgB,CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,EAAgB,EAChB,OAAwC,EAC1B,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/tests/setup.ts"],"names":[],"mappings":"AAGA,OAAO,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { cleanup } from '@testing-library/react';
|
|
2
|
+
import { afterEach, beforeAll } from 'vitest';
|
|
3
|
+
import '@testing-library/jest-dom/vitest';
|
|
4
|
+
// Workaround for lack of scrollIntoView in jsdom but required in cmdk
|
|
5
|
+
// https://github.com/jsdom/jsdom/issues/1695
|
|
6
|
+
Element.prototype.scrollIntoView = () => {
|
|
7
|
+
/* no op */
|
|
8
|
+
};
|
|
9
|
+
// Workaround for lack of ResizeObserver in jsdom but required in cmdk
|
|
10
|
+
// https://github.com/jsdom/jsdom/issues/3368
|
|
11
|
+
beforeAll(() => {
|
|
12
|
+
globalThis.ResizeObserver = class ResizeObserver {
|
|
13
|
+
observe() {
|
|
14
|
+
// do nothing
|
|
15
|
+
}
|
|
16
|
+
unobserve() {
|
|
17
|
+
// do nothing
|
|
18
|
+
}
|
|
19
|
+
disconnect() {
|
|
20
|
+
// do nothing
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
afterEach(() => {
|
|
25
|
+
cleanup();
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/tests/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,kCAAkC,CAAC;AAE1C,sEAAsE;AACtE,6CAA6C;AAC7C,OAAO,CAAC,SAAS,CAAC,cAAc,GAAG,GAAG,EAAE;IACtC,WAAW;AACb,CAAC,CAAC;AAEF,sEAAsE;AACtE,6CAA6C;AAC7C,SAAS,CAAC,GAAG,EAAE;IACb,UAAU,CAAC,cAAc,GAAG,MAAM,cAAc;QAC9C,OAAO;YACL,aAAa;QACf,CAAC;QACD,SAAS;YACP,aAAa;QACf,CAAC;QACD,UAAU;YACR,aAAa;QACf,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,GAAG,EAAE;IACb,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export interface FormFieldProps {
|
|
2
|
+
label?: React.ReactNode;
|
|
3
|
+
error?: React.ReactNode;
|
|
4
|
+
description?: React.ReactNode;
|
|
5
|
+
}
|
|
6
|
+
type SelectOptionLabelRenderer<OptionType> = (value: OptionType, options: {
|
|
7
|
+
selected: boolean;
|
|
8
|
+
}) => React.ReactNode;
|
|
9
|
+
type SelectOptionStringExtractor<OptionType> = (value: OptionType) => string;
|
|
10
|
+
type SelectOptionStringOrNullExtractor<OptionType> = (value: OptionType) => string | null;
|
|
11
|
+
export interface MultiSelectOptionProps<OptionType> {
|
|
12
|
+
options: OptionType[];
|
|
13
|
+
onChange?: (value: string[]) => void;
|
|
14
|
+
value?: string[];
|
|
15
|
+
renderItemLabel?: SelectOptionLabelRenderer<OptionType>;
|
|
16
|
+
getOptionLabel?: SelectOptionStringExtractor<OptionType>;
|
|
17
|
+
getOptionValue?: SelectOptionStringExtractor<OptionType>;
|
|
18
|
+
placeholder?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface SelectOptionProps<OptionType> {
|
|
21
|
+
options: OptionType[];
|
|
22
|
+
onChange?: (value: string | null) => void;
|
|
23
|
+
value?: string | null;
|
|
24
|
+
renderItemLabel?: SelectOptionLabelRenderer<OptionType>;
|
|
25
|
+
getOptionLabel?: SelectOptionStringExtractor<OptionType>;
|
|
26
|
+
getOptionValue?: SelectOptionStringOrNullExtractor<OptionType>;
|
|
27
|
+
placeholder?: string;
|
|
28
|
+
}
|
|
29
|
+
export type AddOptionRequiredFields<OptionType> = (OptionType extends {
|
|
30
|
+
label: string;
|
|
31
|
+
} ? unknown : {
|
|
32
|
+
renderItemLabel?: SelectOptionLabelRenderer<OptionType>;
|
|
33
|
+
getOptionLabel: SelectOptionStringExtractor<OptionType>;
|
|
34
|
+
}) & (OptionType extends {
|
|
35
|
+
value: string;
|
|
36
|
+
} ? unknown : {
|
|
37
|
+
getOptionValue: SelectOptionStringOrNullExtractor<OptionType>;
|
|
38
|
+
});
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/types/form.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B;AAED,KAAK,yBAAyB,CAAC,UAAU,IAAI,CAC3C,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,KAC3B,KAAK,CAAC,SAAS,CAAC;AAErB,KAAK,2BAA2B,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC;AAE7E,KAAK,iCAAiC,CAAC,UAAU,IAAI,CACnD,KAAK,EAAE,UAAU,KACd,MAAM,GAAG,IAAI,CAAC;AAEnB,MAAM,WAAW,sBAAsB,CAAC,UAAU;IAChD,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACxD,cAAc,CAAC,EAAE,2BAA2B,CAAC,UAAU,CAAC,CAAC;IACzD,cAAc,CAAC,EAAE,2BAA2B,CAAC,UAAU,CAAC,CAAC;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB,CAAC,UAAU;IAC3C,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACxD,cAAc,CAAC,EAAE,2BAA2B,CAAC,UAAU,CAAC,CAAC;IACzD,cAAc,CAAC,EAAE,iCAAiC,CAAC,UAAU,CAAC,CAAC;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,uBAAuB,CAAC,UAAU,IAAI,CAAC,UAAU,SAAS;IACpE,KAAK,EAAE,MAAM,CAAC;CACf,GACG,OAAO,GACP;IACE,eAAe,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACxD,cAAc,EAAE,2BAA2B,CAAC,UAAU,CAAC,CAAC;CACzD,CAAC,GACJ,CAAC,UAAU,SAAS;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC,OAAO,GACP;IACE,cAAc,EAAE,iCAAiC,CAAC,UAAU,CAAC,CAAC;CAC/D,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/types/form.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/types/react.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEzC,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/types/react.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../src/utils/cn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAE7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAElD"}
|
package/dist/utils/cn.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cn.js","sourceRoot":"","sources":["../../src/utils/cn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,IAAI,EAAE,MAAM,MAAM,CAAC;AAE7C,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Typed wrapper around forwardRef for generic components
|
|
4
|
+
*
|
|
5
|
+
* Taken from https://fettblog.eu/typescript-react-generic-forward-refs/
|
|
6
|
+
*/
|
|
7
|
+
export declare function genericForwardRef<T, P = {}>(render: (props: P, ref: React.Ref<T>) => React.ReactElement | null, displayName?: string): (props: P & React.RefAttributes<T>) => React.ReactElement | null;
|
|
8
|
+
//# sourceMappingURL=generic-forward-ref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generic-forward-ref.d.ts","sourceRoot":"","sources":["../../src/utils/generic-forward-ref.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;;;GAIG;AAGH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EACzC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,EAClE,WAAW,CAAC,EAAE,MAAM,GACnB,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAalE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { forwardRef } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Typed wrapper around forwardRef for generic components
|
|
4
|
+
*
|
|
5
|
+
* Taken from https://fettblog.eu/typescript-react-generic-forward-refs/
|
|
6
|
+
*/
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
8
|
+
export function genericForwardRef(render, displayName) {
|
|
9
|
+
const newElem = forwardRef(render);
|
|
10
|
+
if (displayName) {
|
|
11
|
+
newElem.displayName = displayName;
|
|
12
|
+
}
|
|
13
|
+
return newElem;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=generic-forward-ref.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generic-forward-ref.js","sourceRoot":"","sources":["../../src/utils/generic-forward-ref.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC;;;;GAIG;AAEH,mEAAmE;AACnE,MAAM,UAAU,iBAAiB,CAC/B,MAAkE,EAClE,WAAoB;IAEpB,MAAM,OAAO,GAAG,UAAU,CACxB,MAG8B,CACqC,CAAC;IAEtE,IAAI,WAAW,EAAE,CAAC;QACf,OAAoC,CAAC,WAAW,GAAG,WAAW,CAAC;IAClE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,0BAA0B,CAAC;AACzC,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,0BAA0B,CAAC;AACzC,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Ref } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Merges multiple React refs into a single ref callback. This is useful when you need to pass multiple refs to the same component.
|
|
4
|
+
*
|
|
5
|
+
* @param refs - An array of refs to merge. Each ref can be either a function ref or a ref object.
|
|
6
|
+
* @returns A ref callback that can be assigned to the ref attribute of a React element, or undefined if all refs are undefined.
|
|
7
|
+
* @template T - The type of the element that the refs will be associated with.
|
|
8
|
+
*/
|
|
9
|
+
export declare function mergeRefs<T>(...refs: (Ref<T> | undefined)[]): Ref<T> | undefined;
|
|
10
|
+
//# sourceMappingURL=refs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../src/utils/refs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjC;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,GAC9B,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAepB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Merges multiple React refs into a single ref callback. This is useful when you need to pass multiple refs to the same component.
|
|
3
|
+
*
|
|
4
|
+
* @param refs - An array of refs to merge. Each ref can be either a function ref or a ref object.
|
|
5
|
+
* @returns A ref callback that can be assigned to the ref attribute of a React element, or undefined if all refs are undefined.
|
|
6
|
+
* @template T - The type of the element that the refs will be associated with.
|
|
7
|
+
*/
|
|
8
|
+
export function mergeRefs(...refs) {
|
|
9
|
+
// Return undefined if all refs are undefined
|
|
10
|
+
if (refs.every((ref) => ref === undefined)) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
return (instance) => {
|
|
14
|
+
for (const ref of refs) {
|
|
15
|
+
if (typeof ref === 'function') {
|
|
16
|
+
ref(instance);
|
|
17
|
+
}
|
|
18
|
+
else if (ref) {
|
|
19
|
+
ref.current = instance;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=refs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refs.js","sourceRoot":"","sources":["../../src/utils/refs.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CACvB,GAAG,IAA4B;IAE/B,6CAA6C;IAC7C,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,QAAkB,EAAE,EAAE;QAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;gBAC9B,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChB,CAAC;iBAAM,IAAI,GAAG,EAAE,CAAC;gBACf,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@baseplate-dev/ui-components",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "Shared UI component library",
|
|
5
|
+
"repository": "https://github.com/halfdomelabs/baseplate",
|
|
6
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
7
|
+
"author": "Half Dome Labs LLC",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"type": "module",
|
|
10
|
+
"imports": {
|
|
11
|
+
"#src/*": "./dist/*"
|
|
12
|
+
},
|
|
13
|
+
"exports": {
|
|
14
|
+
".": "./dist/index.js",
|
|
15
|
+
"./base-styles.css": "./src/base-styles.css",
|
|
16
|
+
"./theme.css": "./src/theme.css",
|
|
17
|
+
"./utilities.css": "./src/utilities.css"
|
|
18
|
+
},
|
|
19
|
+
"main": "./dist/index.js",
|
|
20
|
+
"files": [
|
|
21
|
+
"LICENSE",
|
|
22
|
+
"dist/**/*",
|
|
23
|
+
"CHANGELOG",
|
|
24
|
+
"tailwind.config.ts",
|
|
25
|
+
"./src/theme.css",
|
|
26
|
+
"!dist/**/*.d.ts.map"
|
|
27
|
+
],
|
|
28
|
+
"browserslist": {
|
|
29
|
+
"production": [
|
|
30
|
+
">0.2%",
|
|
31
|
+
"not dead",
|
|
32
|
+
"not op_mini all"
|
|
33
|
+
],
|
|
34
|
+
"development": [
|
|
35
|
+
"last 1 chrome version",
|
|
36
|
+
"last 1 firefox version",
|
|
37
|
+
"last 1 safari version"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"@fontsource-variable/geist": "5.2.5",
|
|
42
|
+
"@fontsource-variable/geist-mono": "5.2.5",
|
|
43
|
+
"@hookform/resolvers": "5.0.1",
|
|
44
|
+
"@radix-ui/react-checkbox": "1.3.1",
|
|
45
|
+
"@radix-ui/react-dialog": "1.1.13",
|
|
46
|
+
"@radix-ui/react-dropdown-menu": "2.1.14",
|
|
47
|
+
"@radix-ui/react-label": "2.1.6",
|
|
48
|
+
"@radix-ui/react-navigation-menu": "1.2.12",
|
|
49
|
+
"@radix-ui/react-popover": "1.1.13",
|
|
50
|
+
"@radix-ui/react-scroll-area": "1.2.8",
|
|
51
|
+
"@radix-ui/react-select": "2.2.4",
|
|
52
|
+
"@radix-ui/react-separator": "1.1.6",
|
|
53
|
+
"@radix-ui/react-slot": "1.2.2",
|
|
54
|
+
"@radix-ui/react-switch": "1.2.4",
|
|
55
|
+
"@radix-ui/react-tabs": "1.1.11",
|
|
56
|
+
"@radix-ui/react-tooltip": "1.2.6",
|
|
57
|
+
"@types/react": "19.1.3",
|
|
58
|
+
"@types/react-dom": "19.1.3",
|
|
59
|
+
"class-variance-authority": "0.7.1",
|
|
60
|
+
"clsx": "2.1.1",
|
|
61
|
+
"cmdk": "1.1.1",
|
|
62
|
+
"react": "19.1.0",
|
|
63
|
+
"react-colorful": "5.6.1",
|
|
64
|
+
"react-dom": "19.1.0",
|
|
65
|
+
"react-hook-form": "7.56.3",
|
|
66
|
+
"react-icons": "5.5.0",
|
|
67
|
+
"sonner": "2.0.3",
|
|
68
|
+
"zod": "3.24.1",
|
|
69
|
+
"zustand": "5.0.3",
|
|
70
|
+
"@baseplate-dev/utils": "0.1.1"
|
|
71
|
+
},
|
|
72
|
+
"devDependencies": {
|
|
73
|
+
"@storybook/addon-docs": "^8.6.4",
|
|
74
|
+
"@storybook/addon-essentials": "^8.6.4",
|
|
75
|
+
"@storybook/addon-interactions": "^8.6.4",
|
|
76
|
+
"@storybook/addon-links": "^8.6.4",
|
|
77
|
+
"@storybook/blocks": "^8.6.4",
|
|
78
|
+
"@storybook/preview-api": "^8.6.4",
|
|
79
|
+
"@storybook/react": "^8.6.4",
|
|
80
|
+
"@storybook/react-vite": "^8.6.4",
|
|
81
|
+
"@storybook/test": "^8.6.4",
|
|
82
|
+
"@storybook/theming": "^8.6.4",
|
|
83
|
+
"@tailwindcss/vite": "4.1.6",
|
|
84
|
+
"@testing-library/dom": "10.4.0",
|
|
85
|
+
"@testing-library/jest-dom": "6.6.3",
|
|
86
|
+
"@testing-library/react": "16.2.0",
|
|
87
|
+
"@testing-library/user-event": "14.6.1",
|
|
88
|
+
"@types/node": "^22.0.0",
|
|
89
|
+
"@vitejs/plugin-react": "4.4.1",
|
|
90
|
+
"eslint": "9.26.0",
|
|
91
|
+
"jsdom": "26.0.0",
|
|
92
|
+
"prettier": "3.5.3",
|
|
93
|
+
"storybook": "^8.6.4",
|
|
94
|
+
"storybook-dark-mode": "^4.0.2",
|
|
95
|
+
"tailwindcss": "4.1.6",
|
|
96
|
+
"tw-animate-css": "1.2.9",
|
|
97
|
+
"typescript": "5.7.3",
|
|
98
|
+
"vite": "6.3.5",
|
|
99
|
+
"vite-plugin-svgr": "4.3.0",
|
|
100
|
+
"vitest": "3.0.7",
|
|
101
|
+
"@baseplate-dev/tools": "0.1.1"
|
|
102
|
+
},
|
|
103
|
+
"engines": {
|
|
104
|
+
"node": "^22.0.0"
|
|
105
|
+
},
|
|
106
|
+
"volta": {
|
|
107
|
+
"extends": "../../package.json"
|
|
108
|
+
},
|
|
109
|
+
"publishConfig": {
|
|
110
|
+
"access": "public",
|
|
111
|
+
"provenance": true
|
|
112
|
+
},
|
|
113
|
+
"scripts": {
|
|
114
|
+
"build": "pnpm build:lib",
|
|
115
|
+
"build:lib": "tsc -p tsconfig.build.json",
|
|
116
|
+
"build:storybook": "storybook build",
|
|
117
|
+
"clean": "rm -rf ./dist",
|
|
118
|
+
"dev:storybook": "storybook dev -p 6006",
|
|
119
|
+
"lint": "eslint .",
|
|
120
|
+
"prettier:check": "prettier --check .",
|
|
121
|
+
"prettier:write": "prettier -w .",
|
|
122
|
+
"test": "vitest",
|
|
123
|
+
"test:coverage": "vitest run --coverage",
|
|
124
|
+
"typecheck": "tsc --noEmit",
|
|
125
|
+
"watch": "tsc -p tsconfig.build.json --preserveWatchOutput -w"
|
|
126
|
+
}
|
|
127
|
+
}
|