@womp/kookie-ui 0.17.0 → 0.18.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 (569) hide show
  1. package/components.css +1397 -2626
  2. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  3. package/dist/cjs/components/_internal/base-button.js +1 -1
  4. package/dist/cjs/components/_internal/base-button.js.map +4 -4
  5. package/dist/cjs/components/_internal/base-checkbox.props.d.ts +1 -1
  6. package/dist/cjs/components/_internal/base-checkbox.props.js +1 -1
  7. package/dist/cjs/components/_internal/base-checkbox.props.js.map +2 -2
  8. package/dist/cjs/components/_internal/base-radio.props.d.ts +1 -1
  9. package/dist/cjs/components/_internal/base-radio.props.js +1 -1
  10. package/dist/cjs/components/_internal/base-radio.props.js.map +2 -2
  11. package/dist/cjs/components/_internal/pane-chrome.js +1 -1
  12. package/dist/cjs/components/_internal/pane-chrome.js.map +3 -3
  13. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  14. package/dist/cjs/components/_internal/shell-sidebar.js.map +3 -3
  15. package/dist/cjs/components/accordion.d.ts.map +1 -1
  16. package/dist/cjs/components/accordion.js +1 -1
  17. package/dist/cjs/components/accordion.js.map +4 -4
  18. package/dist/cjs/components/alert-dialog.js +1 -1
  19. package/dist/cjs/components/alert-dialog.js.map +4 -4
  20. package/dist/cjs/components/badge.js +1 -1
  21. package/dist/cjs/components/badge.js.map +4 -4
  22. package/dist/cjs/components/badge.props.d.ts +1 -1
  23. package/dist/cjs/components/badge.props.js +1 -1
  24. package/dist/cjs/components/badge.props.js.map +1 -1
  25. package/dist/cjs/components/button.js +2 -2
  26. package/dist/cjs/components/button.js.map +4 -4
  27. package/dist/cjs/components/chatbar.d.ts.map +1 -1
  28. package/dist/cjs/components/chatbar.js +2 -2
  29. package/dist/cjs/components/chatbar.js.map +4 -4
  30. package/dist/cjs/components/checkbox-cards.js +1 -1
  31. package/dist/cjs/components/checkbox-cards.js.map +2 -2
  32. package/dist/cjs/components/checkbox-group.d.ts.map +1 -1
  33. package/dist/cjs/components/checkbox-group.js +1 -1
  34. package/dist/cjs/components/checkbox-group.js.map +4 -4
  35. package/dist/cjs/components/checkbox-group.props.d.ts +1 -1
  36. package/dist/cjs/components/checkbox-group.props.js +1 -1
  37. package/dist/cjs/components/checkbox-group.props.js.map +2 -2
  38. package/dist/cjs/components/checkbox.d.ts.map +1 -1
  39. package/dist/cjs/components/checkbox.js +1 -1
  40. package/dist/cjs/components/checkbox.js.map +4 -4
  41. package/dist/cjs/components/checkbox.props.js +1 -1
  42. package/dist/cjs/components/checkbox.props.js.map +2 -2
  43. package/dist/cjs/components/combobox.d.ts.map +1 -1
  44. package/dist/cjs/components/combobox.js +1 -1
  45. package/dist/cjs/components/combobox.js.map +4 -4
  46. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  47. package/dist/cjs/components/context-menu.js +1 -1
  48. package/dist/cjs/components/context-menu.js.map +4 -4
  49. package/dist/cjs/components/data-list.d.ts.map +1 -1
  50. package/dist/cjs/components/data-list.js +1 -1
  51. package/dist/cjs/components/data-list.js.map +4 -4
  52. package/dist/cjs/components/dialog.js +1 -1
  53. package/dist/cjs/components/dialog.js.map +4 -4
  54. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  55. package/dist/cjs/components/dropdown-menu.js +1 -1
  56. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  57. package/dist/cjs/components/hover-card.d.ts.map +1 -1
  58. package/dist/cjs/components/hover-card.js +1 -1
  59. package/dist/cjs/components/hover-card.js.map +4 -4
  60. package/dist/cjs/components/icon-button.js +2 -2
  61. package/dist/cjs/components/icon-button.js.map +4 -4
  62. package/dist/cjs/components/index.js +5 -5
  63. package/dist/cjs/components/index.js.map +4 -4
  64. package/dist/cjs/components/message-scroller.js +2 -2
  65. package/dist/cjs/components/message-scroller.js.map +4 -4
  66. package/dist/cjs/components/navbar.d.ts.map +1 -1
  67. package/dist/cjs/components/navbar.js +1 -1
  68. package/dist/cjs/components/navbar.js.map +4 -4
  69. package/dist/cjs/components/notice.d.ts +1 -1
  70. package/dist/cjs/components/notice.d.ts.map +1 -1
  71. package/dist/cjs/components/notice.js +2 -2
  72. package/dist/cjs/components/notice.js.map +4 -4
  73. package/dist/cjs/components/popover.d.ts.map +1 -1
  74. package/dist/cjs/components/popover.js +1 -1
  75. package/dist/cjs/components/popover.js.map +4 -4
  76. package/dist/cjs/components/progress.js +1 -1
  77. package/dist/cjs/components/progress.js.map +3 -3
  78. package/dist/cjs/components/progress.props.d.ts +0 -7
  79. package/dist/cjs/components/progress.props.d.ts.map +1 -1
  80. package/dist/cjs/components/progress.props.js +1 -1
  81. package/dist/cjs/components/progress.props.js.map +3 -3
  82. package/dist/cjs/components/radio-group.d.ts.map +1 -1
  83. package/dist/cjs/components/radio-group.js +1 -1
  84. package/dist/cjs/components/radio-group.js.map +4 -4
  85. package/dist/cjs/components/radio-group.props.d.ts +1 -1
  86. package/dist/cjs/components/radio-group.props.js +1 -1
  87. package/dist/cjs/components/radio-group.props.js.map +2 -2
  88. package/dist/cjs/components/radio.d.ts.map +1 -1
  89. package/dist/cjs/components/radio.js +1 -1
  90. package/dist/cjs/components/radio.js.map +4 -4
  91. package/dist/cjs/components/radio.props.js +1 -1
  92. package/dist/cjs/components/radio.props.js.map +2 -2
  93. package/dist/cjs/components/scroll-area.d.ts.map +1 -1
  94. package/dist/cjs/components/scroll-area.js +1 -1
  95. package/dist/cjs/components/scroll-area.js.map +3 -3
  96. package/dist/cjs/components/scroll-area.props.d.ts +0 -7
  97. package/dist/cjs/components/scroll-area.props.d.ts.map +1 -1
  98. package/dist/cjs/components/scroll-area.props.js +1 -1
  99. package/dist/cjs/components/scroll-area.props.js.map +3 -3
  100. package/dist/cjs/components/segmented-control.d.ts.map +1 -1
  101. package/dist/cjs/components/segmented-control.js +1 -1
  102. package/dist/cjs/components/segmented-control.js.map +4 -4
  103. package/dist/cjs/components/select.d.ts.map +1 -1
  104. package/dist/cjs/components/select.js +1 -1
  105. package/dist/cjs/components/select.js.map +4 -4
  106. package/dist/cjs/components/separator.js +1 -1
  107. package/dist/cjs/components/separator.js.map +3 -3
  108. package/dist/cjs/components/separator.props.d.ts +0 -7
  109. package/dist/cjs/components/separator.props.d.ts.map +1 -1
  110. package/dist/cjs/components/separator.props.js +1 -1
  111. package/dist/cjs/components/separator.props.js.map +3 -3
  112. package/dist/cjs/components/sheet.js +1 -1
  113. package/dist/cjs/components/sheet.js.map +4 -4
  114. package/dist/cjs/components/shell.d.ts +1 -1
  115. package/dist/cjs/components/shell.d.ts.map +1 -1
  116. package/dist/cjs/components/shell.js +1 -1
  117. package/dist/cjs/components/shell.js.map +4 -4
  118. package/dist/cjs/components/sidebar.js +1 -1
  119. package/dist/cjs/components/sidebar.js.map +4 -4
  120. package/dist/cjs/components/slider.d.ts.map +1 -1
  121. package/dist/cjs/components/slider.js +1 -1
  122. package/dist/cjs/components/slider.js.map +4 -4
  123. package/dist/cjs/components/spinner.js +1 -1
  124. package/dist/cjs/components/spinner.js.map +3 -3
  125. package/dist/cjs/components/spinner.props.d.ts +0 -7
  126. package/dist/cjs/components/spinner.props.d.ts.map +1 -1
  127. package/dist/cjs/components/spinner.props.js +1 -1
  128. package/dist/cjs/components/spinner.props.js.map +3 -3
  129. package/dist/cjs/components/switch.d.ts.map +1 -1
  130. package/dist/cjs/components/switch.js +1 -1
  131. package/dist/cjs/components/switch.js.map +4 -4
  132. package/dist/cjs/components/tab-nav.d.ts.map +1 -1
  133. package/dist/cjs/components/tab-nav.js +1 -1
  134. package/dist/cjs/components/tab-nav.js.map +4 -4
  135. package/dist/cjs/components/table.d.ts.map +1 -1
  136. package/dist/cjs/components/table.js +1 -1
  137. package/dist/cjs/components/table.js.map +4 -4
  138. package/dist/cjs/components/table.props.d.ts +1 -1
  139. package/dist/cjs/components/table.props.js +1 -1
  140. package/dist/cjs/components/table.props.js.map +2 -2
  141. package/dist/cjs/components/tabs.d.ts.map +1 -1
  142. package/dist/cjs/components/tabs.js +1 -1
  143. package/dist/cjs/components/tabs.js.map +4 -4
  144. package/dist/cjs/components/text-area.d.ts.map +1 -1
  145. package/dist/cjs/components/text-area.js +1 -1
  146. package/dist/cjs/components/text-area.js.map +4 -4
  147. package/dist/cjs/components/text-field.d.ts.map +1 -1
  148. package/dist/cjs/components/text-field.js +2 -2
  149. package/dist/cjs/components/text-field.js.map +4 -4
  150. package/dist/cjs/components/theme-panel.js +3 -3
  151. package/dist/cjs/components/theme-panel.js.map +4 -4
  152. package/dist/cjs/components/theme.d.ts +3 -0
  153. package/dist/cjs/components/theme.d.ts.map +1 -1
  154. package/dist/cjs/components/theme.js +1 -1
  155. package/dist/cjs/components/theme.js.map +4 -4
  156. package/dist/cjs/components/theme.props.d.ts +12 -0
  157. package/dist/cjs/components/theme.props.d.ts.map +1 -1
  158. package/dist/cjs/components/theme.props.js +1 -1
  159. package/dist/cjs/components/theme.props.js.map +3 -3
  160. package/dist/cjs/components/toggle-button.js +3 -3
  161. package/dist/cjs/components/toggle-button.js.map +4 -4
  162. package/dist/cjs/components/toggle-icon-button.js +3 -3
  163. package/dist/cjs/components/toggle-icon-button.js.map +4 -4
  164. package/dist/cjs/components/toolbar.d.ts.map +1 -1
  165. package/dist/cjs/components/toolbar.js +2 -2
  166. package/dist/cjs/components/toolbar.js.map +4 -4
  167. package/dist/cjs/components/tooltip.js +1 -1
  168. package/dist/cjs/components/tooltip.js.map +4 -4
  169. package/dist/cjs/helpers/index.d.ts +1 -0
  170. package/dist/cjs/helpers/index.d.ts.map +1 -1
  171. package/dist/cjs/helpers/index.js +3 -3
  172. package/dist/cjs/helpers/index.js.map +4 -4
  173. package/dist/cjs/helpers/map-prop-values.d.ts +1 -4
  174. package/dist/cjs/helpers/map-prop-values.d.ts.map +1 -1
  175. package/dist/cjs/helpers/map-prop-values.js +1 -1
  176. package/dist/cjs/helpers/map-prop-values.js.map +3 -3
  177. package/dist/cjs/helpers/theme-size.d.ts +41 -0
  178. package/dist/cjs/helpers/theme-size.d.ts.map +1 -0
  179. package/dist/cjs/helpers/theme-size.js +2 -0
  180. package/dist/cjs/helpers/theme-size.js.map +7 -0
  181. package/dist/cjs/index.js +7 -7
  182. package/dist/cjs/index.js.map +4 -4
  183. package/dist/cjs/props/index.js +1 -1
  184. package/dist/cjs/props/index.js.map +3 -3
  185. package/dist/esm/{chunk-XZ5XZS5O.js → chunk-35HNDWWM.js} +2 -2
  186. package/dist/esm/chunk-3YLYGKFB.js +2 -0
  187. package/dist/esm/chunk-3YLYGKFB.js.map +7 -0
  188. package/dist/esm/chunk-4DE3ONED.js +2 -0
  189. package/dist/esm/chunk-4DE3ONED.js.map +7 -0
  190. package/dist/esm/chunk-4M55YJMR.js +2 -0
  191. package/dist/esm/chunk-4M55YJMR.js.map +7 -0
  192. package/dist/esm/chunk-4YQXYWDQ.js +2 -0
  193. package/dist/esm/chunk-4YQXYWDQ.js.map +7 -0
  194. package/dist/esm/chunk-54KMG7NX.js +2 -0
  195. package/dist/esm/chunk-54KMG7NX.js.map +7 -0
  196. package/dist/esm/chunk-5R2WX2FU.js +2 -0
  197. package/dist/esm/chunk-5R2WX2FU.js.map +7 -0
  198. package/dist/esm/chunk-5VBJT2VY.js +2 -0
  199. package/dist/esm/chunk-5VBJT2VY.js.map +7 -0
  200. package/dist/esm/chunk-6AZV4VFW.js +2 -0
  201. package/dist/esm/chunk-6AZV4VFW.js.map +7 -0
  202. package/dist/esm/{chunk-YDRFILTX.js → chunk-6YWDEANN.js} +2 -2
  203. package/dist/esm/{chunk-MZQDDG5K.js → chunk-7FZPCM7W.js} +2 -2
  204. package/dist/esm/chunk-7J2QS2UT.js +5 -0
  205. package/dist/esm/chunk-7J2QS2UT.js.map +7 -0
  206. package/dist/esm/chunk-ABS275QZ.js +2 -0
  207. package/dist/esm/chunk-AKPAHQYE.js +2 -0
  208. package/dist/esm/chunk-AKPAHQYE.js.map +7 -0
  209. package/dist/esm/chunk-BN24ZBO7.js +2 -0
  210. package/dist/esm/chunk-BN24ZBO7.js.map +7 -0
  211. package/dist/esm/chunk-BZ6YBP2S.js +2 -0
  212. package/dist/esm/chunk-BZ6YBP2S.js.map +7 -0
  213. package/dist/esm/chunk-CHPZ3LNC.js +2 -0
  214. package/dist/esm/chunk-CHPZ3LNC.js.map +7 -0
  215. package/dist/esm/chunk-CRK34MWY.js +2 -0
  216. package/dist/esm/chunk-CRK34MWY.js.map +7 -0
  217. package/dist/esm/{chunk-YZABQ4LS.js → chunk-DFSW4QR4.js} +2 -2
  218. package/dist/esm/{chunk-SM27AC7E.js → chunk-DJFTDR6Y.js} +2 -2
  219. package/dist/esm/chunk-EA2XSEFH.js +2 -0
  220. package/dist/esm/chunk-EA2XSEFH.js.map +7 -0
  221. package/dist/esm/{chunk-CRYT55SY.js → chunk-EHUSLPWN.js} +2 -2
  222. package/dist/esm/chunk-ENSDQ3XQ.js +2 -0
  223. package/dist/esm/chunk-ENSDQ3XQ.js.map +7 -0
  224. package/dist/esm/chunk-F3XBIUXB.js +2 -0
  225. package/dist/esm/chunk-F3XBIUXB.js.map +7 -0
  226. package/dist/esm/chunk-GHD3TKCA.js +2 -0
  227. package/dist/esm/chunk-GHD3TKCA.js.map +7 -0
  228. package/dist/esm/chunk-GQBQHGEF.js +2 -0
  229. package/dist/esm/chunk-GQBQHGEF.js.map +7 -0
  230. package/dist/esm/{chunk-6XHM724Y.js → chunk-GTVFQXLJ.js} +2 -2
  231. package/dist/esm/chunk-HIEGLLY7.js +2 -0
  232. package/dist/esm/chunk-HIEGLLY7.js.map +7 -0
  233. package/dist/esm/chunk-HZYE46V2.js +2 -0
  234. package/dist/esm/chunk-HZYE46V2.js.map +7 -0
  235. package/dist/esm/chunk-IWT3Q2PD.js +2 -0
  236. package/dist/esm/chunk-IWT3Q2PD.js.map +7 -0
  237. package/dist/esm/chunk-JCRBBT4X.js +2 -0
  238. package/dist/esm/chunk-JCRBBT4X.js.map +7 -0
  239. package/dist/esm/chunk-KFQ4B5YC.js +2 -0
  240. package/dist/esm/chunk-KFQ4B5YC.js.map +7 -0
  241. package/dist/esm/{chunk-6HRBG5H2.js → chunk-KPPIW4OJ.js} +2 -2
  242. package/dist/esm/{chunk-6WFEMPCF.js → chunk-KRXCFIRK.js} +2 -2
  243. package/dist/esm/{chunk-5SQL4ZRC.js → chunk-KSZOVI57.js} +2 -2
  244. package/dist/esm/{chunk-5SQL4ZRC.js.map → chunk-KSZOVI57.js.map} +1 -1
  245. package/dist/esm/{chunk-COSHAOEK.js → chunk-MJEYJI5G.js} +2 -2
  246. package/dist/esm/chunk-MLXHD7YF.js +2 -0
  247. package/dist/esm/chunk-MLXHD7YF.js.map +7 -0
  248. package/dist/esm/{chunk-CG54MBMW.js → chunk-MPN33CKR.js} +2 -2
  249. package/dist/esm/chunk-MQDZBF4J.js +2 -0
  250. package/dist/esm/chunk-MQDZBF4J.js.map +7 -0
  251. package/dist/esm/{chunk-IGBEDJBC.js → chunk-NFVOEHZS.js} +2 -2
  252. package/dist/esm/{chunk-ORMCQAPS.js → chunk-PAQS6C2A.js} +2 -2
  253. package/dist/esm/chunk-PUVZFRTQ.js +2 -0
  254. package/dist/esm/chunk-PUVZFRTQ.js.map +7 -0
  255. package/dist/esm/chunk-QAUYOVVL.js +2 -0
  256. package/dist/esm/chunk-QAUYOVVL.js.map +7 -0
  257. package/dist/esm/chunk-RC7TBVLO.js +2 -0
  258. package/dist/esm/chunk-RC7TBVLO.js.map +7 -0
  259. package/dist/esm/chunk-STMTXK7U.js +2 -0
  260. package/dist/esm/chunk-STMTXK7U.js.map +7 -0
  261. package/dist/esm/chunk-U7PDXTRX.js +2 -0
  262. package/dist/esm/chunk-U7PDXTRX.js.map +7 -0
  263. package/dist/esm/chunk-UNRG6Z5I.js +2 -0
  264. package/dist/esm/chunk-UNRG6Z5I.js.map +7 -0
  265. package/dist/esm/chunk-UONSKZQT.js +2 -0
  266. package/dist/esm/chunk-UONSKZQT.js.map +7 -0
  267. package/dist/esm/{chunk-2IPVLV6B.js → chunk-UQZHW3EJ.js} +2 -2
  268. package/dist/esm/chunk-VIDXAECE.js +2 -0
  269. package/dist/esm/chunk-VIDXAECE.js.map +7 -0
  270. package/dist/esm/chunk-VLLJ7A6P.js +2 -0
  271. package/dist/esm/chunk-VLLJ7A6P.js.map +7 -0
  272. package/dist/esm/{chunk-DP3OWU5T.js → chunk-VT4AAF7Q.js} +2 -2
  273. package/dist/esm/chunk-XVKFQSLI.js +2 -0
  274. package/dist/esm/chunk-XVKFQSLI.js.map +7 -0
  275. package/dist/esm/{chunk-RFURPE7W.js → chunk-YF3MFME4.js} +2 -2
  276. package/dist/esm/{chunk-4STOJSJZ.js → chunk-YVMQWSHA.js} +2 -2
  277. package/dist/esm/{chunk-4STOJSJZ.js.map → chunk-YVMQWSHA.js.map} +2 -2
  278. package/dist/esm/chunk-ZCAI2PRH.js +2 -0
  279. package/dist/esm/chunk-ZCAI2PRH.js.map +7 -0
  280. package/dist/esm/{chunk-S53ZQNHK.js → chunk-ZFBLPW3X.js} +2 -2
  281. package/dist/esm/chunk-ZH2B7WEH.js +2 -0
  282. package/dist/esm/chunk-ZH2B7WEH.js.map +7 -0
  283. package/dist/esm/chunk-ZJZIV2JH.js +2 -0
  284. package/dist/esm/chunk-ZJZIV2JH.js.map +7 -0
  285. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  286. package/dist/esm/components/_internal/base-button.js +1 -1
  287. package/dist/esm/components/_internal/base-checkbox.props.d.ts +1 -1
  288. package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
  289. package/dist/esm/components/_internal/base-radio.props.d.ts +1 -1
  290. package/dist/esm/components/_internal/base-radio.props.js +1 -1
  291. package/dist/esm/components/_internal/pane-chrome.js +1 -1
  292. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  293. package/dist/esm/components/accordion.d.ts.map +1 -1
  294. package/dist/esm/components/accordion.js +1 -1
  295. package/dist/esm/components/alert-dialog.js +1 -1
  296. package/dist/esm/components/badge.js +1 -1
  297. package/dist/esm/components/badge.props.d.ts +1 -1
  298. package/dist/esm/components/badge.props.js +1 -1
  299. package/dist/esm/components/button.js +1 -1
  300. package/dist/esm/components/chatbar.d.ts.map +1 -1
  301. package/dist/esm/components/chatbar.js +1 -1
  302. package/dist/esm/components/checkbox-cards.js +1 -1
  303. package/dist/esm/components/checkbox-group.d.ts.map +1 -1
  304. package/dist/esm/components/checkbox-group.js +1 -1
  305. package/dist/esm/components/checkbox-group.props.d.ts +1 -1
  306. package/dist/esm/components/checkbox-group.props.js +1 -1
  307. package/dist/esm/components/checkbox.d.ts.map +1 -1
  308. package/dist/esm/components/checkbox.js +1 -1
  309. package/dist/esm/components/checkbox.props.js +1 -1
  310. package/dist/esm/components/combobox.d.ts.map +1 -1
  311. package/dist/esm/components/combobox.js +1 -1
  312. package/dist/esm/components/context-menu.d.ts.map +1 -1
  313. package/dist/esm/components/context-menu.js +1 -1
  314. package/dist/esm/components/data-list.d.ts.map +1 -1
  315. package/dist/esm/components/data-list.js +1 -1
  316. package/dist/esm/components/dialog.js +1 -1
  317. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  318. package/dist/esm/components/dropdown-menu.js +1 -1
  319. package/dist/esm/components/hover-card.d.ts.map +1 -1
  320. package/dist/esm/components/hover-card.js +1 -1
  321. package/dist/esm/components/icon-button.js +1 -1
  322. package/dist/esm/components/index.js +1 -1
  323. package/dist/esm/components/message-scroller.js +1 -1
  324. package/dist/esm/components/navbar.d.ts.map +1 -1
  325. package/dist/esm/components/navbar.js +1 -1
  326. package/dist/esm/components/notice.d.ts +1 -1
  327. package/dist/esm/components/notice.d.ts.map +1 -1
  328. package/dist/esm/components/notice.js +1 -1
  329. package/dist/esm/components/popover.d.ts.map +1 -1
  330. package/dist/esm/components/popover.js +1 -1
  331. package/dist/esm/components/progress.js +1 -1
  332. package/dist/esm/components/progress.props.d.ts +0 -7
  333. package/dist/esm/components/progress.props.d.ts.map +1 -1
  334. package/dist/esm/components/progress.props.js +1 -1
  335. package/dist/esm/components/radio-group.d.ts.map +1 -1
  336. package/dist/esm/components/radio-group.js +1 -1
  337. package/dist/esm/components/radio-group.props.d.ts +1 -1
  338. package/dist/esm/components/radio-group.props.js +1 -1
  339. package/dist/esm/components/radio.d.ts.map +1 -1
  340. package/dist/esm/components/radio.js +1 -1
  341. package/dist/esm/components/radio.props.js +1 -1
  342. package/dist/esm/components/scroll-area.d.ts.map +1 -1
  343. package/dist/esm/components/scroll-area.js +1 -1
  344. package/dist/esm/components/scroll-area.props.d.ts +0 -7
  345. package/dist/esm/components/scroll-area.props.d.ts.map +1 -1
  346. package/dist/esm/components/scroll-area.props.js +1 -1
  347. package/dist/esm/components/segmented-control.d.ts.map +1 -1
  348. package/dist/esm/components/segmented-control.js +1 -1
  349. package/dist/esm/components/select.d.ts.map +1 -1
  350. package/dist/esm/components/select.js +1 -1
  351. package/dist/esm/components/separator.js +1 -1
  352. package/dist/esm/components/separator.props.d.ts +0 -7
  353. package/dist/esm/components/separator.props.d.ts.map +1 -1
  354. package/dist/esm/components/separator.props.js +1 -1
  355. package/dist/esm/components/sheet.js +1 -1
  356. package/dist/esm/components/shell.d.ts +1 -1
  357. package/dist/esm/components/shell.d.ts.map +1 -1
  358. package/dist/esm/components/shell.js +1 -1
  359. package/dist/esm/components/sidebar.js +1 -1
  360. package/dist/esm/components/slider.d.ts.map +1 -1
  361. package/dist/esm/components/slider.js +1 -1
  362. package/dist/esm/components/spinner.js +1 -1
  363. package/dist/esm/components/spinner.props.d.ts +0 -7
  364. package/dist/esm/components/spinner.props.d.ts.map +1 -1
  365. package/dist/esm/components/spinner.props.js +1 -1
  366. package/dist/esm/components/switch.d.ts.map +1 -1
  367. package/dist/esm/components/switch.js +1 -1
  368. package/dist/esm/components/tab-nav.d.ts.map +1 -1
  369. package/dist/esm/components/tab-nav.js +1 -1
  370. package/dist/esm/components/table.d.ts.map +1 -1
  371. package/dist/esm/components/table.js +1 -1
  372. package/dist/esm/components/table.props.d.ts +1 -1
  373. package/dist/esm/components/table.props.js +1 -1
  374. package/dist/esm/components/tabs.d.ts.map +1 -1
  375. package/dist/esm/components/tabs.js +1 -1
  376. package/dist/esm/components/text-area.d.ts.map +1 -1
  377. package/dist/esm/components/text-area.js +1 -1
  378. package/dist/esm/components/text-field.d.ts.map +1 -1
  379. package/dist/esm/components/text-field.js +1 -1
  380. package/dist/esm/components/theme-panel.js +1 -1
  381. package/dist/esm/components/theme.d.ts +3 -0
  382. package/dist/esm/components/theme.d.ts.map +1 -1
  383. package/dist/esm/components/theme.js +1 -1
  384. package/dist/esm/components/theme.props.d.ts +12 -0
  385. package/dist/esm/components/theme.props.d.ts.map +1 -1
  386. package/dist/esm/components/theme.props.js +1 -1
  387. package/dist/esm/components/toggle-button.js +1 -1
  388. package/dist/esm/components/toggle-icon-button.js +1 -1
  389. package/dist/esm/components/toolbar.d.ts.map +1 -1
  390. package/dist/esm/components/toolbar.js +1 -1
  391. package/dist/esm/components/tooltip.js +1 -1
  392. package/dist/esm/helpers/index.d.ts +1 -0
  393. package/dist/esm/helpers/index.d.ts.map +1 -1
  394. package/dist/esm/helpers/index.js +1 -1
  395. package/dist/esm/helpers/map-prop-values.d.ts +1 -4
  396. package/dist/esm/helpers/map-prop-values.d.ts.map +1 -1
  397. package/dist/esm/helpers/map-prop-values.js +1 -1
  398. package/dist/esm/helpers/theme-size.d.ts +41 -0
  399. package/dist/esm/helpers/theme-size.d.ts.map +1 -0
  400. package/dist/esm/helpers/theme-size.js +2 -0
  401. package/dist/esm/helpers/theme-size.js.map +7 -0
  402. package/dist/esm/index.js +1 -1
  403. package/dist/esm/props/index.js +1 -1
  404. package/layout/tokens.css +14 -0
  405. package/layout.css +14 -0
  406. package/package.json +1 -1
  407. package/src/components/_internal/base-button.css +114 -78
  408. package/src/components/_internal/base-button.tsx +48 -9
  409. package/src/components/_internal/base-checkbox.css +91 -8
  410. package/src/components/_internal/base-checkbox.props.ts +1 -1
  411. package/src/components/_internal/base-radio.css +68 -6
  412. package/src/components/_internal/base-radio.props.ts +1 -1
  413. package/src/components/_internal/base-tab-list.css +33 -25
  414. package/src/components/accordion.tsx +3 -1
  415. package/src/components/avatar.css +21 -15
  416. package/src/components/badge.css +14 -23
  417. package/src/components/badge.props.tsx +1 -1
  418. package/src/components/button.css +5 -175
  419. package/src/components/chatbar.tsx +9 -4
  420. package/src/components/checkbox-group.css +6 -11
  421. package/src/components/checkbox-group.tsx +3 -1
  422. package/src/components/checkbox.css +6 -11
  423. package/src/components/checkbox.tsx +3 -1
  424. package/src/components/combobox.tsx +3 -1
  425. package/src/components/context-menu.tsx +3 -1
  426. package/src/components/data-list.tsx +3 -1
  427. package/src/components/dropdown-menu.tsx +3 -1
  428. package/src/components/hover-card.tsx +3 -1
  429. package/src/components/icon-button.css +4 -152
  430. package/src/components/message-scroller.tsx +1 -1
  431. package/src/components/navbar.tsx +3 -1
  432. package/src/components/notice.tsx +7 -3
  433. package/src/components/popover.tsx +3 -1
  434. package/src/components/progress.css +4 -37
  435. package/src/components/progress.props.tsx +0 -3
  436. package/src/components/radio-group.props.tsx +1 -1
  437. package/src/components/radio-group.tsx +3 -1
  438. package/src/components/radio.tsx +3 -1
  439. package/src/components/scroll-area.css +2 -23
  440. package/src/components/scroll-area.props.tsx +0 -3
  441. package/src/components/scroll-area.tsx +2 -18
  442. package/src/components/segmented-control.css +34 -27
  443. package/src/components/segmented-control.tsx +3 -1
  444. package/src/components/select.css +76 -74
  445. package/src/components/select.tsx +4 -2
  446. package/src/components/separator.css +2 -23
  447. package/src/components/separator.props.tsx +0 -3
  448. package/src/components/shell.tsx +8 -2
  449. package/src/components/slider.css +19 -11
  450. package/src/components/slider.tsx +3 -1
  451. package/src/components/spinner.css +2 -23
  452. package/src/components/spinner.props.tsx +0 -4
  453. package/src/components/switch.css +51 -17
  454. package/src/components/switch.tsx +3 -1
  455. package/src/components/tab-nav.tsx +3 -1
  456. package/src/components/table.props.tsx +1 -1
  457. package/src/components/table.tsx +3 -1
  458. package/src/components/tabs.css +2 -1
  459. package/src/components/tabs.tsx +3 -1
  460. package/src/components/text-area.css +55 -107
  461. package/src/components/text-area.tsx +8 -6
  462. package/src/components/text-field.css +129 -127
  463. package/src/components/text-field.tsx +8 -6
  464. package/src/components/theme.props.tsx +10 -0
  465. package/src/components/theme.tsx +86 -71
  466. package/src/components/toolbar.tsx +3 -1
  467. package/src/helpers/index.ts +1 -0
  468. package/src/helpers/map-prop-values.ts +1 -18
  469. package/src/helpers/theme-size.ts +73 -0
  470. package/src/styles/tokens/constants.css +4 -0
  471. package/src/styles/tokens/space.css +16 -0
  472. package/styles.css +1428 -2641
  473. package/tokens/base.css +14 -0
  474. package/tokens.css +16 -0
  475. package/dist/esm/chunk-2HUAVZZL.js +0 -2
  476. package/dist/esm/chunk-2HUAVZZL.js.map +0 -7
  477. package/dist/esm/chunk-2XSRO44Q.js +0 -2
  478. package/dist/esm/chunk-2XSRO44Q.js.map +0 -7
  479. package/dist/esm/chunk-3KB2XWBE.js +0 -2
  480. package/dist/esm/chunk-3KB2XWBE.js.map +0 -7
  481. package/dist/esm/chunk-4D7OU2UA.js +0 -2
  482. package/dist/esm/chunk-4D7OU2UA.js.map +0 -7
  483. package/dist/esm/chunk-5GYIQIPW.js +0 -2
  484. package/dist/esm/chunk-5GYIQIPW.js.map +0 -7
  485. package/dist/esm/chunk-655TAWHX.js +0 -2
  486. package/dist/esm/chunk-655TAWHX.js.map +0 -7
  487. package/dist/esm/chunk-6VPYP3VN.js +0 -2
  488. package/dist/esm/chunk-6VPYP3VN.js.map +0 -7
  489. package/dist/esm/chunk-7BE6N3KY.js +0 -2
  490. package/dist/esm/chunk-7BE6N3KY.js.map +0 -7
  491. package/dist/esm/chunk-AHOUZS3V.js +0 -2
  492. package/dist/esm/chunk-AHOUZS3V.js.map +0 -7
  493. package/dist/esm/chunk-BALS3AVM.js +0 -2
  494. package/dist/esm/chunk-BALS3AVM.js.map +0 -7
  495. package/dist/esm/chunk-BOLRYGFQ.js +0 -2
  496. package/dist/esm/chunk-BOLRYGFQ.js.map +0 -7
  497. package/dist/esm/chunk-BUEYZEAY.js +0 -2
  498. package/dist/esm/chunk-BUEYZEAY.js.map +0 -7
  499. package/dist/esm/chunk-DKALDTCN.js +0 -2
  500. package/dist/esm/chunk-DKALDTCN.js.map +0 -7
  501. package/dist/esm/chunk-EJOVE3JH.js +0 -2
  502. package/dist/esm/chunk-EJOVE3JH.js.map +0 -7
  503. package/dist/esm/chunk-FPDLBLO3.js +0 -2
  504. package/dist/esm/chunk-FPDLBLO3.js.map +0 -7
  505. package/dist/esm/chunk-GOYI2U6F.js +0 -2
  506. package/dist/esm/chunk-GOYI2U6F.js.map +0 -7
  507. package/dist/esm/chunk-HKRQ3E3I.js +0 -2
  508. package/dist/esm/chunk-HKRQ3E3I.js.map +0 -7
  509. package/dist/esm/chunk-HSFQO4QM.js +0 -2
  510. package/dist/esm/chunk-HSFQO4QM.js.map +0 -7
  511. package/dist/esm/chunk-HVQ3SLQC.js +0 -2
  512. package/dist/esm/chunk-HVQ3SLQC.js.map +0 -7
  513. package/dist/esm/chunk-JCOALADA.js +0 -5
  514. package/dist/esm/chunk-JCOALADA.js.map +0 -7
  515. package/dist/esm/chunk-K7J23OPW.js +0 -2
  516. package/dist/esm/chunk-K7J23OPW.js.map +0 -7
  517. package/dist/esm/chunk-M55KFXYV.js +0 -2
  518. package/dist/esm/chunk-M55KFXYV.js.map +0 -7
  519. package/dist/esm/chunk-MGSHX5N5.js +0 -2
  520. package/dist/esm/chunk-MGSHX5N5.js.map +0 -7
  521. package/dist/esm/chunk-MJC4NKYG.js +0 -2
  522. package/dist/esm/chunk-MJC4NKYG.js.map +0 -7
  523. package/dist/esm/chunk-MOYLXCMW.js +0 -2
  524. package/dist/esm/chunk-MOYLXCMW.js.map +0 -7
  525. package/dist/esm/chunk-MVW2SY4F.js +0 -2
  526. package/dist/esm/chunk-MVW2SY4F.js.map +0 -7
  527. package/dist/esm/chunk-NOSR2XWD.js +0 -2
  528. package/dist/esm/chunk-NOSR2XWD.js.map +0 -7
  529. package/dist/esm/chunk-OMUUPPJO.js +0 -2
  530. package/dist/esm/chunk-OMUUPPJO.js.map +0 -7
  531. package/dist/esm/chunk-PNIVUG5D.js +0 -2
  532. package/dist/esm/chunk-PNIVUG5D.js.map +0 -7
  533. package/dist/esm/chunk-PSS45RHX.js +0 -2
  534. package/dist/esm/chunk-PSS45RHX.js.map +0 -7
  535. package/dist/esm/chunk-PYYI64XK.js +0 -2
  536. package/dist/esm/chunk-PYYI64XK.js.map +0 -7
  537. package/dist/esm/chunk-QJFAGWBO.js +0 -2
  538. package/dist/esm/chunk-QJFAGWBO.js.map +0 -7
  539. package/dist/esm/chunk-QWFFYUFH.js +0 -2
  540. package/dist/esm/chunk-QWFFYUFH.js.map +0 -7
  541. package/dist/esm/chunk-RVHKSNMJ.js +0 -2
  542. package/dist/esm/chunk-RVHKSNMJ.js.map +0 -7
  543. package/dist/esm/chunk-RYURXQLJ.js +0 -2
  544. package/dist/esm/chunk-RYURXQLJ.js.map +0 -7
  545. package/dist/esm/chunk-UA6FP7HS.js +0 -2
  546. package/dist/esm/chunk-V7UP4SLZ.js +0 -2
  547. package/dist/esm/chunk-V7UP4SLZ.js.map +0 -7
  548. package/dist/esm/chunk-X5KCVLKG.js +0 -2
  549. package/dist/esm/chunk-X5KCVLKG.js.map +0 -7
  550. package/dist/esm/chunk-XPRPYCII.js +0 -2
  551. package/dist/esm/chunk-XPRPYCII.js.map +0 -7
  552. /package/dist/esm/{chunk-XZ5XZS5O.js.map → chunk-35HNDWWM.js.map} +0 -0
  553. /package/dist/esm/{chunk-YDRFILTX.js.map → chunk-6YWDEANN.js.map} +0 -0
  554. /package/dist/esm/{chunk-MZQDDG5K.js.map → chunk-7FZPCM7W.js.map} +0 -0
  555. /package/dist/esm/{chunk-UA6FP7HS.js.map → chunk-ABS275QZ.js.map} +0 -0
  556. /package/dist/esm/{chunk-YZABQ4LS.js.map → chunk-DFSW4QR4.js.map} +0 -0
  557. /package/dist/esm/{chunk-SM27AC7E.js.map → chunk-DJFTDR6Y.js.map} +0 -0
  558. /package/dist/esm/{chunk-CRYT55SY.js.map → chunk-EHUSLPWN.js.map} +0 -0
  559. /package/dist/esm/{chunk-6XHM724Y.js.map → chunk-GTVFQXLJ.js.map} +0 -0
  560. /package/dist/esm/{chunk-6HRBG5H2.js.map → chunk-KPPIW4OJ.js.map} +0 -0
  561. /package/dist/esm/{chunk-6WFEMPCF.js.map → chunk-KRXCFIRK.js.map} +0 -0
  562. /package/dist/esm/{chunk-COSHAOEK.js.map → chunk-MJEYJI5G.js.map} +0 -0
  563. /package/dist/esm/{chunk-CG54MBMW.js.map → chunk-MPN33CKR.js.map} +0 -0
  564. /package/dist/esm/{chunk-IGBEDJBC.js.map → chunk-NFVOEHZS.js.map} +0 -0
  565. /package/dist/esm/{chunk-ORMCQAPS.js.map → chunk-PAQS6C2A.js.map} +0 -0
  566. /package/dist/esm/{chunk-2IPVLV6B.js.map → chunk-UQZHW3EJ.js.map} +0 -0
  567. /package/dist/esm/{chunk-DP3OWU5T.js.map → chunk-VT4AAF7Q.js.map} +0 -0
  568. /package/dist/esm/{chunk-RFURPE7W.js.map → chunk-YF3MFME4.js.map} +0 -0
  569. /package/dist/esm/{chunk-S53ZQNHK.js.map → chunk-ZFBLPW3X.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{a as re,b as ne}from"./chunk-QAUYOVVL.js";import{a as B,b as te,c as M}from"./chunk-MAI7FEU7.js";import{b as ee,c as oe}from"./chunk-IX5HIHVI.js";import{a as Z}from"./chunk-MJJ7XDIP.js";import{b as X,c as Y}from"./chunk-6AZV4VFW.js";import{a as Q}from"./chunk-AGAQC4HH.js";import{c as J}from"./chunk-FWB47YCH.js";import{d as U}from"./chunk-3YLYGKFB.js";import{a as O}from"./chunk-UBSLEGQZ.js";import{a as _}from"./chunk-GSTOGDAJ.js";import{a as Ne}from"./chunk-OS3FCYZY.js";var ze={};Ne(ze,{Content:()=>xe,Empty:()=>Re,Group:()=>he,Input:()=>ge,Item:()=>Se,Label:()=>ve,List:()=>Pe,Root:()=>de,Separator:()=>ye,Trigger:()=>Ce,Value:()=>fe});import*as e from"react";import u from"classnames";import{Popover as ae}from"radix-ui";import{useCallbackRef as A,useComposedRefs as ie,useControllableState as G,useLayoutEffect as W}from"radix-ui/internal";import{Command as N,useCommandState as se}from"cmdk";var Le={size:B.size},we={size:M.size},le=new Set;function De(o){le.has(o)||(le.add(o),console.warn(o))}function Oe(o){let r=o,t=new Set;return{get:()=>r,set:n=>{Object.is(n,r)||(r=n,t.forEach(a=>a()))},subscribe:n=>(t.add(n),()=>{t.delete(n)})}}var me=e.createContext(null),k=o=>{let r=e.useContext(me);if(!r)throw new Error(`Combobox.${o} must be used within Combobox.Root`);return r},ce=e.createContext(null),be=e.createContext(null),pe=e.createContext(null),ue=()=>e.useContext(pe);function Me(o){let r=o.getAttribute("aria-label")?.trim();if(r)return r;let t=o.getAttribute("aria-labelledby");if(t){let a=t.split(/\s+/).map(s=>o.ownerDocument.getElementById(s)?.textContent?.trim()).filter(Boolean).join(" ");if(a)return a}let n=o.labels;if(n&&n.length>0){let a=Array.from(n).map(s=>s.textContent?.trim()).filter(Boolean).join(" ");if(a)return a}}var de=o=>{let{children:r,size:t,value:n,defaultValue:a=null,onValueChange:s,open:l,defaultOpen:d=!1,onOpenChange:i,placeholder:m="Select an option",searchPlaceholder:C="Search...",searchValue:f,defaultSearchValue:V="",onSearchValueChange:P,filter:R,shouldFilter:p=!0,loop:c=!0,disabled:x,resetSearchOnSelect:v=!0,resetSearchOnClose:g=!0,color:E,displayValue:h,...T}=o,S=U(t,B.size),[y,b]=G({prop:l,defaultProp:d,onChange:i}),[I,Ve]=G({prop:n,defaultProp:a,onChange:s}),[j,L]=G({prop:f,defaultProp:V,onChange:P}),K=typeof h=="function"?h(I):h,[w]=e.useState(()=>Oe(I));W(()=>{w.set(I)},[w,I]);let z=A(D=>{b(D),!D&&g&&L("")}),q=A(D=>{Ve(D),b(!1),v&&L("")}),F=e.useRef(null),$=e.useCallback(()=>F.current?Me(F.current):void 0,[]),Ee=e.useMemo(()=>({value:I,displayValue:K,setOpen:z,size:S,placeholder:m,searchPlaceholder:C,disabled:x,color:E,loop:c,shouldFilter:p,filter:R,triggerRef:F,getTriggerLabel:$}),[I,K,z,S,m,C,x,E,c,p,R,$]),Te=e.useMemo(()=>({value:j,setValue:L}),[j,L]),Ie=e.useMemo(()=>({store:w,onSelect:q,disabled:x}),[w,q,x]);return e.createElement(me.Provider,{value:Ee},e.createElement(ce.Provider,{value:Te},e.createElement(be.Provider,{value:Ie},e.createElement(re,{open:y,onOpenChange:z,...T},r))))};de.displayName="Combobox.Root";var Ce=e.forwardRef((o,r)=>{let t=k("Trigger"),{children:n,className:a,placeholder:s,disabled:l,readOnly:d,error:i,loading:m,color:C,radius:f,onClick:V,onKeyDown:P,type:R,...p}=O({size:t.size,...o},Le,te,_),c=l??t.disabled,x=C??t.color,v=!!(d||m),g=t.value==null&&t.displayValue==null,E=ie(r,t.triggerRef),{getTriggerLabel:h}=t;e.useEffect(()=>{},[h]);let T=b=>{V?.(b),v&&b.preventDefault()},S=b=>{P?.(b),!(b.defaultPrevented||v||c)&&b.key==="ArrowDown"&&(b.preventDefault(),t.setOpen(!0))},y=e.createElement(e.Fragment,null,e.createElement("span",{className:"rt-SelectTriggerInner"},e.createElement("span",{className:"rt-ComboboxValue"},t.displayValue??t.value??s??t.placeholder)),m?e.createElement("div",{className:"rt-SelectIcon rt-SelectLoadingIcon","aria-hidden":"true"},e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none"},e.createElement("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:"32",strokeDashoffset:"32",className:"rt-SelectLoadingIconCircle"}))):e.createElement(oe,{className:"rt-SelectIcon"}));return e.createElement(ne,{disabled:c},e.createElement("button",{"data-accent-color":x,"data-radius":f,"data-error":i,"data-loading":m,"data-disabled":c||void 0,"data-read-only":d||void 0,"data-placeholder":g?"":void 0,...p,role:"combobox","aria-disabled":c||void 0,"aria-readonly":d||void 0,"aria-invalid":i||void 0,"aria-busy":m||void 0,type:R??"button",disabled:c,onClick:T,onKeyDown:S,ref:E,className:u("rt-reset","rt-SelectTrigger","rt-ComboboxTrigger",a)},n?Z(n):y))});Ce.displayName="Combobox.Trigger";var fe=e.forwardRef(({placeholder:o,children:r,className:t,...n},a)=>{let s=k("Value"),l=s.displayValue??s.value??void 0;return e.createElement("span",{...n,ref:a,className:u("rt-ComboboxValue",t)},l??r??o??s.placeholder)});fe.displayName="Combobox.Value";function ke(){let o=se(a=>a.filtered.count),r=se(a=>a.search),[t,n]=e.useState("");return e.useEffect(()=>{let a=r?o===0?"No results":`${o} result${o===1?"":"s"}`:"",s=window.setTimeout(()=>n(a),r?400:0);return()=>window.clearTimeout(s)},[o,r]),e.createElement(Q,{role:"status","aria-live":"polite","aria-atomic":"true"},t)}var xe=e.forwardRef((o,r)=>{let t=k("Content"),n=X(),a=t.size==="4"?"3":t.size,s=o.size??a??M.size.default,{className:l,children:d,color:i,forceMount:m,container:C,onOpenAutoFocus:f,"aria-label":V,"aria-labelledby":P,...R}=O({...o,size:s},M),p=i||t.color||n.accentColor,{getTriggerLabel:c}=t,[x,v]=e.useState(c);W(()=>{if(x!==void 0)return;let y=c();y!==void 0&&v(y)},[c,x]);let g=o["aria-label"]??x,E=e.useMemo(()=>({sizeClassName:O({size:s},we).className||void 0,color:p,label:g}),[s,p,g]),h=e.useRef(null),T=y=>{if(f?.(y),y.defaultPrevented)return;let b=h.current;if(!b||b.querySelector("[cmdk-input]"))return;y.preventDefault(),(b.querySelector("[cmdk-list]")??b).focus({preventScroll:!0})},S=t.value?.trim()||void 0;return e.createElement(ae.Portal,{container:C,forceMount:m?!0:void 0},e.createElement(Y,{asChild:!0},e.createElement(ae.Content,{"data-accent-color":p,align:"start",sideOffset:4,collisionPadding:10,"aria-label":P?void 0:g,"aria-labelledby":P,...R,forceMount:m?!0:void 0,onOpenAutoFocus:T,ref:r,className:u("rt-PopperContent","rt-BaseMenuContent","rt-variant-soft","rt-ComboboxContent",l)},e.createElement(pe.Provider,{value:E},e.createElement(N,{ref:h,loop:t.loop,shouldFilter:t.shouldFilter,filter:t.filter,label:g,defaultValue:S,className:"rt-ComboboxCommand"},d,e.createElement(ke,null))))))});xe.displayName="Combobox.Content";var ge=e.forwardRef(({className:o,startAdornment:r,endAdornment:t,placeholder:n,variant:a,value:s,onValueChange:l,...d},i)=>{let m=k("Input"),C=e.useContext(ce),f=ue(),V=a??"soft",P=s??C?.value??"",R=l??C?.setValue,p=e.createElement("div",{className:u("rt-TextFieldRoot","rt-ComboboxInputRoot",f?.sizeClassName,`rt-variant-${V}`),"data-accent-color":f?.color},r?e.createElement("div",{className:"rt-TextFieldSlot"},r):null,e.createElement(N.Input,{...d,ref:i,value:P,onValueChange:R,placeholder:n??m.searchPlaceholder,className:u("rt-reset","rt-TextFieldInput",o)}),t?e.createElement("div",{className:"rt-TextFieldSlot","data-side":"right"},t):null);return f?e.createElement("div",{className:"rt-ComboboxSearch"},p):p});ge.displayName="Combobox.Input";var Pe=e.forwardRef(({className:o,children:r,label:t,...n},a)=>{let s=ue();return e.createElement("div",{className:"rt-ComboboxScrollArea"},e.createElement("div",{className:u("rt-BaseMenuViewport","rt-ComboboxViewport")},e.createElement(N.List,{...n,label:t??s?.label,ref:a,className:u("rt-ComboboxList",o)},r)))});Pe.displayName="Combobox.List";var Re=e.forwardRef(({className:o,...r},t)=>e.createElement(N.Empty,{...r,ref:t,className:u("rt-ComboboxEmpty",o)}));Re.displayName="Combobox.Empty";var he=e.forwardRef(({className:o,...r},t)=>e.createElement(N.Group,{...r,ref:t,className:u("rt-BaseMenuGroup","rt-ComboboxGroup",o)}));he.displayName="Combobox.Group";var ve=e.forwardRef(({className:o,id:r,...t},n)=>{let a=e.useId(),s=r??a,l=e.useRef(null),d=ie(n,l);return W(()=>{let i=l.current?.closest("[cmdk-group-items]");if(!(!i||i.hasAttribute("aria-labelledby")))return i.setAttribute("aria-labelledby",s),()=>{i.getAttribute("aria-labelledby")===s&&i.removeAttribute("aria-labelledby")}},[s]),e.createElement("div",{...t,id:s,ref:d,className:u("rt-BaseMenuLabel","rt-ComboboxLabel",o)})});ve.displayName="Combobox.Label";var ye=e.forwardRef(({className:o,...r},t)=>e.createElement(N.Separator,{...r,ref:t,className:u("rt-BaseMenuSeparator","rt-ComboboxSeparator",o)}));ye.displayName="Combobox.Separator";function H(o){return o==null||typeof o=="boolean"?"":typeof o=="string"||typeof o=="number"?String(o):Array.isArray(o)?o.map(H).join(""):e.isValidElement(o)?H(o.props.children):""}var Se=e.forwardRef(({className:o,children:r,label:t,value:n,disabled:a,onSelect:s,keywords:l,...d},i)=>{let m=e.useContext(be);if(!m)throw new Error("Combobox.Item must be used within Combobox.Root");let{store:C,onSelect:f,disabled:V}=m,P=n??(typeof r=="string"?r.trim():void 0),R=()=>P!==void 0&&C.get()===P,p=e.useSyncExternalStore(C.subscribe,R,R),c=A(s),x=e.useCallback(T=>{let S=n??T;f(S),c(S)},[n,f,c]),v=(t??H(r)).replace(/\s+/g," ").trim(),g=v?l?[v,...l]:[v]:l,E=g?g.join("\0"):"",h=a??V??!1;return e.createElement(N.Item,{key:E,...d,value:n,keywords:g,"aria-checked":p,disabled:h||void 0,ref:i,onSelect:x,className:u("rt-reset","rt-BaseMenuItem","rt-ComboboxItem",o)},p?e.createElement("span",{className:u("rt-BaseMenuItemIndicator","rt-ComboboxItemIndicator")},e.createElement(ee,{className:u("rt-BaseMenuItemIndicatorIcon","rt-ComboboxItemIndicatorIcon")})):null,e.createElement(J,null,r))});Se.displayName="Combobox.Item";export{de as a,Ce as b,fe as c,xe as d,ge as e,Pe as f,Re as g,he as h,ve as i,ye as j,Se as k,ze as l};
