jaci-ui 0.6.3 → 0.8.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 (292) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +48 -0
  3. package/dist/components/alert/alert.cjs +11 -1
  4. package/dist/components/alert/alert.cjs.map +1 -1
  5. package/dist/components/alert/alert.d.cts +4 -1
  6. package/dist/components/alert/alert.d.ts +4 -1
  7. package/dist/components/alert/alert.js +11 -2
  8. package/dist/components/alert/alert.js.map +1 -1
  9. package/dist/components/alert/index.d.cts +2 -2
  10. package/dist/components/alert/index.d.ts +2 -2
  11. package/dist/components/alert-dialog/alert-dialog.cjs +4 -1
  12. package/dist/components/alert-dialog/alert-dialog.cjs.map +1 -1
  13. package/dist/components/alert-dialog/alert-dialog.d.cts +2 -2
  14. package/dist/components/alert-dialog/alert-dialog.d.ts +2 -2
  15. package/dist/components/alert-dialog/alert-dialog.js +4 -1
  16. package/dist/components/alert-dialog/alert-dialog.js.map +1 -1
  17. package/dist/components/aspect-ratio/aspect-ratio.cjs +23 -0
  18. package/dist/components/aspect-ratio/aspect-ratio.cjs.map +1 -0
  19. package/dist/components/aspect-ratio/aspect-ratio.d.cts +9 -0
  20. package/dist/components/aspect-ratio/aspect-ratio.d.ts +9 -0
  21. package/dist/components/aspect-ratio/aspect-ratio.js +23 -0
  22. package/dist/components/aspect-ratio/aspect-ratio.js.map +1 -0
  23. package/dist/components/aspect-ratio/index.d.cts +2 -0
  24. package/dist/components/aspect-ratio/index.d.ts +2 -0
  25. package/dist/components/card/card.cjs +10 -1
  26. package/dist/components/card/card.cjs.map +1 -1
  27. package/dist/components/card/card.d.cts +15 -2
  28. package/dist/components/card/card.d.ts +15 -2
  29. package/dist/components/card/card.js +10 -2
  30. package/dist/components/card/card.js.map +1 -1
  31. package/dist/components/card/index.d.cts +2 -2
  32. package/dist/components/card/index.d.ts +2 -2
  33. package/dist/components/code/code.cjs +39 -0
  34. package/dist/components/code/code.cjs.map +1 -0
  35. package/dist/components/code/code.d.cts +14 -0
  36. package/dist/components/code/code.d.ts +14 -0
  37. package/dist/components/code/code.js +39 -0
  38. package/dist/components/code/code.js.map +1 -0
  39. package/dist/components/code/index.d.cts +2 -0
  40. package/dist/components/code/index.d.ts +2 -0
  41. package/dist/components/color-picker/color-picker.cjs +4 -1
  42. package/dist/components/color-picker/color-picker.cjs.map +1 -1
  43. package/dist/components/color-picker/color-picker.d.cts +2 -2
  44. package/dist/components/color-picker/color-picker.d.ts +2 -2
  45. package/dist/components/color-picker/color-picker.js +4 -1
  46. package/dist/components/color-picker/color-picker.js.map +1 -1
  47. package/dist/components/combobox/combobox.cjs +4 -1
  48. package/dist/components/combobox/combobox.cjs.map +1 -1
  49. package/dist/components/combobox/combobox.d.cts +2 -2
  50. package/dist/components/combobox/combobox.d.ts +2 -2
  51. package/dist/components/combobox/combobox.js +4 -1
  52. package/dist/components/combobox/combobox.js.map +1 -1
  53. package/dist/components/command/command.cjs +73 -12
  54. package/dist/components/command/command.cjs.map +1 -1
  55. package/dist/components/command/command.d.cts +7 -1
  56. package/dist/components/command/command.d.ts +7 -1
  57. package/dist/components/command/command.js +73 -12
  58. package/dist/components/command/command.js.map +1 -1
  59. package/dist/components/command/index.d.cts +2 -2
  60. package/dist/components/command/index.d.ts +2 -2
  61. package/dist/components/context-menu/context-menu.cjs +4 -1
  62. package/dist/components/context-menu/context-menu.cjs.map +1 -1
  63. package/dist/components/context-menu/context-menu.d.cts +2 -2
  64. package/dist/components/context-menu/context-menu.d.ts +2 -2
  65. package/dist/components/context-menu/context-menu.js +4 -1
  66. package/dist/components/context-menu/context-menu.js.map +1 -1
  67. package/dist/components/date-picker/date-picker.cjs +4 -1
  68. package/dist/components/date-picker/date-picker.cjs.map +1 -1
  69. package/dist/components/date-picker/date-picker.d.cts +2 -2
  70. package/dist/components/date-picker/date-picker.d.ts +2 -2
  71. package/dist/components/date-picker/date-picker.js +4 -1
  72. package/dist/components/date-picker/date-picker.js.map +1 -1
  73. package/dist/components/date-range-picker/date-range-picker.cjs +4 -1
  74. package/dist/components/date-range-picker/date-range-picker.cjs.map +1 -1
  75. package/dist/components/date-range-picker/date-range-picker.d.cts +2 -2
  76. package/dist/components/date-range-picker/date-range-picker.d.ts +2 -2
  77. package/dist/components/date-range-picker/date-range-picker.js +4 -1
  78. package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
  79. package/dist/components/dialog/dialog.cjs +4 -1
  80. package/dist/components/dialog/dialog.cjs.map +1 -1
  81. package/dist/components/dialog/dialog.d.cts +2 -2
  82. package/dist/components/dialog/dialog.d.ts +2 -2
  83. package/dist/components/dialog/dialog.js +4 -1
  84. package/dist/components/dialog/dialog.js.map +1 -1
  85. package/dist/components/drawer/drawer.cjs +4 -1
  86. package/dist/components/drawer/drawer.cjs.map +1 -1
  87. package/dist/components/drawer/drawer.d.cts +2 -2
  88. package/dist/components/drawer/drawer.d.ts +2 -2
  89. package/dist/components/drawer/drawer.js +4 -1
  90. package/dist/components/drawer/drawer.js.map +1 -1
  91. package/dist/components/feedback/badge.cjs +6 -3
  92. package/dist/components/feedback/badge.cjs.map +1 -1
  93. package/dist/components/feedback/badge.d.cts +1 -0
  94. package/dist/components/feedback/badge.d.ts +1 -0
  95. package/dist/components/feedback/badge.js +6 -3
  96. package/dist/components/feedback/badge.js.map +1 -1
  97. package/dist/components/figure/figure.cjs +134 -0
  98. package/dist/components/figure/figure.cjs.map +1 -0
  99. package/dist/components/figure/figure.d.cts +24 -0
  100. package/dist/components/figure/figure.d.ts +24 -0
  101. package/dist/components/figure/figure.js +131 -0
  102. package/dist/components/figure/figure.js.map +1 -0
  103. package/dist/components/figure/index.d.cts +2 -0
  104. package/dist/components/figure/index.d.ts +2 -0
  105. package/dist/components/image/image.cjs +112 -0
  106. package/dist/components/image/image.cjs.map +1 -0
  107. package/dist/components/image/image.d.cts +21 -0
  108. package/dist/components/image/image.d.ts +21 -0
  109. package/dist/components/image/image.js +112 -0
  110. package/dist/components/image/image.js.map +1 -0
  111. package/dist/components/image/index.d.cts +2 -0
  112. package/dist/components/image/index.d.ts +2 -0
  113. package/dist/components/kbd/index.d.cts +2 -0
  114. package/dist/components/kbd/index.d.ts +2 -0
  115. package/dist/components/kbd/kbd.cjs +23 -0
  116. package/dist/components/kbd/kbd.cjs.map +1 -0
  117. package/dist/components/kbd/kbd.d.cts +12 -0
  118. package/dist/components/kbd/kbd.d.ts +12 -0
  119. package/dist/components/kbd/kbd.js +23 -0
  120. package/dist/components/kbd/kbd.js.map +1 -0
  121. package/dist/components/menu/menu.cjs +4 -1
  122. package/dist/components/menu/menu.cjs.map +1 -1
  123. package/dist/components/menu/menu.d.cts +2 -2
  124. package/dist/components/menu/menu.d.ts +2 -2
  125. package/dist/components/menu/menu.js +4 -1
  126. package/dist/components/menu/menu.js.map +1 -1
  127. package/dist/components/menubar/menubar.cjs +4 -1
  128. package/dist/components/menubar/menubar.cjs.map +1 -1
  129. package/dist/components/menubar/menubar.d.cts +2 -2
  130. package/dist/components/menubar/menubar.d.ts +2 -2
  131. package/dist/components/menubar/menubar.js +4 -1
  132. package/dist/components/menubar/menubar.js.map +1 -1
  133. package/dist/components/navigation/navigation.cjs +3 -1
  134. package/dist/components/navigation/navigation.cjs.map +1 -1
  135. package/dist/components/navigation/navigation.js +3 -1
  136. package/dist/components/navigation/navigation.js.map +1 -1
  137. package/dist/components/navigation-menu/navigation-menu.cjs +4 -1
  138. package/dist/components/navigation-menu/navigation-menu.cjs.map +1 -1
  139. package/dist/components/navigation-menu/navigation-menu.d.cts +2 -2
  140. package/dist/components/navigation-menu/navigation-menu.d.ts +2 -2
  141. package/dist/components/navigation-menu/navigation-menu.js +4 -1
  142. package/dist/components/navigation-menu/navigation-menu.js.map +1 -1
  143. package/dist/components/popover/popover.cjs +4 -1
  144. package/dist/components/popover/popover.cjs.map +1 -1
  145. package/dist/components/popover/popover.d.cts +2 -2
  146. package/dist/components/popover/popover.d.ts +2 -2
  147. package/dist/components/popover/popover.js +4 -1
  148. package/dist/components/popover/popover.js.map +1 -1
  149. package/dist/components/progress/progress.cjs +19 -7
  150. package/dist/components/progress/progress.cjs.map +1 -1
  151. package/dist/components/progress/progress.d.cts +4 -0
  152. package/dist/components/progress/progress.d.ts +4 -0
  153. package/dist/components/progress/progress.js +19 -7
  154. package/dist/components/progress/progress.js.map +1 -1
  155. package/dist/components/quote/index.d.cts +2 -0
  156. package/dist/components/quote/index.d.ts +2 -0
  157. package/dist/components/quote/quote.cjs +38 -0
  158. package/dist/components/quote/quote.cjs.map +1 -0
  159. package/dist/components/quote/quote.d.cts +19 -0
  160. package/dist/components/quote/quote.d.ts +19 -0
  161. package/dist/components/quote/quote.js +38 -0
  162. package/dist/components/quote/quote.js.map +1 -0
  163. package/dist/components/select/select.cjs +4 -1
  164. package/dist/components/select/select.cjs.map +1 -1
  165. package/dist/components/select/select.d.cts +2 -2
  166. package/dist/components/select/select.d.ts +2 -2
  167. package/dist/components/select/select.js +4 -1
  168. package/dist/components/select/select.js.map +1 -1
  169. package/dist/components/sidebar/sidebar.cjs +24 -17
  170. package/dist/components/sidebar/sidebar.cjs.map +1 -1
  171. package/dist/components/sidebar/sidebar.d.cts +4 -2
  172. package/dist/components/sidebar/sidebar.d.ts +4 -2
  173. package/dist/components/sidebar/sidebar.js +24 -17
  174. package/dist/components/sidebar/sidebar.js.map +1 -1
  175. package/dist/components/stat/index.d.cts +2 -0
  176. package/dist/components/stat/index.d.ts +2 -0
  177. package/dist/components/stat/stat.cjs +122 -0
  178. package/dist/components/stat/stat.cjs.map +1 -0
  179. package/dist/components/stat/stat.d.cts +51 -0
  180. package/dist/components/stat/stat.d.ts +51 -0
  181. package/dist/components/stat/stat.js +114 -0
  182. package/dist/components/stat/stat.js.map +1 -0
  183. package/dist/components/stat-group/index.d.cts +2 -0
  184. package/dist/components/stat-group/index.d.ts +2 -0
  185. package/dist/components/toast/toast.cjs +4 -1
  186. package/dist/components/toast/toast.cjs.map +1 -1
  187. package/dist/components/toast/toast.d.cts +1 -1
  188. package/dist/components/toast/toast.d.ts +1 -1
  189. package/dist/components/toast/toast.js +4 -1
  190. package/dist/components/toast/toast.js.map +1 -1
  191. package/dist/components/tooltip/tooltip.cjs +4 -1
  192. package/dist/components/tooltip/tooltip.cjs.map +1 -1
  193. package/dist/components/tooltip/tooltip.d.cts +2 -2
  194. package/dist/components/tooltip/tooltip.d.ts +2 -2
  195. package/dist/components/tooltip/tooltip.js +4 -1
  196. package/dist/components/tooltip/tooltip.js.map +1 -1
  197. package/dist/components/typography/heading.cjs +8 -2
  198. package/dist/components/typography/heading.cjs.map +1 -1
  199. package/dist/components/typography/heading.d.cts +8 -1
  200. package/dist/components/typography/heading.d.ts +8 -1
  201. package/dist/components/typography/heading.js +8 -2
  202. package/dist/components/typography/heading.js.map +1 -1
  203. package/dist/components/typography/index.d.cts +2 -2
  204. package/dist/components/typography/index.d.ts +2 -2
  205. package/dist/components/typography/paragraph.cjs +7 -2
  206. package/dist/components/typography/paragraph.cjs.map +1 -1
  207. package/dist/components/typography/paragraph.d.cts +8 -2
  208. package/dist/components/typography/paragraph.d.ts +8 -2
  209. package/dist/components/typography/paragraph.js +7 -2
  210. package/dist/components/typography/paragraph.js.map +1 -1
  211. package/dist/components/typography/text.cjs +6 -2
  212. package/dist/components/typography/text.cjs.map +1 -1
  213. package/dist/components/typography/text.d.cts +5 -0
  214. package/dist/components/typography/text.d.ts +5 -0
  215. package/dist/components/typography/text.js +6 -2
  216. package/dist/components/typography/text.js.map +1 -1
  217. package/dist/index.cjs +28 -0
  218. package/dist/index.cjs.map +1 -0
  219. package/dist/index.d.cts +20 -5
  220. package/dist/index.d.ts +20 -5
  221. package/dist/index.js +11 -3
  222. package/dist/index.js.map +1 -0
  223. package/dist/styled-system/recipes/alert.cjs +2 -1
  224. package/dist/styled-system/recipes/alert.cjs.map +1 -1
  225. package/dist/styled-system/recipes/alert.js +2 -1
  226. package/dist/styled-system/recipes/alert.js.map +1 -1
  227. package/dist/styled-system/recipes/aspect-ratio-box.cjs +25 -0
  228. package/dist/styled-system/recipes/aspect-ratio-box.cjs.map +1 -0
  229. package/dist/styled-system/recipes/aspect-ratio-box.js +25 -0
  230. package/dist/styled-system/recipes/aspect-ratio-box.js.map +1 -0
  231. package/dist/styled-system/recipes/badge.cjs +16 -6
  232. package/dist/styled-system/recipes/badge.cjs.map +1 -1
  233. package/dist/styled-system/recipes/badge.js +16 -6
  234. package/dist/styled-system/recipes/badge.js.map +1 -1
  235. package/dist/styled-system/recipes/code.cjs +33 -0
  236. package/dist/styled-system/recipes/code.cjs.map +1 -0
  237. package/dist/styled-system/recipes/code.js +33 -0
  238. package/dist/styled-system/recipes/code.js.map +1 -0
  239. package/dist/styled-system/recipes/command.cjs +3 -3
  240. package/dist/styled-system/recipes/command.cjs.map +1 -1
  241. package/dist/styled-system/recipes/command.js +3 -3
  242. package/dist/styled-system/recipes/command.js.map +1 -1
  243. package/dist/styled-system/recipes/figure.cjs +43 -0
  244. package/dist/styled-system/recipes/figure.cjs.map +1 -0
  245. package/dist/styled-system/recipes/figure.js +43 -0
  246. package/dist/styled-system/recipes/figure.js.map +1 -0
  247. package/dist/styled-system/recipes/heading.cjs +34 -9
  248. package/dist/styled-system/recipes/heading.cjs.map +1 -1
  249. package/dist/styled-system/recipes/heading.js +34 -9
  250. package/dist/styled-system/recipes/heading.js.map +1 -1
  251. package/dist/styled-system/recipes/image.cjs +57 -0
  252. package/dist/styled-system/recipes/image.cjs.map +1 -0
  253. package/dist/styled-system/recipes/image.js +57 -0
  254. package/dist/styled-system/recipes/image.js.map +1 -0
  255. package/dist/styled-system/recipes/kbd.cjs +39 -0
  256. package/dist/styled-system/recipes/kbd.cjs.map +1 -0
  257. package/dist/styled-system/recipes/kbd.js +39 -0
  258. package/dist/styled-system/recipes/kbd.js.map +1 -0
  259. package/dist/styled-system/recipes/paragraph.cjs +25 -2
  260. package/dist/styled-system/recipes/paragraph.cjs.map +1 -1
  261. package/dist/styled-system/recipes/paragraph.js +25 -2
  262. package/dist/styled-system/recipes/paragraph.js.map +1 -1
  263. package/dist/styled-system/recipes/progress.cjs +1 -0
  264. package/dist/styled-system/recipes/progress.cjs.map +1 -1
  265. package/dist/styled-system/recipes/progress.js +1 -0
  266. package/dist/styled-system/recipes/progress.js.map +1 -1
  267. package/dist/styled-system/recipes/quote.cjs +39 -0
  268. package/dist/styled-system/recipes/quote.cjs.map +1 -0
  269. package/dist/styled-system/recipes/quote.js +39 -0
  270. package/dist/styled-system/recipes/quote.js.map +1 -0
  271. package/dist/styled-system/recipes/stat-group.cjs +40 -0
  272. package/dist/styled-system/recipes/stat-group.cjs.map +1 -0
  273. package/dist/styled-system/recipes/stat-group.js +40 -0
  274. package/dist/styled-system/recipes/stat-group.js.map +1 -0
  275. package/dist/styled-system/recipes/stat.cjs +63 -0
  276. package/dist/styled-system/recipes/stat.cjs.map +1 -0
  277. package/dist/styled-system/recipes/stat.js +63 -0
  278. package/dist/styled-system/recipes/stat.js.map +1 -0
  279. package/dist/styled-system/recipes/text.cjs +23 -2
  280. package/dist/styled-system/recipes/text.cjs.map +1 -1
  281. package/dist/styled-system/recipes/text.js +23 -2
  282. package/dist/styled-system/recipes/text.js.map +1 -1
  283. package/dist/styles.css +1064 -117
  284. package/dist/theme/theme-provider.cjs +18 -8
  285. package/dist/theme/theme-provider.cjs.map +1 -1
  286. package/dist/theme/theme-provider.js +18 -8
  287. package/dist/theme/theme-provider.js.map +1 -1
  288. package/dist/theme/theme-scope.cjs +21 -0
  289. package/dist/theme/theme-scope.cjs.map +1 -0
  290. package/dist/theme/theme-scope.js +19 -0
  291. package/dist/theme/theme-scope.js.map +1 -0
  292. package/package.json +7 -4
