jaci-ui 0.7.0 → 0.9.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 (217) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +75 -0
  3. package/dist/_virtual/_rolldown/runtime.cjs +23 -0
  4. package/dist/components/alert-dialog/alert-dialog.cjs +4 -1
  5. package/dist/components/alert-dialog/alert-dialog.cjs.map +1 -1
  6. package/dist/components/alert-dialog/alert-dialog.d.cts +2 -2
  7. package/dist/components/alert-dialog/alert-dialog.d.ts +2 -2
  8. package/dist/components/alert-dialog/alert-dialog.js +4 -1
  9. package/dist/components/alert-dialog/alert-dialog.js.map +1 -1
  10. package/dist/components/carousel/carousel.cjs +342 -0
  11. package/dist/components/carousel/carousel.cjs.map +1 -0
  12. package/dist/components/carousel/carousel.d.cts +44 -0
  13. package/dist/components/carousel/carousel.d.ts +44 -0
  14. package/dist/components/carousel/carousel.js +330 -0
  15. package/dist/components/carousel/carousel.js.map +1 -0
  16. package/dist/components/carousel/index.d.cts +2 -0
  17. package/dist/components/carousel/index.d.ts +2 -0
  18. package/dist/components/code/code.cjs +32 -5
  19. package/dist/components/code/code.cjs.map +1 -1
  20. package/dist/components/code/code.d.cts +1 -0
  21. package/dist/components/code/code.d.ts +1 -0
  22. package/dist/components/code/code.js +34 -7
  23. package/dist/components/code/code.js.map +1 -1
  24. package/dist/components/color-picker/color-picker.cjs +4 -1
  25. package/dist/components/color-picker/color-picker.cjs.map +1 -1
  26. package/dist/components/color-picker/color-picker.d.cts +2 -2
  27. package/dist/components/color-picker/color-picker.d.ts +2 -2
  28. package/dist/components/color-picker/color-picker.js +4 -1
  29. package/dist/components/color-picker/color-picker.js.map +1 -1
  30. package/dist/components/color-swatch/color-swatch.cjs +33 -0
  31. package/dist/components/color-swatch/color-swatch.cjs.map +1 -0
  32. package/dist/components/color-swatch/color-swatch.d.cts +13 -0
  33. package/dist/components/color-swatch/color-swatch.d.ts +13 -0
  34. package/dist/components/color-swatch/color-swatch.js +33 -0
  35. package/dist/components/color-swatch/color-swatch.js.map +1 -0
  36. package/dist/components/color-swatch/index.d.cts +2 -0
  37. package/dist/components/color-swatch/index.d.ts +2 -0
  38. package/dist/components/combobox/combobox.cjs +4 -1
  39. package/dist/components/combobox/combobox.cjs.map +1 -1
  40. package/dist/components/combobox/combobox.d.cts +2 -2
  41. package/dist/components/combobox/combobox.d.ts +2 -2
  42. package/dist/components/combobox/combobox.js +4 -1
  43. package/dist/components/combobox/combobox.js.map +1 -1
  44. package/dist/components/command/command.cjs +76 -13
  45. package/dist/components/command/command.cjs.map +1 -1
  46. package/dist/components/command/command.d.cts +7 -1
  47. package/dist/components/command/command.d.ts +7 -1
  48. package/dist/components/command/command.js +76 -13
  49. package/dist/components/command/command.js.map +1 -1
  50. package/dist/components/command/index.d.cts +2 -2
  51. package/dist/components/command/index.d.ts +2 -2
  52. package/dist/components/context-menu/context-menu.cjs +4 -1
  53. package/dist/components/context-menu/context-menu.cjs.map +1 -1
  54. package/dist/components/context-menu/context-menu.d.cts +2 -2
  55. package/dist/components/context-menu/context-menu.d.ts +2 -2
  56. package/dist/components/context-menu/context-menu.js +4 -1
  57. package/dist/components/context-menu/context-menu.js.map +1 -1
  58. package/dist/components/date-picker/date-picker.cjs +4 -1
  59. package/dist/components/date-picker/date-picker.cjs.map +1 -1
  60. package/dist/components/date-picker/date-picker.d.cts +2 -2
  61. package/dist/components/date-picker/date-picker.d.ts +2 -2
  62. package/dist/components/date-picker/date-picker.js +4 -1
  63. package/dist/components/date-picker/date-picker.js.map +1 -1
  64. package/dist/components/date-range-picker/date-range-picker.cjs +4 -1
  65. package/dist/components/date-range-picker/date-range-picker.cjs.map +1 -1
  66. package/dist/components/date-range-picker/date-range-picker.d.cts +2 -2
  67. package/dist/components/date-range-picker/date-range-picker.d.ts +2 -2
  68. package/dist/components/date-range-picker/date-range-picker.js +4 -1
  69. package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
  70. package/dist/components/dialog/dialog.cjs +4 -1
  71. package/dist/components/dialog/dialog.cjs.map +1 -1
  72. package/dist/components/dialog/dialog.d.cts +2 -2
  73. package/dist/components/dialog/dialog.d.ts +2 -2
  74. package/dist/components/dialog/dialog.js +4 -1
  75. package/dist/components/dialog/dialog.js.map +1 -1
  76. package/dist/components/download-trigger/download-trigger.cjs +25 -0
  77. package/dist/components/download-trigger/download-trigger.cjs.map +1 -0
  78. package/dist/components/download-trigger/download-trigger.d.cts +12 -0
  79. package/dist/components/download-trigger/download-trigger.d.ts +12 -0
  80. package/dist/components/download-trigger/download-trigger.js +25 -0
  81. package/dist/components/download-trigger/download-trigger.js.map +1 -0
  82. package/dist/components/download-trigger/index.d.cts +2 -0
  83. package/dist/components/download-trigger/index.d.ts +2 -0
  84. package/dist/components/drawer/drawer.cjs +4 -1
  85. package/dist/components/drawer/drawer.cjs.map +1 -1
  86. package/dist/components/drawer/drawer.d.cts +2 -2
  87. package/dist/components/drawer/drawer.d.ts +2 -2
  88. package/dist/components/drawer/drawer.js +4 -1
  89. package/dist/components/drawer/drawer.js.map +1 -1
  90. package/dist/components/figure/figure.cjs +45 -36
  91. package/dist/components/figure/figure.cjs.map +1 -1
  92. package/dist/components/figure/figure.js +45 -36
  93. package/dist/components/figure/figure.js.map +1 -1
  94. package/dist/components/image/image.cjs +41 -32
  95. package/dist/components/image/image.cjs.map +1 -1
  96. package/dist/components/image/image.js +41 -32
  97. package/dist/components/image/image.js.map +1 -1
  98. package/dist/components/menu/menu.cjs +4 -1
  99. package/dist/components/menu/menu.cjs.map +1 -1
  100. package/dist/components/menu/menu.d.cts +2 -2
  101. package/dist/components/menu/menu.d.ts +2 -2
  102. package/dist/components/menu/menu.js +4 -1
  103. package/dist/components/menu/menu.js.map +1 -1
  104. package/dist/components/menubar/menubar.cjs +4 -1
  105. package/dist/components/menubar/menubar.cjs.map +1 -1
  106. package/dist/components/menubar/menubar.d.cts +2 -2
  107. package/dist/components/menubar/menubar.d.ts +2 -2
  108. package/dist/components/menubar/menubar.js +4 -1
  109. package/dist/components/menubar/menubar.js.map +1 -1
  110. package/dist/components/navigation/navigation.cjs +3 -1
  111. package/dist/components/navigation/navigation.cjs.map +1 -1
  112. package/dist/components/navigation/navigation.js +3 -1
  113. package/dist/components/navigation/navigation.js.map +1 -1
  114. package/dist/components/navigation-menu/navigation-menu.cjs +4 -1
  115. package/dist/components/navigation-menu/navigation-menu.cjs.map +1 -1
  116. package/dist/components/navigation-menu/navigation-menu.d.cts +2 -2
  117. package/dist/components/navigation-menu/navigation-menu.d.ts +2 -2
  118. package/dist/components/navigation-menu/navigation-menu.js +4 -1
  119. package/dist/components/navigation-menu/navigation-menu.js.map +1 -1
  120. package/dist/components/popover/popover.cjs +4 -1
  121. package/dist/components/popover/popover.cjs.map +1 -1
  122. package/dist/components/popover/popover.d.cts +2 -2
  123. package/dist/components/popover/popover.d.ts +2 -2
  124. package/dist/components/popover/popover.js +4 -1
  125. package/dist/components/popover/popover.js.map +1 -1
  126. package/dist/components/qr-code/index.d.cts +2 -0
  127. package/dist/components/qr-code/index.d.ts +2 -0
  128. package/dist/components/qr-code/qr-code.cjs +118 -0
  129. package/dist/components/qr-code/qr-code.cjs.map +1 -0
  130. package/dist/components/qr-code/qr-code.d.cts +17 -0
  131. package/dist/components/qr-code/qr-code.d.ts +17 -0
  132. package/dist/components/qr-code/qr-code.js +116 -0
  133. package/dist/components/qr-code/qr-code.js.map +1 -0
  134. package/dist/components/select/select.cjs +4 -1
  135. package/dist/components/select/select.cjs.map +1 -1
  136. package/dist/components/select/select.d.cts +2 -2
  137. package/dist/components/select/select.d.ts +2 -2
  138. package/dist/components/select/select.js +4 -1
  139. package/dist/components/select/select.js.map +1 -1
  140. package/dist/components/sidebar/sidebar.cjs +24 -17
  141. package/dist/components/sidebar/sidebar.cjs.map +1 -1
  142. package/dist/components/sidebar/sidebar.d.cts +4 -2
  143. package/dist/components/sidebar/sidebar.d.ts +4 -2
  144. package/dist/components/sidebar/sidebar.js +24 -17
  145. package/dist/components/sidebar/sidebar.js.map +1 -1
  146. package/dist/components/spacer/index.d.cts +2 -0
  147. package/dist/components/spacer/index.d.ts +2 -0
  148. package/dist/components/spacer/spacer.cjs +24 -0
  149. package/dist/components/spacer/spacer.cjs.map +1 -0
  150. package/dist/components/spacer/spacer.d.cts +10 -0
  151. package/dist/components/spacer/spacer.d.ts +10 -0
  152. package/dist/components/spacer/spacer.js +24 -0
  153. package/dist/components/spacer/spacer.js.map +1 -0
  154. package/dist/components/toast/toast.cjs +4 -1
  155. package/dist/components/toast/toast.cjs.map +1 -1
  156. package/dist/components/toast/toast.d.cts +1 -1
  157. package/dist/components/toast/toast.d.ts +1 -1
  158. package/dist/components/toast/toast.js +4 -1
  159. package/dist/components/toast/toast.js.map +1 -1
  160. package/dist/components/tooltip/tooltip.cjs +4 -1
  161. package/dist/components/tooltip/tooltip.cjs.map +1 -1
  162. package/dist/components/tooltip/tooltip.d.cts +2 -2
  163. package/dist/components/tooltip/tooltip.d.ts +2 -2
  164. package/dist/components/tooltip/tooltip.js +4 -1
  165. package/dist/components/tooltip/tooltip.js.map +1 -1
  166. package/dist/index.cjs +11 -0
  167. package/dist/index.cjs.map +1 -0
  168. package/dist/index.d.cts +12 -2
  169. package/dist/index.d.ts +12 -2
  170. package/dist/index.js +7 -1
  171. package/dist/index.js.map +1 -0
  172. package/dist/styled-system/recipes/carousel.cjs +48 -0
  173. package/dist/styled-system/recipes/carousel.cjs.map +1 -0
  174. package/dist/styled-system/recipes/carousel.js +48 -0
  175. package/dist/styled-system/recipes/carousel.js.map +1 -0
  176. package/dist/styled-system/recipes/code.cjs +4 -2
  177. package/dist/styled-system/recipes/code.cjs.map +1 -1
  178. package/dist/styled-system/recipes/code.js +4 -2
  179. package/dist/styled-system/recipes/code.js.map +1 -1
  180. package/dist/styled-system/recipes/color-swatch.cjs +37 -0
  181. package/dist/styled-system/recipes/color-swatch.cjs.map +1 -0
  182. package/dist/styled-system/recipes/color-swatch.js +37 -0
  183. package/dist/styled-system/recipes/color-swatch.js.map +1 -0
  184. package/dist/styled-system/recipes/command.cjs +3 -3
  185. package/dist/styled-system/recipes/command.cjs.map +1 -1
  186. package/dist/styled-system/recipes/command.js +3 -3
  187. package/dist/styled-system/recipes/command.js.map +1 -1
  188. package/dist/styled-system/recipes/download-trigger.cjs +39 -0
  189. package/dist/styled-system/recipes/download-trigger.cjs.map +1 -0
  190. package/dist/styled-system/recipes/download-trigger.js +39 -0
  191. package/dist/styled-system/recipes/download-trigger.js.map +1 -0
  192. package/dist/styled-system/recipes/figure.cjs +1 -0
  193. package/dist/styled-system/recipes/figure.cjs.map +1 -1
  194. package/dist/styled-system/recipes/figure.js +1 -0
  195. package/dist/styled-system/recipes/figure.js.map +1 -1
  196. package/dist/styled-system/recipes/image.cjs +1 -0
  197. package/dist/styled-system/recipes/image.cjs.map +1 -1
  198. package/dist/styled-system/recipes/image.js +1 -0
  199. package/dist/styled-system/recipes/image.js.map +1 -1
  200. package/dist/styled-system/recipes/layout-spacer.cjs +88 -0
  201. package/dist/styled-system/recipes/layout-spacer.cjs.map +1 -0
  202. package/dist/styled-system/recipes/layout-spacer.js +88 -0
  203. package/dist/styled-system/recipes/layout-spacer.js.map +1 -0
  204. package/dist/styled-system/recipes/qr-code.cjs +25 -0
  205. package/dist/styled-system/recipes/qr-code.cjs.map +1 -0
  206. package/dist/styled-system/recipes/qr-code.js +25 -0
  207. package/dist/styled-system/recipes/qr-code.js.map +1 -0
  208. package/dist/styles.css +662 -106
  209. package/dist/theme/theme-provider.cjs +46 -8
  210. package/dist/theme/theme-provider.cjs.map +1 -1
  211. package/dist/theme/theme-provider.js +46 -8
  212. package/dist/theme/theme-provider.js.map +1 -1
  213. package/dist/theme/theme-scope.cjs +21 -0
  214. package/dist/theme/theme-scope.cjs.map +1 -0
  215. package/dist/theme/theme-scope.js +19 -0
  216. package/dist/theme/theme-scope.js.map +1 -0
  217. package/package.json +10 -5