2
+ //# sourceMappingURL=chunk-F3XBIUXB.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/combobox.tsx"],
4
+ "sourcesContent": ["'use client';\n\n/**\n * Combobox: Radix Popover for positioning, dismissal and focus; cmdk for search,\n * filtering and keyboard navigation.\n *\n * Render path. State is split so an interaction re-renders only what reads it:\n * - `ComboboxContext` (Trigger, Value, Content): config and the selected value.\n * Open state is not in it, so opening and closing re-render no consumer.\n * - `ComboboxSearchContext` (Input only): the search text.\n * - `ComboboxItemContext` (Items): stable values only. Items read \"am I selected\"\n * from a store through `useSyncExternalStore`, so a selection re-renders the old\n * and the new selected item, not all N.\n *\n * Highlight. cmdk's `data-selected` is the single highlight source, driven by both\n * the pointer and the keyboard. There is no separate CSS `:hover` highlight, so two\n * items are never lit at once and Enter always picks the lit item.\n */\n\nimport { warnDeprecated } from '../helpers/warn-deprecated.js';\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Popover as PopoverPrimitive } from 'radix-ui';\nimport { useCallbackRef, useComposedRefs, useControllableState, useLayoutEffect } from 'radix-ui/internal';\nimport { Command as CommandPrimitive, useCommandState } from 'cmdk';\n\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSize } from '../helpers/theme-size.js';\nimport { comboboxRootPropDefs, comboboxTriggerPropDefs, comboboxContentPropDefs } from './combobox.props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\nimport { ChevronDownIcon, ThickCheckIcon } from './icons.js';\nimport { Theme, useThemeContext } from './theme.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\nimport * as Popover from './popover.js';\nimport { Slottable } from './slot.js';\nimport { VisuallyHidden } from './visually-hidden.js';\n\nimport type { textFieldRootPropDefs } from './text-field.props.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype TextFieldVariant = (typeof textFieldRootPropDefs.variant.values)[number];\ntype ComboboxValue = string | null;\ntype CommandFilter = (value: string, search: string, keywords?: string[]) => number;\n\n// Hoisted so extractProps' compiled prop-def cache (keyed by object identity) hits.\nconst triggerSizingPropDefs = { size: comboboxRootPropDefs.size };\nconst contentSizePropDefs = { size: comboboxContentPropDefs.size };\n\nconst warned = new Set<string>();\nfunction warnOnce(message: string) {\n if (warned.has(message)) return;\n warned.add(message);\n console.warn(message);\n}\n\n// ============================================================================\n// Selection store\n// ============================================================================\n\ninterface SelectionStore {\n get: () => ComboboxValue;\n set: (value: ComboboxValue) => void;\n subscribe: (listener: () => void) => () => void;\n}\n\nfunction createSelectionStore(initial: ComboboxValue): SelectionStore {\n let current = initial;\n const listeners = new Set<() => void>();\n return {\n get: () => current,\n set: (next) => {\n if (Object.is(next, current)) return;\n current = next;\n listeners.forEach((listener) => listener());\n },\n subscribe: (listener) => {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n },\n };\n}\n\n// ============================================================================\n// Contexts\n// ============================================================================\n\ninterface ComboboxContextValue {\n value: ComboboxValue;\n displayValue?: string;\n setOpen: (open: boolean) => void;\n size?: ComboboxRootOwnProps['size'];\n placeholder?: string;\n searchPlaceholder?: string;\n disabled?: boolean;\n color?: string;\n loop: boolean;\n shouldFilter: boolean;\n filter?: CommandFilter;\n triggerRef: React.RefObject<HTMLButtonElement | null>;\n /** Reads the trigger's accessible name from the DOM (aria-label, aria-labelledby or <label>). */\n getTriggerLabel: () => string | undefined;\n}\n\nconst ComboboxContext = React.createContext<ComboboxContextValue | null>(null);\n\nconst useComboboxContext = (componentName: string) => {\n const ctx = React.useContext(ComboboxContext);\n if (!ctx) {\n throw new Error(`Combobox.${componentName} must be used within Combobox.Root`);\n }\n return ctx;\n};\n\ninterface ComboboxSearchContextValue {\n value: string;\n setValue: (value: string) => void;\n}\n\nconst ComboboxSearchContext = React.createContext<ComboboxSearchContextValue | null>(null);\n\ninterface ComboboxItemContextValue {\n store: SelectionStore;\n onSelect: (value: string) => void;\n disabled?: boolean;\n}\n\nconst ComboboxItemContext = React.createContext<ComboboxItemContextValue | null>(null);\n\n/** Values resolved by Content and read by Input and List. */\ninterface ComboboxContentContextValue {\n sizeClassName?: string;\n color?: string;\n label?: string;\n}\n\nconst ComboboxContentContext = React.createContext<ComboboxContentContextValue | null>(null);\n\nconst useComboboxContentContext = () => React.useContext(ComboboxContentContext);\n\n// ============================================================================\n// Root\n// ============================================================================\n\ntype ComboboxRootOwnProps = GetPropDefTypes<typeof comboboxRootPropDefs> & {\n value?: ComboboxValue;\n defaultValue?: ComboboxValue;\n onValueChange?: (value: ComboboxValue) => void;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n placeholder?: string;\n searchPlaceholder?: string;\n searchValue?: string;\n defaultSearchValue?: string;\n onSearchValueChange?: (value: string) => void;\n filter?: CommandFilter;\n shouldFilter?: boolean;\n loop?: boolean;\n disabled?: boolean;\n /** Clear the search text when an option is selected. Defaults to true. */\n resetSearchOnSelect?: boolean;\n /** Clear the search text when the popup is dismissed without a selection. Defaults to true. */\n resetSearchOnClose?: boolean;\n color?: (typeof comboboxTriggerPropDefs.color.values)[number];\n /**\n * Text shown in the trigger for the selected value. Without it the raw value is shown.\n * Can be a string or a function that receives the current value. Pass a stable\n * function (module scope or `useCallback`): an inline function runs on every render.\n * @example displayValue={(v) => items.find(i => i.value === v)?.label}\n */\n displayValue?: string | ((value: ComboboxValue) => string | undefined);\n};\n\ntype PopoverRootProps = React.ComponentPropsWithoutRef<typeof Popover.Root>;\ninterface ComboboxRootProps extends PopoverRootProps, ComboboxRootOwnProps {}\n\nfunction readElementLabel(el: HTMLElement): string | undefined {\n const ariaLabel = el.getAttribute('aria-label')?.trim();\n if (ariaLabel) return ariaLabel;\n\n const labelledBy = el.getAttribute('aria-labelledby');\n if (labelledBy) {\n const text = labelledBy\n .split(/\\s+/)\n .map((id) => el.ownerDocument.getElementById(id)?.textContent?.trim())\n .filter(Boolean)\n .join(' ');\n if (text) return text;\n }\n\n const labels = (el as HTMLButtonElement).labels;\n if (labels && labels.length > 0) {\n const text = Array.from(labels)\n .map((label) => label.textContent?.trim())\n .filter(Boolean)\n .join(' ');\n if (text) return text;\n }\n\n return undefined;\n}\n\nconst ComboboxRoot: React.FC<ComboboxRootProps> = (props) => {\n const {\n children,\n size: sizeProp,\n value: valueProp,\n defaultValue = null,\n onValueChange,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n placeholder = 'Select an option',\n searchPlaceholder = 'Search...',\n searchValue: searchValueProp,\n defaultSearchValue = '',\n onSearchValueChange,\n filter,\n shouldFilter = true,\n loop = true,\n disabled,\n resetSearchOnSelect = true,\n resetSearchOnClose = true,\n color,\n displayValue: displayValueProp,\n ...rootProps\n } = props;\n const size = useThemeSize(sizeProp, comboboxRootPropDefs.size);\n\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n const [value, setValue] = useControllableState<ComboboxValue>({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n const [searchValue, setSearchValue] = useControllableState<string>({\n prop: searchValueProp,\n defaultProp: defaultSearchValue,\n onChange: onSearchValueChange,\n });\n\n const resolvedDisplayValue = typeof displayValueProp === 'function' ? displayValueProp(value) : displayValueProp;\n\n // Items subscribe to this store instead of the context, so a selection\n // re-renders only the items whose selected state flips.\n const [store] = React.useState(() => createSelectionStore(value));\n useLayoutEffect(() => {\n store.set(value);\n }, [store, value]);\n\n // The radix setters change identity whenever their controlled prop changes.\n // Reading them through callback refs keeps these handlers stable, so the\n // contexts below do not change on every keystroke or selection.\n const handleOpenChange = useCallbackRef((nextOpen: boolean) => {\n setOpen(nextOpen);\n if (!nextOpen && resetSearchOnClose) setSearchValue('');\n });\n\n const onSelect = useCallbackRef((nextValue: string) => {\n setValue(nextValue);\n setOpen(false);\n if (resetSearchOnSelect) setSearchValue('');\n });\n\n const triggerRef = React.useRef<HTMLButtonElement | null>(null);\n const getTriggerLabel = React.useCallback(() => (triggerRef.current ? readElementLabel(triggerRef.current) : undefined), []);\n\n const contextValue = React.useMemo<ComboboxContextValue>(\n () => ({\n value,\n displayValue: resolvedDisplayValue,\n setOpen: handleOpenChange,\n size,\n placeholder,\n searchPlaceholder,\n disabled,\n color,\n loop,\n shouldFilter,\n filter,\n triggerRef,\n getTriggerLabel,\n }),\n [value, resolvedDisplayValue, handleOpenChange, size, placeholder, searchPlaceholder, disabled, color, loop, shouldFilter, filter, getTriggerLabel],\n );\n\n const searchContextValue = React.useMemo<ComboboxSearchContextValue>(() => ({ value: searchValue, setValue: setSearchValue }), [searchValue, setSearchValue]);\n\n const itemContextValue = React.useMemo<ComboboxItemContextValue>(() => ({ store, onSelect, disabled }), [store, onSelect, disabled]);\n\n return (\n <ComboboxContext.Provider value={contextValue}>\n <ComboboxSearchContext.Provider value={searchContextValue}>\n <ComboboxItemContext.Provider value={itemContextValue}>\n <Popover.Root open={open} onOpenChange={handleOpenChange} {...rootProps}>\n {children}\n </Popover.Root>\n </ComboboxItemContext.Provider>\n </ComboboxSearchContext.Provider>\n </ComboboxContext.Provider>\n );\n};\nComboboxRoot.displayName = 'Combobox.Root';\n\n// ============================================================================\n// Trigger\n// ============================================================================\n\ntype ComboboxTriggerElement = HTMLButtonElement;\ntype ComboboxTriggerOwnProps = GetPropDefTypes<typeof comboboxTriggerPropDefs>;\ntype NativeTriggerProps = Omit<React.ComponentPropsWithoutRef<'button'>, 'color'>;\ninterface ComboboxTriggerProps extends NativeTriggerProps, MarginProps, ComboboxTriggerOwnProps {}\n\nconst ComboboxTrigger = React.forwardRef<ComboboxTriggerElement, ComboboxTriggerProps>((props, forwardedRef) => {\n const ctx = useComboboxContext('Trigger');\n\n const {\n children,\n className,\n placeholder,\n disabled,\n readOnly,\n error,\n loading,\n color,\n radius,\n onClick,\n onKeyDown,\n type: buttonType,\n ...triggerProps\n } = extractProps({ size: ctx.size, ...props }, triggerSizingPropDefs, comboboxTriggerPropDefs, marginPropDefs);\n\n const isDisabled = disabled ?? ctx.disabled;\n const resolvedColor = color ?? ctx.color;\n // Read-only and loading triggers stay focusable but do not open.\n const isBlocked = Boolean(readOnly || loading);\n const isPlaceholder = ctx.value == null && ctx.displayValue == null;\n\n const composedRef = useComposedRefs(forwardedRef, ctx.triggerRef);\n\n const { getTriggerLabel } = ctx;\n React.useEffect(() => {\n if (process.env.NODE_ENV === 'production') return;\n if (!getTriggerLabel()) {\n warnOnce(\n 'Combobox.Trigger has no accessible name. The combobox role does not take its name from its content. Add `aria-label`, `aria-labelledby`, or a `<label htmlFor>` that points at the trigger.',\n );\n }\n }, [getTriggerLabel]);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(event);\n // Radix skips its open toggle when the event is default-prevented.\n if (isBlocked) event.preventDefault();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || isBlocked || isDisabled) return;\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n ctx.setOpen(true);\n }\n };\n\n const defaultContent = (\n <>\n <span className=\"rt-SelectTriggerInner\">\n <span className=\"rt-ComboboxValue\">{ctx.displayValue ?? ctx.value ?? placeholder ?? ctx.placeholder}</span>\n </span>\n {loading ? (\n <div className=\"rt-SelectIcon rt-SelectLoadingIcon\" aria-hidden=\"true\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <circle\n cx=\"8\"\n cy=\"8\"\n r=\"7\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeDasharray=\"32\"\n strokeDashoffset=\"32\"\n className=\"rt-SelectLoadingIconCircle\"\n />\n </svg>\n </div>\n ) : (\n <ChevronDownIcon className=\"rt-SelectIcon\" />\n )}\n </>\n );\n\n // Radix Popover.Trigger supplies aria-expanded, aria-controls (the popup id) and\n // aria-haspopup=\"dialog\", which matches the Popover dialog this opens.\n return (\n <Popover.Trigger disabled={isDisabled}>\n <button\n data-accent-color={resolvedColor}\n data-radius={radius}\n data-error={error}\n data-loading={loading}\n data-disabled={isDisabled || undefined}\n data-read-only={readOnly || undefined}\n data-placeholder={isPlaceholder ? '' : undefined}\n {...triggerProps}\n // eslint-disable-next-line jsx-a11y/role-has-required-aria-props -- Popover.Trigger (Slot) adds aria-expanded and aria-controls\n role=\"combobox\"\n aria-disabled={isDisabled || undefined}\n aria-readonly={readOnly || undefined}\n aria-invalid={error || undefined}\n aria-busy={loading || undefined}\n type={buttonType ?? 'button'}\n disabled={isDisabled}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={composedRef}\n className={classNames('rt-reset', 'rt-SelectTrigger', 'rt-ComboboxTrigger', className)}\n >\n {children ? requireReactElement(children) : defaultContent}\n </button>\n </Popover.Trigger>\n );\n});\nComboboxTrigger.displayName = 'Combobox.Trigger';\n\n// ============================================================================\n// Value (standalone, for custom trigger layouts)\n// ============================================================================\n\ntype ComboboxValueElement = HTMLSpanElement;\ninterface ComboboxValueProps extends React.ComponentPropsWithoutRef<'span'> {\n placeholder?: string;\n}\n\nconst ComboboxValue = React.forwardRef<ComboboxValueElement, ComboboxValueProps>(({ placeholder, children, className, ...valueProps }, forwardedRef) => {\n const ctx = useComboboxContext('Value');\n const display = ctx.displayValue ?? ctx.value ?? undefined;\n return (\n <span {...valueProps} ref={forwardedRef} className={classNames('rt-ComboboxValue', className)}>\n {display ?? children ?? placeholder ?? ctx.placeholder}\n </span>\n );\n});\nComboboxValue.displayName = 'Combobox.Value';\n\n// ============================================================================\n// Content\n// ============================================================================\n\ntype ComboboxContentElement = React.ElementRef<typeof PopoverPrimitive.Content>;\ntype ComboboxContentOwnProps = GetPropDefTypes<typeof comboboxContentPropDefs> & {\n container?: React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Portal>['container'];\n};\ninterface ComboboxContentProps extends Omit<ComponentPropsWithout<typeof PopoverPrimitive.Content, RemovedProps>, 'size'>, ComboboxContentOwnProps {}\n\n/** Announces the filtered result count to screen readers after typing settles. */\nfunction ComboboxAnnouncer() {\n const count = useCommandState((state) => state.filtered.count);\n const search = useCommandState((state) => state.search);\n const [message, setMessage] = React.useState('');\n\n React.useEffect(() => {\n const next = !search ? '' : count === 0 ? 'No results' : `${count} result${count === 1 ? '' : 's'}`;\n const timeout = window.setTimeout(() => setMessage(next), search ? 400 : 0);\n return () => window.clearTimeout(timeout);\n }, [count, search]);\n\n return (\n <VisuallyHidden role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n {message}\n </VisuallyHidden>\n );\n}\n\nconst ComboboxContent = React.forwardRef<ComboboxContentElement, ComboboxContentProps>((props, forwardedRef) => {\n const ctx = useComboboxContext('Content');\n const themeContext = useThemeContext();\n\n // Menus stop at size 3; a size 4 field opens a size 3 list.\n const rootSize = ctx.size === '4' ? '3' : ctx.size;\n const size = props.size ?? rootSize ?? comboboxContentPropDefs.size.default;\n\n const {\n className,\n children,\n color,\n forceMount,\n container,\n onOpenAutoFocus,\n 'aria-label': _ariaLabel,\n 'aria-labelledby': ariaLabelledByProp,\n ...contentProps\n } = extractProps({ ...props, size }, comboboxContentPropDefs);\n\n const resolvedColor = color || ctx.color || themeContext.accentColor;\n\n\n // The trigger's name labels the popup, the search field and the listbox.\n // Read once per mount (the content remounts on every open); fall back to a\n // layout effect when the trigger was not attached yet (defaultOpen, forceMount).\n const { getTriggerLabel } = ctx;\n const [triggerLabel, setTriggerLabel] = React.useState(getTriggerLabel);\n useLayoutEffect(() => {\n if (triggerLabel !== undefined) return;\n const label = getTriggerLabel();\n if (label !== undefined) setTriggerLabel(label);\n }, [getTriggerLabel, triggerLabel]);\n\n const label = props['aria-label'] ?? triggerLabel;\n\n const contentContextValue = React.useMemo<ComboboxContentContextValue>(\n () => ({\n // Responsive-aware size class for the search field (never String() a responsive object).\n sizeClassName: extractProps({ size }, contentSizePropDefs).className || undefined,\n color: resolvedColor,\n label,\n }),\n [size, resolvedColor, label],\n );\n\n const commandRef = React.useRef<HTMLDivElement>(null);\n\n // Without a search field, focus would land on the popup itself, outside cmdk's\n // keydown handler. Focus the listbox instead so arrow keys and Enter work.\n const handleOpenAutoFocus = (event: Event) => {\n onOpenAutoFocus?.(event);\n if (event.defaultPrevented) return;\n const command = commandRef.current;\n if (!command || command.querySelector('[cmdk-input]')) return;\n event.preventDefault();\n const list = command.querySelector<HTMLElement>('[cmdk-list]');\n (list ?? command).focus({ preventScroll: true });\n };\n\n // Start the highlight on the selected option (cmdk trims item values).\n const initialHighlight = ctx.value?.trim() || undefined;\n\n return (\n <PopoverPrimitive.Portal container={container} forceMount={forceMount ? true : undefined}>\n <Theme asChild>\n <PopoverPrimitive.Content\n data-accent-color={resolvedColor}\n align=\"start\"\n sideOffset={4}\n collisionPadding={10}\n aria-label={ariaLabelledByProp ? undefined : label}\n aria-labelledby={ariaLabelledByProp}\n {...contentProps}\n forceMount={forceMount ? true : undefined}\n onOpenAutoFocus={handleOpenAutoFocus}\n ref={forwardedRef}\n className={classNames('rt-PopperContent', 'rt-BaseMenuContent',\n 'rt-variant-soft', 'rt-ComboboxContent', className)}\n >\n <ComboboxContentContext.Provider value={contentContextValue}>\n <CommandPrimitive\n ref={commandRef}\n loop={ctx.loop}\n shouldFilter={ctx.shouldFilter}\n filter={ctx.filter}\n label={label}\n defaultValue={initialHighlight}\n className=\"rt-ComboboxCommand\"\n >\n {children}\n <ComboboxAnnouncer />\n </CommandPrimitive>\n </ComboboxContentContext.Provider>\n </PopoverPrimitive.Content>\n </Theme>\n </PopoverPrimitive.Portal>\n );\n});\nComboboxContent.displayName = 'Combobox.Content';\n\n// ============================================================================\n// Input\n// ============================================================================\n\ntype ComboboxInputElement = React.ElementRef<typeof CommandPrimitive.Input>;\ninterface ComboboxInputProps extends Omit<React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>, 'value' | 'onValueChange'> {\n startAdornment?: React.ReactNode;\n endAdornment?: React.ReactNode;\n variant?: TextFieldVariant;\n value?: string;\n onValueChange?: (value: string) => void;\n}\n\nconst ComboboxInput = React.forwardRef<ComboboxInputElement, ComboboxInputProps>(\n ({ className, startAdornment, endAdornment, placeholder, variant: inputVariant, value, onValueChange, ...inputProps }, forwardedRef) => {\n const ctx = useComboboxContext('Input');\n const search = React.useContext(ComboboxSearchContext);\n const contentContext = useComboboxContentContext();\n\n const textFieldVariant = inputVariant ?? 'soft';\n\n // The search text lives in Root; only this component subscribes to it.\n const searchValue = value ?? search?.value ?? '';\n const handleSearchChange = onValueChange ?? search?.setValue;\n\n const inputField = (\n <div\n className={classNames('rt-TextFieldRoot', 'rt-ComboboxInputRoot', contentContext?.sizeClassName, `rt-variant-${textFieldVariant}`)}\n data-accent-color={contentContext?.color}\n >\n {startAdornment ? <div className=\"rt-TextFieldSlot\">{startAdornment}</div> : null}\n <CommandPrimitive.Input\n {...inputProps}\n ref={forwardedRef}\n value={searchValue}\n onValueChange={handleSearchChange}\n placeholder={placeholder ?? ctx.searchPlaceholder}\n className={classNames('rt-reset', 'rt-TextFieldInput', className)}\n />\n {endAdornment ? (\n <div className=\"rt-TextFieldSlot\" data-side=\"right\">\n {endAdornment}\n </div>\n ) : null}\n </div>\n );\n\n return contentContext ? <div className=\"rt-ComboboxSearch\">{inputField}</div> : inputField;\n },\n);\nComboboxInput.displayName = 'Combobox.Input';\n\n// ============================================================================\n// List\n// ============================================================================\n\ntype ComboboxListElement = React.ElementRef<typeof CommandPrimitive.List>;\ninterface ComboboxListProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.List> {}\n\n// cmdk's List owns its id (referenced by the input's aria-controls), role and\n// aria-label (set from `label`), so none of them are overridden here.\nconst ComboboxList = React.forwardRef<ComboboxListElement, ComboboxListProps>(({ className, children, label, ...listProps }, forwardedRef) => {\n const contentContext = useComboboxContentContext();\n return (\n <div className=\"rt-ComboboxScrollArea\">\n <div className={classNames('rt-BaseMenuViewport', 'rt-ComboboxViewport')}>\n <CommandPrimitive.List {...listProps} label={label ?? contentContext?.label} ref={forwardedRef} className={classNames('rt-ComboboxList', className)}>\n {children}\n </CommandPrimitive.List>\n </div>\n </div>\n );\n});\nComboboxList.displayName = 'Combobox.List';\n\n// ============================================================================\n// Empty\n// ============================================================================\n\ntype ComboboxEmptyElement = React.ElementRef<typeof CommandPrimitive.Empty>;\ninterface ComboboxEmptyProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty> {}\n\nconst ComboboxEmpty = React.forwardRef<ComboboxEmptyElement, ComboboxEmptyProps>(({ className, ...emptyProps }, forwardedRef) => (\n <CommandPrimitive.Empty {...emptyProps} ref={forwardedRef} className={classNames('rt-ComboboxEmpty', className)} />\n));\nComboboxEmpty.displayName = 'Combobox.Empty';\n\n// ============================================================================\n// Group\n// ============================================================================\n\ntype ComboboxGroupElement = React.ElementRef<typeof CommandPrimitive.Group>;\ninterface ComboboxGroupProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group> {}\n\nconst ComboboxGroup = React.forwardRef<ComboboxGroupElement, ComboboxGroupProps>(({ className, ...groupProps }, forwardedRef) => (\n <CommandPrimitive.Group {...groupProps} ref={forwardedRef} className={classNames('rt-BaseMenuGroup', 'rt-ComboboxGroup', className)} />\n));\nComboboxGroup.displayName = 'Combobox.Group';\n\n// ============================================================================\n// Label\n// ============================================================================\n\ntype ComboboxLabelElement = React.ElementRef<'div'>;\ninterface ComboboxLabelProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst ComboboxLabel = React.forwardRef<ComboboxLabelElement, ComboboxLabelProps>(({ className, id: idProp, ...labelProps }, forwardedRef) => {\n const generatedId = React.useId();\n const id = idProp ?? generatedId;\n const localRef = React.useRef<HTMLDivElement>(null);\n const composedRef = useComposedRefs(forwardedRef, localRef);\n\n // cmdk renders the group's role=\"group\" element itself and gives no way to\n // label it from a child, so name it after this label when inside a Group.\n useLayoutEffect(() => {\n const group = localRef.current?.closest('[cmdk-group-items]');\n if (!group || group.hasAttribute('aria-labelledby')) return;\n group.setAttribute('aria-labelledby', id);\n return () => {\n if (group.getAttribute('aria-labelledby') === id) group.removeAttribute('aria-labelledby');\n };\n }, [id]);\n\n return <div {...labelProps} id={id} ref={composedRef} className={classNames('rt-BaseMenuLabel', 'rt-ComboboxLabel', className)} />;\n});\nComboboxLabel.displayName = 'Combobox.Label';\n\n// ============================================================================\n// Separator\n// ============================================================================\n\ntype ComboboxSeparatorElement = React.ElementRef<typeof CommandPrimitive.Separator>;\ninterface ComboboxSeparatorProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator> {}\n\nconst ComboboxSeparator = React.forwardRef<ComboboxSeparatorElement, ComboboxSeparatorProps>(({ className, ...separatorProps }, forwardedRef) => (\n <CommandPrimitive.Separator {...separatorProps} ref={forwardedRef} className={classNames('rt-BaseMenuSeparator', 'rt-ComboboxSeparator', className)} />\n));\nComboboxSeparator.displayName = 'Combobox.Separator';\n\n// ============================================================================\n// Item\n// ============================================================================\n\n/** Plain text of a React node tree, used as the item's search text. */\nfunction getNodeText(node: React.ReactNode): string {\n if (node == null || typeof node === 'boolean') return '';\n if (typeof node === 'string' || typeof node === 'number') return String(node);\n if (Array.isArray(node)) return node.map(getNodeText).join('');\n if (React.isValidElement<{ children?: React.ReactNode }>(node)) return getNodeText(node.props.children);\n return '';\n}\n\ntype ComboboxItemElement = React.ElementRef<typeof CommandPrimitive.Item>;\ninterface ComboboxItemProps extends Omit<React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>, 'keywords' | 'onSelect'> {\n /**\n * Text matched by search. Defaults to the text of `children`. Set it when the\n * children are components whose text is not in the JSX (it cannot be read).\n */\n label?: string;\n /** Additional keywords for search filtering. */\n keywords?: string[];\n /** Called when the item is selected. */\n onSelect?: (value: string) => void;\n}\n\nconst ComboboxItem = React.forwardRef<ComboboxItemElement, ComboboxItemProps>(\n ({ className, children, label, value, disabled, onSelect, keywords, ...itemProps }, forwardedRef) => {\n const itemContext = React.useContext(ComboboxItemContext);\n if (!itemContext) {\n throw new Error('Combobox.Item must be used within Combobox.Root');\n }\n const { store, onSelect: onSelectFromRoot, disabled: rootDisabled } = itemContext;\n\n // Without `value`, cmdk uses the trimmed text of string children.\n const itemValue = value ?? (typeof children === 'string' ? children.trim() : undefined);\n const getIsSelected = () => itemValue !== undefined && store.get() === itemValue;\n const isSelected = React.useSyncExternalStore(store.subscribe, getIsSelected, getIsSelected);\n\n const onSelectProp = useCallbackRef(onSelect);\n // cmdk passes its resolved value (the `value` prop, or the text when `value` is omitted).\n const handleSelect = React.useCallback(\n (resolvedValue: string) => {\n const nextValue = value ?? resolvedValue;\n onSelectFromRoot(nextValue);\n onSelectProp(nextValue);\n },\n [value, onSelectFromRoot, onSelectProp],\n );\n\n // cmdk matches only `value` and `keywords`, so add the visible text as a keyword.\n const text = (label ?? getNodeText(children)).replace(/\\s+/g, ' ').trim();\n const searchKeywords = text ? (keywords ? [text, ...keywords] : [text]) : keywords;\n // cmdk stores keywords only when `value` changes. Remount the cmdk item when\n // they change so a new label or keyword list is picked up.\n const keywordsKey = searchKeywords ? searchKeywords.join('\u0000') : '';\n\n const isDisabled = disabled ?? rootDisabled ?? false;\n\n return (\n <CommandPrimitive.Item\n key={keywordsKey}\n {...itemProps}\n value={value}\n keywords={searchKeywords}\n // cmdk owns aria-selected (the highlighted option); the chosen option is aria-checked.\n aria-checked={isSelected}\n disabled={isDisabled || undefined}\n ref={forwardedRef}\n onSelect={handleSelect}\n className={classNames('rt-reset', 'rt-BaseMenuItem', 'rt-ComboboxItem', className)}\n >\n {isSelected ? (\n <span className={classNames('rt-BaseMenuItemIndicator', 'rt-ComboboxItemIndicator')}>\n <ThickCheckIcon className={classNames('rt-BaseMenuItemIndicatorIcon', 'rt-ComboboxItemIndicatorIcon')} />\n </span>\n ) : null}\n <Slottable>{children}</Slottable>\n </CommandPrimitive.Item>\n );\n },\n);\nComboboxItem.displayName = 'Combobox.Item';\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nexport {\n ComboboxRoot as Root,\n ComboboxTrigger as Trigger,\n ComboboxValue as Value,\n ComboboxContent as Content,\n ComboboxInput as Input,\n ComboboxList as List,\n ComboboxEmpty as Empty,\n ComboboxGroup as Group,\n ComboboxLabel as Label,\n ComboboxSeparator as Separator,\n ComboboxItem as Item,\n};\n\nexport type {\n ComboboxRootProps as RootProps,\n ComboboxTriggerProps as TriggerProps,\n ComboboxValueProps as ValueProps,\n ComboboxContentProps as ContentProps,\n ComboboxInputProps as InputProps,\n ComboboxListProps as ListProps,\n ComboboxEmptyProps as EmptyProps,\n ComboboxGroupProps as GroupProps,\n ComboboxLabelProps as LabelProps,\n ComboboxSeparatorProps as SeparatorProps,\n ComboboxItemProps as ItemProps,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["combobox_exports", "__export", "ComboboxContent", "ComboboxEmpty", "ComboboxGroup", "ComboboxInput", "ComboboxItem", "ComboboxLabel", "ComboboxList", "ComboboxRoot", "ComboboxSeparator", "ComboboxTrigger", "ComboboxValue", "React", "classNames", "PopoverPrimitive", "useCallbackRef", "useComposedRefs", "useControllableState", "useLayoutEffect", "CommandPrimitive", "useCommandState", "triggerSizingPropDefs", "comboboxRootPropDefs", "contentSizePropDefs", "comboboxContentPropDefs", "warned", "warnOnce", "message", "createSelectionStore", "initial", "current", "listeners", "next", "listener", "ComboboxContext", "useComboboxContext", "componentName", "ctx", "ComboboxSearchContext", "ComboboxItemContext", "ComboboxContentContext", "useComboboxContentContext", "readElementLabel", "el", "ariaLabel", "labelledBy", "text", "id", "labels", "label", "ComboboxRoot", "props", "children", "sizeProp", "valueProp", "defaultValue", "onValueChange", "openProp", "defaultOpen", "onOpenChange", "placeholder", "searchPlaceholder", "searchValueProp", "defaultSearchValue", "onSearchValueChange", "filter", "shouldFilter", "loop", "disabled", "resetSearchOnSelect", "resetSearchOnClose", "color", "displayValueProp", "rootProps", "size", "useThemeSize", "open", "setOpen", "useControllableState", "value", "setValue", "searchValue", "setSearchValue", "resolvedDisplayValue", "store", "useLayoutEffect", "handleOpenChange", "useCallbackRef", "nextOpen", "onSelect", "nextValue", "triggerRef", "getTriggerLabel", "contextValue", "searchContextValue", "itemContextValue", "PopoverRoot", "ComboboxTrigger", "forwardedRef", "className", "readOnly", "error", "loading", "radius", "onClick", "onKeyDown", "buttonType", "triggerProps", "extractProps", "comboboxTriggerPropDefs", "marginPropDefs", "isDisabled", "resolvedColor", "isBlocked", "isPlaceholder", "composedRef", "useComposedRefs", "handleClick", "event", "handleKeyDown", "defaultContent", "ChevronDownIcon", "PopoverTrigger", "classNames", "requireReactElement", "ComboboxValue", "valueProps", "display", "ComboboxAnnouncer", "count", "useCommandState", "state", "search", "setMessage", "timeout", "VisuallyHidden", "ComboboxContent", "themeContext", "useThemeContext", "rootSize", "forceMount", "container", "onOpenAutoFocus", "_ariaLabel", "ariaLabelledByProp", "contentProps", "triggerLabel", "setTriggerLabel", "contentContextValue", "commandRef", "handleOpenAutoFocus", "command", "initialHighlight", "PopoverPrimitive", "Theme", "CommandPrimitive", "ComboboxInput", "startAdornment", "endAdornment", "inputVariant", "inputProps", "contentContext", "textFieldVariant", "handleSearchChange", "inputField", "ComboboxList", "listProps", "ComboboxEmpty", "emptyProps", "ComboboxGroup", "groupProps", "ComboboxLabel", "idProp", "labelProps", "generatedId", "localRef", "group", "ComboboxSeparator", "separatorProps", "getNodeText", "node", "ComboboxItem", "keywords", "itemProps", "itemContext", "onSelectFromRoot", "rootDisabled", "itemValue", "getIsSelected", "isSelected", "onSelectProp", "handleSelect", "resolvedValue", "searchKeywords", "keywordsKey", "ThickCheckIcon", "Slottable"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as R}from"./chunk-KPPIW4OJ.js";import{a as m}from"./chunk-7FZPCM7W.js";import{a as u}from"./chunk-O6K6RZXY.js";import{d as p}from"./chunk-3YLYGKFB.js";import*as e from"react";import v from"classnames";var C=e.createContext(void 0),g={values:["1","2","3"]},f=e.forwardRef(({kind:a,size:t="2",color:o="gray",className:c,children:n,trailing:s,leading:i,...l},r)=>e.createElement("div",{role:"status","aria-live":"polite",...l,ref:r,className:v("rt-NoticeRoot",`rt-r-size-${t}`,c),"data-kind":a,"data-accent-color":o},i?e.createElement("span",{className:"rt-NoticeIcon","aria-hidden":!0},i):null,e.createElement(u,{as:"div",size:t,className:"rt-NoticeText"},n),s));f.displayName="Strip";var z=e.forwardRef(({icon:a,action:t,onDismiss:o,dismissLabel:c="Dismiss",size:n,...s},i)=>{let l=e.useContext(C),r=p(n??l,g);return e.createElement(f,{...s,size:r,ref:i,kind:"notice",leading:a,trailing:t||o?e.createElement("span",{className:"rt-NoticeActions"},t,o?e.createElement(R,{size:r,variant:"ghost",color:"gray","aria-label":c,className:"rt-NoticeDismiss",onClick:o},e.createElement("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none","aria-hidden":!0},e.createElement("path",{d:"M4 4l7 7M11 4l-7 7",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}))):null):null})});z.displayName="Notice";var x=e.forwardRef(({confirmLabel:a,cancelLabel:t="Not now",onConfirm:o,onCancel:c,busy:n=!1,size:s,color:i="gray",...l},r)=>{let N=e.useContext(C),d=p(s??N,g);return e.createElement(f,{...l,size:d,color:i,ref:r,kind:"confirmation",trailing:e.createElement("span",{className:"rt-NoticeActions"},e.createElement(m,{size:d,variant:"ghost",color:"gray",disabled:n,onClick:c},t),e.createElement(m,{size:d,variant:"solid",color:i,loading:n,onClick:o},a))})});x.displayName="Confirmation";export{C as a,z as b,x as c};
2
+ //# sourceMappingURL=chunk-GHD3TKCA.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/notice.tsx"],
4
+ "sourcesContent": ["'use client';\n\n/**\n * Notice and Confirmation \u2014 what the app tells the person while it is true.\n *\n * Two questions place every message: what is it about, and what made it appear.\n *\n * - **Notice** \u2014 a condition that is true now, which nobody just caused: a usage limit, a\n * connection lost, a goal that finished. It takes space in the layout and never floats, so it\n * cannot cover what it is about. At most one action, and that action FIXES the condition. A\n * dismiss button only ACKNOWLEDGES it, and the app owns that state (`onDismiss`), because a\n * component cannot remember a dismissal across a reload.\n * - **Confirmation** \u2014 a question that waits for an answer: a quiet no before a loud yes, and no\n * dismiss button, because closing a question does not answer it. It never takes focus, so a\n * person can answer in the composer instead.\n *\n * Placement is the caller's. In a chat, both go in `Chatbar.Root`'s `notices`.\n * A notice with no action and no dismiss button is just a sentence: use `Text`.\n */\n\nimport * as React from 'react';\nimport classNames from 'classnames';\n\nimport { Button } from './button.js';\nimport { IconButton } from './icon-button.js';\nimport { Text } from './text.js';\nimport { useThemeSize } from '../helpers/theme-size.js';\nimport { accentColorPropDef } from '../props/color.prop.js';\n\ntype NoticeSize = '1' | '2' | '3';\n\n/** The size a notice takes when it doesn't set one. `Chatbar.Root` provides its own size here. */\nconst NoticeSizeContext = React.createContext<NoticeSize | undefined>(undefined);\n\n/** Notice's own range; a Theme size of 4 maps to 3. */\nconst noticeSizePropDef = { values: ['1', '2', '3'] as const };\ntype NoticeColor = (typeof accentColorPropDef)['color']['values'][number];\n\ninterface StripProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'color' | 'children'> {\n /** Padding, text and button size. Defaults to the nearest Theme's size (3 when the Theme is 4). */\n size?: NoticeSize;\n /**\n * The category of the message, not its volume. Default `gray`. Use a colour only when it adds a\n * fact the words don't already give, such as `red` for something that stops the next step.\n */\n color?: NoticeColor;\n /** The message. */\n children: React.ReactNode;\n}\n\ninterface NoticeProps extends StripProps {\n /** An icon before the message. It is hidden from assistive technology. */\n icon?: React.ReactNode;\n /** One action that fixes the condition, such as `<Button>Add credits</Button>`. */\n action?: React.ReactNode;\n /**\n * Called when the person presses the dismiss button, which shows only when this is set.\n * Dismissing hides the message; it does not fix the condition. Remove the notice and remember\n * the choice in your app.\n */\n onDismiss?: () => void;\n /** Accessible name of the dismiss button. Default \"Dismiss\". */\n dismissLabel?: string;\n}\n\ninterface ConfirmationProps extends StripProps {\n /** The yes. Name the action, such as \"Run\" or \"Allow up to $18\". */\n confirmLabel: string;\n /** The no. Default \"Not now\". */\n cancelLabel?: string;\n onConfirm: () => void;\n onCancel: () => void;\n /** The yes is running: it shows a spinner and the no is disabled. */\n busy?: boolean;\n}\n\nconst Strip = React.forwardRef<HTMLDivElement, StripProps & { kind: 'notice' | 'confirmation'; trailing: React.ReactNode; leading?: React.ReactNode }>(\n ({ kind, size = '2', color = 'gray', className, children, trailing, leading, ...props }, forwardedRef) => (\n <div\n role=\"status\"\n aria-live=\"polite\"\n {...props}\n ref={forwardedRef}\n className={classNames('rt-NoticeRoot', `rt-r-size-${size}`, className)}\n data-kind={kind}\n data-accent-color={color}\n >\n {leading ? (\n <span className=\"rt-NoticeIcon\" aria-hidden>\n {leading}\n </span>\n ) : null}\n <Text as=\"div\" size={size} className=\"rt-NoticeText\">\n {children}\n </Text>\n {trailing}\n </div>\n ),\n);\nStrip.displayName = 'Strip';\n\n/** A condition that is true now, with at most one action that fixes it. */\nconst Notice = React.forwardRef<HTMLDivElement, NoticeProps>(({ icon, action, onDismiss, dismissLabel = 'Dismiss', size: sizeProp, ...props }, forwardedRef) => {\n const contextSize = React.useContext(NoticeSizeContext);\n const size = useThemeSize(sizeProp ?? contextSize, noticeSizePropDef);\n const trailing =\n action || onDismiss ? (\n <span className=\"rt-NoticeActions\">\n {action}\n {onDismiss ? (\n <IconButton size={size} variant=\"ghost\" color=\"gray\" aria-label={dismissLabel} className=\"rt-NoticeDismiss\" onClick={onDismiss}>\n <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" aria-hidden>\n <path d=\"M4 4l7 7M11 4l-7 7\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n </svg>\n </IconButton>\n ) : null}\n </span>\n ) : null;\n return <Strip {...props} size={size} ref={forwardedRef} kind=\"notice\" leading={icon} trailing={trailing} />;\n});\nNotice.displayName = 'Notice';\n\n/** A question that waits for an answer: a quiet no, a loud yes, and no dismiss button. */\nconst Confirmation = React.forwardRef<HTMLDivElement, ConfirmationProps>(\n ({ confirmLabel, cancelLabel = 'Not now', onConfirm, onCancel, busy = false, size: sizeProp, color = 'gray', ...props }, forwardedRef) => {\n const contextSize = React.useContext(NoticeSizeContext);\n const size = useThemeSize(sizeProp ?? contextSize, noticeSizePropDef);\n return (\n <Strip\n {...props}\n size={size}\n color={color}\n ref={forwardedRef}\n kind=\"confirmation\"\n trailing={\n <span className=\"rt-NoticeActions\">\n <Button size={size} variant=\"ghost\" color=\"gray\" disabled={busy} onClick={onCancel}>\n {cancelLabel}\n </Button>\n <Button size={size} variant=\"solid\" color={color} loading={busy} onClick={onConfirm}>\n {confirmLabel}\n </Button>\n </span>\n }\n />\n );\n },\n);\nConfirmation.displayName = 'Confirmation';\n\nexport { Notice, Confirmation, NoticeSizeContext };\nexport type { NoticeProps, ConfirmationProps };\n"],
5
+ "mappings": "gKAoBA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aAWvB,IAAMC,EAA0B,gBAAsC,MAAS,EAGzEC,EAAoB,CAAE,OAAQ,CAAC,IAAK,IAAK,GAAG,CAAW,EAyCvDC,EAAc,aAClB,CAAC,CAAE,KAAAC,EAAM,KAAAC,EAAO,IAAK,MAAAC,EAAQ,OAAQ,UAAAC,EAAW,SAAAC,EAAU,SAAAC,EAAU,QAAAC,EAAS,GAAGC,CAAM,EAAGC,IACvF,gBAAC,OACC,KAAK,SACL,YAAU,SACT,GAAGD,EACJ,IAAKC,EACL,UAAWC,EAAW,gBAAiB,aAAaR,CAAI,GAAIE,CAAS,EACrE,YAAWH,EACX,oBAAmBE,GAElBI,EACC,gBAAC,QAAK,UAAU,gBAAgB,cAAW,IACxCA,CACH,EACE,KACJ,gBAACI,EAAA,CAAK,GAAG,MAAM,KAAMT,EAAM,UAAU,iBAClCG,CACH,EACCC,CACH,CAEJ,EACAN,EAAM,YAAc,QAGpB,IAAMY,EAAe,aAAwC,CAAC,CAAE,KAAAC,EAAM,OAAAC,EAAQ,UAAAC,EAAW,aAAAC,EAAe,UAAW,KAAMC,EAAU,GAAGT,CAAM,EAAGC,IAAiB,CAC9J,IAAMS,EAAoB,aAAWpB,CAAiB,EAChDI,EAAOiB,EAAaF,GAAYC,EAAanB,CAAiB,EAcpE,OAAO,gBAACC,EAAA,CAAO,GAAGQ,EAAO,KAAMN,EAAM,IAAKO,EAAc,KAAK,SAAS,QAASI,EAAM,SAZnFC,GAAUC,EACR,gBAAC,QAAK,UAAU,oBACbD,EACAC,EACC,gBAACK,EAAA,CAAW,KAAMlB,EAAM,QAAQ,QAAQ,MAAM,OAAO,aAAYc,EAAc,UAAU,mBAAmB,QAASD,GACnH,gBAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,cAAW,IACrE,gBAAC,QAAK,EAAE,qBAAqB,OAAO,eAAe,YAAY,MAAM,cAAc,QAAQ,CAC7F,CACF,EACE,IACN,EACE,KACmG,CAC3G,CAAC,EACDH,EAAO,YAAc,SAGrB,IAAMS,EAAqB,aACzB,CAAC,CAAE,aAAAC,EAAc,YAAAC,EAAc,UAAW,UAAAC,EAAW,SAAAC,EAAU,KAAAC,EAAO,GAAO,KAAMT,EAAU,MAAAd,EAAQ,OAAQ,GAAGK,CAAM,EAAGC,IAAiB,CACxI,IAAMS,EAAoB,aAAWpB,CAAiB,EAChDI,EAAOiB,EAAaF,GAAYC,EAAanB,CAAiB,EACpE,OACA,gBAACC,EAAA,CACE,GAAGQ,EACJ,KAAMN,EACN,MAAOC,EACP,IAAKM,EACL,KAAK,eACL,SACE,gBAAC,QAAK,UAAU,oBACd,gBAACkB,EAAA,CAAO,KAAMzB,EAAM,QAAQ,QAAQ,MAAM,OAAO,SAAUwB,EAAM,QAASD,GACvEF,CACH,EACA,gBAACI,EAAA,CAAO,KAAMzB,EAAM,QAAQ,QAAQ,MAAOC,EAAO,QAASuB,EAAM,QAASF,GACvEF,CACH,CACF,EAEJ,CAEF,CACF,EACAD,EAAa,YAAc",
6
+ "names": ["React", "classNames", "NoticeSizeContext", "noticeSizePropDef", "Strip", "kind", "size", "color", "className", "children", "trailing", "leading", "props", "forwardedRef", "classNames", "Text", "Notice", "icon", "action", "onDismiss", "dismissLabel", "sizeProp", "contextSize", "useThemeSize", "IconButton", "Confirmation", "confirmLabel", "cancelLabel", "onConfirm", "onCancel", "busy", "Button"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as O}from"./chunk-IF4PYIUV.js";import{b as W,d as V,f as L}from"./chunk-IX5HIHVI.js";import{a as D}from"./chunk-MJJ7XDIP.js";import{b as z,c as h}from"./chunk-6AZV4VFW.js";import{c as v}from"./chunk-RSJSVJ6A.js";import{a as S}from"./chunk-ZJZIV2JH.js";import{e as G}from"./chunk-3YLYGKFB.js";import{c as p,d as w,e as B,f as k}from"./chunk-EUSKAXHP.js";import{b as f,c as R,d as I,e as b}from"./chunk-WKMJIWFP.js";import{a as d}from"./chunk-UBSLEGQZ.js";import{a as ee}from"./chunk-OS3FCYZY.js";var te={};ee(te,{CheckboxItem:()=>Q,Content:()=>F,Group:()=>K,Item:()=>q,Label:()=>_,RadioGroup:()=>H,RadioItem:()=>J,Root:()=>A,Separator:()=>Z,Sub:()=>U,SubContent:()=>Y,SubTrigger:()=>X,Trigger:()=>j,Virtual:()=>O});import*as e from"react";import i from"classnames";import{ContextMenu as a,Slot as g}from"radix-ui";var A=t=>e.createElement(a.Root,{...t});A.displayName="ContextMenu.Root";var j=e.forwardRef(({children:t,...n},o)=>e.createElement(a.Trigger,{...n,ref:o,asChild:!0},D(t)));j.displayName="ContextMenu.Trigger";var y=e.createContext({}),F=e.forwardRef((t,n)=>{let o=G(t,p.size),s=z(),{size:r=p.size.default}=o,{className:u,children:C,color:x,container:l,forceMount:T,submenuBehavior:N,virtualized:M=!1,...P}=d(o,p),m=x||s.accentColor,c=f(r,p.size.default),$=e.useMemo(()=>({size:r,color:m}),[r,m]),E=e.createElement(v,{size:r},e.createElement(y.Provider,{value:$},C));return e.createElement(a.Portal,{container:l,forceMount:T},e.createElement(h,{asChild:!0},e.createElement(a.Content,{"data-accent-color":m,alignOffset:R(c),collisionPadding:10,...P,asChild:!1,ref:n,className:i("rt-PopperContent","rt-BaseMenuContent","rt-variant-soft","rt-ContextMenuContent",u)},M?e.createElement("div",{className:i("rt-BaseMenuViewport","rt-ContextMenuViewport","rt-virtualized")},E):e.createElement(S,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:i("rt-BaseMenuViewport","rt-ContextMenuViewport")},E)))))});F.displayName="ContextMenu.Content";var _=e.forwardRef(({className:t,...n},o)=>e.createElement(a.Label,{...n,asChild:!1,ref:o,className:i("rt-BaseMenuLabel","rt-ContextMenuLabel",t)}));_.displayName="ContextMenu.Label";var q=e.forwardRef((t,n)=>{let{className:o,children:s,color:r=w.color.default,shortcut:u,...C}=t;return e.createElement(a.Item,{"data-accent-color":r,"aria-keyshortcuts":u?I(u):void 0,...C,ref:n,className:i("rt-reset","rt-BaseMenuItem","rt-ContextMenuItem",o)},e.createElement(g.Slottable,null,s),u&&e.createElement(b,{shortcut:u,className:"rt-ContextMenuShortcut"}))});q.displayName="ContextMenu.Item";var K=e.forwardRef(({className:t,...n},o)=>e.createElement(a.Group,{...n,asChild:!1,ref:o,className:i("rt-BaseMenuGroup","rt-ContextMenuGroup",t)}));K.displayName="ContextMenu.Group";var H=e.forwardRef(({className:t,...n},o)=>e.createElement(a.RadioGroup,{...n,asChild:!1,ref:o,className:i("rt-BaseMenuRadioGroup","rt-ContextMenuRadioGroup",t)}));H.displayName="ContextMenu.RadioGroup";var J=e.forwardRef((t,n)=>{let{children:o,className:s,color:r=k.color.default,...u}=t;return e.createElement(a.RadioItem,{...u,asChild:!1,ref:n,"data-accent-color":r,className:i("rt-BaseMenuItem","rt-BaseMenuRadioItem","rt-ContextMenuItem","rt-ContextMenuRadioItem",s)},e.createElement(g.Slottable,null,o),e.createElement(a.ItemIndicator,{className:"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator"},e.createElement(L,{className:"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon"})))});J.displayName="ContextMenu.RadioItem";var Q=e.forwardRef((t,n)=>{let{children:o,className:s,shortcut:r,color:u=B.color.default,...C}=t;return e.createElement(a.CheckboxItem,{"aria-keyshortcuts":r?I(r):void 0,...C,asChild:!1,ref:n,"data-accent-color":u,className:i("rt-BaseMenuItem","rt-BaseMenuCheckboxItem","rt-ContextMenuItem","rt-ContextMenuCheckboxItem",s)},e.createElement(g.Slottable,null,o),e.createElement(a.ItemIndicator,{className:"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator"},e.createElement(W,{className:"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon"})),r&&e.createElement(b,{shortcut:r,className:"rt-ContextMenuShortcut"}))});Q.displayName="ContextMenu.CheckboxItem";var U=t=>e.createElement(a.Sub,{...t});U.displayName="ContextMenu.Sub";var X=e.forwardRef((t,n)=>{let{className:o,children:s,...r}=t;return e.createElement(a.SubTrigger,{...r,asChild:!1,ref:n,className:i("rt-BaseMenuItem","rt-BaseMenuSubTrigger","rt-ContextMenuItem","rt-ContextMenuSubTrigger",o)},s,e.createElement("div",{className:"rt-BaseMenuShortcut rt-ContextMenuShortcut"},e.createElement(V,{className:"rt-BaseMenuSubTriggerIcon rt-ContextMenuSubTriggerIcon"})))});X.displayName="ContextMenu.SubTrigger";var Y=e.forwardRef((t,n)=>{let o=e.useContext(y),s=t.size??o.size,r=t.color??o.color,{className:u,children:C,container:x,forceMount:l,color:T,virtualized:N=!1,...M}=d({...t,size:s},p),P=f(s,p.size.default),m=e.useMemo(()=>({size:s,color:r}),[s,r]),c=e.createElement(v,{size:s},e.createElement(y.Provider,{value:m},C));return e.createElement(a.Portal,{container:x,forceMount:l},e.createElement(h,{asChild:!0},e.createElement(a.SubContent,{"data-accent-color":r,alignOffset:R(P),sideOffset:1,collisionPadding:10,...M,asChild:!1,ref:n,className:i("rt-PopperContent","rt-BaseMenuContent","rt-variant-soft","rt-BaseMenuSubContent","rt-ContextMenuContent","rt-ContextMenuSubContent",u)},N?e.createElement("div",{className:i("rt-BaseMenuViewport","rt-ContextMenuViewport","rt-virtualized")},c):e.createElement(S,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:i("rt-BaseMenuViewport","rt-ContextMenuViewport")},c)))))});Y.displayName="ContextMenu.SubContent";var Z=e.forwardRef(({className:t,...n},o)=>e.createElement(a.Separator,{...n,asChild:!1,ref:o,className:i("rt-BaseMenuSeparator","rt-ContextMenuSeparator",t)}));Z.displayName="ContextMenu.Separator";export{A as a,j as b,F as c,_ as d,q as e,K as f,H as g,J as h,Q as i,U as j,X as k,Y as l,Z as m,te as n};
2
+ //# sourceMappingURL=chunk-GQBQHGEF.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/context-menu.tsx"],
4
+ "sourcesContent": ["/**\n * Context Menu component that provides right-click menu functionality.\n * Requires client-side rendering due to event handling and portal usage.\n */\n'use client';\n\nimport { warnDeprecated } from '../helpers/warn-deprecated.js';\nimport * as React from 'react';\nimport { VirtualMenu } from './virtual-menu.js';\nimport classNames from 'classnames';\nimport { ContextMenu as ContextMenuPrimitive, Slot } from 'radix-ui';\n\nimport { ScrollArea } from './scroll-area.js';\nimport {\n contextMenuContentPropDefs,\n contextMenuSubContentPropDefs,\n contextMenuItemPropDefs,\n contextMenuCheckboxItemPropDefs,\n contextMenuRadioItemPropDefs,\n} from './context-menu.props.js';\nimport { Theme, useThemeContext } from './theme.js';\nimport { ThickCheckIcon, ThickChevronRightIcon, ThickDotIcon } from './icons.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\nimport { MenuProvider } from './_internal/menu-context.js';\nimport {\n MenuShortcut,\n getMenuAlignOffset,\n toAriaKeyShortcuts,\n useResolvedResponsiveValue,\n} from './_internal/base-menu.utils.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes, Responsive } from '../props/prop-def.js';\n\ninterface ContextMenuRootProps\n extends React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Root> {}\nconst ContextMenuRoot: React.FC<ContextMenuRootProps> = (props) => (\n <ContextMenuPrimitive.Root {...props} />\n);\nContextMenuRoot.displayName = 'ContextMenu.Root';\n\ntype ContextMenuTriggerElement = React.ElementRef<typeof ContextMenuPrimitive.Trigger>;\ninterface ContextMenuTriggerProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Trigger, RemovedProps> {}\nconst ContextMenuTrigger = React.forwardRef<ContextMenuTriggerElement, ContextMenuTriggerProps>(\n ({ children, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.Trigger {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </ContextMenuPrimitive.Trigger>\n ),\n);\nContextMenuTrigger.displayName = 'ContextMenu.Trigger';\n\n/** Visual props shared by Content and SubContent. */\ntype ContextMenuSurfaceProps = GetPropDefTypes<typeof contextMenuContentPropDefs>;\n\ntype ContextMenuContentContextValue = {\n size?: ContextMenuSurfaceProps['size'];\n color?: ContextMenuSurfaceProps['color'];\n};\nconst ContextMenuContentContext = React.createContext<ContextMenuContentContextValue>({});\ntype ContextMenuContentElement = React.ElementRef<typeof ContextMenuPrimitive.Content>;\ninterface ContextMenuContentProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Content, RemovedProps>,\n ContextMenuSurfaceProps {\n container?: React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Portal>['container'];\n /**\n * When true, skips the ScrollArea wrapper to allow VirtualMenu to handle its own scrolling.\n * Use this when rendering virtualized lists inside the context menu.\n */\n virtualized?: boolean;\n /**\n * @deprecated Has no effect. ContextMenu submenus always cascade.\n */\n submenuBehavior?: Responsive<'cascade' | 'drill-down'>;\n}\nconst ContextMenuContent = React.forwardRef<ContextMenuContentElement, ContextMenuContentProps>(\n (ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, contextMenuContentPropDefs.size);\n const themeContext = useThemeContext();\n const {\n size = contextMenuContentPropDefs.size.default,\n } = props;\n const {\n className,\n children,\n color,\n container,\n forceMount,\n submenuBehavior: _submenuBehavior,\n virtualized = false,\n ...contentProps\n } = extractProps(props, contextMenuContentPropDefs);\n\n const resolvedColor = color || themeContext.accentColor;\n const scalarSize = useResolvedResponsiveValue(size, contextMenuContentPropDefs.size.default);\n\n const contextValue = React.useMemo(\n () => ({ size, color: resolvedColor }),\n [size, resolvedColor],\n );\n\n const body = (\n <MenuProvider size={size}>\n <ContextMenuContentContext.Provider value={contextValue}>{children}</ContextMenuContentContext.Provider>\n </MenuProvider>\n );\n\n return (\n <ContextMenuPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <ContextMenuPrimitive.Content\n data-accent-color={resolvedColor}\n alignOffset={getMenuAlignOffset(scalarSize)}\n collisionPadding={10}\n {...contentProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-PopperContent',\n 'rt-BaseMenuContent',\n 'rt-variant-soft',\n 'rt-ContextMenuContent',\n className,\n )}\n >\n {virtualized ? (\n <div className={classNames('rt-BaseMenuViewport', 'rt-ContextMenuViewport', 'rt-virtualized')}>\n {body}\n </div>\n ) : (\n <ScrollArea type=\"auto\" scrollbars=\"vertical\">\n <div className={classNames('rt-BaseMenuViewport', 'rt-ContextMenuViewport')}>{body}</div>\n </ScrollArea>\n )}\n </ContextMenuPrimitive.Content>\n </Theme>\n </ContextMenuPrimitive.Portal>\n );\n },\n);\nContextMenuContent.displayName = 'ContextMenu.Content';\n\ntype ContextMenuLabelElement = React.ElementRef<typeof ContextMenuPrimitive.Label>;\ninterface ContextMenuLabelProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Label, RemovedProps> {}\nconst ContextMenuLabel = React.forwardRef<ContextMenuLabelElement, ContextMenuLabelProps>(\n ({ className, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.Label\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuLabel', 'rt-ContextMenuLabel', className)}\n />\n ),\n);\nContextMenuLabel.displayName = 'ContextMenu.Label';\n\ntype ContextMenuItemElement = React.ElementRef<typeof ContextMenuPrimitive.Item>;\ntype ContextMenuItemOwnProps = GetPropDefTypes<typeof contextMenuItemPropDefs>;\ninterface ContextMenuItemProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Item, RemovedProps>,\n ContextMenuItemOwnProps {}\nconst ContextMenuItem = React.forwardRef<ContextMenuItemElement, ContextMenuItemProps>(\n (props, forwardedRef) => {\n const {\n className,\n children,\n color = contextMenuItemPropDefs.color.default,\n shortcut,\n ...itemProps\n } = props;\n return (\n <ContextMenuPrimitive.Item\n data-accent-color={color}\n aria-keyshortcuts={shortcut ? toAriaKeyShortcuts(shortcut) : undefined}\n {...itemProps}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-BaseMenuItem', 'rt-ContextMenuItem', className)}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n {shortcut && <MenuShortcut shortcut={shortcut} className=\"rt-ContextMenuShortcut\" />}\n </ContextMenuPrimitive.Item>\n );\n },\n);\nContextMenuItem.displayName = 'ContextMenu.Item';\n\ntype ContextMenuGroupElement = React.ElementRef<typeof ContextMenuPrimitive.Group>;\ninterface ContextMenuGroupProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Group, RemovedProps> {}\nconst ContextMenuGroup = React.forwardRef<ContextMenuGroupElement, ContextMenuGroupProps>(\n ({ className, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.Group\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuGroup', 'rt-ContextMenuGroup', className)}\n />\n ),\n);\nContextMenuGroup.displayName = 'ContextMenu.Group';\n\ntype ContextMenuRadioGroupElement = React.ElementRef<typeof ContextMenuPrimitive.RadioGroup>;\ninterface ContextMenuRadioGroupProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.RadioGroup, RemovedProps> {}\nconst ContextMenuRadioGroup = React.forwardRef<\n ContextMenuRadioGroupElement,\n ContextMenuRadioGroupProps\n>(({ className, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.RadioGroup\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuRadioGroup', 'rt-ContextMenuRadioGroup', className)}\n />\n));\nContextMenuRadioGroup.displayName = 'ContextMenu.RadioGroup';\n\ntype ContextMenuRadioItemElement = React.ElementRef<typeof ContextMenuPrimitive.RadioItem>;\ntype ContextMenuRadioItemOwnProps = GetPropDefTypes<typeof contextMenuRadioItemPropDefs>;\ninterface ContextMenuRadioItemProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.RadioItem, RemovedProps>,\n ContextMenuRadioItemOwnProps {}\nconst ContextMenuRadioItem = React.forwardRef<\n ContextMenuRadioItemElement,\n ContextMenuRadioItemProps\n>((props, forwardedRef) => {\n const {\n children,\n className,\n color = contextMenuRadioItemPropDefs.color.default,\n ...itemProps\n } = props;\n return (\n <ContextMenuPrimitive.RadioItem\n {...itemProps}\n asChild={false}\n ref={forwardedRef}\n data-accent-color={color}\n className={classNames(\n 'rt-BaseMenuItem',\n 'rt-BaseMenuRadioItem',\n 'rt-ContextMenuItem',\n 'rt-ContextMenuRadioItem',\n className,\n )}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n <ContextMenuPrimitive.ItemIndicator className=\"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator\">\n <ThickDotIcon className=\"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon\" />\n </ContextMenuPrimitive.ItemIndicator>\n </ContextMenuPrimitive.RadioItem>\n );\n});\nContextMenuRadioItem.displayName = 'ContextMenu.RadioItem';\n\ntype ContextMenuCheckboxItemElement = React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>;\ntype ContextMenuCheckboxItemOwnProps = GetPropDefTypes<typeof contextMenuCheckboxItemPropDefs>;\ninterface ContextMenuCheckboxItemProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.CheckboxItem, RemovedProps>,\n ContextMenuCheckboxItemOwnProps {}\nconst ContextMenuCheckboxItem = React.forwardRef<\n ContextMenuCheckboxItemElement,\n ContextMenuCheckboxItemProps\n>((props, forwardedRef) => {\n const {\n children,\n className,\n shortcut,\n color = contextMenuCheckboxItemPropDefs.color.default,\n ...itemProps\n } = props;\n return (\n <ContextMenuPrimitive.CheckboxItem\n aria-keyshortcuts={shortcut ? toAriaKeyShortcuts(shortcut) : undefined}\n {...itemProps}\n asChild={false}\n ref={forwardedRef}\n data-accent-color={color}\n className={classNames(\n 'rt-BaseMenuItem',\n 'rt-BaseMenuCheckboxItem',\n 'rt-ContextMenuItem',\n 'rt-ContextMenuCheckboxItem',\n className,\n )}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n <ContextMenuPrimitive.ItemIndicator className=\"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator\">\n <ThickCheckIcon className=\"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon\" />\n </ContextMenuPrimitive.ItemIndicator>\n {shortcut && <MenuShortcut shortcut={shortcut} className=\"rt-ContextMenuShortcut\" />}\n </ContextMenuPrimitive.CheckboxItem>\n );\n});\nContextMenuCheckboxItem.displayName = 'ContextMenu.CheckboxItem';\n\ninterface ContextMenuSubProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Sub, RemovedProps> {}\nconst ContextMenuSub: React.FC<ContextMenuSubProps> = (props) => (\n <ContextMenuPrimitive.Sub {...props} />\n);\nContextMenuSub.displayName = 'ContextMenu.Sub';\n\ntype ContextMenuSubTriggerElement = React.ElementRef<typeof ContextMenuPrimitive.SubTrigger>;\ninterface ContextMenuSubTriggerProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.SubTrigger, RemovedProps> {}\nconst ContextMenuSubTrigger = React.forwardRef<\n ContextMenuSubTriggerElement,\n ContextMenuSubTriggerProps\n>((props, forwardedRef) => {\n const { className, children, ...subTriggerProps } = props;\n return (\n <ContextMenuPrimitive.SubTrigger\n {...subTriggerProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-BaseMenuItem',\n 'rt-BaseMenuSubTrigger',\n 'rt-ContextMenuItem',\n 'rt-ContextMenuSubTrigger',\n className,\n )}\n >\n {children}\n <div className=\"rt-BaseMenuShortcut rt-ContextMenuShortcut\">\n <ThickChevronRightIcon className=\"rt-BaseMenuSubTriggerIcon rt-ContextMenuSubTriggerIcon\" />\n </div>\n </ContextMenuPrimitive.SubTrigger>\n );\n});\nContextMenuSubTrigger.displayName = 'ContextMenu.SubTrigger';\n\ntype ContextMenuSubContentElement = React.ElementRef<typeof ContextMenuPrimitive.SubContent>;\ninterface ContextMenuSubContentProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.SubContent, RemovedProps>,\n ContextMenuSurfaceProps {\n container?: React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Portal>['container'];\n /**\n * When true, skips the ScrollArea wrapper to allow VirtualMenu to handle its own scrolling.\n */\n virtualized?: boolean;\n}\nconst ContextMenuSubContent = React.forwardRef<\n ContextMenuSubContentElement,\n ContextMenuSubContentProps\n>((props, forwardedRef) => {\n const parent = React.useContext(ContextMenuContentContext);\n\n // A submenu inherits the parent surface, and its own props win.\n const size = props.size ?? parent.size;\n const color = props.color ?? parent.color;\n\n const {\n className,\n children,\n container,\n forceMount,\n color: _color,\n virtualized = false,\n ...subContentProps\n } = extractProps({ ...props, size }, contextMenuSubContentPropDefs);\n\n const scalarSize = useResolvedResponsiveValue(size, contextMenuSubContentPropDefs.size.default);\n\n const contextValue = React.useMemo(\n () => ({ size, color }),\n [size, color],\n );\n\n const body = (\n <MenuProvider size={size}>\n <ContextMenuContentContext.Provider value={contextValue}>{children}</ContextMenuContentContext.Provider>\n </MenuProvider>\n );\n\n return (\n <ContextMenuPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <ContextMenuPrimitive.SubContent\n data-accent-color={color}\n alignOffset={getMenuAlignOffset(scalarSize)}\n // Side offset accounts for the outer solid box-shadow\n sideOffset={1}\n collisionPadding={10}\n {...subContentProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'rt-PopperContent',\n 'rt-BaseMenuContent',\n 'rt-variant-soft',\n 'rt-BaseMenuSubContent',\n 'rt-ContextMenuContent',\n 'rt-ContextMenuSubContent',\n className,\n )}\n >\n {virtualized ? (\n <div className={classNames('rt-BaseMenuViewport', 'rt-ContextMenuViewport', 'rt-virtualized')}>\n {body}\n </div>\n ) : (\n <ScrollArea type=\"auto\" scrollbars=\"vertical\">\n <div className={classNames('rt-BaseMenuViewport', 'rt-ContextMenuViewport')}>{body}</div>\n </ScrollArea>\n )}\n </ContextMenuPrimitive.SubContent>\n </Theme>\n </ContextMenuPrimitive.Portal>\n );\n});\nContextMenuSubContent.displayName = 'ContextMenu.SubContent';\n\ntype ContextMenuSeparatorElement = React.ElementRef<typeof ContextMenuPrimitive.Separator>;\ninterface ContextMenuSeparatorProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Separator, RemovedProps> {}\nconst ContextMenuSeparator = React.forwardRef<\n ContextMenuSeparatorElement,\n ContextMenuSeparatorProps\n>(({ className, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.Separator\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuSeparator', 'rt-ContextMenuSeparator', className)}\n />\n));\nContextMenuSeparator.displayName = 'ContextMenu.Separator';\n\nexport {\n ContextMenuRoot as Root,\n ContextMenuTrigger as Trigger,\n ContextMenuContent as Content,\n ContextMenuLabel as Label,\n ContextMenuItem as Item,\n ContextMenuGroup as Group,\n ContextMenuRadioGroup as RadioGroup,\n ContextMenuRadioItem as RadioItem,\n ContextMenuCheckboxItem as CheckboxItem,\n ContextMenuSub as Sub,\n ContextMenuSubTrigger as SubTrigger,\n ContextMenuSubContent as SubContent,\n ContextMenuSeparator as Separator,\n VirtualMenu as Virtual,\n};\n\nexport type {\n ContextMenuRootProps as RootProps,\n ContextMenuTriggerProps as TriggerProps,\n ContextMenuContentProps as ContentProps,\n ContextMenuLabelProps as LabelProps,\n ContextMenuItemProps as ItemProps,\n ContextMenuGroupProps as GroupProps,\n ContextMenuRadioGroupProps as RadioGroupProps,\n ContextMenuRadioItemProps as RadioItemProps,\n ContextMenuCheckboxItemProps as CheckboxItemProps,\n ContextMenuSubProps as SubProps,\n ContextMenuSubTriggerProps as SubTriggerProps,\n ContextMenuSubContentProps as SubContentProps,\n ContextMenuSeparatorProps as SeparatorProps,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["context_menu_exports", "__export", "ContextMenuCheckboxItem", "ContextMenuContent", "ContextMenuGroup", "ContextMenuItem", "ContextMenuLabel", "ContextMenuRadioGroup", "ContextMenuRadioItem", "ContextMenuRoot", "ContextMenuSeparator", "ContextMenuSub", "ContextMenuSubContent", "ContextMenuSubTrigger", "ContextMenuTrigger", "VirtualMenu", "React", "classNames", "ContextMenuPrimitive", "Slot", "ContextMenuRoot", "props", "ContextMenuPrimitive", "ContextMenuTrigger", "children", "forwardedRef", "requireReactElement", "ContextMenuContentContext", "ContextMenuContent", "ownProps", "useThemeSizeProps", "baseMenuSubContentPropDefs", "themeContext", "useThemeContext", "size", "className", "color", "container", "forceMount", "_submenuBehavior", "virtualized", "contentProps", "extractProps", "resolvedColor", "scalarSize", "useResolvedResponsiveValue", "contextValue", "body", "MenuProvider", "Theme", "getMenuAlignOffset", "classNames", "ScrollArea", "ContextMenuLabel", "ContextMenuItem", "baseMenuItemPropDefs", "shortcut", "itemProps", "toAriaKeyShortcuts", "Slot", "MenuShortcut", "ContextMenuGroup", "ContextMenuRadioGroup", "ContextMenuRadioItem", "baseMenuRadioItemPropDefs", "ThickDotIcon", "ContextMenuCheckboxItem", "baseMenuCheckboxItemPropDefs", "ThickCheckIcon", "ContextMenuSub", "ContextMenuSubTrigger", "subTriggerProps", "ThickChevronRightIcon", "ContextMenuSubContent", "parent", "_color", "subContentProps", "ContextMenuSeparator"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as u}from"./chunk-MHANZINI.js";import{a as P}from"./chunk-BFLO4IVZ.js";import{a as g}from"./chunk-MJJ7XDIP.js";import{c as C}from"./chunk-2HUAVZZL.js";import{a as d}from"./chunk-O6K6RZXY.js";import{a as f}from"./chunk-MDHXSEGH.js";import{a as p}from"./chunk-UBSLEGQZ.js";import{a as L}from"./chunk-OS3FCYZY.js";var A={};L(A,{Close:()=>h,Content:()=>R,Description:()=>E,Root:()=>y,Title:()=>T,Trigger:()=>v});import*as e from"react";import W from"classnames";import{Dialog as a}from"radix-ui";var y=o=>e.createElement(a.Root,{...o,modal:!0});y.displayName="Dialog.Root";var v=e.forwardRef(({children:o,...i},r)=>e.createElement(a.Trigger,{...i,ref:r,asChild:!0},g(o)));v.displayName="Dialog.Trigger";var{align:O,...B}=f,S={align:O},R=e.forwardRef(({align:o,...i},r)=>{let{className:N}=p({align:o},S),{className:x,forceMount:b,container:w,...H}=p(i,B),m=e.useRef(null),M=e.useMemo(()=>t=>{m.current=t,typeof r=="function"?r(t):r&&(r.current=t)},[r]);return u(),e.useEffect(()=>{if(typeof window>"u")return;let t=m.current;if(!t)return;let l=t.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(l.length===0)return;let s=l[0],c=l[l.length-1],D=n=>{n.key==="Tab"&&(n.shiftKey?document.activeElement===s&&(n.preventDefault(),c.focus()):document.activeElement===c&&(n.preventDefault(),s.focus()))};return t.addEventListener("keydown",D),s.focus(),()=>{t.removeEventListener("keydown",D)}},[]),e.createElement(a.Portal,{container:w,forceMount:b},e.createElement(C,{asChild:!0},e.createElement(a.Overlay,{className:"rt-BaseDialogOverlay rt-DialogOverlay"},e.createElement("div",{className:"rt-BaseDialogScroll rt-DialogScroll"},e.createElement("div",{className:`rt-BaseDialogScrollPadding rt-DialogScrollPadding ${N}`},e.createElement(a.Content,{...H,ref:M,className:W("rt-BaseDialogContent","rt-DialogContent",x),tabIndex:-1,role:"dialog","aria-modal":"true",onCloseAutoFocus:t=>{t.preventDefault(),document.body.style.pointerEvents=""}}),e.createElement("div",{"aria-live":"polite","aria-atomic":"true",className:"rt-sr-only",id:"dialog-announcement"}))))))});R.displayName="Dialog.Content";var T=e.forwardRef((o,i)=>e.createElement(a.Title,{asChild:!0},e.createElement(P,{size:"5",mb:"4",trim:"start",...o,asChild:!1,ref:i})));T.displayName="Dialog.Title";var E=e.forwardRef((o,i)=>e.createElement(a.Description,{asChild:!0},e.createElement(d,{as:"p",size:"3",...o,asChild:!1,ref:i})));E.displayName="Dialog.Description";var h=e.forwardRef(({children:o,...i},r)=>e.createElement(a.Close,{...i,ref:r,asChild:!0},g(o)));h.displayName="Dialog.Close";export{y as a,v as b,R as c,T as d,E as e,h as f,A as g};
2
- //# sourceMappingURL=chunk-6XHM724Y.js.map
1
+ import{a as u}from"./chunk-MHANZINI.js";import{a as P}from"./chunk-BFLO4IVZ.js";import{a as g}from"./chunk-MJJ7XDIP.js";import{c as C}from"./chunk-6AZV4VFW.js";import{a as d}from"./chunk-O6K6RZXY.js";import{a as f}from"./chunk-MDHXSEGH.js";import{a as p}from"./chunk-UBSLEGQZ.js";import{a as L}from"./chunk-OS3FCYZY.js";var A={};L(A,{Close:()=>h,Content:()=>R,Description:()=>E,Root:()=>y,Title:()=>T,Trigger:()=>v});import*as e from"react";import W from"classnames";import{Dialog as a}from"radix-ui";var y=o=>e.createElement(a.Root,{...o,modal:!0});y.displayName="Dialog.Root";var v=e.forwardRef(({children:o,...i},r)=>e.createElement(a.Trigger,{...i,ref:r,asChild:!0},g(o)));v.displayName="Dialog.Trigger";var{align:O,...B}=f,S={align:O},R=e.forwardRef(({align:o,...i},r)=>{let{className:N}=p({align:o},S),{className:x,forceMount:b,container:w,...H}=p(i,B),m=e.useRef(null),M=e.useMemo(()=>t=>{m.current=t,typeof r=="function"?r(t):r&&(r.current=t)},[r]);return u(),e.useEffect(()=>{if(typeof window>"u")return;let t=m.current;if(!t)return;let l=t.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(l.length===0)return;let s=l[0],c=l[l.length-1],D=n=>{n.key==="Tab"&&(n.shiftKey?document.activeElement===s&&(n.preventDefault(),c.focus()):document.activeElement===c&&(n.preventDefault(),s.focus()))};return t.addEventListener("keydown",D),s.focus(),()=>{t.removeEventListener("keydown",D)}},[]),e.createElement(a.Portal,{container:w,forceMount:b},e.createElement(C,{asChild:!0},e.createElement(a.Overlay,{className:"rt-BaseDialogOverlay rt-DialogOverlay"},e.createElement("div",{className:"rt-BaseDialogScroll rt-DialogScroll"},e.createElement("div",{className:`rt-BaseDialogScrollPadding rt-DialogScrollPadding ${N}`},e.createElement(a.Content,{...H,ref:M,className:W("rt-BaseDialogContent","rt-DialogContent",x),tabIndex:-1,role:"dialog","aria-modal":"true",onCloseAutoFocus:t=>{t.preventDefault(),document.body.style.pointerEvents=""}}),e.createElement("div",{"aria-live":"polite","aria-atomic":"true",className:"rt-sr-only",id:"dialog-announcement"}))))))});R.displayName="Dialog.Content";var T=e.forwardRef((o,i)=>e.createElement(a.Title,{asChild:!0},e.createElement(P,{size:"5",mb:"4",trim:"start",...o,asChild:!1,ref:i})));T.displayName="Dialog.Title";var E=e.forwardRef((o,i)=>e.createElement(a.Description,{asChild:!0},e.createElement(d,{as:"p",size:"3",...o,asChild:!1,ref:i})));E.displayName="Dialog.Description";var h=e.forwardRef(({children:o,...i},r)=>e.createElement(a.Close,{...i,ref:r,asChild:!0},g(o)));h.displayName="Dialog.Close";export{y as a,v as b,R as c,T as d,E as e,h as f,A as g};
2
+ //# sourceMappingURL=chunk-GTVFQXLJ.js.map
@@ -0,0 +1,2 @@
1
+ var o={loading:{type:"boolean",default:!0}};export{o as a};
2
+ //# sourceMappingURL=chunk-HIEGLLY7.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/spinner.props.tsx"],
4
+ "sourcesContent": ["import type { PropDef } from '../props/prop-def.js';\n\nconst spinnerPropDefs = {\n loading: { type: 'boolean', default: true },\n} satisfies {\n loading: PropDef<boolean>;\n};\n\nexport { spinnerPropDefs };\n"],
5
+ "mappings": "AAEA,IAAMA,EAAkB,CACtB,QAAS,CAAE,KAAM,UAAW,QAAS,EAAK,CAC5C",
6
+ "names": ["spinnerPropDefs"]
7
+ }
@@ -0,0 +1,2 @@
1
+ function s(e,t){if(e!==void 0)return typeof e=="string"?t(e):Object.fromEntries(Object.entries(e).map(([n,p])=>[n,t(p)]))}export{s as a};
2
+ //# sourceMappingURL=chunk-HZYE46V2.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/helpers/map-prop-values.ts"],
4
+ "sourcesContent": ["import type { textPropDefs } from '../components/text.props.js';\nimport type { Responsive } from '../props/prop-def.js';\n\nfunction mapResponsiveProp<Input extends string, Output>(\n propValue: Responsive<Input> | undefined,\n mapValue: (value: Input) => Output\n): Responsive<Output> | undefined {\n if (propValue === undefined) return undefined;\n if (typeof propValue === 'string') {\n return mapValue(propValue);\n }\n return Object.fromEntries(\n Object.entries(propValue).map(([key, value]) => [key, mapValue(value)])\n );\n}\n\nexport { mapResponsiveProp };\n"],
5
+ "mappings": "AAGA,SAASA,EACPC,EACAC,EACgC,CAChC,GAAID,IAAc,OAClB,OAAI,OAAOA,GAAc,SAChBC,EAASD,CAAS,EAEpB,OAAO,YACZ,OAAO,QAAQA,CAAS,EAAE,IAAI,CAAC,CAACE,EAAKC,CAAK,IAAM,CAACD,EAAKD,EAASE,CAAK,CAAC,CAAC,CACxE,CACF",
6
+ "names": ["mapResponsiveProp", "propValue", "mapValue", "key", "value"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as s}from"./chunk-R2FUNQTI.js";import{e as i}from"./chunk-3YLYGKFB.js";import{a as m}from"./chunk-UBSLEGQZ.js";import{a as l}from"./chunk-GSTOGDAJ.js";import{a as y}from"./chunk-OS3FCYZY.js";var b={};y(b,{Item:()=>u,Root:()=>f});import*as e from"react";import d from"classnames";import{ToggleGroup as g}from"radix-ui";import{useControllableState as h}from"radix-ui/internal";var f=e.forwardRef((t,r)=>{let o=i(t,s.size),{className:n,children:a,radius:P,value:C,defaultValue:c,onValueChange:S,...R}=m(o,s,l),[v,I]=h({prop:C,onChange:S,defaultProp:c??""});return e.createElement(g.Root,{"data-disabled":o.disabled||void 0,"data-radius":P,ref:r,className:d("rt-SegmentedControlRoot",n),onValueChange:p=>{p&&I(p)},...R,type:"single",value:v,asChild:!1,disabled:!!o.disabled},a,e.createElement("div",{className:"rt-SegmentedControlIndicator"}))});f.displayName="SegmentedControl.Root";var u=e.forwardRef(({children:t,className:r,iconOnly:o,...n},a)=>e.createElement(g.Item,{ref:a,className:d("rt-reset","rt-SegmentedControlItem",r),"data-icon-only":o||void 0,...n,disabled:!1,asChild:!1},e.createElement("span",{className:"rt-SegmentedControlItemSeparator"}),e.createElement("span",{className:"rt-SegmentedControlItemLabel"},e.createElement("span",{className:"rt-SegmentedControlItemLabelActive"},t),e.createElement("span",{className:"rt-SegmentedControlItemLabelInactive","aria-hidden":!0},t))));u.displayName="SegmentedControl.Item";export{f as a,u as b,b as c};
2
+ //# sourceMappingURL=chunk-IWT3Q2PD.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/segmented-control.tsx"],
4
+ "sourcesContent": ["'use client';\n\nimport { warnDeprecated } from '../helpers/warn-deprecated.js';\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ToggleGroup as ToggleGroupPrimitive } from 'radix-ui';\nimport { useControllableState } from 'radix-ui/internal';\n\nimport { segmentedControlRootPropDefs } from './segmented-control.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\nimport { marginPropDefs } from '../props/margin.props.js';\n\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype SegmentedControlRootOwnProps = GetPropDefTypes<typeof segmentedControlRootPropDefs>;\n\ninterface SegmentedControlRootProps\n extends ComponentPropsWithout<'div', RemovedProps | 'dir'>,\n SegmentedControlRootOwnProps,\n MarginProps {\n value?: string;\n defaultValue?: string;\n onValueChange?(value: string): void;\n}\n\nconst SegmentedControlRoot = React.forwardRef<HTMLDivElement, SegmentedControlRootProps>(\n (ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, segmentedControlRootPropDefs.size);\n const {\n className,\n children,\n radius,\n value: valueProp,\n defaultValue: defaultValueProp,\n onValueChange: onValueChangeProp,\n ...rootProps\n } = extractProps(props, segmentedControlRootPropDefs, marginPropDefs);\n\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChangeProp,\n defaultProp: defaultValueProp ?? '',\n });\n\n return (\n <ToggleGroupPrimitive.Root\n data-disabled={props.disabled || undefined}\n data-radius={radius}\n ref={forwardedRef}\n className={classNames('rt-SegmentedControlRoot', className)}\n onValueChange={(value) => {\n if (value) {\n setValue(value);\n }\n }}\n {...rootProps}\n type=\"single\"\n value={value}\n asChild={false}\n disabled={!!props.disabled}\n >\n {children}\n <div className=\"rt-SegmentedControlIndicator\" />\n </ToggleGroupPrimitive.Root>\n );\n },\n);\n\nSegmentedControlRoot.displayName = 'SegmentedControl.Root';\n\ninterface SegmentedControlItemOwnProps {\n value: string;\n /** When true, applies fixed square width for icon-only segments */\n iconOnly?: boolean;\n}\n\ninterface SegmentedControlItemProps\n extends ComponentPropsWithout<\n typeof ToggleGroupPrimitive.Item,\n RemovedProps | 'disabled' | 'type' | 'value'\n >,\n SegmentedControlItemOwnProps {}\n\nconst SegmentedControlItem = React.forwardRef<HTMLButtonElement, SegmentedControlItemProps>(\n ({ children, className, iconOnly, ...props }, forwardedRef) => (\n <ToggleGroupPrimitive.Item\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-SegmentedControlItem', className)}\n data-icon-only={iconOnly || undefined}\n {...props}\n disabled={false}\n asChild={false}\n >\n <span className=\"rt-SegmentedControlItemSeparator\" />\n <span className=\"rt-SegmentedControlItemLabel\">\n <span className=\"rt-SegmentedControlItemLabelActive\">{children}</span>\n <span className=\"rt-SegmentedControlItemLabelInactive\" aria-hidden>\n {children}\n </span>\n </span>\n </ToggleGroupPrimitive.Item>\n ),\n);\n\nSegmentedControlItem.displayName = 'SegmentedControl.Item';\n\nexport { SegmentedControlRoot as Root, SegmentedControlItem as Item };\nexport type { SegmentedControlRootProps as RootProps, SegmentedControlItemProps as ItemProps };\n"],
5
+ "mappings": "wMAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,UAAAE,EAAA,SAAAC,IAGA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,eAAeC,MAA4B,WACpD,OAAS,wBAAAC,MAA4B,oBAsBrC,IAAMC,EAA6B,aACjC,CAACC,EAAUC,IAAiB,CAC1B,IAAMC,EAAQC,EAAkBH,EAAUI,EAA6B,IAAI,EACrE,CACJ,UAAAC,EACA,SAAAC,EACA,OAAAC,EACA,MAAOC,EACP,aAAcC,EACd,cAAeC,EACf,GAAGC,CACL,EAAIC,EAAaV,EAAOE,EAA8BS,CAAc,EAE9D,CAACC,EAAOC,CAAQ,EAAIC,EAAqB,CAC7C,KAAMR,EACN,SAAUE,EACV,YAAaD,GAAoB,EACnC,CAAC,EAED,OACE,gBAACQ,EAAqB,KAArB,CACC,gBAAef,EAAM,UAAY,OACjC,cAAaK,EACb,IAAKN,EACL,UAAWiB,EAAW,0BAA2Bb,CAAS,EAC1D,cAAgBS,GAAU,CACpBA,GACFC,EAASD,CAAK,CAElB,EACC,GAAGH,EACJ,KAAK,SACL,MAAOG,EACP,QAAS,GACT,SAAU,CAAC,CAACZ,EAAM,UAEjBI,EACD,gBAAC,OAAI,UAAU,+BAA+B,CAChD,CAEJ,CACF,EAEAP,EAAqB,YAAc,wBAenC,IAAMoB,EAA6B,aACjC,CAAC,CAAE,SAAAb,EAAU,UAAAD,EAAW,SAAAe,EAAU,GAAGlB,CAAM,EAAGD,IAC5C,gBAACgB,EAAqB,KAArB,CACC,IAAKhB,EACL,UAAWiB,EAAW,WAAY,0BAA2Bb,CAAS,EACtE,iBAAgBe,GAAY,OAC3B,GAAGlB,EACJ,SAAU,GACV,QAAS,IAET,gBAAC,QAAK,UAAU,mCAAmC,EACnD,gBAAC,QAAK,UAAU,gCACd,gBAAC,QAAK,UAAU,sCAAsCI,CAAS,EAC/D,gBAAC,QAAK,UAAU,uCAAuC,cAAW,IAC/DA,CACH,CACF,CACF,CAEJ,EAEAa,EAAqB,YAAc",
6
+ "names": ["segmented_control_exports", "__export", "SegmentedControlItem", "SegmentedControlRoot", "React", "classNames", "ToggleGroupPrimitive", "useControllableState", "SegmentedControlRoot", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "segmentedControlRootPropDefs", "className", "children", "radius", "valueProp", "defaultValueProp", "onValueChangeProp", "rootProps", "extractProps", "marginPropDefs", "value", "setValue", "useControllableState", "ToggleGroupPrimitive", "classNames", "SegmentedControlItem", "iconOnly"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as o}from"./chunk-KPACVWV4.js";import{e as p}from"./chunk-3YLYGKFB.js";import{a as r}from"./chunk-UBSLEGQZ.js";import{a as e}from"./chunk-GSTOGDAJ.js";import*as t from"react";import n from"classnames";import{Switch as i}from"radix-ui";var w=t.forwardRef((s,m)=>{let c=p(s,o.size),{className:a,color:h,...f}=r(c,o,e);return t.createElement(i.Root,{"data-accent-color":h,...f,asChild:!1,ref:m,className:n("rt-reset","rt-SwitchRoot",a)},t.createElement(i.Thumb,{className:"rt-SwitchThumb"}))});w.displayName="Switch";export{w as a};
2
+ //# sourceMappingURL=chunk-JCRBBT4X.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/switch.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Switch as SwitchPrimitive } from 'radix-ui';\n\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\nimport { marginPropDefs } from '../props/margin.props.js';\nimport { switchPropDefs } from './switch.props.js';\n\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\nimport type { ComponentPropsWithout } from '../helpers/component-props.js';\n\ntype SwitchElement = React.ElementRef<typeof SwitchPrimitive.Root>;\ntype SwitchOwnProps = GetPropDefTypes<typeof switchPropDefs>;\ninterface SwitchProps\n extends ComponentPropsWithout<\n typeof SwitchPrimitive.Root,\n 'asChild' | 'color' | 'defaultValue' | 'children'\n >,\n MarginProps,\n SwitchOwnProps {}\nconst Switch = React.forwardRef<SwitchElement, SwitchProps>((ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, switchPropDefs.size);\n const { className, color, ...switchProps } = extractProps(\n props,\n switchPropDefs,\n marginPropDefs,\n );\n return (\n <SwitchPrimitive.Root\n data-accent-color={color}\n {...switchProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-SwitchRoot', className)}\n >\n <SwitchPrimitive.Thumb className=\"rt-SwitchThumb\" />\n </SwitchPrimitive.Root>\n );\n});\nSwitch.displayName = 'Switch';\n\nexport { Switch };\nexport type { SwitchProps };\n"],
5
+ "mappings": "gKAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,UAAUC,MAAuB,WAoB1C,IAAMC,EAAe,aAAuC,CAACC,EAAUC,IAAiB,CACtF,IAAMC,EAAQC,EAAkBH,EAAUI,EAAe,IAAI,EACvD,CAAE,UAAAC,EAAW,MAAAC,EAAO,GAAGC,CAAY,EAAIC,EAC3CN,EACAE,EACAK,CACF,EACA,OACE,gBAACC,EAAgB,KAAhB,CACC,oBAAmBJ,EAClB,GAAGC,EACJ,QAAS,GACT,IAAKN,EACL,UAAWU,EAAW,WAAY,gBAAiBN,CAAS,GAE5D,gBAACK,EAAgB,MAAhB,CAAsB,UAAU,iBAAiB,CACpD,CAEJ,CAAC,EACDX,EAAO,YAAc",
6
+ "names": ["React", "classNames", "SwitchPrimitive", "Switch", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "switchPropDefs", "className", "color", "switchProps", "extractProps", "marginPropDefs", "SwitchPrimitive", "classNames"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as p,b as P,c as m}from"./chunk-4YQXYWDQ.js";import{a as R}from"./chunk-ZJZIV2JH.js";import{e as b}from"./chunk-3YLYGKFB.js";import{a as s}from"./chunk-UBSLEGQZ.js";import{a as d}from"./chunk-GSTOGDAJ.js";import{b as n}from"./chunk-PBFSBHBS.js";import{a as D}from"./chunk-OS3FCYZY.js";var x={};D(x,{Body:()=>f,Cell:()=>y,ColumnHeaderCell:()=>i,Header:()=>c,Root:()=>T,Row:()=>C,RowHeaderCell:()=>w});import*as e from"react";import t from"classnames";var T=e.forwardRef((o,l)=>{let a=b(o,p.size),{layout:r,...u}=p,{className:H,children:N,layout:h,...E}=s(a,u,d),v=n({value:h,className:p.layout.className,propValues:p.layout.values});return e.createElement("div",{ref:l,className:t("rt-TableRoot",H),...E},e.createElement(R,null,e.createElement("table",{className:t("rt-TableRootTable",v)},N)))});T.displayName="Table.Root";var c=e.forwardRef(({className:o,...l},a)=>e.createElement("thead",{...l,ref:a,className:t("rt-TableHeader",o)}));c.displayName="Table.Header";var f=e.forwardRef(({className:o,...l},a)=>e.createElement("tbody",{...l,ref:a,className:t("rt-TableBody",o)}));f.displayName="Table.Body";var C=e.forwardRef((o,l)=>{let{className:a,...r}=s(o,P);return e.createElement("tr",{...r,ref:l,className:t("rt-TableRow",a)})});C.displayName="Table.Row";var y=e.forwardRef((o,l)=>{let{className:a,...r}=s(o,m);return e.createElement("td",{className:t("rt-TableCell",a),ref:l,...r})});y.displayName="Table.Cell";var i=e.forwardRef((o,l)=>{let{className:a,...r}=s(o,m);return e.createElement("th",{className:t("rt-TableCell","rt-TableColumnHeaderCell",a),scope:"col",ref:l,...r})});i.displayName="Table.ColumnHeaderCell";var w=e.forwardRef((o,l)=>{let{className:a,...r}=s(o,m);return e.createElement("th",{className:t("rt-TableCell","rt-TableRowHeaderCell",a),scope:"row",ref:l,...r})});w.displayName="Table.RowHeaderCell";export{T as a,c as b,f as c,C as d,y as e,i as f,w as g,x as h};
2
+ //# sourceMappingURL=chunk-KFQ4B5YC.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/table.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\n\nimport { tableRootPropDefs, tableRowPropDefs, tableCellPropDefs } from './table.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\nimport { getResponsiveClassNames } from '../helpers/get-responsive-styles.js';\nimport { marginPropDefs } from '../props/margin.props.js';\nimport { ScrollArea } from './scroll-area.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype TableRootElement = React.ElementRef<'div'>;\ntype TableRootOwnProps = GetPropDefTypes<typeof tableRootPropDefs>;\ninterface TableRootProps\n extends ComponentPropsWithout<'div', RemovedProps>,\n MarginProps,\n TableRootOwnProps {}\nconst TableRoot = React.forwardRef<TableRootElement, TableRootProps>((ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, tableRootPropDefs.size);\n const { layout: layoutPropDef, ...rootPropDefs } = tableRootPropDefs;\n const { className, children, layout, ...rootProps } = extractProps(\n props,\n rootPropDefs,\n marginPropDefs\n );\n const tableLayoutClassNames = getResponsiveClassNames({\n value: layout,\n className: tableRootPropDefs.layout.className,\n propValues: tableRootPropDefs.layout.values,\n });\n return (\n <div ref={forwardedRef} className={classNames('rt-TableRoot', className)} {...rootProps}>\n <ScrollArea>\n <table className={classNames('rt-TableRootTable', tableLayoutClassNames)}>{children}</table>\n </ScrollArea>\n </div>\n );\n});\nTableRoot.displayName = 'Table.Root';\n\ntype TableHeaderElement = React.ElementRef<'thead'>;\ninterface TableHeaderProps extends ComponentPropsWithout<'thead', RemovedProps> {}\nconst TableHeader = React.forwardRef<TableHeaderElement, TableHeaderProps>(\n ({ className, ...props }, forwardedRef) => (\n <thead {...props} ref={forwardedRef} className={classNames('rt-TableHeader', className)} />\n )\n);\nTableHeader.displayName = 'Table.Header';\n\ntype TableBodyElement = React.ElementRef<'tbody'>;\ninterface TableBodyProps extends ComponentPropsWithout<'tbody', RemovedProps> {}\nconst TableBody = React.forwardRef<TableBodyElement, TableBodyProps>(\n ({ className, ...props }, forwardedRef) => (\n <tbody {...props} ref={forwardedRef} className={classNames('rt-TableBody', className)} />\n )\n);\nTableBody.displayName = 'Table.Body';\n\ntype TableRowElement = React.ElementRef<'tr'>;\ntype TableRowOwnProps = GetPropDefTypes<typeof tableRowPropDefs>;\ninterface TableRowProps extends ComponentPropsWithout<'tr', RemovedProps>, TableRowOwnProps {}\nconst TableRow = React.forwardRef<TableRowElement, TableRowProps>((props, forwardedRef) => {\n const { className, ...rowProps } = extractProps(props, tableRowPropDefs);\n return <tr {...rowProps} ref={forwardedRef} className={classNames('rt-TableRow', className)} />;\n});\nTableRow.displayName = 'Table.Row';\n\ntype TableCellElement = React.ElementRef<'td'>;\ntype TableCellOwnProps = GetPropDefTypes<typeof tableCellPropDefs>;\ninterface TableCellProps\n extends ComponentPropsWithout<'td', RemovedProps | 'width'>,\n TableCellOwnProps {}\nconst TableCell = React.forwardRef<TableCellElement, TableCellProps>((props, forwardedRef) => {\n const { className, ...cellProps } = extractProps(props, tableCellPropDefs);\n return <td className={classNames('rt-TableCell', className)} ref={forwardedRef} {...cellProps} />;\n});\nTableCell.displayName = 'Table.Cell';\n\ntype TableColumnHeaderCellElement = React.ElementRef<'th'>;\ninterface TableColumnHeaderCellProps\n extends ComponentPropsWithout<'th', RemovedProps>,\n TableCellOwnProps {}\nconst TableColumnHeaderCell = React.forwardRef<\n TableColumnHeaderCellElement,\n TableColumnHeaderCellProps\n>((props, forwardedRef) => {\n const { className, ...cellProps } = extractProps(props, tableCellPropDefs);\n return (\n <th\n className={classNames('rt-TableCell', 'rt-TableColumnHeaderCell', className)}\n scope=\"col\"\n ref={forwardedRef}\n {...cellProps}\n />\n );\n});\nTableColumnHeaderCell.displayName = 'Table.ColumnHeaderCell';\n\ntype TableRowHeaderCellElement = React.ElementRef<'th'>;\ninterface TableRowHeaderCellProps\n extends ComponentPropsWithout<'th', RemovedProps>,\n TableCellOwnProps {}\nconst TableRowHeaderCell = React.forwardRef<TableRowHeaderCellElement, TableRowHeaderCellProps>(\n (props, forwardedRef) => {\n const { className, ...cellProps } = extractProps(props, tableCellPropDefs);\n return (\n <th\n className={classNames('rt-TableCell', 'rt-TableRowHeaderCell', className)}\n scope=\"row\"\n ref={forwardedRef}\n {...cellProps}\n />\n );\n }\n);\nTableRowHeaderCell.displayName = 'Table.RowHeaderCell';\n\nexport {\n TableRoot as Root,\n TableHeader as Header,\n TableBody as Body,\n TableRow as Row,\n TableCell as Cell,\n TableColumnHeaderCell as ColumnHeaderCell,\n TableRowHeaderCell as RowHeaderCell,\n};\n\nexport type {\n TableRootProps as RootProps,\n TableHeaderProps as HeaderProps,\n TableBodyProps as BodyProps,\n TableRowProps as RowProps,\n TableCellProps as CellProps,\n TableColumnHeaderCellProps as ColumnHeaderCellProps,\n TableRowHeaderCellProps as RowHeaderCellProps,\n};\n"],
5
+ "mappings": "sSAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,UAAAE,EAAA,SAAAC,EAAA,qBAAAC,EAAA,WAAAC,EAAA,SAAAC,EAAA,QAAAC,EAAA,kBAAAC,IAAA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aAmBvB,IAAMC,EAAkB,aAA6C,CAACC,EAAUC,IAAiB,CAC/F,IAAMC,EAAQC,EAAkBH,EAAUI,EAAkB,IAAI,EAC1D,CAAE,OAAQC,EAAe,GAAGC,CAAa,EAAIF,EAC7C,CAAE,UAAAG,EAAW,SAAAC,EAAU,OAAAC,EAAQ,GAAGC,CAAU,EAAIC,EACpDT,EACAI,EACAM,CACF,EACMC,EAAwBC,EAAwB,CACpD,MAAOL,EACP,UAAWL,EAAkB,OAAO,UACpC,WAAYA,EAAkB,OAAO,MACvC,CAAC,EACD,OACE,gBAAC,OAAI,IAAKH,EAAc,UAAWc,EAAW,eAAgBR,CAAS,EAAI,GAAGG,GAC5E,gBAACM,EAAA,KACC,gBAAC,SAAM,UAAWD,EAAW,oBAAqBF,CAAqB,GAAIL,CAAS,CACtF,CACF,CAEJ,CAAC,EACDT,EAAU,YAAc,aAIxB,IAAMkB,EAAoB,aACxB,CAAC,CAAE,UAAAV,EAAW,GAAGL,CAAM,EAAGD,IACxB,gBAAC,SAAO,GAAGC,EAAO,IAAKD,EAAc,UAAWc,EAAW,iBAAkBR,CAAS,EAAG,CAE7F,EACAU,EAAY,YAAc,eAI1B,IAAMC,EAAkB,aACtB,CAAC,CAAE,UAAAX,EAAW,GAAGL,CAAM,EAAGD,IACxB,gBAAC,SAAO,GAAGC,EAAO,IAAKD,EAAc,UAAWc,EAAW,eAAgBR,CAAS,EAAG,CAE3F,EACAW,EAAU,YAAc,aAKxB,IAAMC,EAAiB,aAA2C,CAACjB,EAAOD,IAAiB,CACzF,GAAM,CAAE,UAAAM,EAAW,GAAGa,CAAS,EAAIT,EAAaT,EAAOmB,CAAgB,EACvE,OAAO,gBAAC,MAAI,GAAGD,EAAU,IAAKnB,EAAc,UAAWc,EAAW,cAAeR,CAAS,EAAG,CAC/F,CAAC,EACDY,EAAS,YAAc,YAOvB,IAAMG,EAAkB,aAA6C,CAACpB,EAAOD,IAAiB,CAC5F,GAAM,CAAE,UAAAM,EAAW,GAAGgB,CAAU,EAAIZ,EAAaT,EAAOsB,CAAiB,EACzE,OAAO,gBAAC,MAAG,UAAWT,EAAW,eAAgBR,CAAS,EAAG,IAAKN,EAAe,GAAGsB,EAAW,CACjG,CAAC,EACDD,EAAU,YAAc,aAMxB,IAAMG,EAA8B,aAGlC,CAACvB,EAAOD,IAAiB,CACzB,GAAM,CAAE,UAAAM,EAAW,GAAGgB,CAAU,EAAIZ,EAAaT,EAAOsB,CAAiB,EACzE,OACE,gBAAC,MACC,UAAWT,EAAW,eAAgB,2BAA4BR,CAAS,EAC3E,MAAM,MACN,IAAKN,EACJ,GAAGsB,EACN,CAEJ,CAAC,EACDE,EAAsB,YAAc,yBAMpC,IAAMC,EAA2B,aAC/B,CAACxB,EAAOD,IAAiB,CACvB,GAAM,CAAE,UAAAM,EAAW,GAAGgB,CAAU,EAAIZ,EAAaT,EAAOsB,CAAiB,EACzE,OACE,gBAAC,MACC,UAAWT,EAAW,eAAgB,wBAAyBR,CAAS,EACxE,MAAM,MACN,IAAKN,EACJ,GAAGsB,EACN,CAEJ,CACF,EACAG,EAAmB,YAAc",
6
+ "names": ["table_exports", "__export", "TableBody", "TableCell", "TableColumnHeaderCell", "TableHeader", "TableRoot", "TableRow", "TableRowHeaderCell", "React", "classNames", "TableRoot", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "tableRootPropDefs", "layoutPropDef", "rootPropDefs", "className", "children", "layout", "rootProps", "extractProps", "marginPropDefs", "tableLayoutClassNames", "getResponsiveClassNames", "classNames", "ScrollArea", "TableHeader", "TableBody", "TableRow", "rowProps", "tableRowPropDefs", "TableCell", "cellProps", "tableCellPropDefs", "TableColumnHeaderCell", "TableRowHeaderCell"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as o}from"./chunk-MZQDDG5K.js";import*as t from"react";var a=t.forwardRef((e,n)=>t.createElement(o,{...e,iconOnly:!0,ref:n}));a.displayName="IconButton";export{a};
2
- //# sourceMappingURL=chunk-6HRBG5H2.js.map
1
+ import{a as o}from"./chunk-7FZPCM7W.js";import*as t from"react";var a=t.forwardRef((e,n)=>t.createElement(o,{...e,iconOnly:!0,ref:n}));a.displayName="IconButton";export{a};
2
+ //# sourceMappingURL=chunk-KPPIW4OJ.js.map
@@ -1,2 +1,2 @@
1
- import{a as i}from"./chunk-DP3OWU5T.js";import{a as s}from"./chunk-5SQL4ZRC.js";import{a as p}from"./chunk-UBSLEGQZ.js";import{a}from"./chunk-GSTOGDAJ.js";import*as o from"react";import u from"classnames";import{Slot as R}from"radix-ui";var C=o.forwardRef((n,l)=>{let{asChild:e,className:m,children:d,color:c,radius:f,tooltip:t,tooltipSide:g="top",tooltipAlign:P="center",tooltipDelayDuration:b,tooltipDisableHoverableContent:y,...B}=p(n,s,a),D=o.useMemo(()=>e?R.Root:"span",[e]),r=o.createElement(D,{"data-accent-color":c,"data-radius":f,...B,ref:l,className:u("rt-reset","rt-Badge",m)},d);return t?o.createElement(i,{content:t,side:g,align:P,delayDuration:b,disableHoverableContent:y},r):r});C.displayName="Badge";export{C as a};
2
- //# sourceMappingURL=chunk-6WFEMPCF.js.map
1
+ import{a as i}from"./chunk-VT4AAF7Q.js";import{a as s}from"./chunk-KSZOVI57.js";import{a as p}from"./chunk-UBSLEGQZ.js";import{a}from"./chunk-GSTOGDAJ.js";import*as o from"react";import u from"classnames";import{Slot as R}from"radix-ui";var C=o.forwardRef((n,l)=>{let{asChild:e,className:m,children:d,color:c,radius:f,tooltip:t,tooltipSide:g="top",tooltipAlign:P="center",tooltipDelayDuration:b,tooltipDisableHoverableContent:y,...B}=p(n,s,a),D=o.useMemo(()=>e?R.Root:"span",[e]),r=o.createElement(D,{"data-accent-color":c,"data-radius":f,...B,ref:l,className:u("rt-reset","rt-Badge",m)},d);return t?o.createElement(i,{content:t,side:g,align:P,delayDuration:b,disableHoverableContent:y},r):r});C.displayName="Badge";export{C as a};
2
+ //# sourceMappingURL=chunk-KRXCFIRK.js.map
@@ -1,2 +1,2 @@
1
- import{b as r}from"./chunk-KRJTW535.js";import{a as e}from"./chunk-NZJGC6ZW.js";import{e as s}from"./chunk-34KVYDF6.js";var o=["1","2","3","4"],t=["raised","solid","soft","surface","outline","ghost"],f={...e,size:{type:"enum",className:"rt-r-size",values:o,default:"1",responsive:!0},variant:{type:"enum",className:"rt-variant",values:t,default:"raised"},...s,...r};export{f as a};
2
- //# sourceMappingURL=chunk-5SQL4ZRC.js.map
1
+ import{b as r}from"./chunk-KRJTW535.js";import{a as e}from"./chunk-NZJGC6ZW.js";import{e as s}from"./chunk-34KVYDF6.js";var o=["1","2","3","4"],t=["raised","solid","soft","surface","outline","ghost"],f={...e,size:{type:"enum",className:"rt-r-size",values:o,default:"2",responsive:!0},variant:{type:"enum",className:"rt-variant",values:t,default:"raised"},...s,...r};export{f as a};
2
+ //# sourceMappingURL=chunk-KSZOVI57.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/badge.props.tsx"],
4
- "sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\nimport { grayAccentColorPropDef } from '../props/color.prop.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4'] as const;\nconst variants = ['raised', 'solid', 'soft', 'surface', 'outline', 'ghost'] as const;\n\nconst badgePropDefs = {\n ...asChildPropDef,\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '1', responsive: true },\n variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'raised' },\n ...grayAccentColorPropDef,\n ...radiusPropDef,\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n};\n\nexport { badgePropDefs };\n"],
4
+ "sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\nimport { grayAccentColorPropDef } from '../props/color.prop.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4'] as const;\nconst variants = ['raised', 'solid', 'soft', 'surface', 'outline', 'ghost'] as const;\n\nconst badgePropDefs = {\n ...asChildPropDef,\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '2', responsive: true },\n variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'raised' },\n ...grayAccentColorPropDef,\n ...radiusPropDef,\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n};\n\nexport { badgePropDefs };\n"],
5
5
  "mappings": "wHAMA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAC3BC,EAAW,CAAC,SAAU,QAAS,OAAQ,UAAW,UAAW,OAAO,EAEpEC,EAAgB,CACpB,GAAGC,EACH,KAAM,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQH,EAAO,QAAS,IAAK,WAAY,EAAK,EAC5F,QAAS,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQC,EAAU,QAAS,QAAS,EACtF,GAAGG,EACH,GAAGC,CACL",