@@ -3,11 +3,24 @@ import { ComponentPropsWithoutRef } from "react";
3
3
  interface CardProps extends ComponentPropsWithoutRef<"article"> {
4
4
  variant?: "outline" | "elevated" | "subtle";
5
5
  }
6
- declare const Card: import("react").ForwardRefExoticComponent<CardProps & import("react").RefAttributes<HTMLElement>>;
7
6
  declare const CardHeader: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
8
7
  declare const CardTitle: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref"> & import("react").RefAttributes<HTMLHeadingElement>>;
9
8
  declare const CardContent: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
10
9
  declare const CardFooter: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
10
+ declare const Card: import("react").ForwardRefExoticComponent<CardProps & import("react").RefAttributes<HTMLElement>> & {
11
+ Root: import("react").ForwardRefExoticComponent<CardProps & import("react").RefAttributes<HTMLElement>>;
12
+ Header: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
13
+ Title: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref"> & import("react").RefAttributes<HTMLHeadingElement>>;
14
+ Content: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
15
+ Footer: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
16
+ };
17
+ declare const CardNamespace: import("react").ForwardRefExoticComponent<CardProps & import("react").RefAttributes<HTMLElement>> & {
18
+ Root: import("react").ForwardRefExoticComponent<CardProps & import("react").RefAttributes<HTMLElement>>;
19
+ Header: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
20
+ Title: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref"> & import("react").RefAttributes<HTMLHeadingElement>>;
21
+ Content: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
22
+ Footer: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
23
+ };
11
24
  //#endregion
12
- export { Card, CardContent, CardFooter, CardHeader, CardProps, CardTitle };
25
+ export { Card, CardContent, CardFooter, CardHeader, CardNamespace, CardProps, CardTitle };
13
26
  //# sourceMappingURL=card.d.cts.map
@@ -3,11 +3,24 @@ import { ComponentPropsWithoutRef } from "react";
3
3
  interface CardProps extends ComponentPropsWithoutRef<"article"> {
4
4
  variant?: "outline" | "elevated" | "subtle";
5
5
  }
6
- declare const Card: import("react").ForwardRefExoticComponent<CardProps & import("react").RefAttributes<HTMLElement>>;
7
6
  declare const CardHeader: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