@@ -14,7 +14,7 @@ type DialogPortalProps = ComponentPropsWithoutRef<typeof Dialog.Portal>;
14
14
  /**
15
15
  * Preserves Base UI's portal behavior and optional container/ref APIs.
16
16
  */
17
- declare const DialogPortal: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react").AlertDialogPortalProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
17
+ declare function DialogPortal(props: DialogPortalProps): import("react").JSX.Element;
18
18
  type DialogBackdropProps = ComponentPropsWithoutRef<typeof Dialog.Backdrop>;
19
19
  declare const DialogBackdrop: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").AlertDialogBackdropProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
20
20
  type DialogViewportProps = ComponentPropsWithoutRef<typeof Dialog.Viewport>;
@@ -38,7 +38,7 @@ declare const DialogClose: import("react").ForwardRefExoticComponent<Omit<Omit<i
38
38
  declare const Dialog$1: {
39
39
  Root: typeof DialogRoot$1;
40
40
  Trigger: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react").DialogTriggerProps<unknown> & import("react").RefAttributes<HTMLElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
41
- Portal: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react").AlertDialogPortalProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
41
+ Portal: typeof DialogPortal;
42
42
  Backdrop: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").AlertDialogBackdropProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
43
43
  Viewport: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").AlertDialogViewportProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
44
44
  Popup: import("react").ForwardRefExoticComponent<DialogPopupProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -2,6 +2,7 @@
2
2
  import { cx } from "../../styled-system/css/cx.js";
3
3
  import { withRecipeClassName } from "../base-ui.js";
4
4
  import { dialog } from "../../styled-system/recipes/dialog.js";
5
+ import { useThemePortalProps } from "../../theme/theme-scope.js";
5
6
  import { forwardRef } from "react";
6
7
  import { jsx } from "react/jsx-runtime";
7
8
  import { Dialog } from "@base-ui/react/dialog";
@@ -20,7 +21,9 @@ const DialogTrigger = forwardRef(function DialogTrigger({ className, ...props },
20
21
  /**
21
22
  * Preserves Base UI's portal behavior and optional container/ref APIs.
22
23
  */
23
- const DialogPortal = Dialog.Portal;
24
+ function DialogPortal(props) {
25
+ return /* @__PURE__ */ jsx(Dialog.Portal, { ...useThemePortalProps(props) });
26
+ }
24
27
  const DialogBackdrop = forwardRef(function DialogBackdrop({ className, ...props }, ref) {
25
28
  return /* @__PURE__ */ jsx(Dialog.Backdrop, {
26
29
  ...props,
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.js","names":["DialogRoot","BaseDialog","Dialog"],"sources":["../../../src/components/dialog/dialog.tsx"],"sourcesContent":["\"use client\";\n\nimport { Dialog as BaseDialog } from \"@base-ui/react/dialog\";\nimport { forwardRef } from \"react\";\nimport type { ComponentPropsWithoutRef } from \"react\";\nimport type { DialogRoot as BaseDialogRoot } from \"@base-ui/react/dialog\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { dialog } from \"../../styled-system/recipes\";\nimport { withRecipeClassName } from \"../base-ui\";\n\nexport type DialogSize = \"sm\" | \"md\" | \"lg\";\n\n/**\n * Groups the dialog parts. It supports Base UI's controlled open/onOpenChange\n * API and uncontrolled defaultOpen API.\n */\nexport type DialogRootProps<Payload = unknown> = BaseDialogRoot.Props<Payload>;\n\nexport function DialogRoot<Payload = unknown>(props: DialogRootProps<Payload>) {\n return <BaseDialog.Root {...props} />;\n}\n\nexport type DialogTriggerProps = ComponentPropsWithoutRef<typeof BaseDialog.Trigger>;\n\nexport const DialogTrigger = forwardRef<HTMLButtonElement, DialogTriggerProps>(\n function DialogTrigger({ className, ...props }, ref) {\n return (\n <BaseDialog.Trigger\n {...props}\n ref={ref}\n className={withRecipeClassName(dialog().trigger, className)}\n data-slot=\"dialog-trigger\"\n />\n );\n },\n);\n\nexport type DialogPortalProps = ComponentPropsWithoutRef<typeof BaseDialog.Portal>;\n\n/**\n * Preserves Base UI's portal behavior and optional container/ref APIs.\n */\nexport const DialogPortal = BaseDialog.Portal;\n\nexport type DialogBackdropProps = ComponentPropsWithoutRef<typeof BaseDialog.Backdrop>;\n\nexport const DialogBackdrop = forwardRef<HTMLDivElement, DialogBackdropProps>(\n function DialogBackdrop({ className, ...props }, ref) {\n return (\n <BaseDialog.Backdrop\n {...props}\n ref={ref}\n className={withRecipeClassName(dialog().backdrop, className)}\n data-slot=\"dialog-backdrop\"\n />\n );\n },\n);\n\nexport type DialogViewportProps = ComponentPropsWithoutRef<typeof BaseDialog.Viewport>;\n\nexport const DialogViewport = forwardRef<HTMLDivElement, DialogViewportProps>(\n function DialogViewport({ className, ...props }, ref) {\n return (\n <BaseDialog.Viewport\n {...props}\n ref={ref}\n className={withRecipeClassName(dialog().viewport, className)}\n data-slot=\"dialog-viewport\"\n />\n );\n },\n);\n\nexport interface DialogPopupProps extends ComponentPropsWithoutRef<typeof BaseDialog.Popup> {\n size?: DialogSize;\n}\n\nexport const DialogPopup = forwardRef<HTMLDivElement, DialogPopupProps>(function DialogPopup(\n { className, size = \"md\", ...props },\n ref,\n) {\n return (\n <BaseDialog.Popup\n {...props}\n ref={ref}\n className={withRecipeClassName(dialog({ size }).popup, className)}\n data-jaci-component=\"dialog\"\n data-slot=\"dialog-popup\"\n />\n );\n});\n\nexport type DialogHeaderProps = ComponentPropsWithoutRef<\"div\">;\n\nexport const DialogHeader = forwardRef<HTMLDivElement, DialogHeaderProps>(function DialogHeader(\n { className, ...props },\n ref,\n) {\n return (\n <div\n {...props}\n ref={ref}\n className={cx(dialog().header, className)}\n data-slot=\"dialog-header\"\n />\n );\n});\n\nexport type DialogTitleProps = ComponentPropsWithoutRef<typeof BaseDialog.Title>;\n\nexport const DialogTitle = forwardRef<HTMLHeadingElement, DialogTitleProps>(function DialogTitle(\n { className, ...props },\n ref,\n) {\n return (\n <BaseDialog.Title\n {...props}\n ref={ref}\n className={withRecipeClassName(dialog().title, className)}\n data-slot=\"dialog-title\"\n />\n );\n});\n\nexport type DialogDescriptionProps = ComponentPropsWithoutRef<typeof BaseDialog.Description>;\n\nexport const DialogDescription = forwardRef<HTMLParagraphElement, DialogDescriptionProps>(\n function DialogDescription({ className, ...props }, ref) {\n return (\n <BaseDialog.Description\n {...props}\n ref={ref}\n className={withRecipeClassName(dialog().description, className)}\n data-slot=\"dialog-description\"\n />\n );\n },\n);\n\nexport type DialogBodyProps = ComponentPropsWithoutRef<\"div\">;\n\nexport const DialogBody = forwardRef<HTMLDivElement, DialogBodyProps>(function DialogBody(\n { className, ...props },\n ref,\n) {\n return (\n <div {...props} ref={ref} className={cx(dialog().body, className)} data-slot=\"dialog-body\" />\n );\n});\n\nexport type DialogFooterProps = ComponentPropsWithoutRef<\"div\">;\n\nexport const DialogFooter = forwardRef<HTMLDivElement, DialogFooterProps>(function DialogFooter(\n { className, ...props },\n ref,\n) {\n return (\n <div\n {...props}\n ref={ref}\n className={cx(dialog().footer, className)}\n data-slot=\"dialog-footer\"\n />\n );\n});\n\nexport type DialogCloseProps = ComponentPropsWithoutRef<typeof BaseDialog.Close>;\n\nexport const DialogClose = forwardRef<HTMLButtonElement, DialogCloseProps>(function DialogClose(\n { \"aria-label\": ariaLabel, children, className, ...props },\n ref,\n) {\n const hasVisibleLabel = children != null;\n\n return (\n <BaseDialog.Close\n {...props}\n aria-label={ariaLabel ?? (hasVisibleLabel ? undefined : \"Close dialog\")}\n ref={ref}\n className={withRecipeClassName(hasVisibleLabel ? dialog().action : dialog().close, className)}\n data-slot=\"dialog-close\"\n >\n {children ?? \"×\"}\n </BaseDialog.Close>\n );\n});\n\nexport const Dialog = {\n Root: DialogRoot,\n Trigger: DialogTrigger,\n Portal: DialogPortal,\n Backdrop: DialogBackdrop,\n Viewport: DialogViewport,\n Popup: DialogPopup,\n Header: DialogHeader,\n Title: DialogTitle,\n Description: DialogDescription,\n Body: DialogBody,\n Footer: DialogFooter,\n Close: DialogClose,\n createHandle: BaseDialog.createHandle,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"dialog.js","names":["DialogRoot","BaseDialog","Dialog"],"sources":["../../../src/components/dialog/dialog.tsx"],"sourcesContent":["\"use client\";\n\nimport { Dialog as BaseDialog } from \"@base-ui/react/dialog\";\nimport { forwardRef } from \"react\";\nimport type { ComponentPropsWithoutRef } from \"react\";\nimport type { DialogRoot as BaseDialogRoot } from \"@base-ui/react/dialog\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { dialog } from \"../../styled-system/recipes\";\nimport { withRecipeClassName } from \"../base-ui\";\nimport { useThemePortalProps } from \"../../theme/theme-scope\";\n\nexport type DialogSize = \"sm\" | \"md\" | \"lg\";\n\n/**\n * Groups the dialog parts. It supports Base UI's controlled open/onOpenChange\n * API and uncontrolled defaultOpen API.\n */\nexport type DialogRootProps<Payload = unknown> = BaseDialogRoot.Props<Payload>;\n\nexport function DialogRoot<Payload = unknown>(props: DialogRootProps<Payload>) {\n return <BaseDialog.Root {...props} />;\n}\n\nexport type DialogTriggerProps = ComponentPropsWithoutRef<typeof BaseDialog.Trigger>;\n\nexport const DialogTrigger = forwardRef<HTMLButtonElement, DialogTriggerProps>(\n function DialogTrigger({ className, ...props }, ref) {\n return (\n <BaseDialog.Trigger\n {...props}\n ref={ref}\n className={withRecipeClassName(dialog().trigger, className)}\n data-slot=\"dialog-trigger\"\n />\n );\n },\n);\n\nexport type DialogPortalProps = ComponentPropsWithoutRef<typeof BaseDialog.Portal>;\n\n/**\n * Preserves Base UI's portal behavior and optional container/ref APIs.\n */\nexport function DialogPortal(props: DialogPortalProps) {\n return <BaseDialog.Portal {...useThemePortalProps(props)} />;\n}\n\nexport type DialogBackdropProps = ComponentPropsWithoutRef<typeof BaseDialog.Backdrop>;\n\nexport const DialogBackdrop = forwardRef<HTMLDivElement, DialogBackdropProps>(\n function DialogBackdrop({ className, ...props }, ref) {\n return (\n <BaseDialog.Backdrop\n {...props}\n ref={ref}\n className={withRecipeClassName(dialog().backdrop, className)}\n data-slot=\"dialog-backdrop\"\n />\n );\n },\n);\n\nexport type DialogViewportProps = ComponentPropsWithoutRef<typeof BaseDialog.Viewport>;\n\nexport const DialogViewport = forwardRef<HTMLDivElement, DialogViewportProps>(\n function DialogViewport({ className, ...props }, ref) {\n return (\n <BaseDialog.Viewport\n {...props}\n ref={ref}\n className={withRecipeClassName(dialog().viewport, className)}\n data-slot=\"dialog-viewport\"\n />\n );\n },\n);\n\nexport interface DialogPopupProps extends ComponentPropsWithoutRef<typeof BaseDialog.Popup> {\n size?: DialogSize;\n}\n\nexport const DialogPopup = forwardRef<HTMLDivElement, DialogPopupProps>(function DialogPopup(\n { className, size = \"md\", ...props },\n ref,\n) {\n return (\n <BaseDialog.Popup\n {...props}\n ref={ref}\n className={withRecipeClassName(dialog({ size }).popup, className)}\n data-jaci-component=\"dialog\"\n data-slot=\"dialog-popup\"\n />\n );\n});\n\nexport type DialogHeaderProps = ComponentPropsWithoutRef<\"div\">;\n\nexport const DialogHeader = forwardRef<HTMLDivElement, DialogHeaderProps>(function DialogHeader(\n { className, ...props },\n ref,\n) {\n return (\n <div\n {...props}\n ref={ref}\n className={cx(dialog().header, className)}\n data-slot=\"dialog-header\"\n />\n );\n});\n\nexport type DialogTitleProps = ComponentPropsWithoutRef<typeof BaseDialog.Title>;\n\nexport const DialogTitle = forwardRef<HTMLHeadingElement, DialogTitleProps>(function DialogTitle(\n { className, ...props },\n ref,\n) {\n return (\n <BaseDialog.Title\n {...props}\n ref={ref}\n className={withRecipeClassName(dialog().title, className)}\n data-slot=\"dialog-title\"\n />\n );\n});\n\nexport type DialogDescriptionProps = ComponentPropsWithoutRef<typeof BaseDialog.Description>;\n\nexport const DialogDescription = forwardRef<HTMLParagraphElement, DialogDescriptionProps>(\n function DialogDescription({ className, ...props }, ref) {\n return (\n <BaseDialog.Description\n {...props}\n ref={ref}\n className={withRecipeClassName(dialog().description, className)}\n data-slot=\"dialog-description\"\n />\n );\n },\n);\n\nexport type DialogBodyProps = ComponentPropsWithoutRef<\"div\">;\n\nexport const DialogBody = forwardRef<HTMLDivElement, DialogBodyProps>(function DialogBody(\n { className, ...props },\n ref,\n) {\n return (\n <div {...props} ref={ref} className={cx(dialog().body, className)} data-slot=\"dialog-body\" />\n );\n});\n\nexport type DialogFooterProps = ComponentPropsWithoutRef<\"div\">;\n\nexport const DialogFooter = forwardRef<HTMLDivElement, DialogFooterProps>(function DialogFooter(\n { className, ...props },\n ref,\n) {\n return (\n <div\n {...props}\n ref={ref}\n className={cx(dialog().footer, className)}\n data-slot=\"dialog-footer\"\n />\n );\n});\n\nexport type DialogCloseProps = ComponentPropsWithoutRef<typeof BaseDialog.Close>;\n\nexport const DialogClose = forwardRef<HTMLButtonElement, DialogCloseProps>(function DialogClose(\n { \"aria-label\": ariaLabel, children, className, ...props },\n ref,\n) {\n const hasVisibleLabel = children != null;\n\n return (\n <BaseDialog.Close\n {...props}\n aria-label={ariaLabel ?? (hasVisibleLabel ? undefined : \"Close dialog\")}\n ref={ref}\n className={withRecipeClassName(hasVisibleLabel ? dialog().action : dialog().close, className)}\n data-slot=\"dialog-close\"\n >\n {children ?? \"×\"}\n </BaseDialog.Close>\n );\n});\n\nexport const Dialog = {\n Root: DialogRoot,\n Trigger: DialogTrigger,\n Portal: DialogPortal,\n Backdrop: DialogBackdrop,\n Viewport: DialogViewport,\n Popup: DialogPopup,\n Header: DialogHeader,\n Title: DialogTitle,\n Description: DialogDescription,\n Body: DialogBody,\n Footer: DialogFooter,\n Close: DialogClose,\n createHandle: BaseDialog.createHandle,\n};\n"],"mappings":";;;;;;;;;AAoBA,SAAgBA,aAA8B,OAAiC;CAC7E,OAAO,oBAACC,OAAW,MAAZ,EAAiB,GAAI,MAAQ,CAAA;AACtC;AAIA,MAAa,gBAAgB,WAC3B,SAAS,cAAc,EAAE,WAAW,GAAG,SAAS,KAAK;CACnD,OACE,oBAACA,OAAW,SAAZ;EACE,GAAI;EACC;EACL,WAAW,oBAAoB,OAAO,CAAC,CAAC,SAAS,SAAS;EAC1D,aAAU;CACX,CAAA;AAEL,CACF;;;;AAOA,SAAgB,aAAa,OAA0B;CACrD,OAAO,oBAACA,OAAW,QAAZ,EAAmB,GAAI,oBAAoB,KAAK,EAAI,CAAA;AAC7D;AAIA,MAAa,iBAAiB,WAC5B,SAAS,eAAe,EAAE,WAAW,GAAG,SAAS,KAAK;CACpD,OACE,oBAACA,OAAW,UAAZ;EACE,GAAI;EACC;EACL,WAAW,oBAAoB,OAAO,CAAC,CAAC,UAAU,SAAS;EAC3D,aAAU;CACX,CAAA;AAEL,CACF;AAIA,MAAa,iBAAiB,WAC5B,SAAS,eAAe,EAAE,WAAW,GAAG,SAAS,KAAK;CACpD,OACE,oBAACA,OAAW,UAAZ;EACE,GAAI;EACC;EACL,WAAW,oBAAoB,OAAO,CAAC,CAAC,UAAU,SAAS;EAC3D,aAAU;CACX,CAAA;AAEL,CACF;AAMA,MAAa,cAAc,WAA6C,SAAS,YAC/E,EAAE,WAAW,OAAO,MAAM,GAAG,SAC7B,KACA;CACA,OACE,oBAACA,OAAW,OAAZ;EACE,GAAI;EACC;EACL,WAAW,oBAAoB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,SAAS;EAChE,uBAAoB;EACpB,aAAU;CACX,CAAA;AAEL,CAAC;AAID,MAAa,eAAe,WAA8C,SAAS,aACjF,EAAE,WAAW,GAAG,SAChB,KACA;CACA,OACE,oBAAC,OAAD;EACE,GAAI;EACC;EACL,WAAW,GAAG,OAAO,CAAC,CAAC,QAAQ,SAAS;EACxC,aAAU;CACX,CAAA;AAEL,CAAC;AAID,MAAa,cAAc,WAAiD,SAAS,YACnF,EAAE,WAAW,GAAG,SAChB,KACA;CACA,OACE,oBAACA,OAAW,OAAZ;EACE,GAAI;EACC;EACL,WAAW,oBAAoB,OAAO,CAAC,CAAC,OAAO,SAAS;EACxD,aAAU;CACX,CAAA;AAEL,CAAC;AAID,MAAa,oBAAoB,WAC/B,SAAS,kBAAkB,EAAE,WAAW,GAAG,SAAS,KAAK;CACvD,OACE,oBAACA,OAAW,aAAZ;EACE,GAAI;EACC;EACL,WAAW,oBAAoB,OAAO,CAAC,CAAC,aAAa,SAAS;EAC9D,aAAU;CACX,CAAA;AAEL,CACF;AAIA,MAAa,aAAa,WAA4C,SAAS,WAC7E,EAAE,WAAW,GAAG,SAChB,KACA;CACA,OACE,oBAAC,OAAD;EAAK,GAAI;EAAY;EAAK,WAAW,GAAG,OAAO,CAAC,CAAC,MAAM,SAAS;EAAG,aAAU;CAAe,CAAA;AAEhG,CAAC;AAID,MAAa,eAAe,WAA8C,SAAS,aACjF,EAAE,WAAW,GAAG,SAChB,KACA;CACA,OACE,oBAAC,OAAD;EACE,GAAI;EACC;EACL,WAAW,GAAG,OAAO,CAAC,CAAC,QAAQ,SAAS;EACxC,aAAU;CACX,CAAA;AAEL,CAAC;AAID,MAAa,cAAc,WAAgD,SAAS,YAClF,EAAE,cAAc,WAAW,UAAU,WAAW,GAAG,SACnD,KACA;CACA,MAAM,kBAAkB,YAAY;CAEpC,OACE,oBAACA,OAAW,OAAZ;EACE,GAAI;EACJ,cAAY,cAAc,kBAAkB,KAAA,IAAY;EACnD;EACL,WAAW,oBAAoB,kBAAkB,OAAO,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,OAAO,SAAS;EAC5F,aAAU;YAET,YAAY;CACG,CAAA;AAEtB,CAAC;AAED,MAAaC,WAAS;CACpB,MAAMF;CACN,SAAS;CACT,QAAQ;CACR,UAAU;CACV,UAAU;CACV,OAAO;CACP,QAAQ;CACR,OAAO;CACP,aAAa;CACb,MAAM;CACN,QAAQ;CACR,OAAO;CACP,cAAcC,OAAW;AAC3B"}
@@ -0,0 +1,25 @@
1
+ const require_cx = require("../../styled-system/css/cx.cjs");
2
+ const require_download_trigger = require("../../styled-system/recipes/download-trigger.cjs");
3
+ let react = require("react");
4
+ let react_jsx_runtime = require("react/jsx-runtime");
5
+ //#region src/components/download-trigger/download-trigger.tsx
6
+ const DownloadTrigger = (0, react.forwardRef)(function DownloadTrigger({ className, disabled = false, href, size = "md", variant = "outline", ...props }, ref) {
7
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
8
+ ...props,
9
+ "aria-disabled": disabled || void 0,
10
+ className: require_cx.cx(require_download_trigger.downloadTrigger({
11
+ size,
12
+ variant
13
+ }), className),
14
+ "data-disabled": disabled || void 0,
15
+ "data-jaci-component": "download-trigger",
16
+ "data-slot": "download-trigger",
17
+ href: disabled ? void 0 : href,
18
+ ref,
19
+ tabIndex: disabled ? -1 : props.tabIndex
20
+ });
21
+ });
22
+ //#endregion
23
+ exports.DownloadTrigger = DownloadTrigger;
24
+
25
+ //# sourceMappingURL=download-trigger.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download-trigger.cjs","names":["cx","downloadTrigger"],"sources":["../../../src/components/download-trigger/download-trigger.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { ComponentPropsWithoutRef } from \"react\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { downloadTrigger } from \"../../styled-system/recipes\";\n\nexport interface DownloadTriggerProps extends ComponentPropsWithoutRef<\"a\"> {\n href: string;\n variant?: \"solid\" | \"outline\" | \"ghost\";\n size?: \"sm\" | \"md\" | \"lg\";\n disabled?: boolean;\n}\n\nexport const DownloadTrigger = forwardRef<HTMLAnchorElement, DownloadTriggerProps>(\n function DownloadTrigger(\n { className, disabled = false, href, size = \"md\", variant = \"outline\", ...props },\n ref,\n ) {\n return (\n <a\n {...props}\n aria-disabled={disabled || undefined}\n className={cx(downloadTrigger({ size, variant }), className)}\n data-disabled={disabled || undefined}\n data-jaci-component=\"download-trigger\"\n data-slot=\"download-trigger\"\n href={disabled ? undefined : href}\n ref={ref}\n tabIndex={disabled ? -1 : props.tabIndex}\n />\n );\n },\n);\n"],"mappings":";;;;;AAaA,MAAa,mBAAA,GAAA,MAAA,WAAA,CACX,SAAS,gBACP,EAAE,WAAW,WAAW,OAAO,MAAM,OAAO,MAAM,UAAU,WAAW,GAAG,SAC1E,KACA;CACA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,KAAD;EACE,GAAI;EACJ,iBAAe,YAAY,KAAA;EAC3B,WAAWA,WAAAA,GAAGC,yBAAAA,gBAAgB;GAAE;GAAM;EAAQ,CAAC,GAAG,SAAS;EAC3D,iBAAe,YAAY,KAAA;EAC3B,uBAAoB;EACpB,aAAU;EACV,MAAM,WAAW,KAAA,IAAY;EACxB;EACL,UAAU,WAAW,KAAK,MAAM;CACjC,CAAA;AAEL,CACF"}
@@ -0,0 +1,12 @@
1
+ import { ComponentPropsWithoutRef } from "react";
2
+ //#region src/components/download-trigger/download-trigger.d.ts
3
+ interface DownloadTriggerProps extends ComponentPropsWithoutRef<"a"> {
4
+ href: string;
5
+ variant?: "solid" | "outline" | "ghost";
6
+ size?: "sm" | "md" | "lg";
7
+ disabled?: boolean;
8
+ }
9
+ declare const DownloadTrigger: import("react").ForwardRefExoticComponent<DownloadTriggerProps & import("react").RefAttributes<HTMLAnchorElement>>;
10
+ //#endregion
11
+ export { DownloadTrigger, DownloadTriggerProps };
12
+ //# sourceMappingURL=download-trigger.d.cts.map
@@ -0,0 +1,12 @@
1
+ import { ComponentPropsWithoutRef } from "react";
2
+ //#region src/components/download-trigger/download-trigger.d.ts
3
+ interface DownloadTriggerProps extends ComponentPropsWithoutRef<"a"> {
4
+ href: string;
5
+ variant?: "solid" | "outline" | "ghost";
6
+ size?: "sm" | "md" | "lg";
7
+ disabled?: boolean;
8
+ }
9
+ declare const DownloadTrigger: import("react").ForwardRefExoticComponent<DownloadTriggerProps & import("react").RefAttributes<HTMLAnchorElement>>;
10
+ //#endregion
11
+ export { DownloadTrigger, DownloadTriggerProps };
12
+ //# sourceMappingURL=download-trigger.d.ts.map
@@ -0,0 +1,25 @@
1
+ import { cx } from "../../styled-system/css/cx.js";
2
+ import { downloadTrigger } from "../../styled-system/recipes/download-trigger.js";
3
+ import { forwardRef } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/components/download-trigger/download-trigger.tsx
6
+ const DownloadTrigger = forwardRef(function DownloadTrigger({ className, disabled = false, href, size = "md", variant = "outline", ...props }, ref) {
7
+ return /* @__PURE__ */ jsx("a", {
8
+ ...props,
9
+ "aria-disabled": disabled || void 0,
10
+ className: cx(downloadTrigger({
11
+ size,
12
+ variant
13
+ }), className),
14
+ "data-disabled": disabled || void 0,
15
+ "data-jaci-component": "download-trigger",
16
+ "data-slot": "download-trigger",
17
+ href: disabled ? void 0 : href,
18
+ ref,
19
+ tabIndex: disabled ? -1 : props.tabIndex
20
+ });
21
+ });
22
+ //#endregion
23
+ export { DownloadTrigger };
24
+
25
+ //# sourceMappingURL=download-trigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download-trigger.js","names":[],"sources":["../../../src/components/download-trigger/download-trigger.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { ComponentPropsWithoutRef } from \"react\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { downloadTrigger } from \"../../styled-system/recipes\";\n\nexport interface DownloadTriggerProps extends ComponentPropsWithoutRef<\"a\"> {\n href: string;\n variant?: \"solid\" | \"outline\" | \"ghost\";\n size?: \"sm\" | \"md\" | \"lg\";\n disabled?: boolean;\n}\n\nexport const DownloadTrigger = forwardRef<HTMLAnchorElement, DownloadTriggerProps>(\n function DownloadTrigger(\n { className, disabled = false, href, size = \"md\", variant = \"outline\", ...props },\n ref,\n ) {\n return (\n <a\n {...props}\n aria-disabled={disabled || undefined}\n className={cx(downloadTrigger({ size, variant }), className)}\n data-disabled={disabled || undefined}\n data-jaci-component=\"download-trigger\"\n data-slot=\"download-trigger\"\n href={disabled ? undefined : href}\n ref={ref}\n tabIndex={disabled ? -1 : props.tabIndex}\n />\n );\n },\n);\n"],"mappings":";;;;;AAaA,MAAa,kBAAkB,WAC7B,SAAS,gBACP,EAAE,WAAW,WAAW,OAAO,MAAM,OAAO,MAAM,UAAU,WAAW,GAAG,SAC1E,KACA;CACA,OACE,oBAAC,KAAD;EACE,GAAI;EACJ,iBAAe,YAAY,KAAA;EAC3B,WAAW,GAAG,gBAAgB;GAAE;GAAM;EAAQ,CAAC,GAAG,SAAS;EAC3D,iBAAe,YAAY,KAAA;EAC3B,uBAAoB;EACpB,aAAU;EACV,MAAM,WAAW,KAAA,IAAY;EACxB;EACL,UAAU,WAAW,KAAK,MAAM;CACjC,CAAA;AAEL,CACF"}
@@ -0,0 +1,2 @@
1
+ import { DownloadTrigger, DownloadTriggerProps } from "./download-trigger.cjs";
2
+ export { DownloadTrigger, type DownloadTriggerProps };
@@ -0,0 +1,2 @@
1
+ import { DownloadTrigger, DownloadTriggerProps } from "./download-trigger.js";
2
+ export { DownloadTrigger, type DownloadTriggerProps };
@@ -2,6 +2,7 @@
2
2
  const require_cx = require("../../styled-system/css/cx.cjs");
3
3
  const require_base_ui = require("../base-ui.cjs");
4
4
  const require_drawer = require("../../styled-system/recipes/drawer.cjs");
5
+ const require_theme_scope = require("../../theme/theme-scope.cjs");
5
6
  let react = require("react");
6
7
  let react_jsx_runtime = require("react/jsx-runtime");
7
8
  let _base_ui_react_drawer = require("@base-ui/react/drawer");
@@ -42,7 +43,9 @@ const DrawerTrigger = (0, react.forwardRef)(function DrawerTrigger({ className,
42
43
  "data-slot": "drawer-trigger"
43
44
  });
44
45
  });
45
- const DrawerPortal = _base_ui_react_drawer.Drawer.Portal;
46
+ function DrawerPortal(props) {
47
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_drawer.Drawer.Portal, { ...require_theme_scope.useThemePortalProps(props) });
48
+ }
46
49
  const DrawerBackdrop = (0, react.forwardRef)(function DrawerBackdrop({ className, ...props }, ref) {
47
50
  const { styles } = useDrawerContext();
48
51
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_drawer.Drawer.Backdrop, {
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.cjs","names":["drawer","BaseDrawer","withRecipeClassName","cx"],"sources":["../../../src/components/drawer/drawer.tsx"],"sourcesContent":["\"use client\";\n\nimport { Drawer as BaseDrawer } from \"@base-ui/react/drawer\";\nimport { createContext, forwardRef, useContext, useMemo } from \"react\";\nimport type { ComponentPropsWithoutRef } from \"react\";\nimport type { DrawerRoot as BaseDrawerRoot } from \"@base-ui/react/drawer\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { drawer } from \"../../styled-system/recipes\";\nimport { withRecipeClassName } from \"../base-ui\";\n\nexport type DrawerSide = \"bottom\" | \"left\" | \"right\" | \"top\";\nexport type DrawerSize = \"sm\" | \"md\" | \"lg\";\n\ninterface DrawerContextValue {\n side: DrawerSide;\n size: DrawerSize;\n styles: ReturnType<typeof drawer>;\n}\n\nconst DrawerContext = createContext<DrawerContextValue | null>(null);\n\nfunction useDrawerContext() {\n const context = useContext(DrawerContext);\n if (!context) {\n throw new Error(\"Drawer parts must be rendered inside Drawer.Root.\");\n }\n\n return context;\n}\n\nexport interface DrawerRootProps<Payload = unknown>\n extends Omit<BaseDrawerRoot.Props<Payload>, \"children\"> {\n /** Side from which the drawer enters. */\n side?: DrawerSide;\n /** Shared spacing scale for the drawer content. */\n size?: DrawerSize;\n children?: BaseDrawerRoot.Props<Payload>[\"children\"];\n}\n\nexport function DrawerRoot<Payload = unknown>({\n children,\n side = \"bottom\",\n size = \"md\",\n ...props\n}: DrawerRootProps<Payload>) {\n const styles = drawer({ size });\n const context = useMemo(() => ({ side, size, styles }), [side, size, styles]);\n const swipeDirection =\n props.swipeDirection ?? (side === \"bottom\" ? \"down\" : side === \"top\" ? \"up\" : side);\n\n return (\n <DrawerContext.Provider value={context}>\n <BaseDrawer.Root {...props} swipeDirection={swipeDirection}>\n {children}\n </BaseDrawer.Root>\n </DrawerContext.Provider>\n );\n}\n\nexport type DrawerTriggerProps = ComponentPropsWithoutRef<typeof BaseDrawer.Trigger>;\n\nexport const DrawerTrigger = forwardRef<HTMLButtonElement, DrawerTriggerProps>(\n function DrawerTrigger({ className, ...props }, ref) {\n const { styles } = useDrawerContext();\n\n return (\n <BaseDrawer.Trigger\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.trigger, className)}\n data-slot=\"drawer-trigger\"\n />\n );\n },\n);\n\nexport type DrawerPortalProps = ComponentPropsWithoutRef<typeof BaseDrawer.Portal>;\nexport const DrawerPortal: typeof BaseDrawer.Portal = BaseDrawer.Portal;\n\nexport type DrawerBackdropProps = ComponentPropsWithoutRef<typeof BaseDrawer.Backdrop>;\n\nexport const DrawerBackdrop = forwardRef<HTMLDivElement, DrawerBackdropProps>(\n function DrawerBackdrop({ className, ...props }, ref) {\n const { styles } = useDrawerContext();\n\n return (\n <BaseDrawer.Backdrop\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.backdrop, className)}\n data-slot=\"drawer-backdrop\"\n />\n );\n },\n);\n\nexport type DrawerViewportProps = ComponentPropsWithoutRef<typeof BaseDrawer.Viewport>;\n\nexport const DrawerViewport = forwardRef<HTMLDivElement, DrawerViewportProps>(\n function DrawerViewport({ className, ...props }, ref) {\n const { styles } = useDrawerContext();\n\n return (\n <BaseDrawer.Viewport\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.viewport, className)}\n data-slot=\"drawer-viewport\"\n />\n );\n },\n);\n\nexport interface DrawerPopupProps extends ComponentPropsWithoutRef<typeof BaseDrawer.Popup> {\n /** Overrides the side configured on `Drawer.Root`. */\n side?: DrawerSide;\n /** Overrides the size configured on `Drawer.Root`. */\n size?: DrawerSize;\n}\n\nexport const DrawerPopup = forwardRef<HTMLDivElement, DrawerPopupProps>(function DrawerPopup(\n { \"aria-label\": ariaLabel, className, side: popupSide, size: popupSize, ...props },\n ref,\n) {\n const { side: rootSide, size: rootSize, styles: rootStyles } = useDrawerContext();\n const side = popupSide ?? rootSide;\n const styles = popupSize && popupSize !== rootSize ? drawer({ size: popupSize }) : rootStyles;\n\n return (\n <BaseDrawer.Popup\n {...props}\n aria-label={ariaLabel ?? \"Drawer\"}\n data-jaci-component=\"drawer\"\n data-side={side}\n data-slot=\"drawer-popup\"\n ref={ref}\n className={withRecipeClassName(styles.popup, className)}\n />\n );\n});\n\nexport type DrawerContentProps = ComponentPropsWithoutRef<typeof BaseDrawer.Content>;\n\nexport const DrawerContent = forwardRef<HTMLDivElement, DrawerContentProps>(function DrawerContent(\n { className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n\n return (\n <BaseDrawer.Content\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.content, className)}\n data-slot=\"drawer-content\"\n />\n );\n});\n\nexport type DrawerHeaderProps = ComponentPropsWithoutRef<\"div\">;\n\nexport const DrawerHeader = forwardRef<HTMLDivElement, DrawerHeaderProps>(function DrawerHeader(\n { className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n return (\n <div {...props} ref={ref} className={cx(styles.header, className)} data-slot=\"drawer-header\" />\n );\n});\n\nexport type DrawerTitleProps = ComponentPropsWithoutRef<typeof BaseDrawer.Title>;\n\nexport const DrawerTitle = forwardRef<HTMLHeadingElement, DrawerTitleProps>(function DrawerTitle(\n { className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n return (\n <BaseDrawer.Title\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.title, className)}\n data-slot=\"drawer-title\"\n />\n );\n});\n\nexport type DrawerDescriptionProps = ComponentPropsWithoutRef<typeof BaseDrawer.Description>;\n\nexport const DrawerDescription = forwardRef<HTMLParagraphElement, DrawerDescriptionProps>(\n function DrawerDescription({ className, ...props }, ref) {\n const { styles } = useDrawerContext();\n return (\n <BaseDrawer.Description\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.description, className)}\n data-slot=\"drawer-description\"\n />\n );\n },\n);\n\nexport type DrawerFooterProps = ComponentPropsWithoutRef<\"div\">;\n\nexport const DrawerFooter = forwardRef<HTMLDivElement, DrawerFooterProps>(function DrawerFooter(\n { className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n return (\n <div {...props} ref={ref} className={cx(styles.footer, className)} data-slot=\"drawer-footer\" />\n );\n});\n\nexport type DrawerCloseProps = ComponentPropsWithoutRef<typeof BaseDrawer.Close>;\n\nexport const DrawerClose = forwardRef<HTMLButtonElement, DrawerCloseProps>(function DrawerClose(\n { \"aria-label\": ariaLabel, children, className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n const hasVisibleLabel = children != null;\n\n return (\n <BaseDrawer.Close\n {...props}\n aria-label={ariaLabel ?? (hasVisibleLabel ? undefined : \"Close drawer\")}\n ref={ref}\n className={withRecipeClassName(hasVisibleLabel ? styles.action : styles.close, className)}\n data-slot=\"drawer-close\"\n >\n {children ?? \"×\"}\n </BaseDrawer.Close>\n );\n});\n\nexport const Drawer = {\n Root: DrawerRoot,\n Trigger: DrawerTrigger,\n Portal: DrawerPortal,\n Backdrop: DrawerBackdrop,\n Viewport: DrawerViewport,\n Popup: DrawerPopup,\n Content: DrawerContent,\n Header: DrawerHeader,\n Title: DrawerTitle,\n Description: DrawerDescription,\n Footer: DrawerFooter,\n Close: DrawerClose,\n createHandle: BaseDrawer.createHandle,\n};\n"],"mappings":";;;;;;;;AAoBA,MAAM,iBAAA,GAAA,MAAA,cAAA,CAAyD,IAAI;AAEnE,SAAS,mBAAmB;CAC1B,MAAM,WAAA,GAAA,MAAA,WAAA,CAAqB,aAAa;CACxC,IAAI,CAAC,SACH,MAAM,IAAI,MAAM,mDAAmD;CAGrE,OAAO;AACT;AAWA,SAAgB,WAA8B,EAC5C,UACA,OAAO,UACP,OAAO,MACP,GAAG,SACwB;CAC3B,MAAM,SAASA,eAAAA,OAAO,EAAE,KAAK,CAAC;CAC9B,MAAM,WAAA,GAAA,MAAA,QAAA,QAAyB;EAAE;EAAM;EAAM;CAAO,IAAI;EAAC;EAAM;EAAM;CAAM,CAAC;CAC5E,MAAM,iBACJ,MAAM,mBAAmB,SAAS,WAAW,SAAS,SAAS,QAAQ,OAAO;CAEhF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAc,UAAf;EAAwB,OAAO;YAC7B,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,OAAW,MAAZ;GAAiB,GAAI;GAAuB;GACzC;EACc,CAAA;CACK,CAAA;AAE5B;AAIA,MAAa,iBAAA,GAAA,MAAA,WAAA,CACX,SAAS,cAAc,EAAE,WAAW,GAAG,SAAS,KAAK;CACnD,MAAM,EAAE,WAAW,iBAAiB;CAEpC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,sBAAAA,OAAW,SAAZ;EACE,GAAI;EACC;EACL,WAAWC,gBAAAA,oBAAoB,OAAO,SAAS,SAAS;EACxD,aAAU;CACX,CAAA;AAEL,CACF;AAGA,MAAa,eAAyCD,sBAAAA,OAAW;AAIjE,MAAa,kBAAA,GAAA,MAAA,WAAA,CACX,SAAS,eAAe,EAAE,WAAW,GAAG,SAAS,KAAK;CACpD,MAAM,EAAE,WAAW,iBAAiB;CAEpC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,sBAAAA,OAAW,UAAZ;EACE,GAAI;EACC;EACL,WAAWC,gBAAAA,oBAAoB,OAAO,UAAU,SAAS;EACzD,aAAU;CACX,CAAA;AAEL,CACF;AAIA,MAAa,kBAAA,GAAA,MAAA,WAAA,CACX,SAAS,eAAe,EAAE,WAAW,GAAG,SAAS,KAAK;CACpD,MAAM,EAAE,WAAW,iBAAiB;CAEpC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACD,sBAAAA,OAAW,UAAZ;EACE,GAAI;EACC;EACL,WAAWC,gBAAAA,oBAAoB,OAAO,UAAU,SAAS;EACzD,aAAU;CACX,CAAA;AAEL,CACF;AASA,MAAa,eAAA,GAAA,MAAA,WAAA,CAA2D,SAAS,YAC/E,EAAE,cAAc,WAAW,WAAW,MAAM,WAAW,MAAM,WAAW,GAAG,SAC3E,KACA;CACA,MAAM,EAAE,MAAM,UAAU,MAAM,UAAU,QAAQ,eAAe,iBAAiB;CAChF,MAAM,OAAO,aAAa;CAC1B,MAAM,SAAS,aAAa,cAAc,WAAWF,eAAAA,OAAO,EAAE,MAAM,UAAU,CAAC,IAAI;CAEnF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,OAAW,OAAZ;EACE,GAAI;EACJ,cAAY,aAAa;EACzB,uBAAoB;EACpB,aAAW;EACX,aAAU;EACL;EACL,WAAWC,gBAAAA,oBAAoB,OAAO,OAAO,SAAS;CACvD,CAAA;AAEL,CAAC;AAID,MAAa,iBAAA,GAAA,MAAA,WAAA,CAA+D,SAAS,cACnF,EAAE,WAAW,GAAG,SAChB,KACA;CACA,MAAM,EAAE,WAAW,iBAAiB;CAEpC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACD,sBAAAA,OAAW,SAAZ;EACE,GAAI;EACC;EACL,WAAWC,gBAAAA,oBAAoB,OAAO,SAAS,SAAS;EACxD,aAAU;CACX,CAAA;AAEL,CAAC;AAID,MAAa,gBAAA,GAAA,MAAA,WAAA,CAA6D,SAAS,aACjF,EAAE,WAAW,GAAG,SAChB,KACA;CACA,MAAM,EAAE,WAAW,iBAAiB;CACpC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EAAK,GAAI;EAAY;EAAK,WAAWC,WAAAA,GAAG,OAAO,QAAQ,SAAS;EAAG,aAAU;CAAiB,CAAA;AAElG,CAAC;AAID,MAAa,eAAA,GAAA,MAAA,WAAA,CAA+D,SAAS,YACnF,EAAE,WAAW,GAAG,SAChB,KACA;CACA,MAAM,EAAE,WAAW,iBAAiB;CACpC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACF,sBAAAA,OAAW,OAAZ;EACE,GAAI;EACC;EACL,WAAWC,gBAAAA,oBAAoB,OAAO,OAAO,SAAS;EACtD,aAAU;CACX,CAAA;AAEL,CAAC;AAID,MAAa,qBAAA,GAAA,MAAA,WAAA,CACX,SAAS,kBAAkB,EAAE,WAAW,GAAG,SAAS,KAAK;CACvD,MAAM,EAAE,WAAW,iBAAiB;CACpC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACD,sBAAAA,OAAW,aAAZ;EACE,GAAI;EACC;EACL,WAAWC,gBAAAA,oBAAoB,OAAO,aAAa,SAAS;EAC5D,aAAU;CACX,CAAA;AAEL,CACF;AAIA,MAAa,gBAAA,GAAA,MAAA,WAAA,CAA6D,SAAS,aACjF,EAAE,WAAW,GAAG,SAChB,KACA;CACA,MAAM,EAAE,WAAW,iBAAiB;CACpC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EAAK,GAAI;EAAY;EAAK,WAAWC,WAAAA,GAAG,OAAO,QAAQ,SAAS;EAAG,aAAU;CAAiB,CAAA;AAElG,CAAC;AAID,MAAa,eAAA,GAAA,MAAA,WAAA,CAA8D,SAAS,YAClF,EAAE,cAAc,WAAW,UAAU,WAAW,GAAG,SACnD,KACA;CACA,MAAM,EAAE,WAAW,iBAAiB;CACpC,MAAM,kBAAkB,YAAY;CAEpC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACF,sBAAAA,OAAW,OAAZ;EACE,GAAI;EACJ,cAAY,cAAc,kBAAkB,KAAA,IAAY;EACnD;EACL,WAAWC,gBAAAA,oBAAoB,kBAAkB,OAAO,SAAS,OAAO,OAAO,SAAS;EACxF,aAAU;YAET,YAAY;CACG,CAAA;AAEtB,CAAC;AAED,MAAa,SAAS;CACpB,MAAM;CACN,SAAS;CACT,QAAQ;CACR,UAAU;CACV,UAAU;CACV,OAAO;CACP,SAAS;CACT,QAAQ;CACR,OAAO;CACP,aAAa;CACb,QAAQ;CACR,OAAO;CACP,cAAcD,sBAAAA,OAAW;AAC3B"}
1
+ {"version":3,"file":"drawer.cjs","names":["drawer","BaseDrawer","withRecipeClassName","useThemePortalProps","cx"],"sources":["../../../src/components/drawer/drawer.tsx"],"sourcesContent":["\"use client\";\n\nimport { Drawer as BaseDrawer } from \"@base-ui/react/drawer\";\nimport { createContext, forwardRef, useContext, useMemo } from \"react\";\nimport type { ComponentPropsWithoutRef } from \"react\";\nimport type { DrawerRoot as BaseDrawerRoot } from \"@base-ui/react/drawer\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { drawer } from \"../../styled-system/recipes\";\nimport { withRecipeClassName } from \"../base-ui\";\nimport { useThemePortalProps } from \"../../theme/theme-scope\";\n\nexport type DrawerSide = \"bottom\" | \"left\" | \"right\" | \"top\";\nexport type DrawerSize = \"sm\" | \"md\" | \"lg\";\n\ninterface DrawerContextValue {\n side: DrawerSide;\n size: DrawerSize;\n styles: ReturnType<typeof drawer>;\n}\n\nconst DrawerContext = createContext<DrawerContextValue | null>(null);\n\nfunction useDrawerContext() {\n const context = useContext(DrawerContext);\n if (!context) {\n throw new Error(\"Drawer parts must be rendered inside Drawer.Root.\");\n }\n\n return context;\n}\n\nexport interface DrawerRootProps<Payload = unknown>\n extends Omit<BaseDrawerRoot.Props<Payload>, \"children\"> {\n /** Side from which the drawer enters. */\n side?: DrawerSide;\n /** Shared spacing scale for the drawer content. */\n size?: DrawerSize;\n children?: BaseDrawerRoot.Props<Payload>[\"children\"];\n}\n\nexport function DrawerRoot<Payload = unknown>({\n children,\n side = \"bottom\",\n size = \"md\",\n ...props\n}: DrawerRootProps<Payload>) {\n const styles = drawer({ size });\n const context = useMemo(() => ({ side, size, styles }), [side, size, styles]);\n const swipeDirection =\n props.swipeDirection ?? (side === \"bottom\" ? \"down\" : side === \"top\" ? \"up\" : side);\n\n return (\n <DrawerContext.Provider value={context}>\n <BaseDrawer.Root {...props} swipeDirection={swipeDirection}>\n {children}\n </BaseDrawer.Root>\n </DrawerContext.Provider>\n );\n}\n\nexport type DrawerTriggerProps = ComponentPropsWithoutRef<typeof BaseDrawer.Trigger>;\n\nexport const DrawerTrigger = forwardRef<HTMLButtonElement, DrawerTriggerProps>(\n function DrawerTrigger({ className, ...props }, ref) {\n const { styles } = useDrawerContext();\n\n return (\n <BaseDrawer.Trigger\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.trigger, className)}\n data-slot=\"drawer-trigger\"\n />\n );\n },\n);\n\nexport type DrawerPortalProps = ComponentPropsWithoutRef<typeof BaseDrawer.Portal>;\nexport function DrawerPortal(props: DrawerPortalProps) {\n return <BaseDrawer.Portal {...useThemePortalProps(props)} />;\n}\n\nexport type DrawerBackdropProps = ComponentPropsWithoutRef<typeof BaseDrawer.Backdrop>;\n\nexport const DrawerBackdrop = forwardRef<HTMLDivElement, DrawerBackdropProps>(\n function DrawerBackdrop({ className, ...props }, ref) {\n const { styles } = useDrawerContext();\n\n return (\n <BaseDrawer.Backdrop\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.backdrop, className)}\n data-slot=\"drawer-backdrop\"\n />\n );\n },\n);\n\nexport type DrawerViewportProps = ComponentPropsWithoutRef<typeof BaseDrawer.Viewport>;\n\nexport const DrawerViewport = forwardRef<HTMLDivElement, DrawerViewportProps>(\n function DrawerViewport({ className, ...props }, ref) {\n const { styles } = useDrawerContext();\n\n return (\n <BaseDrawer.Viewport\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.viewport, className)}\n data-slot=\"drawer-viewport\"\n />\n );\n },\n);\n\nexport interface DrawerPopupProps extends ComponentPropsWithoutRef<typeof BaseDrawer.Popup> {\n /** Overrides the side configured on `Drawer.Root`. */\n side?: DrawerSide;\n /** Overrides the size configured on `Drawer.Root`. */\n size?: DrawerSize;\n}\n\nexport const DrawerPopup = forwardRef<HTMLDivElement, DrawerPopupProps>(function DrawerPopup(\n { \"aria-label\": ariaLabel, className, side: popupSide, size: popupSize, ...props },\n ref,\n) {\n const { side: rootSide, size: rootSize, styles: rootStyles } = useDrawerContext();\n const side = popupSide ?? rootSide;\n const styles = popupSize && popupSize !== rootSize ? drawer({ size: popupSize }) : rootStyles;\n\n return (\n <BaseDrawer.Popup\n {...props}\n aria-label={ariaLabel ?? \"Drawer\"}\n data-jaci-component=\"drawer\"\n data-side={side}\n data-slot=\"drawer-popup\"\n ref={ref}\n className={withRecipeClassName(styles.popup, className)}\n />\n );\n});\n\nexport type DrawerContentProps = ComponentPropsWithoutRef<typeof BaseDrawer.Content>;\n\nexport const DrawerContent = forwardRef<HTMLDivElement, DrawerContentProps>(function DrawerContent(\n { className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n\n return (\n <BaseDrawer.Content\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.content, className)}\n data-slot=\"drawer-content\"\n />\n );\n});\n\nexport type DrawerHeaderProps = ComponentPropsWithoutRef<\"div\">;\n\nexport const DrawerHeader = forwardRef<HTMLDivElement, DrawerHeaderProps>(function DrawerHeader(\n { className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n return (\n <div {...props} ref={ref} className={cx(styles.header, className)} data-slot=\"drawer-header\" />\n );\n});\n\nexport type DrawerTitleProps = ComponentPropsWithoutRef<typeof BaseDrawer.Title>;\n\nexport const DrawerTitle = forwardRef<HTMLHeadingElement, DrawerTitleProps>(function DrawerTitle(\n { className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n return (\n <BaseDrawer.Title\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.title, className)}\n data-slot=\"drawer-title\"\n />\n );\n});\n\nexport type DrawerDescriptionProps = ComponentPropsWithoutRef<typeof BaseDrawer.Description>;\n\nexport const DrawerDescription = forwardRef<HTMLParagraphElement, DrawerDescriptionProps>(\n function DrawerDescription({ className, ...props }, ref) {\n const { styles } = useDrawerContext();\n return (\n <BaseDrawer.Description\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.description, className)}\n data-slot=\"drawer-description\"\n />\n );\n },\n);\n\nexport type DrawerFooterProps = ComponentPropsWithoutRef<\"div\">;\n\nexport const DrawerFooter = forwardRef<HTMLDivElement, DrawerFooterProps>(function DrawerFooter(\n { className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n return (\n <div {...props} ref={ref} className={cx(styles.footer, className)} data-slot=\"drawer-footer\" />\n );\n});\n\nexport type DrawerCloseProps = ComponentPropsWithoutRef<typeof BaseDrawer.Close>;\n\nexport const DrawerClose = forwardRef<HTMLButtonElement, DrawerCloseProps>(function DrawerClose(\n { \"aria-label\": ariaLabel, children, className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n const hasVisibleLabel = children != null;\n\n return (\n <BaseDrawer.Close\n {...props}\n aria-label={ariaLabel ?? (hasVisibleLabel ? undefined : \"Close drawer\")}\n ref={ref}\n className={withRecipeClassName(hasVisibleLabel ? styles.action : styles.close, className)}\n data-slot=\"drawer-close\"\n >\n {children ?? \"×\"}\n </BaseDrawer.Close>\n );\n});\n\nexport const Drawer = {\n Root: DrawerRoot,\n Trigger: DrawerTrigger,\n Portal: DrawerPortal,\n Backdrop: DrawerBackdrop,\n Viewport: DrawerViewport,\n Popup: DrawerPopup,\n Content: DrawerContent,\n Header: DrawerHeader,\n Title: DrawerTitle,\n Description: DrawerDescription,\n Footer: DrawerFooter,\n Close: DrawerClose,\n createHandle: BaseDrawer.createHandle,\n};\n"],"mappings":"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"}
@@ -14,7 +14,7 @@ declare function DrawerRoot$1<Payload = unknown>({ children, side, size, ...prop
14
14
  type DrawerTriggerProps = ComponentPropsWithoutRef<typeof Drawer.Trigger>;
15
15
  declare const DrawerTrigger: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react").DrawerTriggerProps<unknown> & import("react").RefAttributes<HTMLElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
16
16
  type DrawerPortalProps = ComponentPropsWithoutRef<typeof Drawer.Portal>;
17
- declare const DrawerPortal: typeof Drawer.Portal;
17
+ declare function DrawerPortal(props: DrawerPortalProps): import("react").JSX.Element;
18
18
  type DrawerBackdropProps = ComponentPropsWithoutRef<typeof Drawer.Backdrop>;
19
19
  declare const DrawerBackdrop: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DrawerBackdropProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
20
20
  type DrawerViewportProps = ComponentPropsWithoutRef<typeof Drawer.Viewport>;
@@ -41,7 +41,7 @@ declare const DrawerClose: import("react").ForwardRefExoticComponent<Omit<import
41
41
  declare const Drawer$1: {
42
42
  Root: typeof DrawerRoot$1;
43
43
  Trigger: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react").DrawerTriggerProps<unknown> & import("react").RefAttributes<HTMLElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
44
- Portal: Drawer.Portal;
44
+ Portal: typeof DrawerPortal;
45
45
  Backdrop: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DrawerBackdropProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
46
46
  Viewport: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DrawerViewportProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
47
47
  Popup: import("react").ForwardRefExoticComponent<DrawerPopupProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -14,7 +14,7 @@ declare function DrawerRoot$1<Payload = unknown>({ children, side, size, ...prop
14
14
  type DrawerTriggerProps = ComponentPropsWithoutRef<typeof Drawer.Trigger>;
15
15
  declare const DrawerTrigger: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react").DrawerTriggerProps<unknown> & import("react").RefAttributes<HTMLElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
16
16
  type DrawerPortalProps = ComponentPropsWithoutRef<typeof Drawer.Portal>;
17
- declare const DrawerPortal: typeof Drawer.Portal;
17
+ declare function DrawerPortal(props: DrawerPortalProps): import("react").JSX.Element;
18
18
  type DrawerBackdropProps = ComponentPropsWithoutRef<typeof Drawer.Backdrop>;
19
19
  declare const DrawerBackdrop: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DrawerBackdropProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
20
20
  type DrawerViewportProps = ComponentPropsWithoutRef<typeof Drawer.Viewport>;
@@ -41,7 +41,7 @@ declare const DrawerClose: import("react").ForwardRefExoticComponent<Omit<import
41
41
  declare const Drawer$1: {
42
42
  Root: typeof DrawerRoot$1;
43
43
  Trigger: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react").DrawerTriggerProps<unknown> & import("react").RefAttributes<HTMLElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
44
- Portal: Drawer.Portal;
44
+ Portal: typeof DrawerPortal;
45
45
  Backdrop: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DrawerBackdropProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
46
46
  Viewport: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").DrawerViewportProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
47
47
  Popup: import("react").ForwardRefExoticComponent<DrawerPopupProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -2,6 +2,7 @@
2
2
  import { cx } from "../../styled-system/css/cx.js";
3
3
  import { withRecipeClassName } from "../base-ui.js";
4
4
  import { drawer } from "../../styled-system/recipes/drawer.js";
5
+ import { useThemePortalProps } from "../../theme/theme-scope.js";
5
6
  import { createContext, forwardRef, useContext, useMemo } from "react";
6
7
  import { jsx } from "react/jsx-runtime";
7
8
  import { Drawer } from "@base-ui/react/drawer";
@@ -42,7 +43,9 @@ const DrawerTrigger = forwardRef(function DrawerTrigger({ className, ...props },
42
43
  "data-slot": "drawer-trigger"
43
44
  });
44
45
  });
45
- const DrawerPortal = Drawer.Portal;
46
+ function DrawerPortal(props) {
47
+ return /* @__PURE__ */ jsx(Drawer.Portal, { ...useThemePortalProps(props) });
48
+ }
46
49
  const DrawerBackdrop = forwardRef(function DrawerBackdrop({ className, ...props }, ref) {
47
50
  const { styles } = useDrawerContext();
48
51
  return /* @__PURE__ */ jsx(Drawer.Backdrop, {
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.js","names":["DrawerRoot","BaseDrawer","Drawer"],"sources":["../../../src/components/drawer/drawer.tsx"],"sourcesContent":["\"use client\";\n\nimport { Drawer as BaseDrawer } from \"@base-ui/react/drawer\";\nimport { createContext, forwardRef, useContext, useMemo } from \"react\";\nimport type { ComponentPropsWithoutRef } from \"react\";\nimport type { DrawerRoot as BaseDrawerRoot } from \"@base-ui/react/drawer\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { drawer } from \"../../styled-system/recipes\";\nimport { withRecipeClassName } from \"../base-ui\";\n\nexport type DrawerSide = \"bottom\" | \"left\" | \"right\" | \"top\";\nexport type DrawerSize = \"sm\" | \"md\" | \"lg\";\n\ninterface DrawerContextValue {\n side: DrawerSide;\n size: DrawerSize;\n styles: ReturnType<typeof drawer>;\n}\n\nconst DrawerContext = createContext<DrawerContextValue | null>(null);\n\nfunction useDrawerContext() {\n const context = useContext(DrawerContext);\n if (!context) {\n throw new Error(\"Drawer parts must be rendered inside Drawer.Root.\");\n }\n\n return context;\n}\n\nexport interface DrawerRootProps<Payload = unknown>\n extends Omit<BaseDrawerRoot.Props<Payload>, \"children\"> {\n /** Side from which the drawer enters. */\n side?: DrawerSide;\n /** Shared spacing scale for the drawer content. */\n size?: DrawerSize;\n children?: BaseDrawerRoot.Props<Payload>[\"children\"];\n}\n\nexport function DrawerRoot<Payload = unknown>({\n children,\n side = \"bottom\",\n size = \"md\",\n ...props\n}: DrawerRootProps<Payload>) {\n const styles = drawer({ size });\n const context = useMemo(() => ({ side, size, styles }), [side, size, styles]);\n const swipeDirection =\n props.swipeDirection ?? (side === \"bottom\" ? \"down\" : side === \"top\" ? \"up\" : side);\n\n return (\n <DrawerContext.Provider value={context}>\n <BaseDrawer.Root {...props} swipeDirection={swipeDirection}>\n {children}\n </BaseDrawer.Root>\n </DrawerContext.Provider>\n );\n}\n\nexport type DrawerTriggerProps = ComponentPropsWithoutRef<typeof BaseDrawer.Trigger>;\n\nexport const DrawerTrigger = forwardRef<HTMLButtonElement, DrawerTriggerProps>(\n function DrawerTrigger({ className, ...props }, ref) {\n const { styles } = useDrawerContext();\n\n return (\n <BaseDrawer.Trigger\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.trigger, className)}\n data-slot=\"drawer-trigger\"\n />\n );\n },\n);\n\nexport type DrawerPortalProps = ComponentPropsWithoutRef<typeof BaseDrawer.Portal>;\nexport const DrawerPortal: typeof BaseDrawer.Portal = BaseDrawer.Portal;\n\nexport type DrawerBackdropProps = ComponentPropsWithoutRef<typeof BaseDrawer.Backdrop>;\n\nexport const DrawerBackdrop = forwardRef<HTMLDivElement, DrawerBackdropProps>(\n function DrawerBackdrop({ className, ...props }, ref) {\n const { styles } = useDrawerContext();\n\n return (\n <BaseDrawer.Backdrop\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.backdrop, className)}\n data-slot=\"drawer-backdrop\"\n />\n );\n },\n);\n\nexport type DrawerViewportProps = ComponentPropsWithoutRef<typeof BaseDrawer.Viewport>;\n\nexport const DrawerViewport = forwardRef<HTMLDivElement, DrawerViewportProps>(\n function DrawerViewport({ className, ...props }, ref) {\n const { styles } = useDrawerContext();\n\n return (\n <BaseDrawer.Viewport\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.viewport, className)}\n data-slot=\"drawer-viewport\"\n />\n );\n },\n);\n\nexport interface DrawerPopupProps extends ComponentPropsWithoutRef<typeof BaseDrawer.Popup> {\n /** Overrides the side configured on `Drawer.Root`. */\n side?: DrawerSide;\n /** Overrides the size configured on `Drawer.Root`. */\n size?: DrawerSize;\n}\n\nexport const DrawerPopup = forwardRef<HTMLDivElement, DrawerPopupProps>(function DrawerPopup(\n { \"aria-label\": ariaLabel, className, side: popupSide, size: popupSize, ...props },\n ref,\n) {\n const { side: rootSide, size: rootSize, styles: rootStyles } = useDrawerContext();\n const side = popupSide ?? rootSide;\n const styles = popupSize && popupSize !== rootSize ? drawer({ size: popupSize }) : rootStyles;\n\n return (\n <BaseDrawer.Popup\n {...props}\n aria-label={ariaLabel ?? \"Drawer\"}\n data-jaci-component=\"drawer\"\n data-side={side}\n data-slot=\"drawer-popup\"\n ref={ref}\n className={withRecipeClassName(styles.popup, className)}\n />\n );\n});\n\nexport type DrawerContentProps = ComponentPropsWithoutRef<typeof BaseDrawer.Content>;\n\nexport const DrawerContent = forwardRef<HTMLDivElement, DrawerContentProps>(function DrawerContent(\n { className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n\n return (\n <BaseDrawer.Content\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.content, className)}\n data-slot=\"drawer-content\"\n />\n );\n});\n\nexport type DrawerHeaderProps = ComponentPropsWithoutRef<\"div\">;\n\nexport const DrawerHeader = forwardRef<HTMLDivElement, DrawerHeaderProps>(function DrawerHeader(\n { className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n return (\n <div {...props} ref={ref} className={cx(styles.header, className)} data-slot=\"drawer-header\" />\n );\n});\n\nexport type DrawerTitleProps = ComponentPropsWithoutRef<typeof BaseDrawer.Title>;\n\nexport const DrawerTitle = forwardRef<HTMLHeadingElement, DrawerTitleProps>(function DrawerTitle(\n { className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n return (\n <BaseDrawer.Title\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.title, className)}\n data-slot=\"drawer-title\"\n />\n );\n});\n\nexport type DrawerDescriptionProps = ComponentPropsWithoutRef<typeof BaseDrawer.Description>;\n\nexport const DrawerDescription = forwardRef<HTMLParagraphElement, DrawerDescriptionProps>(\n function DrawerDescription({ className, ...props }, ref) {\n const { styles } = useDrawerContext();\n return (\n <BaseDrawer.Description\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.description, className)}\n data-slot=\"drawer-description\"\n />\n );\n },\n);\n\nexport type DrawerFooterProps = ComponentPropsWithoutRef<\"div\">;\n\nexport const DrawerFooter = forwardRef<HTMLDivElement, DrawerFooterProps>(function DrawerFooter(\n { className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n return (\n <div {...props} ref={ref} className={cx(styles.footer, className)} data-slot=\"drawer-footer\" />\n );\n});\n\nexport type DrawerCloseProps = ComponentPropsWithoutRef<typeof BaseDrawer.Close>;\n\nexport const DrawerClose = forwardRef<HTMLButtonElement, DrawerCloseProps>(function DrawerClose(\n { \"aria-label\": ariaLabel, children, className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n const hasVisibleLabel = children != null;\n\n return (\n <BaseDrawer.Close\n {...props}\n aria-label={ariaLabel ?? (hasVisibleLabel ? undefined : \"Close drawer\")}\n ref={ref}\n className={withRecipeClassName(hasVisibleLabel ? styles.action : styles.close, className)}\n data-slot=\"drawer-close\"\n >\n {children ?? \"×\"}\n </BaseDrawer.Close>\n );\n});\n\nexport const Drawer = {\n Root: DrawerRoot,\n Trigger: DrawerTrigger,\n Portal: DrawerPortal,\n Backdrop: DrawerBackdrop,\n Viewport: DrawerViewport,\n Popup: DrawerPopup,\n Content: DrawerContent,\n Header: DrawerHeader,\n Title: DrawerTitle,\n Description: DrawerDescription,\n Footer: DrawerFooter,\n Close: DrawerClose,\n createHandle: BaseDrawer.createHandle,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"drawer.js","names":["DrawerRoot","BaseDrawer","Drawer"],"sources":["../../../src/components/drawer/drawer.tsx"],"sourcesContent":["\"use client\";\n\nimport { Drawer as BaseDrawer } from \"@base-ui/react/drawer\";\nimport { createContext, forwardRef, useContext, useMemo } from \"react\";\nimport type { ComponentPropsWithoutRef } from \"react\";\nimport type { DrawerRoot as BaseDrawerRoot } from \"@base-ui/react/drawer\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { drawer } from \"../../styled-system/recipes\";\nimport { withRecipeClassName } from \"../base-ui\";\nimport { useThemePortalProps } from \"../../theme/theme-scope\";\n\nexport type DrawerSide = \"bottom\" | \"left\" | \"right\" | \"top\";\nexport type DrawerSize = \"sm\" | \"md\" | \"lg\";\n\ninterface DrawerContextValue {\n side: DrawerSide;\n size: DrawerSize;\n styles: ReturnType<typeof drawer>;\n}\n\nconst DrawerContext = createContext<DrawerContextValue | null>(null);\n\nfunction useDrawerContext() {\n const context = useContext(DrawerContext);\n if (!context) {\n throw new Error(\"Drawer parts must be rendered inside Drawer.Root.\");\n }\n\n return context;\n}\n\nexport interface DrawerRootProps<Payload = unknown>\n extends Omit<BaseDrawerRoot.Props<Payload>, \"children\"> {\n /** Side from which the drawer enters. */\n side?: DrawerSide;\n /** Shared spacing scale for the drawer content. */\n size?: DrawerSize;\n children?: BaseDrawerRoot.Props<Payload>[\"children\"];\n}\n\nexport function DrawerRoot<Payload = unknown>({\n children,\n side = \"bottom\",\n size = \"md\",\n ...props\n}: DrawerRootProps<Payload>) {\n const styles = drawer({ size });\n const context = useMemo(() => ({ side, size, styles }), [side, size, styles]);\n const swipeDirection =\n props.swipeDirection ?? (side === \"bottom\" ? \"down\" : side === \"top\" ? \"up\" : side);\n\n return (\n <DrawerContext.Provider value={context}>\n <BaseDrawer.Root {...props} swipeDirection={swipeDirection}>\n {children}\n </BaseDrawer.Root>\n </DrawerContext.Provider>\n );\n}\n\nexport type DrawerTriggerProps = ComponentPropsWithoutRef<typeof BaseDrawer.Trigger>;\n\nexport const DrawerTrigger = forwardRef<HTMLButtonElement, DrawerTriggerProps>(\n function DrawerTrigger({ className, ...props }, ref) {\n const { styles } = useDrawerContext();\n\n return (\n <BaseDrawer.Trigger\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.trigger, className)}\n data-slot=\"drawer-trigger\"\n />\n );\n },\n);\n\nexport type DrawerPortalProps = ComponentPropsWithoutRef<typeof BaseDrawer.Portal>;\nexport function DrawerPortal(props: DrawerPortalProps) {\n return <BaseDrawer.Portal {...useThemePortalProps(props)} />;\n}\n\nexport type DrawerBackdropProps = ComponentPropsWithoutRef<typeof BaseDrawer.Backdrop>;\n\nexport const DrawerBackdrop = forwardRef<HTMLDivElement, DrawerBackdropProps>(\n function DrawerBackdrop({ className, ...props }, ref) {\n const { styles } = useDrawerContext();\n\n return (\n <BaseDrawer.Backdrop\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.backdrop, className)}\n data-slot=\"drawer-backdrop\"\n />\n );\n },\n);\n\nexport type DrawerViewportProps = ComponentPropsWithoutRef<typeof BaseDrawer.Viewport>;\n\nexport const DrawerViewport = forwardRef<HTMLDivElement, DrawerViewportProps>(\n function DrawerViewport({ className, ...props }, ref) {\n const { styles } = useDrawerContext();\n\n return (\n <BaseDrawer.Viewport\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.viewport, className)}\n data-slot=\"drawer-viewport\"\n />\n );\n },\n);\n\nexport interface DrawerPopupProps extends ComponentPropsWithoutRef<typeof BaseDrawer.Popup> {\n /** Overrides the side configured on `Drawer.Root`. */\n side?: DrawerSide;\n /** Overrides the size configured on `Drawer.Root`. */\n size?: DrawerSize;\n}\n\nexport const DrawerPopup = forwardRef<HTMLDivElement, DrawerPopupProps>(function DrawerPopup(\n { \"aria-label\": ariaLabel, className, side: popupSide, size: popupSize, ...props },\n ref,\n) {\n const { side: rootSide, size: rootSize, styles: rootStyles } = useDrawerContext();\n const side = popupSide ?? rootSide;\n const styles = popupSize && popupSize !== rootSize ? drawer({ size: popupSize }) : rootStyles;\n\n return (\n <BaseDrawer.Popup\n {...props}\n aria-label={ariaLabel ?? \"Drawer\"}\n data-jaci-component=\"drawer\"\n data-side={side}\n data-slot=\"drawer-popup\"\n ref={ref}\n className={withRecipeClassName(styles.popup, className)}\n />\n );\n});\n\nexport type DrawerContentProps = ComponentPropsWithoutRef<typeof BaseDrawer.Content>;\n\nexport const DrawerContent = forwardRef<HTMLDivElement, DrawerContentProps>(function DrawerContent(\n { className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n\n return (\n <BaseDrawer.Content\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.content, className)}\n data-slot=\"drawer-content\"\n />\n );\n});\n\nexport type DrawerHeaderProps = ComponentPropsWithoutRef<\"div\">;\n\nexport const DrawerHeader = forwardRef<HTMLDivElement, DrawerHeaderProps>(function DrawerHeader(\n { className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n return (\n <div {...props} ref={ref} className={cx(styles.header, className)} data-slot=\"drawer-header\" />\n );\n});\n\nexport type DrawerTitleProps = ComponentPropsWithoutRef<typeof BaseDrawer.Title>;\n\nexport const DrawerTitle = forwardRef<HTMLHeadingElement, DrawerTitleProps>(function DrawerTitle(\n { className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n return (\n <BaseDrawer.Title\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.title, className)}\n data-slot=\"drawer-title\"\n />\n );\n});\n\nexport type DrawerDescriptionProps = ComponentPropsWithoutRef<typeof BaseDrawer.Description>;\n\nexport const DrawerDescription = forwardRef<HTMLParagraphElement, DrawerDescriptionProps>(\n function DrawerDescription({ className, ...props }, ref) {\n const { styles } = useDrawerContext();\n return (\n <BaseDrawer.Description\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.description, className)}\n data-slot=\"drawer-description\"\n />\n );\n },\n);\n\nexport type DrawerFooterProps = ComponentPropsWithoutRef<\"div\">;\n\nexport const DrawerFooter = forwardRef<HTMLDivElement, DrawerFooterProps>(function DrawerFooter(\n { className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n return (\n <div {...props} ref={ref} className={cx(styles.footer, className)} data-slot=\"drawer-footer\" />\n );\n});\n\nexport type DrawerCloseProps = ComponentPropsWithoutRef<typeof BaseDrawer.Close>;\n\nexport const DrawerClose = forwardRef<HTMLButtonElement, DrawerCloseProps>(function DrawerClose(\n { \"aria-label\": ariaLabel, children, className, ...props },\n ref,\n) {\n const { styles } = useDrawerContext();\n const hasVisibleLabel = children != null;\n\n return (\n <BaseDrawer.Close\n {...props}\n aria-label={ariaLabel ?? (hasVisibleLabel ? undefined : \"Close drawer\")}\n ref={ref}\n className={withRecipeClassName(hasVisibleLabel ? styles.action : styles.close, className)}\n data-slot=\"drawer-close\"\n >\n {children ?? \"×\"}\n </BaseDrawer.Close>\n );\n});\n\nexport const Drawer = {\n Root: DrawerRoot,\n Trigger: DrawerTrigger,\n Portal: DrawerPortal,\n Backdrop: DrawerBackdrop,\n Viewport: DrawerViewport,\n Popup: DrawerPopup,\n Content: DrawerContent,\n Header: DrawerHeader,\n Title: DrawerTitle,\n Description: DrawerDescription,\n Footer: DrawerFooter,\n Close: DrawerClose,\n createHandle: BaseDrawer.createHandle,\n};\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  const require_cx = require("../../styled-system/css/cx.cjs");
3
3
  const require_figure = require("../../styled-system/recipes/figure.cjs");
4
+ const require_theme_scope = require("../../theme/theme-scope.cjs");
4
5
  const require_image = require("../image/image.cjs");
5
6
  let react = require("react");
6
7
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -60,6 +61,7 @@ const FigureRoot = (0, react.forwardRef)(function FigureRoot({ children, classNa
60
61
  lightbox: canOpen,
61
62
  styles
62
63
  };
64
+ const scopedPortalProps = require_theme_scope.useThemePortalProps({});
63
65
  if (!canOpen || !media) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FigureContext.Provider, {
64
66
  value,
65
67
  children: content
@@ -72,42 +74,49 @@ const FigureRoot = (0, react.forwardRef)(function FigureRoot({ children, classNa
72
74
  defaultOpen,
73
75
  onOpenChange: (nextOpen) => onOpenChange?.(nextOpen),
74
76
  open,
75
- children: [content, /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_base_ui_react_dialog.Dialog.Portal, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_dialog.Dialog.Backdrop, {
76
- className: styles.backdrop,
77
- "data-slot": "figure-lightbox-backdrop"
78
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_dialog.Dialog.Viewport, {
79
- className: styles.viewport,
80
- "data-slot": "figure-lightbox-viewport",
81
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_base_ui_react_dialog.Dialog.Popup, {
82
- "aria-label": alt || "Image preview",
83
- className: styles.popup,
84
- "data-jaci-component": "figure-lightbox",
85
- "data-slot": "figure-lightbox-popup",
86
- children: [
87
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_dialog.Dialog.Title, {
88
- className: styles.title,
89
- children: alt || "Image preview"
90
- }),
91
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_dialog.Dialog.Close, {
92
- "aria-label": closeLabel,
93
- className: styles.close,
94
- "data-slot": "figure-lightbox-close",
95
- children: "×"
96
- }),
97
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
98
- alt,
99
- className: styles.lightboxImage,
100
- "data-slot": "figure-lightbox-image",
101
- src
102
- }),
103
- caption ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("figcaption", {
104
- className: styles.lightboxCaption,
105
- "data-slot": "figure-lightbox-caption",
106
- children: caption.props.children
107
- }) : null
108
- ]
109
- })
110
- })] })]
77
+ children: [content, /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_base_ui_react_dialog.Dialog.Portal, {
78
+ ...scopedPortalProps,
79
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_dialog.Dialog.Backdrop, {
80
+ className: styles.backdrop,
81
+ "data-slot": "figure-lightbox-backdrop"
82
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_dialog.Dialog.Viewport, {
83
+ className: styles.viewport,
84
+ "data-slot": "figure-lightbox-viewport",
85
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_base_ui_react_dialog.Dialog.Popup, {
86
+ "aria-label": alt || "Image preview",
87
+ className: styles.popup,
88
+ "data-jaci-component": "figure-lightbox",
89
+ "data-slot": "figure-lightbox-popup",
90
+ children: [
91
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_dialog.Dialog.Title, {
92
+ className: styles.title,
93
+ children: alt || "Image preview"
94
+ }),
95
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
96
+ className: styles.closeRow,
97
+ "data-slot": "figure-lightbox-close-row",
98
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_dialog.Dialog.Close, {
99
+ "aria-label": closeLabel,
100
+ className: styles.close,
101
+ "data-slot": "figure-lightbox-close",
102
+ children: "×"
103
+ })
104
+ }),
105
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
106
+ alt,
107
+ className: styles.lightboxImage,
108
+ "data-slot": "figure-lightbox-image",
109
+ src
110
+ }),
111
+ caption ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("figcaption", {
112
+ className: styles.lightboxCaption,
113
+ "data-slot": "figure-lightbox-caption",
114
+ children: caption.props.children
115
+ }) : null
116
+ ]
117
+ })
118
+ })]
119
+ })]
111
120
  })