6
6
  "names": ["sizes", "variants", "badgePropDefs", "asChildPropDef", "grayAccentColorPropDef", "radiusPropDef"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{a as u}from"./chunk-VK7RNXUO.js";import{a as l}from"./chunk-MZQDDG5K.js";import*as e from"react";import{Toggle as B}from"radix-ui";var d=e.forwardRef(({pressed:a,onPressedChange:g,defaultPressed:p,children:t,...s},f)=>{let{"aria-label":r,"aria-labelledby":o,iconOnly:i}=s,n=e.useRef(null);e.useEffect(()=>{n.current=null},[o]);let c=e.useCallback(()=>r||(o?(n.current===null&&(n.current=document.getElementById(o)?.textContent||"Toggle button"),n.current):typeof t=="string"?t:e.isValidElement(t)&&typeof t.props?.children=="string"?t.props.children:"Toggle button"),[r,o,t]),{handlePressedChange:m}=u({pressed:a,onPressedChange:g,getAccessibleName:c,componentName:i?"ToggleIconButton":"ToggleButton"});return e.createElement(B.Root,{pressed:a,onPressedChange:m,defaultPressed:p,asChild:!0},e.createElement(l,{...s,ref:f},t))});d.displayName="ToggleButton";export{d as a};
2
- //# sourceMappingURL=chunk-COSHAOEK.js.map
1
+ import{a as u}from"./chunk-VK7RNXUO.js";import{a as l}from"./chunk-7FZPCM7W.js";import*as e from"react";import{Toggle as B}from"radix-ui";var d=e.forwardRef(({pressed:a,onPressedChange:g,defaultPressed:p,children:t,...s},f)=>{let{"aria-label":r,"aria-labelledby":o,iconOnly:i}=s,n=e.useRef(null);e.useEffect(()=>{n.current=null},[o]);let c=e.useCallback(()=>r||(o?(n.current===null&&(n.current=document.getElementById(o)?.textContent||"Toggle button"),n.current):typeof t=="string"?t:e.isValidElement(t)&&typeof t.props?.children=="string"?t.props.children:"Toggle button"),[r,o,t]),{handlePressedChange:m}=u({pressed:a,onPressedChange:g,getAccessibleName:c,componentName:i?"ToggleIconButton":"ToggleButton"});return e.createElement(B.Root,{pressed:a,onPressedChange:m,defaultPressed:p,asChild:!0},e.createElement(l,{...s,ref:f},t))});d.displayName="ToggleButton";export{d as a};
2
+ //# sourceMappingURL=chunk-MJEYJI5G.js.map
@@ -0,0 +1,2 @@
1
+ import{c as o}from"./chunk-34KVYDF6.js";var e=["horizontal","vertical"],t={orientation:{type:"enum",className:"rt-r-orientation",values:e,default:"horizontal",responsive:!0},color:{...o.color,default:"gray"},decorative:{type:"boolean",default:!0},light:{type:"boolean",className:"rt-light",default:!1}};export{t as a};
2
+ //# sourceMappingURL=chunk-MLXHD7YF.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/separator.props.tsx"],
4
+ "sourcesContent": ["import { colorPropDef } from '../props/color.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst orientationValues = ['horizontal', 'vertical'] as const;\n\nconst separatorPropDefs = {\n orientation: {\n type: 'enum',\n className: 'rt-r-orientation',\n values: orientationValues,\n default: 'horizontal',\n responsive: true,\n },\n color: { ...colorPropDef.color, default: 'gray' },\n decorative: { type: 'boolean', default: true },\n light: { type: 'boolean', className: 'rt-light', default: false },\n} satisfies {\n orientation: PropDef<(typeof orientationValues)[number]>;\n color: typeof colorPropDef.color;\n decorative: PropDef<boolean>;\n light: PropDef<boolean>;\n};\n\nexport { separatorPropDefs };\n"],
5
+ "mappings": "wCAIA,IAAMA,EAAoB,CAAC,aAAc,UAAU,EAE7CC,EAAoB,CACxB,YAAa,CACX,KAAM,OACN,UAAW,mBACX,OAAQD,EACR,QAAS,aACT,WAAY,EACd,EACA,MAAO,CAAE,GAAGE,EAAa,MAAO,QAAS,MAAO,EAChD,WAAY,CAAE,KAAM,UAAW,QAAS,EAAK,EAC7C,MAAO,CAAE,KAAM,UAAW,UAAW,WAAY,QAAS,EAAM,CAClE",
6
+ "names": ["orientationValues", "separatorPropDefs", "colorPropDef"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as S}from"./chunk-MHANZINI.js";import{a as g}from"./chunk-BFLO4IVZ.js";import{a as c}from"./chunk-MJJ7XDIP.js";import{c as y}from"./chunk-2HUAVZZL.js";import{a as u}from"./chunk-O6K6RZXY.js";import{a as P}from"./chunk-MDHXSEGH.js";import{a as d}from"./chunk-UBSLEGQZ.js";import{a as O}from"./chunk-OS3FCYZY.js";var A={};O(A,{Close:()=>b,Content:()=>T,Description:()=>E,Root:()=>R,Title:()=>v,Trigger:()=>C});import*as e from"react";import z from"classnames";import{Dialog as n}from"radix-ui";var R=o=>e.createElement(n.Root,{...o,modal:!0});R.displayName="Sheet.Root";var C=e.forwardRef(({children:o,...t},i)=>e.createElement(n.Trigger,{...t,ref:i,asChild:!0},c(o)));C.displayName="Sheet.Trigger";var{align:U,...D}=P,{default:X,...j}=D.maxWidth,k={...D,maxWidth:j},T=e.forwardRef((o,t)=>{let{side:i="start",forceMount:s,container:x,className:N,...M}=o,w={left:"start",right:"end",start:"start",end:"end",top:"top",bottom:"bottom"}[i],{className:W,...H}=d(M,k),f=e.useRef(null),L=e.useMemo(()=>r=>{f.current=r,typeof t=="function"?t(r):t&&(t.current=r)},[t]);return S(),e.useEffect(()=>{if(typeof window>"u")return;let r=f.current;if(!r)return;let a=r.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(a.length===0)return;let l=a[0],m=a[a.length-1],h=p=>{p.key==="Tab"&&(p.shiftKey?document.activeElement===l&&(p.preventDefault(),m.focus()):document.activeElement===m&&(p.preventDefault(),l.focus()))};return r.addEventListener("keydown",h),l.focus(),()=>{r.removeEventListener("keydown",h)}},[]),e.createElement(n.Portal,{container:x,forceMount:s},e.createElement(y,{asChild:!0},e.createElement(n.Overlay,{className:"rt-BaseDialogOverlay rt-DialogOverlay rt-SheetOverlay"},e.createElement(n.Content,{...H,ref:L,className:z("rt-BaseDialogContent","rt-SheetContent",N,W),"data-side":w,tabIndex:-1,role:"dialog","aria-modal":"true"}))))});T.displayName="Sheet.Content";var v=e.forwardRef(({size:o="4",weight:t="medium",...i},s)=>e.createElement(n.Title,{asChild:!0},e.createElement(g,{ref:s,size:o,weight:t,...i})));v.displayName="Sheet.Title";var E=e.forwardRef(({size:o="2",emphasis:t="medium",...i},s)=>e.createElement(n.Description,{asChild:!0},e.createElement(u,{ref:s,size:o,emphasis:t,...i})));E.displayName="Sheet.Description";var b=e.forwardRef(({children:o,...t},i)=>e.createElement(n.Close,{...t,ref:i,asChild:!0},c(o)));b.displayName="Sheet.Close";export{R as a,C as b,T as c,v as d,E as e,b as f,A as g};
2
- //# sourceMappingURL=chunk-CG54MBMW.js.map
1
+ import{a as S}from"./chunk-MHANZINI.js";import{a as g}from"./chunk-BFLO4IVZ.js";import{a as c}from"./chunk-MJJ7XDIP.js";import{c as y}from"./chunk-6AZV4VFW.js";import{a as u}from"./chunk-O6K6RZXY.js";import{a as P}from"./chunk-MDHXSEGH.js";import{a as d}from"./chunk-UBSLEGQZ.js";import{a as O}from"./chunk-OS3FCYZY.js";var A={};O(A,{Close:()=>b,Content:()=>T,Description:()=>E,Root:()=>R,Title:()=>v,Trigger:()=>C});import*as e from"react";import z from"classnames";import{Dialog as n}from"radix-ui";var R=o=>e.createElement(n.Root,{...o,modal:!0});R.displayName="Sheet.Root";var C=e.forwardRef(({children:o,...t},i)=>e.createElement(n.Trigger,{...t,ref:i,asChild:!0},c(o)));C.displayName="Sheet.Trigger";var{align:U,...D}=P,{default:X,...j}=D.maxWidth,k={...D,maxWidth:j},T=e.forwardRef((o,t)=>{let{side:i="start",forceMount:s,container:x,className:N,...M}=o,w={left:"start",right:"end",start:"start",end:"end",top:"top",bottom:"bottom"}[i],{className:W,...H}=d(M,k),f=e.useRef(null),L=e.useMemo(()=>r=>{f.current=r,typeof t=="function"?t(r):t&&(t.current=r)},[t]);return S(),e.useEffect(()=>{if(typeof window>"u")return;let r=f.current;if(!r)return;let a=r.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(a.length===0)return;let l=a[0],m=a[a.length-1],h=p=>{p.key==="Tab"&&(p.shiftKey?document.activeElement===l&&(p.preventDefault(),m.focus()):document.activeElement===m&&(p.preventDefault(),l.focus()))};return r.addEventListener("keydown",h),l.focus(),()=>{r.removeEventListener("keydown",h)}},[]),e.createElement(n.Portal,{container:x,forceMount:s},e.createElement(y,{asChild:!0},e.createElement(n.Overlay,{className:"rt-BaseDialogOverlay rt-DialogOverlay rt-SheetOverlay"},e.createElement(n.Content,{...H,ref:L,className:z("rt-BaseDialogContent","rt-SheetContent",N,W),"data-side":w,tabIndex:-1,role:"dialog","aria-modal":"true"}))))});T.displayName="Sheet.Content";var v=e.forwardRef(({size:o="4",weight:t="medium",...i},s)=>e.createElement(n.Title,{asChild:!0},e.createElement(g,{ref:s,size:o,weight:t,...i})));v.displayName="Sheet.Title";var E=e.forwardRef(({size:o="2",emphasis:t="medium",...i},s)=>e.createElement(n.Description,{asChild:!0},e.createElement(u,{ref:s,size:o,emphasis:t,...i})));E.displayName="Sheet.Description";var b=e.forwardRef(({children:o,...t},i)=>e.createElement(n.Close,{...t,ref:i,asChild:!0},c(o)));b.displayName="Sheet.Close";export{R as a,C as b,T as c,v as d,E as e,b as f,A as g};
2
+ //# sourceMappingURL=chunk-MPN33CKR.js.map
@@ -0,0 +1,2 @@
1
+ import{a as b}from"./chunk-PS6NEG5A.js";import{e as T}from"./chunk-3YLYGKFB.js";import{a as v}from"./chunk-UBSLEGQZ.js";import{a as f}from"./chunk-GSTOGDAJ.js";import{a as m}from"./chunk-5LGWS5QS.js";import{a as R}from"./chunk-OS3FCYZY.js";var d={};R(d,{Link:()=>l,Root:()=>P});import*as a from"react";import c from"classnames";import{NavigationMenu as t}from"radix-ui";var P=a.forwardRef((r,s)=>{let e=T(r,m.size),{children:n,className:p,color:o,...i}=v(e,m,f);return a.createElement(t.Root,{className:"rt-TabNavRoot","data-accent-color":o,...i,asChild:!1,ref:s},a.createElement(t.List,{className:c("rt-reset","rt-BaseTabList","rt-TabNavList",p)},n))});P.displayName="TabNav.Root";var l=a.forwardRef((r,s)=>{let{asChild:e,children:n,className:p,active:o,...i}=r;return a.createElement(t.Item,{className:"rt-TabNavItem"},a.createElement(t.Link,{...i,ref:s,className:c("rt-reset","rt-BaseTabListTrigger","rt-TabNavLink",p),onSelect:void 0,asChild:e,"aria-current":o?"page":void 0,"data-active":o||void 0},b({asChild:e,children:n},N=>a.createElement(a.Fragment,null,a.createElement("span",{className:"rt-BaseTabListTriggerInner rt-TabNavLinkInner"},N),a.createElement("span",{className:"rt-BaseTabListTriggerInnerHidden rt-TabNavLinkInnerHidden"},N)))))});l.displayName="TabNav.Link";export{P as a,l as b,d as c};
2
+ //# sourceMappingURL=chunk-MQDZBF4J.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/tab-nav.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { NavigationMenu } from 'radix-ui';\n\nimport { tabNavRootPropDefs } from './tab-nav.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\nimport { getSubtree } from '../helpers/get-subtree.js';\nimport { marginPropDefs } from '../props/margin.props.js';\n\nimport type { tabNavLinkPropDefs } from './tab-nav.props.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype TabNavRootElement = React.ElementRef<typeof NavigationMenu.Root>;\ntype TabNavRootElementProps = ComponentPropsWithout<'nav', RemovedProps>;\ntype TabNavOwnProps = GetPropDefTypes<typeof tabNavRootPropDefs>;\ninterface TabNavRootProps\n extends Omit<TabNavRootElementProps, 'defaultValue' | 'dir' | 'color'>,\n MarginProps,\n TabNavOwnProps {}\nconst TabNavRoot = React.forwardRef<TabNavRootElement, TabNavRootProps>((ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, tabNavRootPropDefs.size);\n const { children, className, color, ...rootProps } = extractProps(\n props,\n tabNavRootPropDefs,\n marginPropDefs,\n );\n return (\n <NavigationMenu.Root\n className=\"rt-TabNavRoot\"\n data-accent-color={color}\n {...rootProps}\n asChild={false}\n ref={forwardedRef}\n >\n <NavigationMenu.List\n className={classNames('rt-reset', 'rt-BaseTabList', 'rt-TabNavList', className)}\n >\n {children}\n </NavigationMenu.List>\n </NavigationMenu.Root>\n );\n});\nTabNavRoot.displayName = 'TabNav.Root';\n\ntype TabNavLinkElement = React.ElementRef<typeof NavigationMenu.Link>;\ntype TabNavLinkOwnProps = GetPropDefTypes<typeof tabNavLinkPropDefs>;\ninterface TabNavLinkProps\n extends ComponentPropsWithout<typeof NavigationMenu.Link, RemovedProps | 'onSelect'>,\n TabNavLinkOwnProps {}\nconst TabNavLink = React.forwardRef<TabNavLinkElement, TabNavLinkProps>((props, forwardedRef) => {\n const { asChild, children, className, active, ...linkProps } = props;\n\n return (\n <NavigationMenu.Item className=\"rt-TabNavItem\">\n <NavigationMenu.Link\n {...linkProps}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-BaseTabListTrigger', 'rt-TabNavLink', className)}\n onSelect={undefined}\n asChild={asChild}\n aria-current={active ? 'page' : undefined}\n data-active={active || undefined}\n >\n {getSubtree({ asChild, children }, (children) => (\n <>\n <span className=\"rt-BaseTabListTriggerInner rt-TabNavLinkInner\">{children}</span>\n <span className=\"rt-BaseTabListTriggerInnerHidden rt-TabNavLinkInnerHidden\">\n {children}\n </span>\n </>\n ))}\n </NavigationMenu.Link>\n </NavigationMenu.Item>\n );\n});\nTabNavLink.displayName = 'TabNav.Link';\n\nexport { TabNavRoot as Root, TabNavLink as Link };\nexport type { TabNavRootProps as RootProps, TabNavLinkProps as LinkProps };\n"],
5
+ "mappings": "gPAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,UAAAE,EAAA,SAAAC,IAAA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,kBAAAC,MAAsB,WAoB/B,IAAMC,EAAmB,aAA+C,CAACC,EAAUC,IAAiB,CAClG,IAAMC,EAAQC,EAAkBH,EAAUI,EAAmB,IAAI,EAC3D,CAAE,SAAAC,EAAU,UAAAC,EAAW,MAAAC,EAAO,GAAGC,CAAU,EAAIC,EACnDP,EACAE,EACAM,CACF,EACA,OACE,gBAACC,EAAe,KAAf,CACC,UAAU,gBACV,oBAAmBJ,EAClB,GAAGC,EACJ,QAAS,GACT,IAAKP,GAEL,gBAACU,EAAe,KAAf,CACC,UAAWC,EAAW,WAAY,iBAAkB,gBAAiBN,CAAS,GAE7ED,CACH,CACF,CAEJ,CAAC,EACDN,EAAW,YAAc,cAOzB,IAAMc,EAAmB,aAA+C,CAACX,EAAOD,IAAiB,CAC/F,GAAM,CAAE,QAAAa,EAAS,SAAAT,EAAU,UAAAC,EAAW,OAAAS,EAAQ,GAAGC,CAAU,EAAId,EAE/D,OACE,gBAACS,EAAe,KAAf,CAAoB,UAAU,iBAC7B,gBAACA,EAAe,KAAf,CACE,GAAGK,EACJ,IAAKf,EACL,UAAWW,EAAW,WAAY,wBAAyB,gBAAiBN,CAAS,EACrF,SAAU,OACV,QAASQ,EACT,eAAcC,EAAS,OAAS,OAChC,cAAaA,GAAU,QAEtBE,EAAW,CAAE,QAAAH,EAAS,SAAAT,CAAS,EAAIA,GAClC,gCACE,gBAAC,QAAK,UAAU,iDAAiDA,CAAS,EAC1E,gBAAC,QAAK,UAAU,6DACbA,CACH,CACF,CACD,CACH,CACF,CAEJ,CAAC,EACDQ,EAAW,YAAc",
6
+ "names": ["tab_nav_exports", "__export", "TabNavLink", "TabNavRoot", "React", "classNames", "NavigationMenu", "TabNavRoot", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "baseTabListPropDefs", "children", "className", "color", "rootProps", "extractProps", "marginPropDefs", "NavigationMenu", "classNames", "TabNavLink", "asChild", "active", "linkProps", "getSubtree"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as l}from"./chunk-TGRRQHLQ.js";import{a as i,e as k,f as P,g as f}from"./chunk-V32EP3S7.js";import{b as h}from"./chunk-IX5HIHVI.js";import{a as b}from"./chunk-EO7WQYFO.js";import{a as d}from"./chunk-5GYIQIPW.js";import{a as C}from"./chunk-UBSLEGQZ.js";import{a as x}from"./chunk-GSTOGDAJ.js";import{a as z}from"./chunk-OS3FCYZY.js";var _={};z(_,{Item:()=>y,Root:()=>v});import*as o from"react";import m from"classnames";import{Context as D}from"radix-ui/internal";var R="CheckboxCards",[S]=D.createContextScope(R,[i]),u=i(),[E,g]=S(R),v=o.forwardRef((r,s)=>{let{__scopeCheckboxCards:t,className:a,color:c,...p}=C(r,b,x),e=u(t);return o.createElement(E,{scope:t,size:r.size,variant:r.variant},o.createElement(l,{asChild:!0},o.createElement(k,{...e,"data-accent-color":c,...p,ref:s,className:m("rt-CheckboxCardsRoot",a)})))});v.displayName="CheckboxCards.Root";var y=o.forwardRef(({__scopeCheckboxCards:r,children:s,className:t,style:a,...c},p)=>{let e=g("CheckboxCardsItem",r),n=u(r),{className:G}=C({size:e?.size,variant:e?.variant||"solid"},d),I=e?.variant?`rt-variant-${e.variant}`:void 0,N=e?.size?`rt-r-size-${e.size}`:void 0;return o.createElement("label",{className:m("rt-BaseCard","rt-CheckboxCardsItem",I,N,t),style:a},s,o.createElement(P,{...n,...c,ref:p,className:m("rt-reset","rt-BaseCheckboxRoot","rt-CheckboxCardCheckbox",G)},o.createElement(f,{...n,asChild:!0,className:"rt-BaseCheckboxIndicator"},o.createElement(h,null))))});y.displayName="CheckboxCards.Item";export{v as a,y as b,_ as c};
2
- //# sourceMappingURL=chunk-IGBEDJBC.js.map
1
+ import{a as l}from"./chunk-TGRRQHLQ.js";import{a as i,e as k,f as P,g as f}from"./chunk-V32EP3S7.js";import{b as h}from"./chunk-IX5HIHVI.js";import{a as b}from"./chunk-EO7WQYFO.js";import{a as d}from"./chunk-STMTXK7U.js";import{a as C}from"./chunk-UBSLEGQZ.js";import{a as x}from"./chunk-GSTOGDAJ.js";import{a as z}from"./chunk-OS3FCYZY.js";var _={};z(_,{Item:()=>y,Root:()=>v});import*as o from"react";import m from"classnames";import{Context as D}from"radix-ui/internal";var R="CheckboxCards",[S]=D.createContextScope(R,[i]),u=i(),[E,g]=S(R),v=o.forwardRef((r,s)=>{let{__scopeCheckboxCards:t,className:a,color:c,...p}=C(r,b,x),e=u(t);return o.createElement(E,{scope:t,size:r.size,variant:r.variant},o.createElement(l,{asChild:!0},o.createElement(k,{...e,"data-accent-color":c,...p,ref:s,className:m("rt-CheckboxCardsRoot",a)})))});v.displayName="CheckboxCards.Root";var y=o.forwardRef(({__scopeCheckboxCards:r,children:s,className:t,style:a,...c},p)=>{let e=g("CheckboxCardsItem",r),n=u(r),{className:G}=C({size:e?.size,variant:e?.variant||"solid"},d),I=e?.variant?`rt-variant-${e.variant}`:void 0,N=e?.size?`rt-r-size-${e.size}`:void 0;return o.createElement("label",{className:m("rt-BaseCard","rt-CheckboxCardsItem",I,N,t),style:a},s,o.createElement(P,{...n,...c,ref:p,className:m("rt-reset","rt-BaseCheckboxRoot","rt-CheckboxCardCheckbox",G)},o.createElement(f,{...n,asChild:!0,className:"rt-BaseCheckboxIndicator"},o.createElement(h,null))))});y.displayName="CheckboxCards.Item";export{v as a,y as b,_ as c};
2
+ //# sourceMappingURL=chunk-NFVOEHZS.js.map
@@ -1,2 +1,2 @@
1
- import{d as v}from"./chunk-SM27AC7E.js";import{b as w,d as B,g as I}from"./chunk-3J6AUDID.js";import{a as y,c as S}from"./chunk-HCNO7PX6.js";import{a as x,b as E,c as T}from"./chunk-5ROQAZ7J.js";import{o as M}from"./chunk-3PTKPDSA.js";import{a as V,b as N}from"./chunk-BZZXXZ3O.js";import{a as C}from"./chunk-HWQ3NTJP.js";import{a as R}from"./chunk-TBZO22XK.js";import*as e from"react";import de from"classnames";import{useComposedRefs as le}from"radix-ui/internal";var k=t=>t==="collapsed"?"closed":"open",pe=t=>t==="closed"?"collapsed":"expanded";function A(t){if(t===void 0)return;if(typeof t=="string")return k(t);let n={};for(let[r,o]of Object.entries(t))o!==void 0&&(n[r]=k(o));return n}var Se={controlled:"state",default:"defaultState"},ce={initial:"overlay",sm:"fixed"},H=e.forwardRef((t,n)=>{let{className:r,presentation:o=ce,expandedSize:i=288,minSize:c=200,maxSize:m=400,resizable:u=!1,collapsible:U=!0,onExpand:D,onCollapse:L,onResize:O,onResizeStart:_,onResizeEnd:$,snapPoints:s,snapTolerance:W,collapseThreshold:d,paneId:l,persistence:p,children:j,style:q,state:F,defaultState:G,onStateChange:K,size:J,defaultSize:Q,onSizeChange:X,sizeUpdate:Y,sizeUpdateMs:Z=50,inset:b,id:ee,...f}=t,{table:P,attributes:ae}=T(o,"fixed"),a=x({name:"sidebar",label:"Sidebar",propNames:Se,id:ee,controlled:A(F),defaultValue:A(G),presentationTable:P,builtIn:w,onChange:(re,se)=>K?.(pe(re),{reason:se}),onExpand:D,onCollapse:L,size:i});M("sidebar",b),e.useEffect(()=>{(s!==void 0||d!==void 0||l!==void 0||p!==void 0)&&void 0},[s,d,l,p]);let h=e.useRef(null),te=le(n,a.setElement,h),ne=V({name:"sidebar",elementId:a.id,elementRef:h,cssVarName:"--sidebar-size",orientation:"vertical",edge:"end",growth:B,expandedSize:i,minSize:c,maxSize:m,resizable:u,collapsible:U,size:J,defaultSize:Q,onSizeChange:X,sizeUpdate:Y,sizeUpdateMs:Z,onResize:O,onResizeStart:_,onResizeEnd:$,snapPoints:s,snapTolerance:W,collapseThreshold:d,paneId:l,persistence:p,overlaying:a.overlaying,overlayingNow:()=>P[R()]==="overlay",requestCollapse:()=>a.setValue("closed","toggle"),requestToggle:()=>a.toggle("toggle")}),{handles:g,content:oe}=N(j,S),ie=u&&a.value!=="closed"&&!a.overlaying?e.createElement(C.Provider,{value:ne},g.length>0?g:e.createElement(y,null)):null,z=a.peeking?`var(--sidebar-size, ${i}px)`:void 0;return e.createElement("div",{...I(f),id:a.id,ref:te,className:de("rt-ShellPane","rt-ShellSidebar",r),...E(a,ae),"data-inset":b||void 0,tabIndex:a.overlaying?-1:f.tabIndex,style:{...q,"--sidebar-expanded-size":`${i}px`,"--sidebar-min-size":`${c}px`,"--sidebar-max-size":`${m}px`,...z?{"--peek-sidebar-width":z}:{}}},e.createElement("div",{className:"rt-ShellSidebarContent"},e.createElement(v,null,oe)),ie)});H.displayName="Shell.Sidebar";H.Handle=S;export{H as a};
2
- //# sourceMappingURL=chunk-ORMCQAPS.js.map
1
+ import{d as v}from"./chunk-DJFTDR6Y.js";import{b as w,d as B,g as I}from"./chunk-3J6AUDID.js";import{a as y,c as S}from"./chunk-HCNO7PX6.js";import{a as x,b as E,c as T}from"./chunk-5ROQAZ7J.js";import{o as M}from"./chunk-3PTKPDSA.js";import{a as V,b as N}from"./chunk-BZZXXZ3O.js";import{a as C}from"./chunk-HWQ3NTJP.js";import{a as R}from"./chunk-TBZO22XK.js";import*as e from"react";import de from"classnames";import{useComposedRefs as le}from"radix-ui/internal";var k=t=>t==="collapsed"?"closed":"open",pe=t=>t==="closed"?"collapsed":"expanded";function A(t){if(t===void 0)return;if(typeof t=="string")return k(t);let n={};for(let[r,o]of Object.entries(t))o!==void 0&&(n[r]=k(o));return n}var Se={controlled:"state",default:"defaultState"},ce={initial:"overlay",sm:"fixed"},H=e.forwardRef((t,n)=>{let{className:r,presentation:o=ce,expandedSize:i=288,minSize:c=200,maxSize:m=400,resizable:u=!1,collapsible:U=!0,onExpand:D,onCollapse:L,onResize:O,onResizeStart:_,onResizeEnd:$,snapPoints:s,snapTolerance:W,collapseThreshold:d,paneId:l,persistence:p,children:j,style:q,state:F,defaultState:G,onStateChange:K,size:J,defaultSize:Q,onSizeChange:X,sizeUpdate:Y,sizeUpdateMs:Z=50,inset:b,id:ee,...f}=t,{table:P,attributes:ae}=T(o,"fixed"),a=x({name:"sidebar",label:"Sidebar",propNames:Se,id:ee,controlled:A(F),defaultValue:A(G),presentationTable:P,builtIn:w,onChange:(re,se)=>K?.(pe(re),{reason:se}),onExpand:D,onCollapse:L,size:i});M("sidebar",b),e.useEffect(()=>{(s!==void 0||d!==void 0||l!==void 0||p!==void 0)&&void 0},[s,d,l,p]);let h=e.useRef(null),te=le(n,a.setElement,h),ne=V({name:"sidebar",elementId:a.id,elementRef:h,cssVarName:"--sidebar-size",orientation:"vertical",edge:"end",growth:B,expandedSize:i,minSize:c,maxSize:m,resizable:u,collapsible:U,size:J,defaultSize:Q,onSizeChange:X,sizeUpdate:Y,sizeUpdateMs:Z,onResize:O,onResizeStart:_,onResizeEnd:$,snapPoints:s,snapTolerance:W,collapseThreshold:d,paneId:l,persistence:p,overlaying:a.overlaying,overlayingNow:()=>P[R()]==="overlay",requestCollapse:()=>a.setValue("closed","toggle"),requestToggle:()=>a.toggle("toggle")}),{handles:g,content:oe}=N(j,S),ie=u&&a.value!=="closed"&&!a.overlaying?e.createElement(C.Provider,{value:ne},g.length>0?g:e.createElement(y,null)):null,z=a.peeking?`var(--sidebar-size, ${i}px)`:void 0;return e.createElement("div",{...I(f),id:a.id,ref:te,className:de("rt-ShellPane","rt-ShellSidebar",r),...E(a,ae),"data-inset":b||void 0,tabIndex:a.overlaying?-1:f.tabIndex,style:{...q,"--sidebar-expanded-size":`${i}px`,"--sidebar-min-size":`${c}px`,"--sidebar-max-size":`${m}px`,...z?{"--peek-sidebar-width":z}:{}}},e.createElement("div",{className:"rt-ShellSidebarContent"},e.createElement(v,null,oe)),ie)});H.displayName="Shell.Sidebar";H.Handle=S;export{H as a};
2
+ //# sourceMappingURL=chunk-PAQS6C2A.js.map
@@ -0,0 +1,2 @@
1
+ import{c as e}from"./chunk-34KVYDF6.js";var s=["1","2","3","4"],r=["raised","solid","soft","outline","surface"],o={size:{type:"enum",className:"rt-r-size",values:s,default:"2",responsive:!0},variant:{type:"enum",className:"rt-variant",values:r,default:"raised"},...e};export{o as a};
2
+ //# sourceMappingURL=chunk-PUVZFRTQ.js.map