8
7
  declare const CardTitle: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref"> & import("react").RefAttributes<HTMLHeadingElement>>;
9
8
  declare const CardContent: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
10
9
  declare const CardFooter: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
10
+ declare const Card: import("react").ForwardRefExoticComponent<CardProps & import("react").RefAttributes<HTMLElement>> & {
11
+ Root: import("react").ForwardRefExoticComponent<CardProps & import("react").RefAttributes<HTMLElement>>;
12
+ Header: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
13
+ Title: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref"> & import("react").RefAttributes<HTMLHeadingElement>>;
14
+ Content: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
15
+ Footer: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
16
+ };
17
+ declare const CardNamespace: import("react").ForwardRefExoticComponent<CardProps & import("react").RefAttributes<HTMLElement>> & {
18
+ Root: import("react").ForwardRefExoticComponent<CardProps & import("react").RefAttributes<HTMLElement>>;
19
+ Header: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
20
+ Title: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref"> & import("react").RefAttributes<HTMLHeadingElement>>;
21
+ Content: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
22
+ Footer: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
23
+ };
11
24
  //#endregion
12
- export { Card, CardContent, CardFooter, CardHeader, CardProps, CardTitle };
25
+ export { Card, CardContent, CardFooter, CardHeader, CardNamespace, CardProps, CardTitle };
13
26
  //# sourceMappingURL=card.d.ts.map
@@ -3,7 +3,7 @@ import { card } from "../../styled-system/recipes/card.js";
3
3
  import { forwardRef } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region src/components/card/card.tsx