112
121
  });
113
122
  });
@@ -1 +1 @@
1
- {"version":3,"file":"figure.cjs","names":["Image","cx","BaseDialog","Children","figureStyles"],"sources":["../../../src/components/figure/figure.tsx"],"sourcesContent":["\"use client\";\n\nimport { Dialog as BaseDialog } from \"@base-ui/react/dialog\";\nimport { Children, createContext, forwardRef, isValidElement, useContext } from \"react\";\nimport type { ComponentPropsWithoutRef, ElementType, ReactElement, ReactNode } from \"react\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { figure as figureStyles } from \"../../styled-system/recipes\";\nimport { Image } from \"../image\";\nimport type { ImageProps } from \"../image\";\n\ninterface FigureContextValue {\n lightbox: boolean;\n styles: ReturnType<typeof figureStyles>;\n}\n\nconst FigureContext = createContext<FigureContextValue | null>(null);\n\nfunction useFigureContext() {\n const value = useContext(FigureContext);\n if (!value) {\n throw new Error(\"Figure parts must be rendered inside Figure.Root.\");\n }\n return value;\n}\n\nexport type FigureImageProps = ImageProps;\n\nexport const FigureImage = forwardRef<HTMLImageElement, FigureImageProps>(function FigureImage(\n { className, lightbox: _lightbox, ...props },\n ref,\n) {\n const { lightbox, styles } = useFigureContext();\n const content = (\n <Image\n {...props}\n ref={ref}\n className={cx(styles.image, className)}\n data-slot=\"figure-image\"\n lightbox={false}\n />\n );\n\n if (!lightbox) {\n return content;\n }\n\n return (\n <BaseDialog.Trigger\n aria-label=\"Open image\"\n className={styles.trigger}\n data-jaci-component=\"figure-trigger\"\n data-slot=\"figure-trigger\"\n >\n {content}\n </BaseDialog.Trigger>\n );\n});\n\nexport type FigureCaptionProps = ComponentPropsWithoutRef<\"figcaption\">;\n\nexport const FigureCaption = forwardRef<HTMLElement, FigureCaptionProps>(function FigureCaption(\n { className, ...props },\n ref,\n) {\n const { styles } = useFigureContext();\n return (\n <figcaption\n {...props}\n ref={ref}\n className={cx(styles.caption, className)}\n data-slot=\"figure-caption\"\n />\n );\n});\n\nexport interface FigureRootProps extends ComponentPropsWithoutRef<\"figure\"> {\n lightbox?: boolean;\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n closeLabel?: string;\n}\n\nfunction findChild<T>(children: ReactNode, component: ElementType): ReactElement<T> | null {\n const child = Children.toArray(children).find(\n (item) => isValidElement(item) && item.type === component,\n );\n return (child as ReactElement<T> | undefined) ?? null;\n}\n\nexport const FigureRoot = forwardRef<HTMLElement, FigureRootProps>(function FigureRoot(\n {\n children,\n className,\n closeLabel = \"Close image\",\n defaultOpen,\n lightbox = false,\n onOpenChange,\n open,\n ...props\n },\n ref,\n) {\n const styles = figureStyles();\n const media = findChild<FigureImageProps>(children, FigureImage);\n const caption = findChild<FigureCaptionProps>(children, FigureCaption);\n const canOpen = Boolean(lightbox && media?.props.src);\n const content = (\n <figure\n {...props}\n ref={ref}\n className={cx(styles.root, className)}\n data-jaci-component=\"figure\"\n data-lightbox={canOpen || undefined}\n data-slot=\"figure\"\n >\n {children}\n </figure>\n );\n\n const value = { lightbox: canOpen, styles };\n\n if (!canOpen || !media) {\n return <FigureContext.Provider value={value}>{content}</FigureContext.Provider>;\n }\n\n const alt = media.props.alt;\n const src = media.props.src;\n\n return (\n <FigureContext.Provider value={value}>\n <BaseDialog.Root\n defaultOpen={defaultOpen}\n onOpenChange={(nextOpen) => onOpenChange?.(nextOpen)}\n open={open}\n >\n {content}\n <BaseDialog.Portal>\n <BaseDialog.Backdrop className={styles.backdrop} data-slot=\"figure-lightbox-backdrop\" />\n <BaseDialog.Viewport className={styles.viewport} data-slot=\"figure-lightbox-viewport\">\n <BaseDialog.Popup\n aria-label={alt || \"Image preview\"}\n className={styles.popup}\n data-jaci-component=\"figure-lightbox\"\n data-slot=\"figure-lightbox-popup\"\n >\n <BaseDialog.Title className={styles.title}>{alt || \"Image preview\"}</BaseDialog.Title>\n <BaseDialog.Close\n aria-label={closeLabel}\n className={styles.close}\n data-slot=\"figure-lightbox-close\"\n >\n ×\n </BaseDialog.Close>\n <img\n alt={alt}\n className={styles.lightboxImage}\n data-slot=\"figure-lightbox-image\"\n src={src}\n />\n {caption ? (\n <figcaption className={styles.lightboxCaption} data-slot=\"figure-lightbox-caption\">\n {caption.props.children}\n </figcaption>\n ) : null}\n </BaseDialog.Popup>\n </BaseDialog.Viewport>\n </BaseDialog.Portal>\n </BaseDialog.Root>\n </FigureContext.Provider>\n );\n});\n\nexport const Figure = {\n Root: FigureRoot,\n Image: FigureImage,\n Caption: FigureCaption,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"figure.cjs","names":["Image","cx","BaseDialog","Children","figureStyles","useThemePortalProps"],"sources":["../../../src/components/figure/figure.tsx"],"sourcesContent":["\"use client\";\n\nimport { Dialog as BaseDialog } from \"@base-ui/react/dialog\";\nimport { Children, createContext, forwardRef, isValidElement, useContext } from \"react\";\nimport type { ComponentPropsWithoutRef, ElementType, ReactElement, ReactNode } from \"react\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { figure as figureStyles } from \"../../styled-system/recipes\";\nimport { Image } from \"../image\";\nimport type { ImageProps } from \"../image\";\nimport { useThemePortalProps } from \"../../theme/theme-scope\";\n\ninterface FigureContextValue {\n lightbox: boolean;\n styles: ReturnType<typeof figureStyles>;\n}\n\nconst FigureContext = createContext<FigureContextValue | null>(null);\n\nfunction useFigureContext() {\n const value = useContext(FigureContext);\n if (!value) {\n throw new Error(\"Figure parts must be rendered inside Figure.Root.\");\n }\n return value;\n}\n\nexport type FigureImageProps = ImageProps;\n\nexport const FigureImage = forwardRef<HTMLImageElement, FigureImageProps>(function FigureImage(\n { className, lightbox: _lightbox, ...props },\n ref,\n) {\n const { lightbox, styles } = useFigureContext();\n const content = (\n <Image\n {...props}\n ref={ref}\n className={cx(styles.image, className)}\n data-slot=\"figure-image\"\n lightbox={false}\n />\n );\n\n if (!lightbox) {\n return content;\n }\n\n return (\n <BaseDialog.Trigger\n aria-label=\"Open image\"\n className={styles.trigger}\n data-jaci-component=\"figure-trigger\"\n data-slot=\"figure-trigger\"\n >\n {content}\n </BaseDialog.Trigger>\n );\n});\n\nexport type FigureCaptionProps = ComponentPropsWithoutRef<\"figcaption\">;\n\nexport const FigureCaption = forwardRef<HTMLElement, FigureCaptionProps>(function FigureCaption(\n { className, ...props },\n ref,\n) {\n const { styles } = useFigureContext();\n return (\n <figcaption\n {...props}\n ref={ref}\n className={cx(styles.caption, className)}\n data-slot=\"figure-caption\"\n />\n );\n});\n\nexport interface FigureRootProps extends ComponentPropsWithoutRef<\"figure\"> {\n lightbox?: boolean;\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n closeLabel?: string;\n}\n\nfunction findChild<T>(children: ReactNode, component: ElementType): ReactElement<T> | null {\n const child = Children.toArray(children).find(\n (item) => isValidElement(item) && item.type === component,\n );\n return (child as ReactElement<T> | undefined) ?? null;\n}\n\nexport const FigureRoot = forwardRef<HTMLElement, FigureRootProps>(function FigureRoot(\n {\n children,\n className,\n closeLabel = \"Close image\",\n defaultOpen,\n lightbox = false,\n onOpenChange,\n open,\n ...props\n },\n ref,\n) {\n const styles = figureStyles();\n const media = findChild<FigureImageProps>(children, FigureImage);\n const caption = findChild<FigureCaptionProps>(children, FigureCaption);\n const canOpen = Boolean(lightbox && media?.props.src);\n const content = (\n <figure\n {...props}\n ref={ref}\n className={cx(styles.root, className)}\n data-jaci-component=\"figure\"\n data-lightbox={canOpen || undefined}\n data-slot=\"figure\"\n >\n {children}\n </figure>\n );\n\n const value = { lightbox: canOpen, styles };\n const scopedPortalProps = useThemePortalProps({});\n\n if (!canOpen || !media) {\n return <FigureContext.Provider value={value}>{content}</FigureContext.Provider>;\n }\n\n const alt = media.props.alt;\n const src = media.props.src;\n\n return (\n <FigureContext.Provider value={value}>\n <BaseDialog.Root\n defaultOpen={defaultOpen}\n onOpenChange={(nextOpen) => onOpenChange?.(nextOpen)}\n open={open}\n >\n {content}\n <BaseDialog.Portal {...scopedPortalProps}>\n <BaseDialog.Backdrop className={styles.backdrop} data-slot=\"figure-lightbox-backdrop\" />\n <BaseDialog.Viewport className={styles.viewport} data-slot=\"figure-lightbox-viewport\">\n <BaseDialog.Popup\n aria-label={alt || \"Image preview\"}\n className={styles.popup}\n data-jaci-component=\"figure-lightbox\"\n data-slot=\"figure-lightbox-popup\"\n >\n <BaseDialog.Title className={styles.title}>{alt || \"Image preview\"}</BaseDialog.Title>\n <div className={styles.closeRow} data-slot=\"figure-lightbox-close-row\">\n <BaseDialog.Close\n aria-label={closeLabel}\n className={styles.close}\n data-slot=\"figure-lightbox-close\"\n >\n ×\n </BaseDialog.Close>\n </div>\n <img\n alt={alt}\n className={styles.lightboxImage}\n data-slot=\"figure-lightbox-image\"\n src={src}\n />\n {caption ? (\n <figcaption className={styles.lightboxCaption} data-slot=\"figure-lightbox-caption\">\n {caption.props.children}\n </figcaption>\n ) : null}\n </BaseDialog.Popup>\n </BaseDialog.Viewport>\n </BaseDialog.Portal>\n </BaseDialog.Root>\n </FigureContext.Provider>\n );\n});\n\nexport const Figure = {\n Root: FigureRoot,\n Image: FigureImage,\n Caption: FigureCaption,\n};\n"],"mappings":"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"}