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.
Files changed (233) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +120 -0
  3. package/dist/chunk-fjtwj9cw.js +79 -0
  4. package/dist/chunk-fjtwj9cw.js.map +10 -0
  5. package/dist/components/Accordion/Accordion.d.ts +7 -0
  6. package/dist/components/Accordion/Accordion.stories.d.ts +10 -0
  7. package/dist/components/Accordion/index.d.ts +1 -0
  8. package/dist/components/Accordion/index.js +62 -0
  9. package/dist/components/Accordion/index.js.map +10 -0
  10. package/dist/components/Alert/Alert.d.ts +15 -0
  11. package/dist/components/Alert/Alert.stories.d.ts +23 -0
  12. package/dist/components/Alert/index.d.ts +2 -0
  13. package/dist/components/Alert/index.js +57 -0
  14. package/dist/components/Alert/index.js.map +10 -0
  15. package/dist/components/AlertDialog/AlertDialog.d.ts +11 -0
  16. package/dist/components/AlertDialog/AlertDialog.stories.d.ts +9 -0
  17. package/dist/components/AlertDialog/index.d.ts +1 -0
  18. package/dist/components/AlertDialog/index.js +66 -0
  19. package/dist/components/AlertDialog/index.js.map +10 -0
  20. package/dist/components/Autocomplete/Autocomplete.d.ts +17 -0
  21. package/dist/components/Autocomplete/Autocomplete.stories.d.ts +6 -0
  22. package/dist/components/Autocomplete/index.d.ts +1 -0
  23. package/dist/components/Autocomplete/index.js +109 -0
  24. package/dist/components/Autocomplete/index.js.map +10 -0
  25. package/dist/components/Avatar/Avatar.d.ts +19 -0
  26. package/dist/components/Avatar/Avatar.stories.d.ts +29 -0
  27. package/dist/components/Avatar/index.d.ts +2 -0
  28. package/dist/components/Avatar/index.js +65 -0
  29. package/dist/components/Avatar/index.js.map +10 -0
  30. package/dist/components/AvatarLabel/AvatarLabel.d.ts +12 -0
  31. package/dist/components/AvatarLabel/AvatarLabel.stories.d.ts +10 -0
  32. package/dist/components/AvatarLabel/index.d.ts +2 -0
  33. package/dist/components/AvatarLabel/index.js +74 -0
  34. package/dist/components/AvatarLabel/index.js.map +10 -0
  35. package/dist/components/Badge/Badge.d.ts +13 -0
  36. package/dist/components/Badge/Badge.stories.d.ts +25 -0
  37. package/dist/components/Badge/index.d.ts +2 -0
  38. package/dist/components/Badge/index.js +38 -0
  39. package/dist/components/Badge/index.js.map +10 -0
  40. package/dist/components/Button/Button.d.ts +15 -0
  41. package/dist/components/Button/Button.stories.d.ts +35 -0
  42. package/dist/components/Button/index.d.ts +2 -0
  43. package/dist/components/Button/index.js +44 -0
  44. package/dist/components/Button/index.js.map +10 -0
  45. package/dist/components/Card/Card.d.ts +6 -0
  46. package/dist/components/Card/Card.stories.d.ts +13 -0
  47. package/dist/components/Card/index.d.ts +1 -0
  48. package/dist/components/Card/index.js +47 -0
  49. package/dist/components/Card/index.js.map +10 -0
  50. package/dist/components/Checkbox/Checkbox.d.ts +6 -0
  51. package/dist/components/Checkbox/Checkbox.stories.d.ts +25 -0
  52. package/dist/components/Checkbox/index.d.ts +1 -0
  53. package/dist/components/Checkbox/index.js +68 -0
  54. package/dist/components/Checkbox/index.js.map +10 -0
  55. package/dist/components/Collapsible/Collapsible.d.ts +4 -0
  56. package/dist/components/Collapsible/Collapsible.stories.d.ts +10 -0
  57. package/dist/components/Collapsible/index.d.ts +1 -0
  58. package/dist/components/Collapsible/index.js +34 -0
  59. package/dist/components/Collapsible/index.js.map +10 -0
  60. package/dist/components/Combobox/Combobox.d.ts +24 -0
  61. package/dist/components/Combobox/Combobox.stories.d.ts +13 -0
  62. package/dist/components/Combobox/index.d.ts +1 -0
  63. package/dist/components/Combobox/index.js +162 -0
  64. package/dist/components/Combobox/index.js.map +10 -0
  65. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +22 -0
  66. package/dist/components/ConfirmDialog/ConfirmDialog.stories.d.ts +10 -0
  67. package/dist/components/ConfirmDialog/index.d.ts +2 -0
  68. package/dist/components/ConfirmDialog/index.js +85 -0
  69. package/dist/components/ConfirmDialog/index.js.map +10 -0
  70. package/dist/components/ContextMenu/ContextMenu.d.ts +21 -0
  71. package/dist/components/ContextMenu/ContextMenu.stories.d.ts +7 -0
  72. package/dist/components/ContextMenu/index.d.ts +1 -0
  73. package/dist/components/ContextMenu/index.js +117 -0
  74. package/dist/components/ContextMenu/index.js.map +10 -0
  75. package/dist/components/Dialog/Dialog.d.ts +11 -0
  76. package/dist/components/Dialog/Dialog.stories.d.ts +10 -0
  77. package/dist/components/Dialog/index.d.ts +1 -0
  78. package/dist/components/Dialog/index.js +66 -0
  79. package/dist/components/Dialog/index.js.map +10 -0
  80. package/dist/components/Drawer/Drawer.d.ts +13 -0
  81. package/dist/components/Drawer/Drawer.stories.d.ts +9 -0
  82. package/dist/components/Drawer/index.d.ts +1 -0
  83. package/dist/components/Drawer/index.js +81 -0
  84. package/dist/components/Drawer/index.js.map +10 -0
  85. package/dist/components/Field/Field.d.ts +8 -0
  86. package/dist/components/Field/Field.stories.d.ts +21 -0
  87. package/dist/components/Field/index.d.ts +1 -0
  88. package/dist/components/Field/index.js +52 -0
  89. package/dist/components/Field/index.js.map +10 -0
  90. package/dist/components/Fieldset/Fieldset.d.ts +3 -0
  91. package/dist/components/Fieldset/Fieldset.stories.d.ts +14 -0
  92. package/dist/components/Fieldset/index.d.ts +1 -0
  93. package/dist/components/Fieldset/index.js +27 -0
  94. package/dist/components/Fieldset/index.js.map +10 -0
  95. package/dist/components/Form/Form.d.ts +5 -0
  96. package/dist/components/Form/Form.stories.d.ts +5 -0
  97. package/dist/components/Form/index.d.ts +1 -0
  98. package/dist/components/Form/index.js +20 -0
  99. package/dist/components/Form/index.js.map +10 -0
  100. package/dist/components/Input/Input.d.ts +16 -0
  101. package/dist/components/Input/Input.stories.d.ts +34 -0
  102. package/dist/components/Input/index.d.ts +2 -0
  103. package/dist/components/Input/index.js +44 -0
  104. package/dist/components/Input/index.js.map +10 -0
  105. package/dist/components/Menu/Menu.d.ts +21 -0
  106. package/dist/components/Menu/Menu.stories.d.ts +9 -0
  107. package/dist/components/Menu/index.d.ts +1 -0
  108. package/dist/components/Menu/index.js +117 -0
  109. package/dist/components/Menu/index.js.map +10 -0
  110. package/dist/components/Menubar/Menubar.d.ts +2 -0
  111. package/dist/components/Menubar/Menubar.stories.d.ts +5 -0
  112. package/dist/components/Menubar/index.d.ts +1 -0
  113. package/dist/components/Menubar/index.js +20 -0
  114. package/dist/components/Menubar/index.js.map +10 -0
  115. package/dist/components/Meter/Meter.d.ts +6 -0
  116. package/dist/components/Meter/Meter.stories.d.ts +7 -0
  117. package/dist/components/Meter/index.d.ts +1 -0
  118. package/dist/components/Meter/index.js +48 -0
  119. package/dist/components/Meter/index.js.map +10 -0
  120. package/dist/components/NavigationMenu/NavigationMenu.d.ts +12 -0
  121. package/dist/components/NavigationMenu/NavigationMenu.stories.d.ts +5 -0
  122. package/dist/components/NavigationMenu/index.d.ts +1 -0
  123. package/dist/components/NavigationMenu/index.js +100 -0
  124. package/dist/components/NavigationMenu/index.js.map +10 -0
  125. package/dist/components/NumberField/NumberField.d.ts +8 -0
  126. package/dist/components/NumberField/NumberField.stories.d.ts +7 -0
  127. package/dist/components/NumberField/index.d.ts +1 -0
  128. package/dist/components/NumberField/index.js +84 -0
  129. package/dist/components/NumberField/index.js.map +10 -0
  130. package/dist/components/PageHeader/PageHeader.d.ts +10 -0
  131. package/dist/components/PageHeader/PageHeader.stories.d.ts +10 -0
  132. package/dist/components/PageHeader/index.d.ts +2 -0
  133. package/dist/components/PageHeader/index.js +48 -0
  134. package/dist/components/PageHeader/index.js.map +10 -0
  135. package/dist/components/Popover/Popover.d.ts +12 -0
  136. package/dist/components/Popover/Popover.stories.d.ts +9 -0
  137. package/dist/components/Popover/index.d.ts +1 -0
  138. package/dist/components/Popover/index.js +74 -0
  139. package/dist/components/Popover/index.js.map +10 -0
  140. package/dist/components/PreviewCard/PreviewCard.d.ts +9 -0
  141. package/dist/components/PreviewCard/PreviewCard.stories.d.ts +8 -0
  142. package/dist/components/PreviewCard/index.d.ts +1 -0
  143. package/dist/components/PreviewCard/index.js +53 -0
  144. package/dist/components/PreviewCard/index.js.map +10 -0
  145. package/dist/components/ProfileCard/ProfileCard.d.ts +19 -0
  146. package/dist/components/ProfileCard/ProfileCard.stories.d.ts +11 -0
  147. package/dist/components/ProfileCard/index.d.ts +2 -0
  148. package/dist/components/ProfileCard/index.js +97 -0
  149. package/dist/components/ProfileCard/index.js.map +10 -0
  150. package/dist/components/Progress/Progress.d.ts +6 -0
  151. package/dist/components/Progress/Progress.stories.d.ts +7 -0
  152. package/dist/components/Progress/index.d.ts +1 -0
  153. package/dist/components/Progress/index.js +48 -0
  154. package/dist/components/Progress/index.js.map +10 -0
  155. package/dist/components/Radio/Radio.d.ts +6 -0
  156. package/dist/components/Radio/Radio.stories.d.ts +20 -0
  157. package/dist/components/Radio/index.d.ts +1 -0
  158. package/dist/components/Radio/index.js +35 -0
  159. package/dist/components/Radio/index.js.map +10 -0
  160. package/dist/components/ScrollArea/ScrollArea.d.ts +7 -0
  161. package/dist/components/ScrollArea/ScrollArea.stories.d.ts +6 -0
  162. package/dist/components/ScrollArea/index.d.ts +1 -0
  163. package/dist/components/ScrollArea/index.js +55 -0
  164. package/dist/components/ScrollArea/index.js.map +10 -0
  165. package/dist/components/SearchField/SearchField.d.ts +11 -0
  166. package/dist/components/SearchField/SearchField.stories.d.ts +9 -0
  167. package/dist/components/SearchField/index.d.ts +2 -0
  168. package/dist/components/SearchField/index.js +65 -0
  169. package/dist/components/SearchField/index.js.map +10 -0
  170. package/dist/components/Select/Select.d.ts +19 -0
  171. package/dist/components/Select/Select.stories.d.ts +20 -0
  172. package/dist/components/Select/index.d.ts +1 -0
  173. package/dist/components/Select/index.js +143 -0
  174. package/dist/components/Select/index.js.map +10 -0
  175. package/dist/components/Separator/Separator.d.ts +2 -0
  176. package/dist/components/Separator/Separator.stories.d.ts +10 -0
  177. package/dist/components/Separator/index.d.ts +1 -0
  178. package/dist/components/Separator/index.js +20 -0
  179. package/dist/components/Separator/index.js.map +10 -0
  180. package/dist/components/Slider/Slider.d.ts +10 -0
  181. package/dist/components/Slider/Slider.stories.d.ts +7 -0
  182. package/dist/components/Slider/index.d.ts +1 -0
  183. package/dist/components/Slider/index.js +55 -0
  184. package/dist/components/Slider/index.js.map +10 -0
  185. package/dist/components/Switch/Switch.d.ts +3 -0
  186. package/dist/components/Switch/Switch.stories.d.ts +24 -0
  187. package/dist/components/Switch/index.d.ts +1 -0
  188. package/dist/components/Switch/index.js +27 -0
  189. package/dist/components/Switch/index.js.map +10 -0
  190. package/dist/components/Tabs/Tabs.d.ts +6 -0
  191. package/dist/components/Tabs/Tabs.stories.d.ts +9 -0
  192. package/dist/components/Tabs/index.d.ts +1 -0
  193. package/dist/components/Tabs/index.js +43 -0
  194. package/dist/components/Tabs/index.js.map +10 -0
  195. package/dist/components/Toast/Toast.d.ts +14 -0
  196. package/dist/components/Toast/Toast.stories.d.ts +8 -0
  197. package/dist/components/Toast/index.d.ts +1 -0
  198. package/dist/components/Toast/index.js +127 -0
  199. package/dist/components/Toast/index.js.map +10 -0
  200. package/dist/components/Toggle/Toggle.d.ts +3 -0
  201. package/dist/components/Toggle/Toggle.stories.d.ts +8 -0
  202. package/dist/components/Toggle/index.d.ts +1 -0
  203. package/dist/components/Toggle/index.js +20 -0
  204. package/dist/components/Toggle/index.js.map +10 -0
  205. package/dist/components/ToggleGroup/ToggleGroup.d.ts +3 -0
  206. package/dist/components/ToggleGroup/ToggleGroup.stories.d.ts +6 -0
  207. package/dist/components/ToggleGroup/index.d.ts +1 -0
  208. package/dist/components/ToggleGroup/index.js +20 -0
  209. package/dist/components/ToggleGroup/index.js.map +10 -0
  210. package/dist/components/Toolbar/Toolbar.d.ts +7 -0
  211. package/dist/components/Toolbar/Toolbar.stories.d.ts +7 -0
  212. package/dist/components/Toolbar/index.d.ts +1 -0
  213. package/dist/components/Toolbar/index.js +50 -0
  214. package/dist/components/Toolbar/index.js.map +10 -0
  215. package/dist/components/Tooltip/Tooltip.d.ts +9 -0
  216. package/dist/components/Tooltip/Tooltip.stories.d.ts +9 -0
  217. package/dist/components/Tooltip/index.d.ts +1 -0
  218. package/dist/components/Tooltip/index.js +48 -0
  219. package/dist/components/Tooltip/index.js.map +10 -0
  220. package/dist/fonts.css +3 -0
  221. package/dist/index.d.ts +55 -0
  222. package/dist/index.js +620 -0
  223. package/dist/index.js.map +9 -0
  224. package/dist/stories/Camps.stories.d.ts +11 -0
  225. package/dist/stories/Plains.stories.d.ts +11 -0
  226. package/dist/stories/Theming.stories.d.ts +8 -0
  227. package/dist/stories/Typography.stories.d.ts +5 -0
  228. package/dist/styles.css +2 -0
  229. package/dist/utils/cn.d.ts +2 -0
  230. package/dist/utils/cn.js +1806 -0
  231. package/dist/utils/cn.js.map +12 -0
  232. package/dist/utils/cn.test.d.ts +1 -0
  233. 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,7 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ declare const meta: Meta;
3
+ export default meta;
4
+ type Story = StoryObj;
5
+ export declare const Basic: Story;
6
+ export declare const WithCheckboxItems: Story;
7
+ export declare const WithSubmenu: Story;
@@ -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