6
- const Card = forwardRef(function Card({ className, variant = "outline", ...props }, ref) {
6
+ const CardBase = forwardRef(function Card({ className, variant = "outline", ...props }, ref) {
7
7
  const styles = card({ variant });
8
8
  return /* @__PURE__ */ jsx("article", {
9
9
  ...props,
@@ -45,7 +45,15 @@ const CardFooter = forwardRef(function CardFooter({ className, ...props }, ref)
45
45
  "data-slot": "card-footer"
46
46
  });
47
47
  });
48
+ const Card = Object.assign(CardBase, {
49
+ Root: CardBase,
50
+ Header: CardHeader,
51
+ Title: CardTitle,
52
+ Content: CardContent,
53
+ Footer: CardFooter
54
+ });
55
+ const CardNamespace = Card;
48
56
  //#endregion
49
- export { Card, CardContent, CardFooter, CardHeader, CardTitle };
57
+ export { Card, CardContent, CardFooter, CardHeader, CardNamespace, CardTitle };
50
58
 
51
59
  //# sourceMappingURL=card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"card.js","names":[],"sources":["../../../src/components/card/card.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { ComponentPropsWithoutRef } from \"react\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { card } from \"../../styled-system/recipes\";\n\nexport interface CardProps extends ComponentPropsWithoutRef<\"article\"> {\n variant?: \"outline\" | \"elevated\" | \"subtle\";\n}\n\nexport const Card = forwardRef<HTMLElement, CardProps>(function Card(\n { className, variant = \"outline\", ...props },\n ref,\n) {\n const styles = card({ variant });\n\n return (\n <article\n {...props}\n ref={ref}\n className={cx(styles.root, className)}\n data-jaci-component=\"card\"\n data-slot=\"card\"\n />\n );\n});\n\nexport const CardHeader = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<\"div\">>(\n function CardHeader({ className, ...props }, ref) {\n return (\n <div {...props} ref={ref} className={cx(card().header, className)} data-slot=\"card-header\" />\n );\n },\n);\n\nexport const CardTitle = forwardRef<HTMLHeadingElement, ComponentPropsWithoutRef<\"h3\">>(\n function CardTitle({ className, ...props }, ref) {\n return (\n <h3 {...props} ref={ref} className={cx(card().title, className)} data-slot=\"card-title\" />\n );\n },\n);\n\nexport const CardContent = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<\"div\">>(\n function CardContent({ className, ...props }, ref) {\n return (\n <div\n {...props}\n ref={ref}\n className={cx(card().content, className)}\n data-slot=\"card-content\"\n />\n );\n },\n);\n\nexport const CardFooter = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<\"div\">>(\n function CardFooter({ className, ...props }, ref) {\n return (\n <div {...props} ref={ref} className={cx(card().footer, className)} data-slot=\"card-footer\" />\n );\n },\n);\n"],"mappings":";;;;;AAUA,MAAa,OAAO,WAAmC,SAAS,KAC9D,EAAE,WAAW,UAAU,WAAW,GAAG,SACrC,KACA;CACA,MAAM,SAAS,KAAK,EAAE,QAAQ,CAAC;CAE/B,OACE,oBAAC,WAAD;EACE,GAAI;EACC;EACL,WAAW,GAAG,OAAO,MAAM,SAAS;EACpC,uBAAoB;EACpB,aAAU;CACX,CAAA;AAEL,CAAC;AAED,MAAa,aAAa,WACxB,SAAS,WAAW,EAAE,WAAW,GAAG,SAAS,KAAK;CAChD,OACE,oBAAC,OAAD;EAAK,GAAI;EAAY;EAAK,WAAW,GAAG,KAAK,CAAC,CAAC,QAAQ,SAAS;EAAG,aAAU;CAAe,CAAA;AAEhG,CACF;AAEA,MAAa,YAAY,WACvB,SAAS,UAAU,EAAE,WAAW,GAAG,SAAS,KAAK;CAC/C,OACE,oBAAC,MAAD;EAAI,GAAI;EAAY;EAAK,WAAW,GAAG,KAAK,CAAC,CAAC,OAAO,SAAS;EAAG,aAAU;CAAc,CAAA;AAE7F,CACF;AAEA,MAAa,cAAc,WACzB,SAAS,YAAY,EAAE,WAAW,GAAG,SAAS,KAAK;CACjD,OACE,oBAAC,OAAD;EACE,GAAI;EACC;EACL,WAAW,GAAG,KAAK,CAAC,CAAC,SAAS,SAAS;EACvC,aAAU;CACX,CAAA;AAEL,CACF;AAEA,MAAa,aAAa,WACxB,SAAS,WAAW,EAAE,WAAW,GAAG,SAAS,KAAK;CAChD,OACE,oBAAC,OAAD;EAAK,GAAI;EAAY;EAAK,WAAW,GAAG,KAAK,CAAC,CAAC,QAAQ,SAAS;EAAG,aAAU;CAAe,CAAA;AAEhG,CACF"}
1
+ {"version":3,"file":"card.js","names":[],"sources":["../../../src/components/card/card.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { ComponentPropsWithoutRef } from \"react\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { card } from \"../../styled-system/recipes\";\n\nexport interface CardProps extends ComponentPropsWithoutRef<\"article\"> {\n variant?: \"outline\" | \"elevated\" | \"subtle\";\n}\n\nconst CardBase = forwardRef<HTMLElement, CardProps>(function Card(\n { className, variant = \"outline\", ...props },\n ref,\n) {\n const styles = card({ variant });\n\n return (\n <article\n {...props}\n ref={ref}\n className={cx(styles.root, className)}\n data-jaci-component=\"card\"\n data-slot=\"card\"\n />\n );\n});\n\nexport const CardHeader = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<\"div\">>(\n function CardHeader({ className, ...props }, ref) {\n return (\n <div {...props} ref={ref} className={cx(card().header, className)} data-slot=\"card-header\" />\n );\n },\n);\n\nexport const CardTitle = forwardRef<HTMLHeadingElement, ComponentPropsWithoutRef<\"h3\">>(\n function CardTitle({ className, ...props }, ref) {\n return (\n <h3 {...props} ref={ref} className={cx(card().title, className)} data-slot=\"card-title\" />\n );\n },\n);\n\nexport const CardContent = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<\"div\">>(\n function CardContent({ className, ...props }, ref) {\n return (\n <div\n {...props}\n ref={ref}\n className={cx(card().content, className)}\n data-slot=\"card-content\"\n />\n );\n },\n);\n\nexport const CardFooter = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<\"div\">>(\n function CardFooter({ className, ...props }, ref) {\n return (\n <div {...props} ref={ref} className={cx(card().footer, className)} data-slot=\"card-footer\" />\n );\n },\n);\n\nexport const Card = Object.assign(CardBase, {\n Root: CardBase,\n Header: CardHeader,\n Title: CardTitle,\n Content: CardContent,\n Footer: CardFooter,\n});\n\nexport const CardNamespace = Card;\n"],"mappings":";;;;;AAUA,MAAM,WAAW,WAAmC,SAAS,KAC3D,EAAE,WAAW,UAAU,WAAW,GAAG,SACrC,KACA;CACA,MAAM,SAAS,KAAK,EAAE,QAAQ,CAAC;CAE/B,OACE,oBAAC,WAAD;EACE,GAAI;EACC;EACL,WAAW,GAAG,OAAO,MAAM,SAAS;EACpC,uBAAoB;EACpB,aAAU;CACX,CAAA;AAEL,CAAC;AAED,MAAa,aAAa,WACxB,SAAS,WAAW,EAAE,WAAW,GAAG,SAAS,KAAK;CAChD,OACE,oBAAC,OAAD;EAAK,GAAI;EAAY;EAAK,WAAW,GAAG,KAAK,CAAC,CAAC,QAAQ,SAAS;EAAG,aAAU;CAAe,CAAA;AAEhG,CACF;AAEA,MAAa,YAAY,WACvB,SAAS,UAAU,EAAE,WAAW,GAAG,SAAS,KAAK;CAC/C,OACE,oBAAC,MAAD;EAAI,GAAI;EAAY;EAAK,WAAW,GAAG,KAAK,CAAC,CAAC,OAAO,SAAS;EAAG,aAAU;CAAc,CAAA;AAE7F,CACF;AAEA,MAAa,cAAc,WACzB,SAAS,YAAY,EAAE,WAAW,GAAG,SAAS,KAAK;CACjD,OACE,oBAAC,OAAD;EACE,GAAI;EACC;EACL,WAAW,GAAG,KAAK,CAAC,CAAC,SAAS,SAAS;EACvC,aAAU;CACX,CAAA;AAEL,CACF;AAEA,MAAa,aAAa,WACxB,SAAS,WAAW,EAAE,WAAW,GAAG,SAAS,KAAK;CAChD,OACE,oBAAC,OAAD;EAAK,GAAI;EAAY;EAAK,WAAW,GAAG,KAAK,CAAC,CAAC,QAAQ,SAAS;EAAG,aAAU;CAAe,CAAA;AAEhG,CACF;AAEA,MAAa,OAAO,OAAO,OAAO,UAAU;CAC1C,MAAM;CACN,QAAQ;CACR,OAAO;CACP,SAAS;CACT,QAAQ;AACV,CAAC;AAED,MAAa,gBAAgB"}
@@ -1,2 +1,2 @@
1
- import { Card, CardContent, CardFooter, CardHeader, CardProps, CardTitle } from "./card.cjs";
2
- export { Card, CardContent, CardFooter, CardHeader, type CardProps, CardTitle };
1
+ import { Card, CardContent, CardFooter, CardHeader, CardNamespace, CardProps, CardTitle } from "./card.cjs";
2
+ export { Card, CardContent, CardFooter, CardHeader, CardNamespace, type CardProps, CardTitle };
@@ -1,2 +1,2 @@
1
- import { Card, CardContent, CardFooter, CardHeader, CardProps, CardTitle } from "./card.js";
2
- export { Card, CardContent, CardFooter, CardHeader, type CardProps, CardTitle };
1
+ import { Card, CardContent, CardFooter, CardHeader, CardNamespace, CardProps, CardTitle } from "./card.js";
2
+ export { Card, CardContent, CardFooter, CardHeader, CardNamespace, type CardProps, CardTitle };
@@ -0,0 +1,39 @@
1
+ const require_cx = require("../../styled-system/css/cx.cjs");
2
+ const require_code = require("../../styled-system/recipes/code.cjs");
3
+ let react = require("react");
4
+ let react_jsx_runtime = require("react/jsx-runtime");
5
+ //#region src/components/code/code.tsx
6
+ const Code = (0, react.forwardRef)(function Code({ children, className, language, truncate = false, variant = "inline", wrap = false, ...props }, ref) {
7
+ const classNames = require_cx.cx(require_code.code({
8
+ truncate,
9
+ variant,
10
+ wrap
11
+ }), className);
12
+ if (variant === "block") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", {
13
+ ...props,
14
+ ref,
15
+ className: classNames,
16
+ "data-jaci-component": "code",
17
+ "data-language": language || void 0,
18
+ "data-slot": "code",
19
+ "data-variant": variant,
20
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("code", {
21
+ "data-slot": "code-content",
22
+ children
23
+ })
24
+ });
25
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("code", {
26
+ ...props,
27
+ ref,
28
+ className: classNames,
29
+ "data-jaci-component": "code",
30
+ "data-language": language || void 0,
31
+ "data-slot": "code",
32
+ "data-variant": variant,
33
+ children
34
+ });
35
+ });
36
+ //#endregion
37
+ exports.Code = Code;
38
+
39
+ //# sourceMappingURL=code.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code.cjs","names":["cx","code"],"sources":["../../../src/components/code/code.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { ComponentPropsWithoutRef, ReactNode } from \"react\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { code } from \"../../styled-system/recipes\";\n\nexport type CodeVariant = \"inline\" | \"block\";\n\nexport interface CodeProps extends Omit<ComponentPropsWithoutRef<\"code\">, \"children\"> {\n children?: ReactNode;\n variant?: CodeVariant;\n language?: string;\n wrap?: boolean;\n truncate?: boolean;\n}\n\nexport const Code = forwardRef<HTMLElement, CodeProps>(function Code(\n { children, className, language, truncate = false, variant = \"inline\", wrap = false, ...props },\n ref,\n) {\n const classNames = cx(code({ truncate, variant, wrap }), className);\n\n if (variant === \"block\") {\n return (\n <pre\n {...props}\n ref={ref as React.Ref<HTMLPreElement>}\n className={classNames}\n data-jaci-component=\"code\"\n data-language={language || undefined}\n data-slot=\"code\"\n data-variant={variant}\n >\n <code data-slot=\"code-content\">{children}</code>\n </pre>\n );\n }\n\n return (\n <code\n {...props}\n ref={ref as React.Ref<HTMLElement>}\n className={classNames}\n data-jaci-component=\"code\"\n data-language={language || undefined}\n data-slot=\"code\"\n data-variant={variant}\n >\n {children}\n </code>\n );\n});\n"],"mappings":";;;;;AAgBA,MAAa,QAAA,GAAA,MAAA,WAAA,CAA0C,SAAS,KAC9D,EAAE,UAAU,WAAW,UAAU,WAAW,OAAO,UAAU,UAAU,OAAO,OAAO,GAAG,SACxF,KACA;CACA,MAAM,aAAaA,WAAAA,GAAGC,aAAAA,KAAK;EAAE;EAAU;EAAS;CAAK,CAAC,GAAG,SAAS;CAElE,IAAI,YAAY,SACd,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,GAAI;EACC;EACL,WAAW;EACX,uBAAoB;EACpB,iBAAe,YAAY,KAAA;EAC3B,aAAU;EACV,gBAAc;YAEd,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,aAAU;GAAgB;EAAe,CAAA;CAC5C,CAAA;CAIT,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EACE,GAAI;EACC;EACL,WAAW;EACX,uBAAoB;EACpB,iBAAe,YAAY,KAAA;EAC3B,aAAU;EACV,gBAAc;EAEb;CACG,CAAA;AAEV,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { ComponentPropsWithoutRef, ReactNode } from "react";
2
+ //#region src/components/code/code.d.ts
3
+ type CodeVariant = "inline" | "block";
4
+ interface CodeProps extends Omit<ComponentPropsWithoutRef<"code">, "children"> {
5
+ children?: ReactNode;
6
+ variant?: CodeVariant;
7
+ language?: string;
8
+ wrap?: boolean;
9
+ truncate?: boolean;
10
+ }
11
+ declare const Code: import("react").ForwardRefExoticComponent<CodeProps & import("react").RefAttributes<HTMLElement>>;
12
+ //#endregion
13
+ export { Code, CodeProps, CodeVariant };
14
+ //# sourceMappingURL=code.d.cts.map
@@ -0,0 +1,14 @@
1
+ import { ComponentPropsWithoutRef, ReactNode } from "react";
2
+ //#region src/components/code/code.d.ts
3
+ type CodeVariant = "inline" | "block";
4
+ interface CodeProps extends Omit<ComponentPropsWithoutRef<"code">, "children"> {
5
+ children?: ReactNode;
6
+ variant?: CodeVariant;
7
+ language?: string;
8
+ wrap?: boolean;
9
+ truncate?: boolean;
10
+ }
11
+ declare const Code: import("react").ForwardRefExoticComponent<CodeProps & import("react").RefAttributes<HTMLElement>>;
12
+ //#endregion
13
+ export { Code, CodeProps, CodeVariant };
14
+ //# sourceMappingURL=code.d.ts.map
@@ -0,0 +1,39 @@
1
+ import { cx } from "../../styled-system/css/cx.js";
2
+ import { code } from "../../styled-system/recipes/code.js";
3
+ import { forwardRef } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/components/code/code.tsx
6
+ const Code = forwardRef(function Code({ children, className, language, truncate = false, variant = "inline", wrap = false, ...props }, ref) {
7
+ const classNames = cx(code({
8
+ truncate,
9
+ variant,
10
+ wrap
11
+ }), className);
12
+ if (variant === "block") return /* @__PURE__ */ jsx("pre", {
13
+ ...props,
14
+ ref,
15
+ className: classNames,
16
+ "data-jaci-component": "code",
17
+ "data-language": language || void 0,
18
+ "data-slot": "code",
19
+ "data-variant": variant,
20
+ children: /* @__PURE__ */ jsx("code", {
21
+ "data-slot": "code-content",
22
+ children
23
+ })
24
+ });
25
+ return /* @__PURE__ */ jsx("code", {
26
+ ...props,
27
+ ref,
28
+ className: classNames,
29
+ "data-jaci-component": "code",
30
+ "data-language": language || void 0,
31
+ "data-slot": "code",
32
+ "data-variant": variant,
33
+ children
34
+ });
35
+ });
36
+ //#endregion
37
+ export { Code };
38
+
39
+ //# sourceMappingURL=code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code.js","names":[],"sources":["../../../src/components/code/code.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { ComponentPropsWithoutRef, ReactNode } from \"react\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { code } from \"../../styled-system/recipes\";\n\nexport type CodeVariant = \"inline\" | \"block\";\n\nexport interface CodeProps extends Omit<ComponentPropsWithoutRef<\"code\">, \"children\"> {\n children?: ReactNode;\n variant?: CodeVariant;\n language?: string;\n wrap?: boolean;\n truncate?: boolean;\n}\n\nexport const Code = forwardRef<HTMLElement, CodeProps>(function Code(\n { children, className, language, truncate = false, variant = \"inline\", wrap = false, ...props },\n ref,\n) {\n const classNames = cx(code({ truncate, variant, wrap }), className);\n\n if (variant === \"block\") {\n return (\n <pre\n {...props}\n ref={ref as React.Ref<HTMLPreElement>}\n className={classNames}\n data-jaci-component=\"code\"\n data-language={language || undefined}\n data-slot=\"code\"\n data-variant={variant}\n >\n <code data-slot=\"code-content\">{children}</code>\n </pre>\n );\n }\n\n return (\n <code\n {...props}\n ref={ref as React.Ref<HTMLElement>}\n className={classNames}\n data-jaci-component=\"code\"\n data-language={language || undefined}\n data-slot=\"code\"\n data-variant={variant}\n >\n {children}\n </code>\n );\n});\n"],"mappings":";;;;;AAgBA,MAAa,OAAO,WAAmC,SAAS,KAC9D,EAAE,UAAU,WAAW,UAAU,WAAW,OAAO,UAAU,UAAU,OAAO,OAAO,GAAG,SACxF,KACA;CACA,MAAM,aAAa,GAAG,KAAK;EAAE;EAAU;EAAS;CAAK,CAAC,GAAG,SAAS;CAElE,IAAI,YAAY,SACd,OACE,oBAAC,OAAD;EACE,GAAI;EACC;EACL,WAAW;EACX,uBAAoB;EACpB,iBAAe,YAAY,KAAA;EAC3B,aAAU;EACV,gBAAc;YAEd,oBAAC,QAAD;GAAM,aAAU;GAAgB;EAAe,CAAA;CAC5C,CAAA;CAIT,OACE,oBAAC,QAAD;EACE,GAAI;EACC;EACL,WAAW;EACX,uBAAoB;EACpB,iBAAe,YAAY,KAAA;EAC3B,aAAU;EACV,gBAAc;EAEb;CACG,CAAA;AAEV,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Code, CodeProps, CodeVariant } from "./code.cjs";
2
+ export { Code, type CodeProps, type CodeVariant };
@@ -0,0 +1,2 @@
1
+ import { Code, CodeProps, CodeVariant } from "./code.js";
2
+ export { Code, type CodeProps, type CodeVariant };
@@ -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_color_picker = require("../../styled-system/recipes/color-picker.cjs");
5
+ const require_theme_scope = require("../../theme/theme-scope.cjs");
5
6
  const require_color_utils = require("./color-utils.cjs");
6
7
  let react = require("react");
7
8
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -102,7 +103,9 @@ const ColorPickerValue = (0, react.forwardRef)(function ColorPickerValue({ class
102
103
  children: props.children ?? value
103
104
  });
104
105
  });
