rivet-ui 0.1.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/LICENSE +21 -0
- package/README.md +120 -0
- package/dist/chunk-fjtwj9cw.js +79 -0
- package/dist/chunk-fjtwj9cw.js.map +10 -0
- package/dist/components/Accordion/Accordion.d.ts +7 -0
- package/dist/components/Accordion/Accordion.stories.d.ts +10 -0
- package/dist/components/Accordion/index.d.ts +1 -0
- package/dist/components/Accordion/index.js +62 -0
- package/dist/components/Accordion/index.js.map +10 -0
- package/dist/components/Alert/Alert.d.ts +15 -0
- package/dist/components/Alert/Alert.stories.d.ts +23 -0
- package/dist/components/Alert/index.d.ts +2 -0
- package/dist/components/Alert/index.js +57 -0
- package/dist/components/Alert/index.js.map +10 -0
- package/dist/components/AlertDialog/AlertDialog.d.ts +11 -0
- package/dist/components/AlertDialog/AlertDialog.stories.d.ts +9 -0
- package/dist/components/AlertDialog/index.d.ts +1 -0
- package/dist/components/AlertDialog/index.js +66 -0
- package/dist/components/AlertDialog/index.js.map +10 -0
- package/dist/components/Autocomplete/Autocomplete.d.ts +17 -0
- package/dist/components/Autocomplete/Autocomplete.stories.d.ts +6 -0
- package/dist/components/Autocomplete/index.d.ts +1 -0
- package/dist/components/Autocomplete/index.js +109 -0
- package/dist/components/Autocomplete/index.js.map +10 -0
- package/dist/components/Avatar/Avatar.d.ts +19 -0
- package/dist/components/Avatar/Avatar.stories.d.ts +29 -0
- package/dist/components/Avatar/index.d.ts +2 -0
- package/dist/components/Avatar/index.js +65 -0
- package/dist/components/Avatar/index.js.map +10 -0
- package/dist/components/AvatarLabel/AvatarLabel.d.ts +12 -0
- package/dist/components/AvatarLabel/AvatarLabel.stories.d.ts +10 -0
- package/dist/components/AvatarLabel/index.d.ts +2 -0
- package/dist/components/AvatarLabel/index.js +74 -0
- package/dist/components/AvatarLabel/index.js.map +10 -0
- package/dist/components/Badge/Badge.d.ts +13 -0
- package/dist/components/Badge/Badge.stories.d.ts +25 -0
- package/dist/components/Badge/index.d.ts +2 -0
- package/dist/components/Badge/index.js +38 -0
- package/dist/components/Badge/index.js.map +10 -0
- package/dist/components/Button/Button.d.ts +15 -0
- package/dist/components/Button/Button.stories.d.ts +35 -0
- package/dist/components/Button/index.d.ts +2 -0
- package/dist/components/Button/index.js +44 -0
- package/dist/components/Button/index.js.map +10 -0
- package/dist/components/Card/Card.d.ts +6 -0
- package/dist/components/Card/Card.stories.d.ts +13 -0
- package/dist/components/Card/index.d.ts +1 -0
- package/dist/components/Card/index.js +47 -0
- package/dist/components/Card/index.js.map +10 -0
- package/dist/components/Checkbox/Checkbox.d.ts +6 -0
- package/dist/components/Checkbox/Checkbox.stories.d.ts +25 -0
- package/dist/components/Checkbox/index.d.ts +1 -0
- package/dist/components/Checkbox/index.js +68 -0
- package/dist/components/Checkbox/index.js.map +10 -0
- package/dist/components/Collapsible/Collapsible.d.ts +4 -0
- package/dist/components/Collapsible/Collapsible.stories.d.ts +10 -0
- package/dist/components/Collapsible/index.d.ts +1 -0
- package/dist/components/Collapsible/index.js +34 -0
- package/dist/components/Collapsible/index.js.map +10 -0
- package/dist/components/Combobox/Combobox.d.ts +24 -0
- package/dist/components/Combobox/Combobox.stories.d.ts +13 -0
- package/dist/components/Combobox/index.d.ts +1 -0
- package/dist/components/Combobox/index.js +162 -0
- package/dist/components/Combobox/index.js.map +10 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +22 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.stories.d.ts +10 -0
- package/dist/components/ConfirmDialog/index.d.ts +2 -0
- package/dist/components/ConfirmDialog/index.js +85 -0
- package/dist/components/ConfirmDialog/index.js.map +10 -0
- package/dist/components/ContextMenu/ContextMenu.d.ts +21 -0
- package/dist/components/ContextMenu/ContextMenu.stories.d.ts +7 -0
- package/dist/components/ContextMenu/index.d.ts +1 -0
- package/dist/components/ContextMenu/index.js +117 -0
- package/dist/components/ContextMenu/index.js.map +10 -0
- package/dist/components/Dialog/Dialog.d.ts +11 -0
- package/dist/components/Dialog/Dialog.stories.d.ts +10 -0
- package/dist/components/Dialog/index.d.ts +1 -0
- package/dist/components/Dialog/index.js +66 -0
- package/dist/components/Dialog/index.js.map +10 -0
- package/dist/components/Drawer/Drawer.d.ts +13 -0
- package/dist/components/Drawer/Drawer.stories.d.ts +9 -0
- package/dist/components/Drawer/index.d.ts +1 -0
- package/dist/components/Drawer/index.js +81 -0
- package/dist/components/Drawer/index.js.map +10 -0
- package/dist/components/Field/Field.d.ts +8 -0
- package/dist/components/Field/Field.stories.d.ts +21 -0
- package/dist/components/Field/index.d.ts +1 -0
- package/dist/components/Field/index.js +52 -0
- package/dist/components/Field/index.js.map +10 -0
- package/dist/components/Fieldset/Fieldset.d.ts +3 -0
- package/dist/components/Fieldset/Fieldset.stories.d.ts +14 -0
- package/dist/components/Fieldset/index.d.ts +1 -0
- package/dist/components/Fieldset/index.js +27 -0
- package/dist/components/Fieldset/index.js.map +10 -0
- package/dist/components/Form/Form.d.ts +5 -0
- package/dist/components/Form/Form.stories.d.ts +5 -0
- package/dist/components/Form/index.d.ts +1 -0
- package/dist/components/Form/index.js +20 -0
- package/dist/components/Form/index.js.map +10 -0
- package/dist/components/Input/Input.d.ts +16 -0
- package/dist/components/Input/Input.stories.d.ts +34 -0
- package/dist/components/Input/index.d.ts +2 -0
- package/dist/components/Input/index.js +44 -0
- package/dist/components/Input/index.js.map +10 -0
- package/dist/components/Menu/Menu.d.ts +21 -0
- package/dist/components/Menu/Menu.stories.d.ts +9 -0
- package/dist/components/Menu/index.d.ts +1 -0
- package/dist/components/Menu/index.js +117 -0
- package/dist/components/Menu/index.js.map +10 -0
- package/dist/components/Menubar/Menubar.d.ts +2 -0
- package/dist/components/Menubar/Menubar.stories.d.ts +5 -0
- package/dist/components/Menubar/index.d.ts +1 -0
- package/dist/components/Menubar/index.js +20 -0
- package/dist/components/Menubar/index.js.map +10 -0
- package/dist/components/Meter/Meter.d.ts +6 -0
- package/dist/components/Meter/Meter.stories.d.ts +7 -0
- package/dist/components/Meter/index.d.ts +1 -0
- package/dist/components/Meter/index.js +48 -0
- package/dist/components/Meter/index.js.map +10 -0
- package/dist/components/NavigationMenu/NavigationMenu.d.ts +12 -0
- package/dist/components/NavigationMenu/NavigationMenu.stories.d.ts +5 -0
- package/dist/components/NavigationMenu/index.d.ts +1 -0
- package/dist/components/NavigationMenu/index.js +100 -0
- package/dist/components/NavigationMenu/index.js.map +10 -0
- package/dist/components/NumberField/NumberField.d.ts +8 -0
- package/dist/components/NumberField/NumberField.stories.d.ts +7 -0
- package/dist/components/NumberField/index.d.ts +1 -0
- package/dist/components/NumberField/index.js +84 -0
- package/dist/components/NumberField/index.js.map +10 -0
- package/dist/components/PageHeader/PageHeader.d.ts +10 -0
- package/dist/components/PageHeader/PageHeader.stories.d.ts +10 -0
- package/dist/components/PageHeader/index.d.ts +2 -0
- package/dist/components/PageHeader/index.js +48 -0
- package/dist/components/PageHeader/index.js.map +10 -0
- package/dist/components/Popover/Popover.d.ts +12 -0
- package/dist/components/Popover/Popover.stories.d.ts +9 -0
- package/dist/components/Popover/index.d.ts +1 -0
- package/dist/components/Popover/index.js +74 -0
- package/dist/components/Popover/index.js.map +10 -0
- package/dist/components/PreviewCard/PreviewCard.d.ts +9 -0
- package/dist/components/PreviewCard/PreviewCard.stories.d.ts +8 -0
- package/dist/components/PreviewCard/index.d.ts +1 -0
- package/dist/components/PreviewCard/index.js +53 -0
- package/dist/components/PreviewCard/index.js.map +10 -0
- package/dist/components/ProfileCard/ProfileCard.d.ts +19 -0
- package/dist/components/ProfileCard/ProfileCard.stories.d.ts +11 -0
- package/dist/components/ProfileCard/index.d.ts +2 -0
- package/dist/components/ProfileCard/index.js +97 -0
- package/dist/components/ProfileCard/index.js.map +10 -0
- package/dist/components/Progress/Progress.d.ts +6 -0
- package/dist/components/Progress/Progress.stories.d.ts +7 -0
- package/dist/components/Progress/index.d.ts +1 -0
- package/dist/components/Progress/index.js +48 -0
- package/dist/components/Progress/index.js.map +10 -0
- package/dist/components/Radio/Radio.d.ts +6 -0
- package/dist/components/Radio/Radio.stories.d.ts +20 -0
- package/dist/components/Radio/index.d.ts +1 -0
- package/dist/components/Radio/index.js +35 -0
- package/dist/components/Radio/index.js.map +10 -0
- package/dist/components/ScrollArea/ScrollArea.d.ts +7 -0
- package/dist/components/ScrollArea/ScrollArea.stories.d.ts +6 -0
- package/dist/components/ScrollArea/index.d.ts +1 -0
- package/dist/components/ScrollArea/index.js +55 -0
- package/dist/components/ScrollArea/index.js.map +10 -0
- package/dist/components/SearchField/SearchField.d.ts +11 -0
- package/dist/components/SearchField/SearchField.stories.d.ts +9 -0
- package/dist/components/SearchField/index.d.ts +2 -0
- package/dist/components/SearchField/index.js +65 -0
- package/dist/components/SearchField/index.js.map +10 -0
- package/dist/components/Select/Select.d.ts +19 -0
- package/dist/components/Select/Select.stories.d.ts +20 -0
- package/dist/components/Select/index.d.ts +1 -0
- package/dist/components/Select/index.js +143 -0
- package/dist/components/Select/index.js.map +10 -0
- package/dist/components/Separator/Separator.d.ts +2 -0
- package/dist/components/Separator/Separator.stories.d.ts +10 -0
- package/dist/components/Separator/index.d.ts +1 -0
- package/dist/components/Separator/index.js +20 -0
- package/dist/components/Separator/index.js.map +10 -0
- package/dist/components/Slider/Slider.d.ts +10 -0
- package/dist/components/Slider/Slider.stories.d.ts +7 -0
- package/dist/components/Slider/index.d.ts +1 -0
- package/dist/components/Slider/index.js +55 -0
- package/dist/components/Slider/index.js.map +10 -0
- package/dist/components/Switch/Switch.d.ts +3 -0
- package/dist/components/Switch/Switch.stories.d.ts +24 -0
- package/dist/components/Switch/index.d.ts +1 -0
- package/dist/components/Switch/index.js +27 -0
- package/dist/components/Switch/index.js.map +10 -0
- package/dist/components/Tabs/Tabs.d.ts +6 -0
- package/dist/components/Tabs/Tabs.stories.d.ts +9 -0
- package/dist/components/Tabs/index.d.ts +1 -0
- package/dist/components/Tabs/index.js +43 -0
- package/dist/components/Tabs/index.js.map +10 -0
- package/dist/components/Toast/Toast.d.ts +14 -0
- package/dist/components/Toast/Toast.stories.d.ts +8 -0
- package/dist/components/Toast/index.d.ts +1 -0
- package/dist/components/Toast/index.js +127 -0
- package/dist/components/Toast/index.js.map +10 -0
- package/dist/components/Toggle/Toggle.d.ts +3 -0
- package/dist/components/Toggle/Toggle.stories.d.ts +8 -0
- package/dist/components/Toggle/index.d.ts +1 -0
- package/dist/components/Toggle/index.js +20 -0
- package/dist/components/Toggle/index.js.map +10 -0
- package/dist/components/ToggleGroup/ToggleGroup.d.ts +3 -0
- package/dist/components/ToggleGroup/ToggleGroup.stories.d.ts +6 -0
- package/dist/components/ToggleGroup/index.d.ts +1 -0
- package/dist/components/ToggleGroup/index.js +20 -0
- package/dist/components/ToggleGroup/index.js.map +10 -0
- package/dist/components/Toolbar/Toolbar.d.ts +7 -0
- package/dist/components/Toolbar/Toolbar.stories.d.ts +7 -0
- package/dist/components/Toolbar/index.d.ts +1 -0
- package/dist/components/Toolbar/index.js +50 -0
- package/dist/components/Toolbar/index.js.map +10 -0
- package/dist/components/Tooltip/Tooltip.d.ts +9 -0
- package/dist/components/Tooltip/Tooltip.stories.d.ts +9 -0
- package/dist/components/Tooltip/index.d.ts +1 -0
- package/dist/components/Tooltip/index.js +48 -0
- package/dist/components/Tooltip/index.js.map +10 -0
- package/dist/fonts.css +3 -0
- package/dist/index.d.ts +55 -0
- package/dist/index.js +620 -0
- package/dist/index.js.map +9 -0
- package/dist/stories/Camps.stories.d.ts +11 -0
- package/dist/stories/Plains.stories.d.ts +11 -0
- package/dist/stories/Theming.stories.d.ts +8 -0
- package/dist/stories/Typography.stories.d.ts +5 -0
- package/dist/styles.css +2 -0
- package/dist/utils/cn.d.ts +2 -0
- package/dist/utils/cn.js +1806 -0
- package/dist/utils/cn.js.map +12 -0
- package/dist/utils/cn.test.d.ts +1 -0
- package/package.json +266 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/components/ConfirmDialog/ConfirmDialog.tsx"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import * as React from 'react';\nimport {\n AlertDialogRoot,\n AlertDialogPortal,\n AlertDialogBackdrop,\n AlertDialogViewport,\n AlertDialogPopup,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogClose,\n AlertDialogTrigger\n} from '../AlertDialog';\nimport { Button } from '../Button';\n\nexport interface ConfirmDialogProps {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n title: string;\n description?: string;\n confirmLabel?: string;\n cancelLabel?: string;\n /** Called when the confirm button is clicked (dialog closes automatically). */\n onConfirm?: () => void;\n /** Called when the cancel button or backdrop is clicked. */\n onCancel?: () => void;\n /**\n * Visual tone of the confirm button.\n * @default 'default'\n */\n variant?: 'default' | 'destructive';\n /** Element that opens the dialog when clicked. Omit for controlled usage. */\n trigger?: React.ReactNode;\n}\n\nexport function ConfirmDialog({\n open,\n defaultOpen,\n onOpenChange,\n title,\n description,\n confirmLabel = 'Confirm',\n cancelLabel = 'Cancel',\n onConfirm,\n onCancel,\n variant = 'default',\n trigger\n}: ConfirmDialogProps) {\n return (\n <AlertDialogRoot\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n >\n {trigger && (\n <AlertDialogTrigger render={trigger as React.ReactElement} />\n )}\n <AlertDialogPortal>\n <AlertDialogBackdrop />\n <AlertDialogViewport>\n <AlertDialogPopup>\n <AlertDialogTitle>{title}</AlertDialogTitle>\n {description && (\n <AlertDialogDescription>\n {description}\n </AlertDialogDescription>\n )}\n <div className=\"flex justify-end gap-3\">\n <AlertDialogClose\n onClick={onCancel}\n render={<Button variant=\"outline\" />}\n >\n {cancelLabel}\n </AlertDialogClose>\n <AlertDialogClose\n onClick={onConfirm}\n render={\n <Button\n variant={\n variant === 'destructive'\n ? 'destructive'\n : 'primary'\n }\n />\n }\n >\n {confirmLabel}\n </AlertDialogClose>\n </div>\n </AlertDialogPopup>\n </AlertDialogViewport>\n </AlertDialogPortal>\n </AlertDialogRoot>\n );\n}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAmCO,SAAS,aAAa;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,GACmB;AAAA,EACnB,uBACI,KA2CE,iBA3CF;AAAA,IACI;AAAA,IACA;AAAA,IACA;AAAA,IAHJ,UA2CE;AAAA,MAtCG,2BACG,IAAC,oBAAD;AAAA,QAAoB,QAAQ;AAAA,OAA+B;AAAA,sBAE/D,KAkCE,mBAlCF;AAAA,kBAkCE;AAAA,0BAjCE,IAAC,qBAAD,EAAqB;AAAA,0BACrB,IA+BE,qBA/BF;AAAA,sCACI,KA6BE,kBA7BF;AAAA,wBA6BE;AAAA,gCA5BE,IAA2B,kBAA3B;AAAA,4BAAmB;AAAA,iBAAQ;AAAA,gBAC1B,+BACG,IAEE,wBAFF;AAAA,4BACK;AAAA,iBACH;AAAA,gCAEN,KAqBE,OArBF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAqBE;AAAA,oCApBE,IAKE,kBALF;AAAA,sBACI,SAAS;AAAA,sBACT,wBAAQ,IAAC,QAAD;AAAA,wBAAQ,SAAQ;AAAA,uBAAU;AAAA,sBAFtC,UAIK;AAAA,qBACH;AAAA,oCACF,IAaE,kBAbF;AAAA,sBACI,SAAS;AAAA,sBACT,wBACI,IAAC,QAAD;AAAA,wBACI,SACI,YAAY,gBACN,gBACA;AAAA,uBAEd;AAAA,sBATR,UAYK;AAAA,qBACH;AAAA;AAAA,iBACJ;AAAA;AAAA,aACJ;AAAA,WACJ;AAAA;AAAA,OACJ;AAAA;AAAA,GACJ;AAAA;",
|
|
8
|
+
"debugId": "A676AEF740480EFF64756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ContextMenu } from '@base-ui/react/context-menu';
|
|
3
|
+
export declare const ContextMenuRoot: typeof ContextMenu.Root;
|
|
4
|
+
export declare const ContextMenuPortal: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").ContextMenuPortalProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
5
|
+
export declare const ContextMenuBackdrop: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").ContextMenuBackdropProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
+
export declare const ContextMenuGroup: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").ContextMenuGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
7
|
+
export declare const ContextMenuRadioGroup: React.NamedExoticComponent<Omit<import("@base-ui/react").ContextMenuRadioGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
8
|
+
export declare const ContextMenuSubmenuRoot: typeof ContextMenu.SubmenuRoot;
|
|
9
|
+
export declare const ContextMenuTrigger: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").ContextMenuTriggerProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const ContextMenuPositioner: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").ContextMenuPositionerProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
export declare const ContextMenuPopup: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").ContextMenuPopupProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
export declare const ContextMenuArrow: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").ContextMenuArrowProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
export declare const ContextMenuItem: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").ContextMenuItemProps, "ref"> & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
14
|
+
export declare const ContextMenuLinkItem: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").ContextMenuLinkItemProps, "ref"> & React.RefAttributes<Element>, "ref"> & React.RefAttributes<HTMLAnchorElement>>;
|
|
15
|
+
export declare const ContextMenuSeparator: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").SeparatorProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
16
|
+
export declare const ContextMenuGroupLabel: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").ContextMenuGroupLabelProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
17
|
+
export declare const ContextMenuRadioItem: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").ContextMenuRadioItemProps, "ref"> & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
18
|
+
export declare const ContextMenuRadioItemIndicator: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").ContextMenuRadioItemIndicatorProps, "ref"> & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
19
|
+
export declare const ContextMenuCheckboxItem: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").ContextMenuCheckboxItemProps, "ref"> & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
20
|
+
export declare const ContextMenuCheckboxItemIndicator: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").ContextMenuCheckboxItemIndicatorProps, "ref"> & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
21
|
+
export declare const ContextMenuSubmenuTrigger: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").ContextMenuSubmenuTriggerProps, "ref"> & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ContextMenuRoot, ContextMenuTrigger, ContextMenuPortal, ContextMenuBackdrop, ContextMenuPositioner, ContextMenuPopup, ContextMenuArrow, ContextMenuItem, ContextMenuLinkItem, ContextMenuSeparator, ContextMenuGroup, ContextMenuGroupLabel, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuRadioItemIndicator, ContextMenuCheckboxItem, ContextMenuCheckboxItemIndicator, ContextMenuSubmenuRoot, ContextMenuSubmenuTrigger } from './ContextMenu';
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cn
|
|
3
|
+
} from "../../utils/cn.js";
|
|
4
|
+
|
|
5
|
+
// src/components/ContextMenu/ContextMenu.tsx
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
import { ContextMenu } from "@base-ui/react/context-menu";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
var ContextMenuRoot = ContextMenu.Root;
|
|
10
|
+
var ContextMenuPortal = ContextMenu.Portal;
|
|
11
|
+
var ContextMenuBackdrop = ContextMenu.Backdrop;
|
|
12
|
+
var ContextMenuGroup = ContextMenu.Group;
|
|
13
|
+
var ContextMenuRadioGroup = ContextMenu.RadioGroup;
|
|
14
|
+
var ContextMenuSubmenuRoot = ContextMenu.SubmenuRoot;
|
|
15
|
+
var ContextMenuTrigger = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenu.Trigger, {
|
|
16
|
+
ref,
|
|
17
|
+
className: cn("select-none", className),
|
|
18
|
+
...props
|
|
19
|
+
}));
|
|
20
|
+
ContextMenuTrigger.displayName = "ContextMenuTrigger";
|
|
21
|
+
var ContextMenuPositioner = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenu.Positioner, {
|
|
22
|
+
ref,
|
|
23
|
+
className: cn("outline-none", className),
|
|
24
|
+
...props
|
|
25
|
+
}));
|
|
26
|
+
ContextMenuPositioner.displayName = "ContextMenuPositioner";
|
|
27
|
+
var ContextMenuPopup = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenu.Popup, {
|
|
28
|
+
ref,
|
|
29
|
+
className: cn("min-w-[8rem] rounded-lg border border-kraft/15 bg-surface p-1 shadow-md", "transition-opacity duration-150", "data-starting-style:opacity-0 data-ending-style:opacity-0", className),
|
|
30
|
+
...props
|
|
31
|
+
}));
|
|
32
|
+
ContextMenuPopup.displayName = "ContextMenuPopup";
|
|
33
|
+
var ContextMenuArrow = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenu.Arrow, {
|
|
34
|
+
ref,
|
|
35
|
+
className: cn("flex text-kraft/15", "data-[side=top]:bottom-[-8px] data-[side=top]:rotate-180", "data-[side=bottom]:top-[-8px]", "data-[side=left]:right-[-13px] data-[side=left]:rotate-90", "data-[side=right]:left-[-13px] data-[side=right]:-rotate-90", className),
|
|
36
|
+
...props
|
|
37
|
+
}));
|
|
38
|
+
ContextMenuArrow.displayName = "ContextMenuArrow";
|
|
39
|
+
var itemClasses = "relative flex cursor-default items-center gap-2 rounded-sm px-3 py-1.5 text-sm text-kraft select-none outline-none " + "data-highlighted:bg-canvas/60 data-popup-open:bg-canvas/40 " + "data-disabled:pointer-events-none data-disabled:opacity-50";
|
|
40
|
+
var ContextMenuItem = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenu.Item, {
|
|
41
|
+
ref,
|
|
42
|
+
className: cn(itemClasses, className),
|
|
43
|
+
...props
|
|
44
|
+
}));
|
|
45
|
+
ContextMenuItem.displayName = "ContextMenuItem";
|
|
46
|
+
var ContextMenuLinkItem = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenu.LinkItem, {
|
|
47
|
+
ref,
|
|
48
|
+
className: cn(itemClasses, "no-underline", className),
|
|
49
|
+
...props
|
|
50
|
+
}));
|
|
51
|
+
ContextMenuLinkItem.displayName = "ContextMenuLinkItem";
|
|
52
|
+
var ContextMenuSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenu.Separator, {
|
|
53
|
+
ref,
|
|
54
|
+
className: cn("my-1 h-px bg-kraft/10", className),
|
|
55
|
+
...props
|
|
56
|
+
}));
|
|
57
|
+
ContextMenuSeparator.displayName = "ContextMenuSeparator";
|
|
58
|
+
var ContextMenuGroupLabel = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenu.GroupLabel, {
|
|
59
|
+
ref,
|
|
60
|
+
className: cn("px-3 py-1 text-xs font-semibold tracking-wide text-kraft/50", className),
|
|
61
|
+
...props
|
|
62
|
+
}));
|
|
63
|
+
ContextMenuGroupLabel.displayName = "ContextMenuGroupLabel";
|
|
64
|
+
var ContextMenuRadioItem = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenu.RadioItem, {
|
|
65
|
+
ref,
|
|
66
|
+
className: cn(itemClasses, "pl-8", className),
|
|
67
|
+
...props
|
|
68
|
+
}));
|
|
69
|
+
ContextMenuRadioItem.displayName = "ContextMenuRadioItem";
|
|
70
|
+
var ContextMenuRadioItemIndicator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenu.RadioItemIndicator, {
|
|
71
|
+
ref,
|
|
72
|
+
className: cn("absolute left-2 flex size-4 items-center justify-center", className),
|
|
73
|
+
...props
|
|
74
|
+
}));
|
|
75
|
+
ContextMenuRadioItemIndicator.displayName = "ContextMenuRadioItemIndicator";
|
|
76
|
+
var ContextMenuCheckboxItem = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenu.CheckboxItem, {
|
|
77
|
+
ref,
|
|
78
|
+
className: cn(itemClasses, "pl-8", className),
|
|
79
|
+
...props
|
|
80
|
+
}));
|
|
81
|
+
ContextMenuCheckboxItem.displayName = "ContextMenuCheckboxItem";
|
|
82
|
+
var ContextMenuCheckboxItemIndicator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenu.CheckboxItemIndicator, {
|
|
83
|
+
ref,
|
|
84
|
+
className: cn("absolute left-2 flex size-4 items-center justify-center", className),
|
|
85
|
+
...props
|
|
86
|
+
}));
|
|
87
|
+
ContextMenuCheckboxItemIndicator.displayName = "ContextMenuCheckboxItemIndicator";
|
|
88
|
+
var ContextMenuSubmenuTrigger = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenu.SubmenuTrigger, {
|
|
89
|
+
ref,
|
|
90
|
+
className: cn(itemClasses, "justify-between", className),
|
|
91
|
+
...props
|
|
92
|
+
}));
|
|
93
|
+
ContextMenuSubmenuTrigger.displayName = "ContextMenuSubmenuTrigger";
|
|
94
|
+
export {
|
|
95
|
+
ContextMenuTrigger,
|
|
96
|
+
ContextMenuSubmenuTrigger,
|
|
97
|
+
ContextMenuSubmenuRoot,
|
|
98
|
+
ContextMenuSeparator,
|
|
99
|
+
ContextMenuRoot,
|
|
100
|
+
ContextMenuRadioItemIndicator,
|
|
101
|
+
ContextMenuRadioItem,
|
|
102
|
+
ContextMenuRadioGroup,
|
|
103
|
+
ContextMenuPositioner,
|
|
104
|
+
ContextMenuPortal,
|
|
105
|
+
ContextMenuPopup,
|
|
106
|
+
ContextMenuLinkItem,
|
|
107
|
+
ContextMenuItem,
|
|
108
|
+
ContextMenuGroupLabel,
|
|
109
|
+
ContextMenuGroup,
|
|
110
|
+
ContextMenuCheckboxItemIndicator,
|
|
111
|
+
ContextMenuCheckboxItem,
|
|
112
|
+
ContextMenuBackdrop,
|
|
113
|
+
ContextMenuArrow
|
|
114
|
+
};
|
|
115
|
+
export { ContextMenuRoot, ContextMenuPortal, ContextMenuBackdrop, ContextMenuGroup, ContextMenuRadioGroup, ContextMenuSubmenuRoot, ContextMenuTrigger, ContextMenuPositioner, ContextMenuPopup, ContextMenuArrow, ContextMenuItem, ContextMenuLinkItem, ContextMenuSeparator, ContextMenuGroupLabel, ContextMenuRadioItem, ContextMenuRadioItemIndicator, ContextMenuCheckboxItem, ContextMenuCheckboxItemIndicator, ContextMenuSubmenuTrigger };
|
|
116
|
+
|
|
117
|
+
//# debugId=538137E8ADC8ED9364756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/components/ContextMenu/ContextMenu.tsx"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import * as React from 'react';\nimport { ContextMenu } from '@base-ui/react/context-menu';\nimport { cn } from '../../utils/cn';\n\n// Pass-throughs\nexport const ContextMenuRoot = ContextMenu.Root;\nexport const ContextMenuPortal = ContextMenu.Portal;\nexport const ContextMenuBackdrop = ContextMenu.Backdrop;\nexport const ContextMenuGroup = ContextMenu.Group;\nexport const ContextMenuRadioGroup = ContextMenu.RadioGroup;\nexport const ContextMenuSubmenuRoot = ContextMenu.SubmenuRoot;\n\n// Styled parts\n\nexport const ContextMenuTrigger = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ContextMenu.Trigger>\n>(({ className, ...props }, ref) => (\n <ContextMenu.Trigger\n ref={ref}\n className={cn('select-none', className)}\n {...props}\n />\n));\nContextMenuTrigger.displayName = 'ContextMenuTrigger';\n\nexport const ContextMenuPositioner = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ContextMenu.Positioner>\n>(({ className, ...props }, ref) => (\n <ContextMenu.Positioner\n ref={ref}\n className={cn('outline-none', className)}\n {...props}\n />\n));\nContextMenuPositioner.displayName = 'ContextMenuPositioner';\n\nexport const ContextMenuPopup = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ContextMenu.Popup>\n>(({ className, ...props }, ref) => (\n <ContextMenu.Popup\n ref={ref}\n className={cn(\n 'min-w-[8rem] rounded-lg border border-kraft/15 bg-surface p-1 shadow-md',\n 'transition-opacity duration-150',\n 'data-starting-style:opacity-0 data-ending-style:opacity-0',\n className\n )}\n {...props}\n />\n));\nContextMenuPopup.displayName = 'ContextMenuPopup';\n\nexport const ContextMenuArrow = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ContextMenu.Arrow>\n>(({ className, ...props }, ref) => (\n <ContextMenu.Arrow\n ref={ref}\n className={cn(\n 'flex text-kraft/15',\n 'data-[side=top]:bottom-[-8px] data-[side=top]:rotate-180',\n 'data-[side=bottom]:top-[-8px]',\n 'data-[side=left]:right-[-13px] data-[side=left]:rotate-90',\n 'data-[side=right]:left-[-13px] data-[side=right]:-rotate-90',\n className\n )}\n {...props}\n />\n));\nContextMenuArrow.displayName = 'ContextMenuArrow';\n\nconst itemClasses =\n 'relative flex cursor-default items-center gap-2 rounded-sm px-3 py-1.5 text-sm text-kraft select-none outline-none ' +\n 'data-highlighted:bg-canvas/60 data-popup-open:bg-canvas/40 ' +\n 'data-disabled:pointer-events-none data-disabled:opacity-50';\n\nexport const ContextMenuItem = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ContextMenu.Item>\n>(({ className, ...props }, ref) => (\n <ContextMenu.Item\n ref={ref}\n className={cn(itemClasses, className)}\n {...props}\n />\n));\nContextMenuItem.displayName = 'ContextMenuItem';\n\nexport const ContextMenuLinkItem = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentPropsWithoutRef<typeof ContextMenu.LinkItem>\n>(({ className, ...props }, ref) => (\n <ContextMenu.LinkItem\n ref={ref}\n className={cn(itemClasses, 'no-underline', className)}\n {...props}\n />\n));\nContextMenuLinkItem.displayName = 'ContextMenuLinkItem';\n\nexport const ContextMenuSeparator = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ContextMenu.Separator>\n>(({ className, ...props }, ref) => (\n <ContextMenu.Separator\n ref={ref}\n className={cn('my-1 h-px bg-kraft/10', className)}\n {...props}\n />\n));\nContextMenuSeparator.displayName = 'ContextMenuSeparator';\n\nexport const ContextMenuGroupLabel = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ContextMenu.GroupLabel>\n>(({ className, ...props }, ref) => (\n <ContextMenu.GroupLabel\n ref={ref}\n className={cn(\n 'px-3 py-1 text-xs font-semibold tracking-wide text-kraft/50',\n className\n )}\n {...props}\n />\n));\nContextMenuGroupLabel.displayName = 'ContextMenuGroupLabel';\n\nexport const ContextMenuRadioItem = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ContextMenu.RadioItem>\n>(({ className, ...props }, ref) => (\n <ContextMenu.RadioItem\n ref={ref}\n className={cn(itemClasses, 'pl-8', className)}\n {...props}\n />\n));\nContextMenuRadioItem.displayName = 'ContextMenuRadioItem';\n\nexport const ContextMenuRadioItemIndicator = React.forwardRef<\n HTMLSpanElement,\n React.ComponentPropsWithoutRef<typeof ContextMenu.RadioItemIndicator>\n>(({ className, ...props }, ref) => (\n <ContextMenu.RadioItemIndicator\n ref={ref}\n className={cn(\n 'absolute left-2 flex size-4 items-center justify-center',\n className\n )}\n {...props}\n />\n));\nContextMenuRadioItemIndicator.displayName = 'ContextMenuRadioItemIndicator';\n\nexport const ContextMenuCheckboxItem = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ContextMenu.CheckboxItem>\n>(({ className, ...props }, ref) => (\n <ContextMenu.CheckboxItem\n ref={ref}\n className={cn(itemClasses, 'pl-8', className)}\n {...props}\n />\n));\nContextMenuCheckboxItem.displayName = 'ContextMenuCheckboxItem';\n\nexport const ContextMenuCheckboxItemIndicator = React.forwardRef<\n HTMLSpanElement,\n React.ComponentPropsWithoutRef<typeof ContextMenu.CheckboxItemIndicator>\n>(({ className, ...props }, ref) => (\n <ContextMenu.CheckboxItemIndicator\n ref={ref}\n className={cn(\n 'absolute left-2 flex size-4 items-center justify-center',\n className\n )}\n {...props}\n />\n));\nContextMenuCheckboxItemIndicator.displayName =\n 'ContextMenuCheckboxItemIndicator';\n\nexport const ContextMenuSubmenuTrigger = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ContextMenu.SubmenuTrigger>\n>(({ className, ...props }, ref) => (\n <ContextMenu.SubmenuTrigger\n ref={ref}\n className={cn(itemClasses, 'justify-between', className)}\n {...props}\n />\n));\nContextMenuSubmenuTrigger.displayName = 'ContextMenuSubmenuTrigger';\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": ";;;;;AAAA;AACA;;AAIO,IAAM,kBAAkB,YAAY;AACpC,IAAM,oBAAoB,YAAY;AACtC,IAAM,sBAAsB,YAAY;AACxC,IAAM,mBAAmB,YAAY;AACrC,IAAM,wBAAwB,YAAY;AAC1C,IAAM,yBAAyB,YAAY;AAI3C,IAAM,qBAA2B,iBAGtC,GAAG,cAAc,SAAS,wBACxB,IAAC,YAAY,SAAb;AAAA,EACI;AAAA,EACA,WAAW,GAAG,eAAe,SAAS;AAAA,KAClC;AAAA,CACR,CACH;AACD,mBAAmB,cAAc;AAE1B,IAAM,wBAA8B,iBAGzC,GAAG,cAAc,SAAS,wBACxB,IAAC,YAAY,YAAb;AAAA,EACI;AAAA,EACA,WAAW,GAAG,gBAAgB,SAAS;AAAA,KACnC;AAAA,CACR,CACH;AACD,sBAAsB,cAAc;AAE7B,IAAM,mBAAyB,iBAGpC,GAAG,cAAc,SAAS,wBACxB,IAAC,YAAY,OAAb;AAAA,EACI;AAAA,EACA,WAAW,GACP,2EACA,mCACA,6DACA,SACJ;AAAA,KACI;AAAA,CACR,CACH;AACD,iBAAiB,cAAc;AAExB,IAAM,mBAAyB,iBAGpC,GAAG,cAAc,SAAS,wBACxB,IAAC,YAAY,OAAb;AAAA,EACI;AAAA,EACA,WAAW,GACP,sBACA,4DACA,iCACA,6DACA,+DACA,SACJ;AAAA,KACI;AAAA,CACR,CACH;AACD,iBAAiB,cAAc;AAE/B,IAAM,cACF,wHACA,gEACA;AAEG,IAAM,kBAAwB,iBAGnC,GAAG,cAAc,SAAS,wBACxB,IAAC,YAAY,MAAb;AAAA,EACI;AAAA,EACA,WAAW,GAAG,aAAa,SAAS;AAAA,KAChC;AAAA,CACR,CACH;AACD,gBAAgB,cAAc;AAEvB,IAAM,sBAA4B,iBAGvC,GAAG,cAAc,SAAS,wBACxB,IAAC,YAAY,UAAb;AAAA,EACI;AAAA,EACA,WAAW,GAAG,aAAa,gBAAgB,SAAS;AAAA,KAChD;AAAA,CACR,CACH;AACD,oBAAoB,cAAc;AAE3B,IAAM,uBAA6B,iBAGxC,GAAG,cAAc,SAAS,wBACxB,IAAC,YAAY,WAAb;AAAA,EACI;AAAA,EACA,WAAW,GAAG,yBAAyB,SAAS;AAAA,KAC5C;AAAA,CACR,CACH;AACD,qBAAqB,cAAc;AAE5B,IAAM,wBAA8B,iBAGzC,GAAG,cAAc,SAAS,wBACxB,IAAC,YAAY,YAAb;AAAA,EACI;AAAA,EACA,WAAW,GACP,+DACA,SACJ;AAAA,KACI;AAAA,CACR,CACH;AACD,sBAAsB,cAAc;AAE7B,IAAM,uBAA6B,iBAGxC,GAAG,cAAc,SAAS,wBACxB,IAAC,YAAY,WAAb;AAAA,EACI;AAAA,EACA,WAAW,GAAG,aAAa,QAAQ,SAAS;AAAA,KACxC;AAAA,CACR,CACH;AACD,qBAAqB,cAAc;AAE5B,IAAM,gCAAsC,iBAGjD,GAAG,cAAc,SAAS,wBACxB,IAAC,YAAY,oBAAb;AAAA,EACI;AAAA,EACA,WAAW,GACP,2DACA,SACJ;AAAA,KACI;AAAA,CACR,CACH;AACD,8BAA8B,cAAc;AAErC,IAAM,0BAAgC,iBAG3C,GAAG,cAAc,SAAS,wBACxB,IAAC,YAAY,cAAb;AAAA,EACI;AAAA,EACA,WAAW,GAAG,aAAa,QAAQ,SAAS;AAAA,KACxC;AAAA,CACR,CACH;AACD,wBAAwB,cAAc;AAE/B,IAAM,mCAAyC,iBAGpD,GAAG,cAAc,SAAS,wBACxB,IAAC,YAAY,uBAAb;AAAA,EACI;AAAA,EACA,WAAW,GACP,2DACA,SACJ;AAAA,KACI;AAAA,CACR,CACH;AACD,iCAAiC,cAC7B;AAEG,IAAM,4BAAkC,iBAG7C,GAAG,cAAc,SAAS,wBACxB,IAAC,YAAY,gBAAb;AAAA,EACI;AAAA,EACA,WAAW,GAAG,aAAa,mBAAmB,SAAS;AAAA,KACnD;AAAA,CACR,CACH;AACD,0BAA0B,cAAc;",
|
|
8
|
+
"debugId": "538137E8ADC8ED9364756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Dialog as BaseDialog } from '@base-ui/react/dialog';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export declare const DialogRoot: typeof BaseDialog.Root;
|
|
4
|
+
export declare const DialogPortal: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").DialogPortalProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
5
|
+
export declare const DialogBackdrop: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DialogBackdropProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
+
export declare const DialogViewport: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DialogViewportProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
7
|
+
export declare const DialogPopup: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DialogPopupProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
8
|
+
export declare const DialogTitle: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DialogTitleProps, "ref"> & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
9
|
+
export declare const DialogDescription: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DialogDescriptionProps, "ref"> & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
10
|
+
export declare const DialogClose: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DialogCloseProps, "ref"> & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
11
|
+
export declare const DialogTrigger: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").DialogTriggerProps<unknown> & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
declare const meta: {
|
|
3
|
+
title: string;
|
|
4
|
+
tags: string[];
|
|
5
|
+
};
|
|
6
|
+
export default meta;
|
|
7
|
+
export declare const Default: StoryObj;
|
|
8
|
+
export declare const WithCustomContent: StoryObj;
|
|
9
|
+
export declare const DestructiveAction: StoryObj;
|
|
10
|
+
export declare const Nested: StoryObj;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DialogRoot, DialogPortal, DialogBackdrop, DialogViewport, DialogPopup, DialogTitle, DialogDescription, DialogClose, DialogTrigger } from './Dialog';
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cn
|
|
3
|
+
} from "../../utils/cn.js";
|
|
4
|
+
|
|
5
|
+
// src/components/Dialog/Dialog.tsx
|
|
6
|
+
import { Dialog as BaseDialog } from "@base-ui/react/dialog";
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
var DialogRoot = BaseDialog.Root;
|
|
10
|
+
var DialogPortal = BaseDialog.Portal;
|
|
11
|
+
var DialogBackdrop = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseDialog.Backdrop, {
|
|
12
|
+
ref,
|
|
13
|
+
className: cn("fixed inset-0 z-50 min-h-dvh bg-black/40 transition-all duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-[-webkit-touch-callout:none]:absolute", className),
|
|
14
|
+
...props
|
|
15
|
+
}));
|
|
16
|
+
DialogBackdrop.displayName = "DialogBackdrop";
|
|
17
|
+
var DialogViewport = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseDialog.Viewport, {
|
|
18
|
+
ref,
|
|
19
|
+
className: cn("fixed inset-0 z-50 flex items-center justify-center p-4", className),
|
|
20
|
+
...props
|
|
21
|
+
}));
|
|
22
|
+
DialogViewport.displayName = "DialogViewport";
|
|
23
|
+
var DialogPopup = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseDialog.Popup, {
|
|
24
|
+
ref,
|
|
25
|
+
className: cn("w-full max-w-md rounded-xl border border-kraft/12 bg-surface p-6 text-kraft shadow-xl transition-all duration-150 data-ending-style:scale-95 data-ending-style:opacity-0 data-starting-style:scale-95 data-starting-style:opacity-0", className),
|
|
26
|
+
...props
|
|
27
|
+
}));
|
|
28
|
+
DialogPopup.displayName = "DialogPopup";
|
|
29
|
+
var DialogTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseDialog.Title, {
|
|
30
|
+
ref,
|
|
31
|
+
className: cn("mb-1 text-lg font-semibold text-kraft", className),
|
|
32
|
+
...props
|
|
33
|
+
}));
|
|
34
|
+
DialogTitle.displayName = "DialogTitle";
|
|
35
|
+
var DialogDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseDialog.Description, {
|
|
36
|
+
ref,
|
|
37
|
+
className: cn("mb-6 text-sm text-kraft/60", className),
|
|
38
|
+
...props
|
|
39
|
+
}));
|
|
40
|
+
DialogDescription.displayName = "DialogDescription";
|
|
41
|
+
var DialogClose = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseDialog.Close, {
|
|
42
|
+
ref,
|
|
43
|
+
className: cn("inline-flex h-9 items-center justify-center rounded-lg border border-kraft/25 bg-surface px-4 text-sm font-medium text-kraft transition-colors select-none hover:bg-canvas focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ribbon focus-visible:ring-offset-2", className),
|
|
44
|
+
...props
|
|
45
|
+
}));
|
|
46
|
+
DialogClose.displayName = "DialogClose";
|
|
47
|
+
var DialogTrigger = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseDialog.Trigger, {
|
|
48
|
+
ref,
|
|
49
|
+
className: cn("inline-flex h-9 items-center justify-center rounded-lg border border-kraft/25 bg-surface px-4 text-sm font-medium text-kraft transition-colors select-none hover:bg-canvas focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ribbon focus-visible:ring-offset-2", className),
|
|
50
|
+
...props
|
|
51
|
+
}));
|
|
52
|
+
DialogTrigger.displayName = "DialogTrigger";
|
|
53
|
+
export {
|
|
54
|
+
DialogViewport,
|
|
55
|
+
DialogTrigger,
|
|
56
|
+
DialogTitle,
|
|
57
|
+
DialogRoot,
|
|
58
|
+
DialogPortal,
|
|
59
|
+
DialogPopup,
|
|
60
|
+
DialogDescription,
|
|
61
|
+
DialogClose,
|
|
62
|
+
DialogBackdrop
|
|
63
|
+
};
|
|
64
|
+
export { DialogRoot, DialogPortal, DialogBackdrop, DialogViewport, DialogPopup, DialogTitle, DialogDescription, DialogClose, DialogTrigger };
|
|
65
|
+
|
|
66
|
+
//# debugId=853E2C0328B9ABA864756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/components/Dialog/Dialog.tsx"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import { Dialog as BaseDialog } from '@base-ui/react/dialog';\nimport React from 'react';\nimport { cn } from '../../utils/cn';\n\nexport const DialogRoot = BaseDialog.Root;\nexport const DialogPortal = BaseDialog.Portal;\n\nexport const DialogBackdrop = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof BaseDialog.Backdrop>\n>(({ className, ...props }, ref) => (\n <BaseDialog.Backdrop\n ref={ref}\n className={cn(\n 'fixed inset-0 z-50 min-h-dvh bg-black/40 transition-all duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-[-webkit-touch-callout:none]:absolute',\n className\n )}\n {...props}\n />\n));\nDialogBackdrop.displayName = 'DialogBackdrop';\n\nexport const DialogViewport = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof BaseDialog.Viewport>\n>(({ className, ...props }, ref) => (\n <BaseDialog.Viewport\n ref={ref}\n className={cn(\n 'fixed inset-0 z-50 flex items-center justify-center p-4',\n className\n )}\n {...props}\n />\n));\nDialogViewport.displayName = 'DialogViewport';\n\nexport const DialogPopup = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof BaseDialog.Popup>\n>(({ className, ...props }, ref) => (\n <BaseDialog.Popup\n ref={ref}\n className={cn(\n 'w-full max-w-md rounded-xl border border-kraft/12 bg-surface p-6 text-kraft shadow-xl transition-all duration-150 data-ending-style:scale-95 data-ending-style:opacity-0 data-starting-style:scale-95 data-starting-style:opacity-0',\n className\n )}\n {...props}\n />\n));\nDialogPopup.displayName = 'DialogPopup';\n\nexport const DialogTitle = React.forwardRef<\n HTMLHeadingElement,\n React.ComponentPropsWithoutRef<typeof BaseDialog.Title>\n>(({ className, ...props }, ref) => (\n <BaseDialog.Title\n ref={ref}\n className={cn('mb-1 text-lg font-semibold text-kraft', className)}\n {...props}\n />\n));\nDialogTitle.displayName = 'DialogTitle';\n\nexport const DialogDescription = React.forwardRef<\n HTMLParagraphElement,\n React.ComponentPropsWithoutRef<typeof BaseDialog.Description>\n>(({ className, ...props }, ref) => (\n <BaseDialog.Description\n ref={ref}\n className={cn('mb-6 text-sm text-kraft/60', className)}\n {...props}\n />\n));\nDialogDescription.displayName = 'DialogDescription';\n\nexport const DialogClose = React.forwardRef<\n HTMLButtonElement,\n React.ComponentPropsWithoutRef<typeof BaseDialog.Close>\n>(({ className, ...props }, ref) => (\n <BaseDialog.Close\n ref={ref}\n className={cn(\n 'inline-flex h-9 items-center justify-center rounded-lg border border-kraft/25 bg-surface px-4 text-sm font-medium text-kraft transition-colors select-none hover:bg-canvas focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ribbon focus-visible:ring-offset-2',\n className\n )}\n {...props}\n />\n));\nDialogClose.displayName = 'DialogClose';\n\nexport const DialogTrigger = React.forwardRef<\n HTMLButtonElement,\n React.ComponentPropsWithoutRef<typeof BaseDialog.Trigger>\n>(({ className, ...props }, ref) => (\n <BaseDialog.Trigger\n ref={ref}\n className={cn(\n 'inline-flex h-9 items-center justify-center rounded-lg border border-kraft/25 bg-surface px-4 text-sm font-medium text-kraft transition-colors select-none hover:bg-canvas focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ribbon focus-visible:ring-offset-2',\n className\n )}\n {...props}\n />\n));\nDialogTrigger.displayName = 'DialogTrigger';\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": ";;;;;AAAA,mBAAS;AACT;;AAGO,IAAM,aAAa,WAAW;AAC9B,IAAM,eAAe,WAAW;AAEhC,IAAM,iBAAiB,MAAM,WAGlC,GAAG,cAAc,SAAS,wBACxB,IAAC,WAAW,UAAZ;AAAA,EACI;AAAA,EACA,WAAW,GACP,iLACA,SACJ;AAAA,KACI;AAAA,CACR,CACH;AACD,eAAe,cAAc;AAEtB,IAAM,iBAAiB,MAAM,WAGlC,GAAG,cAAc,SAAS,wBACxB,IAAC,WAAW,UAAZ;AAAA,EACI;AAAA,EACA,WAAW,GACP,2DACA,SACJ;AAAA,KACI;AAAA,CACR,CACH;AACD,eAAe,cAAc;AAEtB,IAAM,cAAc,MAAM,WAG/B,GAAG,cAAc,SAAS,wBACxB,IAAC,WAAW,OAAZ;AAAA,EACI;AAAA,EACA,WAAW,GACP,uOACA,SACJ;AAAA,KACI;AAAA,CACR,CACH;AACD,YAAY,cAAc;AAEnB,IAAM,cAAc,MAAM,WAG/B,GAAG,cAAc,SAAS,wBACxB,IAAC,WAAW,OAAZ;AAAA,EACI;AAAA,EACA,WAAW,GAAG,yCAAyC,SAAS;AAAA,KAC5D;AAAA,CACR,CACH;AACD,YAAY,cAAc;AAEnB,IAAM,oBAAoB,MAAM,WAGrC,GAAG,cAAc,SAAS,wBACxB,IAAC,WAAW,aAAZ;AAAA,EACI;AAAA,EACA,WAAW,GAAG,8BAA8B,SAAS;AAAA,KACjD;AAAA,CACR,CACH;AACD,kBAAkB,cAAc;AAEzB,IAAM,cAAc,MAAM,WAG/B,GAAG,cAAc,SAAS,wBACxB,IAAC,WAAW,OAAZ;AAAA,EACI;AAAA,EACA,WAAW,GACP,oRACA,SACJ;AAAA,KACI;AAAA,CACR,CACH;AACD,YAAY,cAAc;AAEnB,IAAM,gBAAgB,MAAM,WAGjC,GAAG,cAAc,SAAS,wBACxB,IAAC,WAAW,SAAZ;AAAA,EACI;AAAA,EACA,WAAW,GACP,oRACA,SACJ;AAAA,KACI;AAAA,CACR,CACH;AACD,cAAc,cAAc;",
|
|
8
|
+
"debugId": "853E2C0328B9ABA864756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Drawer as BaseDrawer } from '@base-ui/react/drawer';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export declare const DrawerRoot: typeof BaseDrawer.Root;
|
|
4
|
+
export declare const DrawerPortal: BaseDrawer.Portal;
|
|
5
|
+
export declare const DrawerTrigger: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").DrawerTriggerProps<unknown> & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
6
|
+
export declare const DrawerBackdrop: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DrawerBackdropProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
7
|
+
export declare const DrawerViewport: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DrawerViewportProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
8
|
+
export declare const DrawerPopup: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DrawerPopupProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const DrawerContent: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DrawerContentProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const DrawerHandle: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
export declare const DrawerTitle: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").DrawerTitleProps, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
12
|
+
export declare const DrawerDescription: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").DrawerDescriptionProps, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
13
|
+
export declare const DrawerClose: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").DrawerCloseProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
declare const meta: {
|
|
3
|
+
title: string;
|
|
4
|
+
tags: string[];
|
|
5
|
+
};
|
|
6
|
+
export default meta;
|
|
7
|
+
export declare const Default: StoryObj;
|
|
8
|
+
export declare const RightSide: StoryObj;
|
|
9
|
+
export declare const WithActions: StoryObj;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DrawerRoot, DrawerPortal, DrawerTrigger, DrawerBackdrop, DrawerViewport, DrawerPopup, DrawerContent, DrawerHandle, DrawerTitle, DrawerDescription, DrawerClose } from './Drawer';
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cn
|
|
3
|
+
} from "../../utils/cn.js";
|
|
4
|
+
|
|
5
|
+
// src/components/Drawer/Drawer.tsx
|
|
6
|
+
import { Drawer as BaseDrawer } from "@base-ui/react/drawer";
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
var DrawerRoot = BaseDrawer.Root;
|
|
10
|
+
var DrawerPortal = BaseDrawer.Portal;
|
|
11
|
+
var DrawerTrigger = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseDrawer.Trigger, {
|
|
12
|
+
ref,
|
|
13
|
+
className: cn("inline-flex h-9 items-center justify-center rounded-lg border border-kraft/25 bg-surface px-4 text-sm font-medium text-kraft transition-colors select-none hover:bg-canvas focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ribbon focus-visible:ring-offset-2", className),
|
|
14
|
+
...props
|
|
15
|
+
}));
|
|
16
|
+
DrawerTrigger.displayName = "DrawerTrigger";
|
|
17
|
+
var DrawerBackdrop = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseDrawer.Backdrop, {
|
|
18
|
+
ref,
|
|
19
|
+
className: cn("fixed inset-0 min-h-dvh bg-black opacity-[calc(0.4*(1-var(--drawer-swipe-progress)))] transition-opacity duration-[450ms]", className),
|
|
20
|
+
...props
|
|
21
|
+
}));
|
|
22
|
+
DrawerBackdrop.displayName = "DrawerBackdrop";
|
|
23
|
+
var DrawerViewport = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseDrawer.Viewport, {
|
|
24
|
+
ref,
|
|
25
|
+
className: cn("fixed inset-0 flex items-end justify-center", className),
|
|
26
|
+
...props
|
|
27
|
+
}));
|
|
28
|
+
DrawerViewport.displayName = "DrawerViewport";
|
|
29
|
+
var DrawerPopup = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseDrawer.Popup, {
|
|
30
|
+
ref,
|
|
31
|
+
className: cn("box-border w-full max-h-[85vh] -mb-12 overflow-y-auto overscroll-contain rounded-t-2xl border border-b-0 border-kraft/10 bg-surface px-6 pb-[calc(3rem+env(safe-area-inset-bottom,0px))] pt-4 text-kraft shadow-2xl transition-transform duration-[450ms] ease-[cubic-bezier(0.32,0.72,0,1)] [transform:translateY(var(--drawer-swipe-movement-y))] data-swiping:select-none data-ending-style:[transform:translateY(calc(100%-3rem))] data-starting-style:[transform:translateY(calc(100%-3rem))] data-ending-style:duration-[calc(var(--drawer-swipe-strength)*400ms)]", className),
|
|
32
|
+
...props
|
|
33
|
+
}));
|
|
34
|
+
DrawerPopup.displayName = "DrawerPopup";
|
|
35
|
+
var DrawerContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseDrawer.Content, {
|
|
36
|
+
ref,
|
|
37
|
+
className: cn("mx-auto w-full max-w-lg", className),
|
|
38
|
+
...props
|
|
39
|
+
}));
|
|
40
|
+
DrawerContent.displayName = "DrawerContent";
|
|
41
|
+
var DrawerHandle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", {
|
|
42
|
+
ref,
|
|
43
|
+
"aria-hidden": true,
|
|
44
|
+
className: cn("mx-auto mb-4 h-1 w-12 rounded-full bg-kraft/15", className),
|
|
45
|
+
...props
|
|
46
|
+
}));
|
|
47
|
+
DrawerHandle.displayName = "DrawerHandle";
|
|
48
|
+
var DrawerTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseDrawer.Title, {
|
|
49
|
+
ref,
|
|
50
|
+
className: cn("mb-1 text-lg font-semibold text-kraft", className),
|
|
51
|
+
...props
|
|
52
|
+
}));
|
|
53
|
+
DrawerTitle.displayName = "DrawerTitle";
|
|
54
|
+
var DrawerDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseDrawer.Description, {
|
|
55
|
+
ref,
|
|
56
|
+
className: cn("mb-6 text-sm text-kraft/60", className),
|
|
57
|
+
...props
|
|
58
|
+
}));
|
|
59
|
+
DrawerDescription.displayName = "DrawerDescription";
|
|
60
|
+
var DrawerClose = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseDrawer.Close, {
|
|
61
|
+
ref,
|
|
62
|
+
className: cn("inline-flex h-9 items-center justify-center rounded-lg border border-kraft/25 bg-surface px-4 text-sm font-medium text-kraft transition-colors select-none hover:bg-canvas focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ribbon focus-visible:ring-offset-2", className),
|
|
63
|
+
...props
|
|
64
|
+
}));
|
|
65
|
+
DrawerClose.displayName = "DrawerClose";
|
|
66
|
+
export {
|
|
67
|
+
DrawerViewport,
|
|
68
|
+
DrawerTrigger,
|
|
69
|
+
DrawerTitle,
|
|
70
|
+
DrawerRoot,
|
|
71
|
+
DrawerPortal,
|
|
72
|
+
DrawerPopup,
|
|
73
|
+
DrawerHandle,
|
|
74
|
+
DrawerDescription,
|
|
75
|
+
DrawerContent,
|
|
76
|
+
DrawerClose,
|
|
77
|
+
DrawerBackdrop
|
|
78
|
+
};
|
|
79
|
+
export { DrawerRoot, DrawerPortal, DrawerTrigger, DrawerBackdrop, DrawerViewport, DrawerPopup, DrawerContent, DrawerHandle, DrawerTitle, DrawerDescription, DrawerClose };
|
|
80
|
+
|
|
81
|
+
//# debugId=8DBAF08403CEF58364756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/components/Drawer/Drawer.tsx"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import { Drawer as BaseDrawer } from '@base-ui/react/drawer';\nimport React from 'react';\nimport { cn } from '../../utils/cn';\n\nexport const DrawerRoot = BaseDrawer.Root;\nexport const DrawerPortal = BaseDrawer.Portal;\n\nexport const DrawerTrigger = React.forwardRef<\n HTMLButtonElement,\n React.ComponentPropsWithoutRef<typeof BaseDrawer.Trigger>\n>(({ className, ...props }, ref) => (\n <BaseDrawer.Trigger\n ref={ref}\n className={cn(\n 'inline-flex h-9 items-center justify-center rounded-lg border border-kraft/25 bg-surface px-4 text-sm font-medium text-kraft transition-colors select-none hover:bg-canvas focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ribbon focus-visible:ring-offset-2',\n className\n )}\n {...props}\n />\n));\nDrawerTrigger.displayName = 'DrawerTrigger';\n\nexport const DrawerBackdrop = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof BaseDrawer.Backdrop>\n>(({ className, ...props }, ref) => (\n <BaseDrawer.Backdrop\n ref={ref}\n className={cn(\n 'fixed inset-0 min-h-dvh bg-black opacity-[calc(0.4*(1-var(--drawer-swipe-progress)))] transition-opacity duration-[450ms]',\n className\n )}\n {...props}\n />\n));\nDrawerBackdrop.displayName = 'DrawerBackdrop';\n\n// Bottom-sheet layout by default; override className for side drawers\nexport const DrawerViewport = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof BaseDrawer.Viewport>\n>(({ className, ...props }, ref) => (\n <BaseDrawer.Viewport\n ref={ref}\n className={cn('fixed inset-0 flex items-end justify-center', className)}\n {...props}\n />\n));\nDrawerViewport.displayName = 'DrawerViewport';\n\nexport const DrawerPopup = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof BaseDrawer.Popup>\n>(({ className, ...props }, ref) => (\n <BaseDrawer.Popup\n ref={ref}\n className={cn(\n 'box-border w-full max-h-[85vh] -mb-12 overflow-y-auto overscroll-contain rounded-t-2xl border border-b-0 border-kraft/10 bg-surface px-6 pb-[calc(3rem+env(safe-area-inset-bottom,0px))] pt-4 text-kraft shadow-2xl transition-transform duration-[450ms] ease-[cubic-bezier(0.32,0.72,0,1)] [transform:translateY(var(--drawer-swipe-movement-y))] data-swiping:select-none data-ending-style:[transform:translateY(calc(100%-3rem))] data-starting-style:[transform:translateY(calc(100%-3rem))] data-ending-style:duration-[calc(var(--drawer-swipe-strength)*400ms)]',\n className\n )}\n {...props}\n />\n));\nDrawerPopup.displayName = 'DrawerPopup';\n\nexport const DrawerContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof BaseDrawer.Content>\n>(({ className, ...props }, ref) => (\n <BaseDrawer.Content\n ref={ref}\n className={cn('mx-auto w-full max-w-lg', className)}\n {...props}\n />\n));\nDrawerContent.displayName = 'DrawerContent';\n\nexport const DrawerHandle = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<'div'>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n aria-hidden\n className={cn(\n 'mx-auto mb-4 h-1 w-12 rounded-full bg-kraft/15',\n className\n )}\n {...props}\n />\n));\nDrawerHandle.displayName = 'DrawerHandle';\n\nexport const DrawerTitle = React.forwardRef<\n HTMLHeadingElement,\n React.ComponentPropsWithoutRef<typeof BaseDrawer.Title>\n>(({ className, ...props }, ref) => (\n <BaseDrawer.Title\n ref={ref}\n className={cn('mb-1 text-lg font-semibold text-kraft', className)}\n {...props}\n />\n));\nDrawerTitle.displayName = 'DrawerTitle';\n\nexport const DrawerDescription = React.forwardRef<\n HTMLParagraphElement,\n React.ComponentPropsWithoutRef<typeof BaseDrawer.Description>\n>(({ className, ...props }, ref) => (\n <BaseDrawer.Description\n ref={ref}\n className={cn('mb-6 text-sm text-kraft/60', className)}\n {...props}\n />\n));\nDrawerDescription.displayName = 'DrawerDescription';\n\nexport const DrawerClose = React.forwardRef<\n HTMLButtonElement,\n React.ComponentPropsWithoutRef<typeof BaseDrawer.Close>\n>(({ className, ...props }, ref) => (\n <BaseDrawer.Close\n ref={ref}\n className={cn(\n 'inline-flex h-9 items-center justify-center rounded-lg border border-kraft/25 bg-surface px-4 text-sm font-medium text-kraft transition-colors select-none hover:bg-canvas focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ribbon focus-visible:ring-offset-2',\n className\n )}\n {...props}\n />\n));\nDrawerClose.displayName = 'DrawerClose';\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": ";;;;;AAAA,mBAAS;AACT;;AAGO,IAAM,aAAa,WAAW;AAC9B,IAAM,eAAe,WAAW;AAEhC,IAAM,gBAAgB,MAAM,WAGjC,GAAG,cAAc,SAAS,wBACxB,IAAC,WAAW,SAAZ;AAAA,EACI;AAAA,EACA,WAAW,GACP,oRACA,SACJ;AAAA,KACI;AAAA,CACR,CACH;AACD,cAAc,cAAc;AAErB,IAAM,iBAAiB,MAAM,WAGlC,GAAG,cAAc,SAAS,wBACxB,IAAC,WAAW,UAAZ;AAAA,EACI;AAAA,EACA,WAAW,GACP,6HACA,SACJ;AAAA,KACI;AAAA,CACR,CACH;AACD,eAAe,cAAc;AAGtB,IAAM,iBAAiB,MAAM,WAGlC,GAAG,cAAc,SAAS,wBACxB,IAAC,WAAW,UAAZ;AAAA,EACI;AAAA,EACA,WAAW,GAAG,+CAA+C,SAAS;AAAA,KAClE;AAAA,CACR,CACH;AACD,eAAe,cAAc;AAEtB,IAAM,cAAc,MAAM,WAG/B,GAAG,cAAc,SAAS,wBACxB,IAAC,WAAW,OAAZ;AAAA,EACI;AAAA,EACA,WAAW,GACP,4iBACA,SACJ;AAAA,KACI;AAAA,CACR,CACH;AACD,YAAY,cAAc;AAEnB,IAAM,gBAAgB,MAAM,WAGjC,GAAG,cAAc,SAAS,wBACxB,IAAC,WAAW,SAAZ;AAAA,EACI;AAAA,EACA,WAAW,GAAG,2BAA2B,SAAS;AAAA,KAC9C;AAAA,CACR,CACH;AACD,cAAc,cAAc;AAErB,IAAM,eAAe,MAAM,WAGhC,GAAG,cAAc,SAAS,wBACxB,IAAC,OAAD;AAAA,EACI;AAAA,EACA,eAAW;AAAA,EACX,WAAW,GACP,kDACA,SACJ;AAAA,KACI;AAAA,CACR,CACH;AACD,aAAa,cAAc;AAEpB,IAAM,cAAc,MAAM,WAG/B,GAAG,cAAc,SAAS,wBACxB,IAAC,WAAW,OAAZ;AAAA,EACI;AAAA,EACA,WAAW,GAAG,yCAAyC,SAAS;AAAA,KAC5D;AAAA,CACR,CACH;AACD,YAAY,cAAc;AAEnB,IAAM,oBAAoB,MAAM,WAGrC,GAAG,cAAc,SAAS,wBACxB,IAAC,WAAW,aAAZ;AAAA,EACI;AAAA,EACA,WAAW,GAAG,8BAA8B,SAAS;AAAA,KACjD;AAAA,CACR,CACH;AACD,kBAAkB,cAAc;AAEzB,IAAM,cAAc,MAAM,WAG/B,GAAG,cAAc,SAAS,wBACxB,IAAC,WAAW,OAAZ;AAAA,EACI;AAAA,EACA,WAAW,GACP,oRACA,SACJ;AAAA,KACI;AAAA,CACR,CACH;AACD,YAAY,cAAc;",
|
|
8
|
+
"debugId": "8DBAF08403CEF58364756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare const FieldRoot: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").FieldRootProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
3
|
+
export declare const FieldLabel: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").FieldLabelProps, "ref"> & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLLabelElement>>;
|
|
4
|
+
export declare const FieldControl: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").FieldControlProps, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
5
|
+
export declare const FieldDescription: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").FieldDescriptionProps, "ref"> & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
6
|
+
export declare const FieldError: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").FieldErrorProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
7
|
+
export declare const FieldItem: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").FieldItemProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
8
|
+
export declare const FieldValidity: React.FC<import("@base-ui/react").FieldValidityProps>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").FieldRootProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
+
parameters: {
|
|
7
|
+
layout: string;
|
|
8
|
+
};
|
|
9
|
+
tags: string[];
|
|
10
|
+
argTypes: {
|
|
11
|
+
disabled: {
|
|
12
|
+
control: "boolean";
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export default meta;
|
|
17
|
+
type Story = StoryObj<typeof meta>;
|
|
18
|
+
export declare const Default: Story;
|
|
19
|
+
export declare const WithDescription: Story;
|
|
20
|
+
export declare const WithValidation: Story;
|
|
21
|
+
export declare const Disabled: Story;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FieldRoot, FieldLabel, FieldControl, FieldDescription, FieldError, FieldItem, FieldValidity } from './Field';
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cn
|
|
3
|
+
} from "../../utils/cn.js";
|
|
4
|
+
|
|
5
|
+
// src/components/Field/Field.tsx
|
|
6
|
+
import { Field as BaseField } from "@base-ui/react/field";
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
var FieldRoot = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseField.Root, {
|
|
10
|
+
ref,
|
|
11
|
+
className: cn("flex flex-col gap-1", className),
|
|
12
|
+
...props
|
|
13
|
+
}));
|
|
14
|
+
FieldRoot.displayName = "FieldRoot";
|
|
15
|
+
var FieldLabel = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseField.Label, {
|
|
16
|
+
ref,
|
|
17
|
+
className: cn("text-sm font-medium leading-none text-kraft data-disabled:text-kraft/50", className),
|
|
18
|
+
...props
|
|
19
|
+
}));
|
|
20
|
+
FieldLabel.displayName = "FieldLabel";
|
|
21
|
+
var FieldControl = BaseField.Control;
|
|
22
|
+
var FieldDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseField.Description, {
|
|
23
|
+
ref,
|
|
24
|
+
className: cn("text-xs text-kraft/60", className),
|
|
25
|
+
...props
|
|
26
|
+
}));
|
|
27
|
+
FieldDescription.displayName = "FieldDescription";
|
|
28
|
+
var FieldError = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseField.Error, {
|
|
29
|
+
ref,
|
|
30
|
+
className: cn("text-xs text-spool", className),
|
|
31
|
+
...props
|
|
32
|
+
}));
|
|
33
|
+
FieldError.displayName = "FieldError";
|
|
34
|
+
var FieldItem = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseField.Item, {
|
|
35
|
+
ref,
|
|
36
|
+
className: cn("flex items-center gap-2", className),
|
|
37
|
+
...props
|
|
38
|
+
}));
|
|
39
|
+
FieldItem.displayName = "FieldItem";
|
|
40
|
+
var FieldValidity = BaseField.Validity;
|
|
41
|
+
export {
|
|
42
|
+
FieldValidity,
|
|
43
|
+
FieldRoot,
|
|
44
|
+
FieldLabel,
|
|
45
|
+
FieldItem,
|
|
46
|
+
FieldError,
|
|
47
|
+
FieldDescription,
|
|
48
|
+
FieldControl
|
|
49
|
+
};
|
|
50
|
+
export { FieldRoot, FieldLabel, FieldControl, FieldDescription, FieldError, FieldItem, FieldValidity };
|
|
51
|
+
|
|
52
|
+
//# debugId=42714C1B1C5C647764756E2164756E21
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/components/Field/Field.tsx"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import { Field as BaseField } from '@base-ui/react/field';\nimport React from 'react';\nimport { cn } from '../../utils/cn';\n\nexport const FieldRoot = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof BaseField.Root>\n>(({ className, ...props }, ref) => (\n <BaseField.Root\n ref={ref}\n className={cn('flex flex-col gap-1', className)}\n {...props}\n />\n));\nFieldRoot.displayName = 'FieldRoot';\n\nexport const FieldLabel = React.forwardRef<\n HTMLLabelElement,\n React.ComponentPropsWithoutRef<typeof BaseField.Label>\n>(({ className, ...props }, ref) => (\n <BaseField.Label\n ref={ref}\n className={cn(\n 'text-sm font-medium leading-none text-kraft data-disabled:text-kraft/50',\n className\n )}\n {...props}\n />\n));\nFieldLabel.displayName = 'FieldLabel';\n\n// Pass-through — Field.Control is typically replaced by a Base UI input component\nexport const FieldControl = BaseField.Control;\n\nexport const FieldDescription = React.forwardRef<\n HTMLParagraphElement,\n React.ComponentPropsWithoutRef<typeof BaseField.Description>\n>(({ className, ...props }, ref) => (\n <BaseField.Description\n ref={ref}\n className={cn('text-xs text-kraft/60', className)}\n {...props}\n />\n));\nFieldDescription.displayName = 'FieldDescription';\n\nexport const FieldError = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof BaseField.Error>\n>(({ className, ...props }, ref) => (\n <BaseField.Error\n ref={ref}\n className={cn('text-xs text-spool', className)}\n {...props}\n />\n));\nFieldError.displayName = 'FieldError';\n\n// Used to group individual checkbox/radio items with their label\nexport const FieldItem = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof BaseField.Item>\n>(({ className, ...props }, ref) => (\n <BaseField.Item\n ref={ref}\n className={cn('flex items-center gap-2', className)}\n {...props}\n />\n));\nFieldItem.displayName = 'FieldItem';\n\n// Pass-through — children must be a render function\nexport const FieldValidity = BaseField.Validity;\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": ";;;;;AAAA,kBAAS;AACT;;AAGO,IAAM,YAAY,MAAM,WAG7B,GAAG,cAAc,SAAS,wBACxB,IAAC,UAAU,MAAX;AAAA,EACI;AAAA,EACA,WAAW,GAAG,uBAAuB,SAAS;AAAA,KAC1C;AAAA,CACR,CACH;AACD,UAAU,cAAc;AAEjB,IAAM,aAAa,MAAM,WAG9B,GAAG,cAAc,SAAS,wBACxB,IAAC,UAAU,OAAX;AAAA,EACI;AAAA,EACA,WAAW,GACP,2EACA,SACJ;AAAA,KACI;AAAA,CACR,CACH;AACD,WAAW,cAAc;AAGlB,IAAM,eAAe,UAAU;AAE/B,IAAM,mBAAmB,MAAM,WAGpC,GAAG,cAAc,SAAS,wBACxB,IAAC,UAAU,aAAX;AAAA,EACI;AAAA,EACA,WAAW,GAAG,yBAAyB,SAAS;AAAA,KAC5C;AAAA,CACR,CACH;AACD,iBAAiB,cAAc;AAExB,IAAM,aAAa,MAAM,WAG9B,GAAG,cAAc,SAAS,wBACxB,IAAC,UAAU,OAAX;AAAA,EACI;AAAA,EACA,WAAW,GAAG,sBAAsB,SAAS;AAAA,KACzC;AAAA,CACR,CACH;AACD,WAAW,cAAc;AAGlB,IAAM,YAAY,MAAM,WAG7B,GAAG,cAAc,SAAS,wBACxB,IAAC,UAAU,MAAX;AAAA,EACI;AAAA,EACA,WAAW,GAAG,2BAA2B,SAAS;AAAA,KAC9C;AAAA,CACR,CACH;AACD,UAAU,cAAc;AAGjB,IAAM,gBAAgB,UAAU;",
|
|
8
|
+
"debugId": "42714C1B1C5C647764756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare const FieldsetRoot: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").FieldsetRootProps, "ref"> & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLFieldSetElement>>;
|
|
3
|
+
export declare const FieldsetLegend: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").FieldsetLegendProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").FieldsetRootProps, "ref"> & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLFieldSetElement>>;
|
|
6
|
+
parameters: {
|
|
7
|
+
layout: string;
|
|
8
|
+
};
|
|
9
|
+
tags: string[];
|
|
10
|
+
};
|
|
11
|
+
export default meta;
|
|
12
|
+
type Story = StoryObj<typeof meta>;
|
|
13
|
+
export declare const Default: Story;
|
|
14
|
+
export declare const ContactInfo: Story;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FieldsetRoot, FieldsetLegend } from './Fieldset';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cn
|
|
3
|
+
} from "../../utils/cn.js";
|
|
4
|
+
|
|
5
|
+
// src/components/Fieldset/Fieldset.tsx
|
|
6
|
+
import { Fieldset as BaseFieldset } from "@base-ui/react/fieldset";
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
var FieldsetRoot = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseFieldset.Root, {
|
|
10
|
+
ref,
|
|
11
|
+
className: cn("flex flex-col gap-4 border-0 m-0 p-0", className),
|
|
12
|
+
...props
|
|
13
|
+
}));
|
|
14
|
+
FieldsetRoot.displayName = "FieldsetRoot";
|
|
15
|
+
var FieldsetLegend = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(BaseFieldset.Legend, {
|
|
16
|
+
ref,
|
|
17
|
+
className: cn("text-base font-semibold text-kraft border-b border-kraft/15 pb-3 w-full", className),
|
|
18
|
+
...props
|
|
19
|
+
}));
|
|
20
|
+
FieldsetLegend.displayName = "FieldsetLegend";
|
|
21
|
+
export {
|
|
22
|
+
FieldsetRoot,
|
|
23
|
+
FieldsetLegend
|
|
24
|
+
};
|
|
25
|
+
export { FieldsetRoot, FieldsetLegend };
|
|
26
|
+
|
|
27
|
+
//# debugId=CF6A277F31D7E10A64756E2164756E21
|