105
- const ColorPickerPortal = _base_ui_react_popover.Popover.Portal;
106
+ function ColorPickerPortal(props) {
107
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_popover.Popover.Portal, { ...require_theme_scope.useThemePortalProps(props) });
108
+ }
106
109
  const ColorPickerPositioner = (0, react.forwardRef)(function ColorPickerPositioner({ className, ...props }, ref) {
107
110
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_popover.Popover.Positioner, {
108
111
  ...props,
@@ -1 +1 @@
1
- {"version":3,"file":"color-picker.cjs","names":["defaultColor","parseColor","formatColor","BasePopover","cx","colorPicker","withRecipeClassName"],"sources":["../../../src/components/color-picker/color-picker.tsx"],"sourcesContent":["\"use client\";\n\nimport { Popover as BasePopover } from \"@base-ui/react/popover\";\nimport { createContext, forwardRef, useContext, useEffect, useId, useState } from \"react\";\nimport type { ComponentPropsWithoutRef, CSSProperties, PointerEvent, ReactNode } from \"react\";\nimport type { PopoverRoot as BasePopoverRoot } from \"@base-ui/react/popover\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { colorPicker } from \"../../styled-system/recipes\";\nimport { withRecipeClassName } from \"../base-ui\";\nimport { defaultColor, formatColor, parseColor } from \"./color-utils\";\nimport type { ColorFormat, ColorModel } from \"./color-utils\";\n\nexport type { ColorFormat, ColorModel } from \"./color-utils\";\nexport { defaultColor, formatColor, parseColor } from \"./color-utils\";\n\ninterface ColorPickerContextValue {\n color: ColorModel;\n disabled: boolean;\n format: ColorFormat;\n inputId: string;\n setColor: (color: ColorModel) => void;\n showAlpha: boolean;\n swatches: string[];\n value: string;\n}\n\nconst ColorPickerContext = createContext<ColorPickerContextValue | null>(null);\n\nfunction useColorPicker() {\n const context = useContext(ColorPickerContext);\n if (!context) throw new Error(\"ColorPicker parts must be rendered inside ColorPicker.Root.\");\n return context;\n}\n\nexport interface ColorPickerRootProps extends Omit<BasePopoverRoot.Props, \"children\"> {\n children?: ReactNode;\n defaultValue?: string;\n disabled?: boolean;\n format?: ColorFormat;\n id?: string;\n name?: string;\n onValueChange?: (value: string) => void;\n showAlpha?: boolean;\n swatches?: string[];\n value?: string;\n}\n\nexport function ColorPickerRoot({\n children,\n defaultValue = \"#000000\",\n disabled = false,\n format = \"hex\",\n id,\n name,\n onValueChange,\n showAlpha = false,\n swatches = [],\n value: controlledValue,\n ...popoverProps\n}: ColorPickerRootProps) {\n const generatedId = useId();\n const inputId = id ?? generatedId;\n const [uncontrolledColor, setUncontrolledColor] = useState<ColorModel>(() =>\n defaultColor(defaultValue),\n );\n const parsedControlled = parseColor(controlledValue);\n const color = parsedControlled ?? uncontrolledColor;\n const formattedValue = formatColor(color, format, showAlpha);\n const setColor = (nextColor: ColorModel) => {\n setUncontrolledColor(nextColor);\n onValueChange?.(formatColor(nextColor, format, showAlpha));\n };\n\n return (\n <ColorPickerContext.Provider\n value={{\n color,\n disabled,\n format,\n inputId,\n setColor,\n showAlpha,\n swatches,\n value: formattedValue,\n }}\n >\n <BasePopover.Root {...popoverProps}>\n {children}\n {name ? (\n <input\n aria-hidden=\"true\"\n id={`${inputId}-value`}\n name={name}\n type=\"hidden\"\n value={formattedValue}\n />\n ) : null}\n </BasePopover.Root>\n </ColorPickerContext.Provider>\n );\n}\n\nexport interface ColorPickerLabelProps extends ComponentPropsWithoutRef<\"label\"> {}\nexport const ColorPickerLabel = forwardRef<HTMLLabelElement, ColorPickerLabelProps>(\n function ColorPickerLabel({ children, className, htmlFor, ...props }, ref) {\n const { inputId } = useColorPicker();\n return (\n <label\n {...props}\n ref={ref}\n className={cx(colorPicker().label, className)}\n data-slot=\"color-picker-label\"\n htmlFor={htmlFor ?? inputId}\n >\n {children}\n </label>\n );\n },\n);\n\nexport type ColorPickerControlProps = ComponentPropsWithoutRef<\"div\">;\nexport const ColorPickerControl = forwardRef<HTMLDivElement, ColorPickerControlProps>(\n function ColorPickerControl({ className, ...props }, ref) {\n return (\n <div\n {...props}\n ref={ref}\n className={cx(colorPicker().control, className)}\n data-slot=\"color-picker-control\"\n />\n );\n },\n);\n\nexport type ColorPickerTriggerProps = ComponentPropsWithoutRef<typeof BasePopover.Trigger>;\nexport const ColorPickerTrigger = forwardRef<HTMLButtonElement, ColorPickerTriggerProps>(\n function ColorPickerTrigger({ className, disabled, ...props }, ref) {\n const context = useColorPicker();\n return (\n <BasePopover.Trigger\n {...props}\n ref={ref}\n className={withRecipeClassName(colorPicker().trigger, className)}\n data-jaci-component=\"color-picker\"\n data-slot=\"color-picker-trigger\"\n disabled={disabled ?? context.disabled}\n id={props.id ?? context.inputId}\n />\n );\n },\n);\n\nexport type ColorPickerPreviewProps = ComponentPropsWithoutRef<\"span\">;\nexport const ColorPickerPreview = forwardRef<HTMLSpanElement, ColorPickerPreviewProps>(\n function ColorPickerPreview({ className, style, ...props }, ref) {\n const { value } = useColorPicker();\n return (\n <span\n {...props}\n ref={ref}\n aria-label={props[\"aria-label\"] ?? value}\n className={cx(colorPicker().preview, className)}\n data-slot=\"color-picker-preview\"\n role=\"img\"\n style={{ backgroundColor: value, ...style }}\n />\n );\n },\n);\n\nexport type ColorPickerValueProps = ComponentPropsWithoutRef<\"span\">;\nexport const ColorPickerValue = forwardRef<HTMLSpanElement, ColorPickerValueProps>(\n function ColorPickerValue({ className, ...props }, ref) {\n const { value } = useColorPicker();\n return (\n <span\n {...props}\n ref={ref}\n className={cx(colorPicker().value, className)}\n data-slot=\"color-picker-value\"\n >\n {props.children ?? value}\n </span>\n );\n },\n);\n\nexport const ColorPickerPortal: typeof BasePopover.Portal = BasePopover.Portal;\nexport type ColorPickerPositionerProps = ComponentPropsWithoutRef<typeof BasePopover.Positioner>;\nexport const ColorPickerPositioner = forwardRef<HTMLDivElement, ColorPickerPositionerProps>(\n function ColorPickerPositioner({ className, ...props }, ref) {\n return (\n <BasePopover.Positioner\n {...props}\n ref={ref}\n className={withRecipeClassName(colorPicker().positioner, className)}\n data-slot=\"color-picker-positioner\"\n />\n );\n },\n);\n\nexport type ColorPickerPopupProps = ComponentPropsWithoutRef<typeof BasePopover.Popup>;\nexport const ColorPickerPopup = forwardRef<HTMLDivElement, ColorPickerPopupProps>(\n function ColorPickerPopup({ className, ...props }, ref) {\n return (\n <BasePopover.Popup\n {...props}\n aria-label={props[\"aria-label\"] ?? \"Color picker\"}\n ref={ref}\n className={withRecipeClassName(colorPicker().popup, className)}\n data-jaci-component=\"color-picker\"\n data-slot=\"color-picker-popup\"\n />\n );\n },\n);\n\nfunction clamp(value: number, min: number, max: number) {\n return Math.min(max, Math.max(min, value));\n}\n\nfunction formatPalettePercentage(value: number) {\n return `${Number(value.toFixed(2))}%`;\n}\n\nfunction hslToPalettePosition(color: ColorModel) {\n const lightness = clamp(color.lightness / 100, 0, 1);\n const saturation = clamp(color.saturation / 100, 0, 1);\n const chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;\n const value = lightness + chroma / 2;\n\n return {\n lightness: (1 - value) * 100,\n saturation: value === 0 ? 0 : (chroma / value) * 100,\n };\n}\n\nfunction palettePositionToHsl(\n saturation: number,\n lightness: number,\n color: ColorModel,\n): ColorModel {\n const hsvSaturation = clamp(saturation / 100, 0, 1);\n const value = 1 - clamp(lightness / 100, 0, 1);\n const hslLightness = value * (1 - hsvSaturation / 2);\n const hslSaturation =\n hslLightness === 0 || hslLightness === 1\n ? 0\n : ((value - hslLightness) / Math.min(hslLightness, 1 - hslLightness)) * 100;\n\n return {\n ...color,\n lightness: hslLightness * 100,\n saturation: clamp(hslSaturation, 0, 100),\n };\n}\n\nfunction updateFromPoint(\n event: PointerEvent<HTMLDivElement>,\n setColor: (color: ColorModel) => void,\n color: ColorModel,\n) {\n const rect = event.currentTarget.getBoundingClientRect();\n const saturation = Math.round(clamp((event.clientX - rect.left) / rect.width, 0, 1) * 100);\n const lightness = Math.round(clamp((event.clientY - rect.top) / rect.height, 0, 1) * 100);\n setColor(palettePositionToHsl(saturation, lightness, color));\n}\n\nexport type ColorPickerPaletteProps = Omit<ComponentPropsWithoutRef<\"div\">, \"onChange\">;\nexport const ColorPickerPalette = forwardRef<HTMLDivElement, ColorPickerPaletteProps>(\n function ColorPickerPalette(\n {\n children,\n className,\n onKeyDown,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n style,\n ...props\n },\n ref,\n ) {\n const { color, disabled, setColor, value } = useColorPicker();\n const [isDragging, setIsDragging] = useState(false);\n const background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${color.hue} 100% 50%))`;\n const palettePosition = hslToPalettePosition(color);\n const paletteStyle = {\n \"--jaci-color-palette-lightness\": formatPalettePercentage(palettePosition.lightness),\n \"--jaci-color-palette-saturation\": formatPalettePercentage(palettePosition.saturation),\n background,\n ...style,\n } as CSSProperties;\n\n const releasePointer = (event: PointerEvent<HTMLDivElement>) => {\n if (event.currentTarget.hasPointerCapture?.(event.pointerId)) {\n event.currentTarget.releasePointerCapture(event.pointerId);\n }\n setIsDragging(false);\n };\n\n return (\n <div\n {...props}\n ref={ref}\n aria-disabled={disabled || undefined}\n aria-label={props[\"aria-label\"] ?? \"Color saturation and lightness\"}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={Math.round(palettePosition.saturation)}\n aria-valuetext={value}\n className={cx(colorPicker().palette, className)}\n data-disabled={disabled || undefined}\n data-dragging={isDragging || undefined}\n data-slot=\"color-picker-palette\"\n onKeyDown={(event) => {\n const step = event.shiftKey ? 10 : 1;\n if (\n event.key === \"ArrowLeft\" ||\n event.key === \"ArrowRight\" ||\n event.key === \"ArrowUp\" ||\n event.key === \"ArrowDown\"\n ) {\n event.preventDefault();\n const saturation =\n event.key === \"ArrowLeft\"\n ? Math.max(0, palettePosition.saturation - step)\n : event.key === \"ArrowRight\"\n ? Math.min(100, palettePosition.saturation + step)\n : palettePosition.saturation;\n const lightness =\n event.key === \"ArrowDown\"\n ? Math.min(100, palettePosition.lightness + step)\n : event.key === \"ArrowUp\"\n ? Math.max(0, palettePosition.lightness - step)\n : palettePosition.lightness;\n setColor(palettePositionToHsl(saturation, lightness, color));\n }\n onKeyDown?.(event);\n }}\n onPointerDown={(event) => {\n if (!disabled) {\n updateFromPoint(event, setColor, color);\n setIsDragging(true);\n try {\n event.currentTarget.setPointerCapture(event.pointerId);\n } catch {\n // Pointer capture is not available in every test environment.\n }\n }\n onPointerDown?.(event);\n }}\n onPointerMove={(event) => {\n if (!disabled && isDragging) updateFromPoint(event, setColor, color);\n onPointerMove?.(event);\n }}\n onPointerUp={(event) => {\n releasePointer(event);\n onPointerUp?.(event);\n }}\n onPointerCancel={(event) => {\n releasePointer(event);\n onPointerCancel?.(event);\n }}\n role=\"slider\"\n style={paletteStyle}\n tabIndex={props.tabIndex ?? (disabled ? -1 : 0)}\n >\n <span\n aria-hidden=\"true\"\n className={colorPicker().paletteIndicator}\n data-slot=\"color-picker-palette-indicator\"\n />\n {children}\n </div>\n );\n },\n);\n\nexport type ColorPickerHueProps = Omit<\n ComponentPropsWithoutRef<\"input\">,\n \"max\" | \"min\" | \"onChange\" | \"step\" | \"type\" | \"value\"\n>;\nexport const ColorPickerHue = forwardRef<HTMLInputElement, ColorPickerHueProps>(\n function ColorPickerHue({ className, onInput, ...props }, ref) {\n const { color, setColor } = useColorPicker();\n return (\n <input\n {...props}\n ref={ref}\n aria-label={props[\"aria-label\"] ?? \"Hue\"}\n className={cx(colorPicker().hue, className)}\n data-slot=\"color-picker-hue\"\n max={360}\n min={0}\n onInput={(event) => {\n setColor({ ...color, hue: Number(event.currentTarget.value) });\n onInput?.(event);\n }}\n step={1}\n type=\"range\"\n value={color.hue}\n />\n );\n },\n);\n\nexport type ColorPickerAlphaProps = Omit<\n ComponentPropsWithoutRef<\"input\">,\n \"max\" | \"min\" | \"onChange\" | \"step\" | \"type\" | \"value\"\n>;\nexport const ColorPickerAlpha = forwardRef<HTMLInputElement, ColorPickerAlphaProps>(\n function ColorPickerAlpha({ className, onInput, style, ...props }, ref) {\n const { color, setColor, showAlpha } = useColorPicker();\n if (!showAlpha) return null;\n return (\n <input\n {...props}\n ref={ref}\n aria-label={props[\"aria-label\"] ?? \"Opacity\"}\n className={cx(colorPicker().alpha, className)}\n data-slot=\"color-picker-alpha\"\n max={1}\n min={0}\n onInput={(event) => {\n setColor({ ...color, alpha: Number(event.currentTarget.value) });\n onInput?.(event);\n }}\n step={0.01}\n style={{\n ...style,\n background: `linear-gradient(to right, transparent, ${formatColor({ ...color, alpha: 1 }, \"rgb\")})`,\n }}\n type=\"range\"\n value={color.alpha}\n />\n );\n },\n);\n\nexport type ColorPickerSwatchesProps = ComponentPropsWithoutRef<\"fieldset\">;\nexport const ColorPickerSwatches = forwardRef<HTMLFieldSetElement, ColorPickerSwatchesProps>(\n function ColorPickerSwatches({ children, className, ...props }, ref) {\n const { swatches } = useColorPicker();\n return (\n <fieldset\n {...props}\n ref={ref}\n className={cx(colorPicker().swatches, className)}\n data-slot=\"color-picker-swatches\"\n >\n {children ?? swatches.map((color) => <ColorPickerSwatch color={color} key={color} />)}\n </fieldset>\n );\n },\n);\n\nexport interface ColorPickerSwatchProps extends ComponentPropsWithoutRef<\"button\"> {\n color: string;\n}\nexport const ColorPickerSwatch = forwardRef<HTMLButtonElement, ColorPickerSwatchProps>(\n function ColorPickerSwatch({ children, className, color, style, ...props }, ref) {\n const context = useColorPicker();\n const parsed = parseColor(color);\n const selected =\n parsed && formatColor(parsed, context.format, context.showAlpha) === context.value;\n return (\n <button\n {...props}\n ref={ref}\n aria-label={props[\"aria-label\"] ?? color}\n aria-pressed={selected || undefined}\n className={cx(colorPicker().swatch, className)}\n data-selected={selected || undefined}\n data-slot=\"color-picker-swatch\"\n onClick={(event) => {\n if (parsed) context.setColor(parsed);\n props.onClick?.(event);\n }}\n style={{ backgroundColor: color, ...style }}\n type=\"button\"\n >\n {children}\n </button>\n );\n },\n);\n\nexport type ColorPickerInputProps = Omit<\n ComponentPropsWithoutRef<\"input\">,\n \"onChange\" | \"type\" | \"value\"\n>;\nexport const ColorPickerInput = forwardRef<HTMLInputElement, ColorPickerInputProps>(\n function ColorPickerInput({ className, onBlur, onKeyDown, ...props }, ref) {\n const { format, setColor, showAlpha, value } = useColorPicker();\n const [draft, setDraft] = useState(value);\n const [invalid, setInvalid] = useState(false);\n useEffect(() => setDraft(value), [value]);\n const commit = () => {\n const parsed = parseColor(draft);\n if (!parsed) {\n setInvalid(true);\n setDraft(value);\n return;\n }\n setInvalid(false);\n setColor(parsed);\n setDraft(formatColor(parsed, format, showAlpha));\n };\n return (\n <input\n {...props}\n ref={ref}\n aria-label={props[\"aria-label\"] ?? \"Color value\"}\n aria-invalid={invalid || undefined}\n className={cx(colorPicker().input, className)}\n data-slot=\"color-picker-input\"\n onBlur={(event) => {\n commit();\n onBlur?.(event);\n }}\n onChange={(event) => {\n setDraft(event.currentTarget.value);\n setInvalid(false);\n }}\n onKeyDown={(event) => {\n if (event.key === \"Enter\") {\n event.preventDefault();\n commit();\n }\n onKeyDown?.(event);\n }}\n type=\"text\"\n value={draft}\n />\n );\n },\n);\n\nexport type ColorPickerNativeInputProps = Omit<\n ComponentPropsWithoutRef<\"input\">,\n \"onChange\" | \"type\" | \"value\"\n>;\nexport const ColorPickerNativeInput = forwardRef<HTMLInputElement, ColorPickerNativeInputProps>(\n function ColorPickerNativeInput({ className, onInput, ...props }, ref) {\n const { color, setColor, showAlpha } = useColorPicker();\n const value = formatColor({ ...color, alpha: 1 }, \"hex\");\n return (\n <input\n {...props}\n ref={ref}\n aria-label={props[\"aria-label\"] ?? \"Choose a color\"}\n className={cx(colorPicker().nativeInput, className)}\n data-slot=\"color-picker-native-input\"\n onInput={(event) => {\n const parsed = parseColor(event.currentTarget.value);\n if (parsed) setColor({ ...parsed, alpha: showAlpha ? color.alpha : 1 });\n onInput?.(event);\n }}\n type=\"color\"\n value={value.slice(0, 7)}\n />\n );\n },\n);\n\nexport const ColorPicker = {\n Root: ColorPickerRoot,\n Label: ColorPickerLabel,\n Control: ColorPickerControl,\n Trigger: ColorPickerTrigger,\n Preview: ColorPickerPreview,\n Value: ColorPickerValue,\n Portal: ColorPickerPortal,\n Positioner: ColorPickerPositioner,\n Popup: ColorPickerPopup,\n Palette: ColorPickerPalette,\n Hue: ColorPickerHue,\n Alpha: ColorPickerAlpha,\n Swatches: ColorPickerSwatches,\n Swatch: ColorPickerSwatch,\n Input: ColorPickerInput,\n NativeInput: ColorPickerNativeInput,\n createHandle: BasePopover.createHandle,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"color-picker.cjs","names":["defaultColor","parseColor","formatColor","BasePopover","cx","colorPicker","withRecipeClassName","useThemePortalProps"],"sources":["../../../src/components/color-picker/color-picker.tsx"],"sourcesContent":["\"use client\";\n\nimport { Popover as BasePopover } from \"@base-ui/react/popover\";\nimport { createContext, forwardRef, useContext, useEffect, useId, useState } from \"react\";\nimport type { ComponentPropsWithoutRef, CSSProperties, PointerEvent, ReactNode } from \"react\";\nimport type { PopoverRoot as BasePopoverRoot } from \"@base-ui/react/popover\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { colorPicker } from \"../../styled-system/recipes\";\nimport { withRecipeClassName } from \"../base-ui\";\nimport { useThemePortalProps } from \"../../theme/theme-scope\";\nimport { defaultColor, formatColor, parseColor } from \"./color-utils\";\nimport type { ColorFormat, ColorModel } from \"./color-utils\";\n\nexport type { ColorFormat, ColorModel } from \"./color-utils\";\nexport { defaultColor, formatColor, parseColor } from \"./color-utils\";\n\ninterface ColorPickerContextValue {\n color: ColorModel;\n disabled: boolean;\n format: ColorFormat;\n inputId: string;\n setColor: (color: ColorModel) => void;\n showAlpha: boolean;\n swatches: string[];\n value: string;\n}\n\nconst ColorPickerContext = createContext<ColorPickerContextValue | null>(null);\n\nfunction useColorPicker() {\n const context = useContext(ColorPickerContext);\n if (!context) throw new Error(\"ColorPicker parts must be rendered inside ColorPicker.Root.\");\n return context;\n}\n\nexport interface ColorPickerRootProps extends Omit<BasePopoverRoot.Props, \"children\"> {\n children?: ReactNode;\n defaultValue?: string;\n disabled?: boolean;\n format?: ColorFormat;\n id?: string;\n name?: string;\n onValueChange?: (value: string) => void;\n showAlpha?: boolean;\n swatches?: string[];\n value?: string;\n}\n\nexport function ColorPickerRoot({\n children,\n defaultValue = \"#000000\",\n disabled = false,\n format = \"hex\",\n id,\n name,\n onValueChange,\n showAlpha = false,\n swatches = [],\n value: controlledValue,\n ...popoverProps\n}: ColorPickerRootProps) {\n const generatedId = useId();\n const inputId = id ?? generatedId;\n const [uncontrolledColor, setUncontrolledColor] = useState<ColorModel>(() =>\n defaultColor(defaultValue),\n );\n const parsedControlled = parseColor(controlledValue);\n const color = parsedControlled ?? uncontrolledColor;\n const formattedValue = formatColor(color, format, showAlpha);\n const setColor = (nextColor: ColorModel) => {\n setUncontrolledColor(nextColor);\n onValueChange?.(formatColor(nextColor, format, showAlpha));\n };\n\n return (\n <ColorPickerContext.Provider\n value={{\n color,\n disabled,\n format,\n inputId,\n setColor,\n showAlpha,\n swatches,\n value: formattedValue,\n }}\n >\n <BasePopover.Root {...popoverProps}>\n {children}\n {name ? (\n <input\n aria-hidden=\"true\"\n id={`${inputId}-value`}\n name={name}\n type=\"hidden\"\n value={formattedValue}\n />\n ) : null}\n </BasePopover.Root>\n </ColorPickerContext.Provider>\n );\n}\n\nexport interface ColorPickerLabelProps extends ComponentPropsWithoutRef<\"label\"> {}\nexport const ColorPickerLabel = forwardRef<HTMLLabelElement, ColorPickerLabelProps>(\n function ColorPickerLabel({ children, className, htmlFor, ...props }, ref) {\n const { inputId } = useColorPicker();\n return (\n <label\n {...props}\n ref={ref}\n className={cx(colorPicker().label, className)}\n data-slot=\"color-picker-label\"\n htmlFor={htmlFor ?? inputId}\n >\n {children}\n </label>\n );\n },\n);\n\nexport type ColorPickerControlProps = ComponentPropsWithoutRef<\"div\">;\nexport const ColorPickerControl = forwardRef<HTMLDivElement, ColorPickerControlProps>(\n function ColorPickerControl({ className, ...props }, ref) {\n return (\n <div\n {...props}\n ref={ref}\n className={cx(colorPicker().control, className)}\n data-slot=\"color-picker-control\"\n />\n );\n },\n);\n\nexport type ColorPickerTriggerProps = ComponentPropsWithoutRef<typeof BasePopover.Trigger>;\nexport const ColorPickerTrigger = forwardRef<HTMLButtonElement, ColorPickerTriggerProps>(\n function ColorPickerTrigger({ className, disabled, ...props }, ref) {\n const context = useColorPicker();\n return (\n <BasePopover.Trigger\n {...props}\n ref={ref}\n className={withRecipeClassName(colorPicker().trigger, className)}\n data-jaci-component=\"color-picker\"\n data-slot=\"color-picker-trigger\"\n disabled={disabled ?? context.disabled}\n id={props.id ?? context.inputId}\n />\n );\n },\n);\n\nexport type ColorPickerPreviewProps = ComponentPropsWithoutRef<\"span\">;\nexport const ColorPickerPreview = forwardRef<HTMLSpanElement, ColorPickerPreviewProps>(\n function ColorPickerPreview({ className, style, ...props }, ref) {\n const { value } = useColorPicker();\n return (\n <span\n {...props}\n ref={ref}\n aria-label={props[\"aria-label\"] ?? value}\n className={cx(colorPicker().preview, className)}\n data-slot=\"color-picker-preview\"\n role=\"img\"\n style={{ backgroundColor: value, ...style }}\n />\n );\n },\n);\n\nexport type ColorPickerValueProps = ComponentPropsWithoutRef<\"span\">;\nexport const ColorPickerValue = forwardRef<HTMLSpanElement, ColorPickerValueProps>(\n function ColorPickerValue({ className, ...props }, ref) {\n const { value } = useColorPicker();\n return (\n <span\n {...props}\n ref={ref}\n className={cx(colorPicker().value, className)}\n data-slot=\"color-picker-value\"\n >\n {props.children ?? value}\n </span>\n );\n },\n);\n\nexport function ColorPickerPortal(props: ComponentPropsWithoutRef<typeof BasePopover.Portal>) {\n return <BasePopover.Portal {...useThemePortalProps(props)} />;\n}\nexport type ColorPickerPositionerProps = ComponentPropsWithoutRef<typeof BasePopover.Positioner>;\nexport const ColorPickerPositioner = forwardRef<HTMLDivElement, ColorPickerPositionerProps>(\n function ColorPickerPositioner({ className, ...props }, ref) {\n return (\n <BasePopover.Positioner\n {...props}\n ref={ref}\n className={withRecipeClassName(colorPicker().positioner, className)}\n data-slot=\"color-picker-positioner\"\n />\n );\n },\n);\n\nexport type ColorPickerPopupProps = ComponentPropsWithoutRef<typeof BasePopover.Popup>;\nexport const ColorPickerPopup = forwardRef<HTMLDivElement, ColorPickerPopupProps>(\n function ColorPickerPopup({ className, ...props }, ref) {\n return (\n <BasePopover.Popup\n {...props}\n aria-label={props[\"aria-label\"] ?? \"Color picker\"}\n ref={ref}\n className={withRecipeClassName(colorPicker().popup, className)}\n data-jaci-component=\"color-picker\"\n data-slot=\"color-picker-popup\"\n />\n );\n },\n);\n\nfunction clamp(value: number, min: number, max: number) {\n return Math.min(max, Math.max(min, value));\n}\n\nfunction formatPalettePercentage(value: number) {\n return `${Number(value.toFixed(2))}%`;\n}\n\nfunction hslToPalettePosition(color: ColorModel) {\n const lightness = clamp(color.lightness / 100, 0, 1);\n const saturation = clamp(color.saturation / 100, 0, 1);\n const chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;\n const value = lightness + chroma / 2;\n\n return {\n lightness: (1 - value) * 100,\n saturation: value === 0 ? 0 : (chroma / value) * 100,\n };\n}\n\nfunction palettePositionToHsl(\n saturation: number,\n lightness: number,\n color: ColorModel,\n): ColorModel {\n const hsvSaturation = clamp(saturation / 100, 0, 1);\n const value = 1 - clamp(lightness / 100, 0, 1);\n const hslLightness = value * (1 - hsvSaturation / 2);\n const hslSaturation =\n hslLightness === 0 || hslLightness === 1\n ? 0\n : ((value - hslLightness) / Math.min(hslLightness, 1 - hslLightness)) * 100;\n\n return {\n ...color,\n lightness: hslLightness * 100,\n saturation: clamp(hslSaturation, 0, 100),\n };\n}\n\nfunction updateFromPoint(\n event: PointerEvent<HTMLDivElement>,\n setColor: (color: ColorModel) => void,\n color: ColorModel,\n) {\n const rect = event.currentTarget.getBoundingClientRect();\n const saturation = Math.round(clamp((event.clientX - rect.left) / rect.width, 0, 1) * 100);\n const lightness = Math.round(clamp((event.clientY - rect.top) / rect.height, 0, 1) * 100);\n setColor(palettePositionToHsl(saturation, lightness, color));\n}\n\nexport type ColorPickerPaletteProps = Omit<ComponentPropsWithoutRef<\"div\">, \"onChange\">;\nexport const ColorPickerPalette = forwardRef<HTMLDivElement, ColorPickerPaletteProps>(\n function ColorPickerPalette(\n {\n children,\n className,\n onKeyDown,\n onPointerCancel,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n style,\n ...props\n },\n ref,\n ) {\n const { color, disabled, setColor, value } = useColorPicker();\n const [isDragging, setIsDragging] = useState(false);\n const background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${color.hue} 100% 50%))`;\n const palettePosition = hslToPalettePosition(color);\n const paletteStyle = {\n \"--jaci-color-palette-lightness\": formatPalettePercentage(palettePosition.lightness),\n \"--jaci-color-palette-saturation\": formatPalettePercentage(palettePosition.saturation),\n background,\n ...style,\n } as CSSProperties;\n\n const releasePointer = (event: PointerEvent<HTMLDivElement>) => {\n if (event.currentTarget.hasPointerCapture?.(event.pointerId)) {\n event.currentTarget.releasePointerCapture(event.pointerId);\n }\n setIsDragging(false);\n };\n\n return (\n <div\n {...props}\n ref={ref}\n aria-disabled={disabled || undefined}\n aria-label={props[\"aria-label\"] ?? \"Color saturation and lightness\"}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={Math.round(palettePosition.saturation)}\n aria-valuetext={value}\n className={cx(colorPicker().palette, className)}\n data-disabled={disabled || undefined}\n data-dragging={isDragging || undefined}\n data-slot=\"color-picker-palette\"\n onKeyDown={(event) => {\n const step = event.shiftKey ? 10 : 1;\n if (\n event.key === \"ArrowLeft\" ||\n event.key === \"ArrowRight\" ||\n event.key === \"ArrowUp\" ||\n event.key === \"ArrowDown\"\n ) {\n event.preventDefault();\n const saturation =\n event.key === \"ArrowLeft\"\n ? Math.max(0, palettePosition.saturation - step)\n : event.key === \"ArrowRight\"\n ? Math.min(100, palettePosition.saturation + step)\n : palettePosition.saturation;\n const lightness =\n event.key === \"ArrowDown\"\n ? Math.min(100, palettePosition.lightness + step)\n : event.key === \"ArrowUp\"\n ? Math.max(0, palettePosition.lightness - step)\n : palettePosition.lightness;\n setColor(palettePositionToHsl(saturation, lightness, color));\n }\n onKeyDown?.(event);\n }}\n onPointerDown={(event) => {\n if (!disabled) {\n updateFromPoint(event, setColor, color);\n setIsDragging(true);\n try {\n event.currentTarget.setPointerCapture(event.pointerId);\n } catch {\n // Pointer capture is not available in every test environment.\n }\n }\n onPointerDown?.(event);\n }}\n onPointerMove={(event) => {\n if (!disabled && isDragging) updateFromPoint(event, setColor, color);\n onPointerMove?.(event);\n }}\n onPointerUp={(event) => {\n releasePointer(event);\n onPointerUp?.(event);\n }}\n onPointerCancel={(event) => {\n releasePointer(event);\n onPointerCancel?.(event);\n }}\n role=\"slider\"\n style={paletteStyle}\n tabIndex={props.tabIndex ?? (disabled ? -1 : 0)}\n >\n <span\n aria-hidden=\"true\"\n className={colorPicker().paletteIndicator}\n data-slot=\"color-picker-palette-indicator\"\n />\n {children}\n </div>\n );\n },\n);\n\nexport type ColorPickerHueProps = Omit<\n ComponentPropsWithoutRef<\"input\">,\n \"max\" | \"min\" | \"onChange\" | \"step\" | \"type\" | \"value\"\n>;\nexport const ColorPickerHue = forwardRef<HTMLInputElement, ColorPickerHueProps>(\n function ColorPickerHue({ className, onInput, ...props }, ref) {\n const { color, setColor } = useColorPicker();\n return (\n <input\n {...props}\n ref={ref}\n aria-label={props[\"aria-label\"] ?? \"Hue\"}\n className={cx(colorPicker().hue, className)}\n data-slot=\"color-picker-hue\"\n max={360}\n min={0}\n onInput={(event) => {\n setColor({ ...color, hue: Number(event.currentTarget.value) });\n onInput?.(event);\n }}\n step={1}\n type=\"range\"\n value={color.hue}\n />\n );\n },\n);\n\nexport type ColorPickerAlphaProps = Omit<\n ComponentPropsWithoutRef<\"input\">,\n \"max\" | \"min\" | \"onChange\" | \"step\" | \"type\" | \"value\"\n>;\nexport const ColorPickerAlpha = forwardRef<HTMLInputElement, ColorPickerAlphaProps>(\n function ColorPickerAlpha({ className, onInput, style, ...props }, ref) {\n const { color, setColor, showAlpha } = useColorPicker();\n if (!showAlpha) return null;\n return (\n <input\n {...props}\n ref={ref}\n aria-label={props[\"aria-label\"] ?? \"Opacity\"}\n className={cx(colorPicker().alpha, className)}\n data-slot=\"color-picker-alpha\"\n max={1}\n min={0}\n onInput={(event) => {\n setColor({ ...color, alpha: Number(event.currentTarget.value) });\n onInput?.(event);\n }}\n step={0.01}\n style={{\n ...style,\n background: `linear-gradient(to right, transparent, ${formatColor({ ...color, alpha: 1 }, \"rgb\")})`,\n }}\n type=\"range\"\n value={color.alpha}\n />\n );\n },\n);\n\nexport type ColorPickerSwatchesProps = ComponentPropsWithoutRef<\"fieldset\">;\nexport const ColorPickerSwatches = forwardRef<HTMLFieldSetElement, ColorPickerSwatchesProps>(\n function ColorPickerSwatches({ children, className, ...props }, ref) {\n const { swatches } = useColorPicker();\n return (\n <fieldset\n {...props}\n ref={ref}\n className={cx(colorPicker().swatches, className)}\n data-slot=\"color-picker-swatches\"\n >\n {children ?? swatches.map((color) => <ColorPickerSwatch color={color} key={color} />)}\n </fieldset>\n );\n },\n);\n\nexport interface ColorPickerSwatchProps extends ComponentPropsWithoutRef<\"button\"> {\n color: string;\n}\nexport const ColorPickerSwatch = forwardRef<HTMLButtonElement, ColorPickerSwatchProps>(\n function ColorPickerSwatch({ children, className, color, style, ...props }, ref) {\n const context = useColorPicker();\n const parsed = parseColor(color);\n const selected =\n parsed && formatColor(parsed, context.format, context.showAlpha) === context.value;\n return (\n <button\n {...props}\n ref={ref}\n aria-label={props[\"aria-label\"] ?? color}\n aria-pressed={selected || undefined}\n className={cx(colorPicker().swatch, className)}\n data-selected={selected || undefined}\n data-slot=\"color-picker-swatch\"\n onClick={(event) => {\n if (parsed) context.setColor(parsed);\n props.onClick?.(event);\n }}\n style={{ backgroundColor: color, ...style }}\n type=\"button\"\n >\n {children}\n </button>\n );\n },\n);\n\nexport type ColorPickerInputProps = Omit<\n ComponentPropsWithoutRef<\"input\">,\n \"onChange\" | \"type\" | \"value\"\n>;\nexport const ColorPickerInput = forwardRef<HTMLInputElement, ColorPickerInputProps>(\n function ColorPickerInput({ className, onBlur, onKeyDown, ...props }, ref) {\n const { format, setColor, showAlpha, value } = useColorPicker();\n const [draft, setDraft] = useState(value);\n const [invalid, setInvalid] = useState(false);\n useEffect(() => setDraft(value), [value]);\n const commit = () => {\n const parsed = parseColor(draft);\n if (!parsed) {\n setInvalid(true);\n setDraft(value);\n return;\n }\n setInvalid(false);\n setColor(parsed);\n setDraft(formatColor(parsed, format, showAlpha));\n };\n return (\n <input\n {...props}\n ref={ref}\n aria-label={props[\"aria-label\"] ?? \"Color value\"}\n aria-invalid={invalid || undefined}\n className={cx(colorPicker().input, className)}\n data-slot=\"color-picker-input\"\n onBlur={(event) => {\n commit();\n onBlur?.(event);\n }}\n onChange={(event) => {\n setDraft(event.currentTarget.value);\n setInvalid(false);\n }}\n onKeyDown={(event) => {\n if (event.key === \"Enter\") {\n event.preventDefault();\n commit();\n }\n onKeyDown?.(event);\n }}\n type=\"text\"\n value={draft}\n />\n );\n },\n);\n\nexport type ColorPickerNativeInputProps = Omit<\n ComponentPropsWithoutRef<\"input\">,\n \"onChange\" | \"type\" | \"value\"\n>;\nexport const ColorPickerNativeInput = forwardRef<HTMLInputElement, ColorPickerNativeInputProps>(\n function ColorPickerNativeInput({ className, onInput, ...props }, ref) {\n const { color, setColor, showAlpha } = useColorPicker();\n const value = formatColor({ ...color, alpha: 1 }, \"hex\");\n return (\n <input\n {...props}\n ref={ref}\n aria-label={props[\"aria-label\"] ?? \"Choose a color\"}\n className={cx(colorPicker().nativeInput, className)}\n data-slot=\"color-picker-native-input\"\n onInput={(event) => {\n const parsed = parseColor(event.currentTarget.value);\n if (parsed) setColor({ ...parsed, alpha: showAlpha ? color.alpha : 1 });\n onInput?.(event);\n }}\n type=\"color\"\n value={value.slice(0, 7)}\n />\n );\n },\n);\n\nexport const ColorPicker = {\n Root: ColorPickerRoot,\n Label: ColorPickerLabel,\n Control: ColorPickerControl,\n Trigger: ColorPickerTrigger,\n Preview: ColorPickerPreview,\n Value: ColorPickerValue,\n Portal: ColorPickerPortal,\n Positioner: ColorPickerPositioner,\n Popup: ColorPickerPopup,\n Palette: ColorPickerPalette,\n Hue: ColorPickerHue,\n Alpha: ColorPickerAlpha,\n Swatches: ColorPickerSwatches,\n Swatch: ColorPickerSwatch,\n Input: ColorPickerInput,\n NativeInput: ColorPickerNativeInput,\n createHandle: BasePopover.createHandle,\n};\n"],"mappings":"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"}
@@ -37,7 +37,7 @@ type ColorPickerPreviewProps = ComponentPropsWithoutRef<"span">;
37
37
  declare const ColorPickerPreview: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
38
38
  type ColorPickerValueProps = ComponentPropsWithoutRef<"span">;
39
39
  declare const ColorPickerValue: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
40
- declare const ColorPickerPortal: typeof Popover.Portal;
40
+ declare function ColorPickerPortal(props: ComponentPropsWithoutRef<typeof Popover.Portal>): import("react").JSX.Element;
41
41
  type ColorPickerPositionerProps = ComponentPropsWithoutRef<typeof Popover.Positioner>;
42
42
  declare const ColorPickerPositioner: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").PopoverPositionerProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
43
43
  type ColorPickerPopupProps = ComponentPropsWithoutRef<typeof Popover.Popup>;
@@ -77,7 +77,7 @@ declare const ColorPicker: {
77
77
  } & import("react").RefAttributes<HTMLElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
78
78
  Preview: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
79
79
  Value: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
80
- Portal: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react").PopoverPortalProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
80
+ Portal: typeof ColorPickerPortal;
81
81
  Positioner: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").PopoverPositionerProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
82
82
  Popup: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").PopoverPopupProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
83
83
  Palette: import("react").ForwardRefExoticComponent<ColorPickerPaletteProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -37,7 +37,7 @@ type ColorPickerPreviewProps = ComponentPropsWithoutRef<"span">;
37
37
  declare const ColorPickerPreview: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
38
38
  type ColorPickerValueProps = ComponentPropsWithoutRef<"span">;
39
39
  declare const ColorPickerValue: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
40
- declare const ColorPickerPortal: typeof Popover.Portal;
40
+ declare function ColorPickerPortal(props: ComponentPropsWithoutRef<typeof Popover.Portal>): import("react").JSX.Element;
41
41
  type ColorPickerPositionerProps = ComponentPropsWithoutRef<typeof Popover.Positioner>;
42
42
  declare const ColorPickerPositioner: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").PopoverPositionerProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
43
43
  type ColorPickerPopupProps = ComponentPropsWithoutRef<typeof Popover.Popup>;
@@ -77,7 +77,7 @@ declare const ColorPicker: {
77
77
  } & import("react").RefAttributes<HTMLElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
78
78
  Preview: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
79
79
  Value: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
80
- Portal: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react").PopoverPortalProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
80
+ Portal: typeof ColorPickerPortal;
81
81
  Positioner: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").PopoverPositionerProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
82
82
  Popup: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").PopoverPopupProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
83
83
  Palette: import("react").ForwardRefExoticComponent<ColorPickerPaletteProps & 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 { colorPicker } from "../../styled-system/recipes/color-picker.js";
5
+ import { useThemePortalProps } from "../../theme/theme-scope.js";
5
6
  import { defaultColor, formatColor, parseColor } from "./color-utils.js";
6
7
  import { createContext, forwardRef, useContext, useEffect, useId, useState } from "react";
7
8
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -102,7 +103,9 @@ const ColorPickerValue = forwardRef(function ColorPickerValue({ className, ...pr
102
103
  children: props.children ?? value
103
104
  });
104
105
  });
105
- const ColorPickerPortal = Popover.Portal;
106
+ function ColorPickerPortal(props) {
107
+ return /* @__PURE__ */ jsx(Popover.Portal, { ...useThemePortalProps(props) });
108
+ }
106
109
  const ColorPickerPositioner = forwardRef(function ColorPickerPositioner({ className, ...props }, ref) {
107
110
  return /* @__PURE__ */ jsx(Popover.Positioner, {
108
111
  ...props,