@womp/kookie-ui 0.22.1 → 0.24.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 (500) hide show
  1. package/components.css +247 -187
  2. package/dist/cjs/components/_internal/base-button.d.ts +11 -1
  3. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  4. package/dist/cjs/components/_internal/base-button.js +1 -1
  5. package/dist/cjs/components/_internal/base-button.js.map +4 -4
  6. package/dist/cjs/components/_internal/menu-context.d.ts +2 -0
  7. package/dist/cjs/components/_internal/menu-context.d.ts.map +1 -1
  8. package/dist/cjs/components/_internal/menu-context.js +1 -1
  9. package/dist/cjs/components/_internal/menu-context.js.map +3 -3
  10. package/dist/cjs/components/_internal/pane-chrome.d.ts +17 -2
  11. package/dist/cjs/components/_internal/pane-chrome.d.ts.map +1 -1
  12. package/dist/cjs/components/_internal/pane-chrome.js +1 -1
  13. package/dist/cjs/components/_internal/pane-chrome.js.map +4 -4
  14. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  15. package/dist/cjs/components/_internal/shell-sidebar.js.map +4 -4
  16. package/dist/cjs/components/accordion.d.ts +2 -2
  17. package/dist/cjs/components/accordion.d.ts.map +1 -1
  18. package/dist/cjs/components/accordion.js +1 -1
  19. package/dist/cjs/components/accordion.js.map +4 -4
  20. package/dist/cjs/components/alert-dialog.d.ts.map +1 -1
  21. package/dist/cjs/components/alert-dialog.js +1 -1
  22. package/dist/cjs/components/alert-dialog.js.map +3 -3
  23. package/dist/cjs/components/avatar.d.ts +1 -1
  24. package/dist/cjs/components/avatar.d.ts.map +1 -1
  25. package/dist/cjs/components/avatar.js +1 -1
  26. package/dist/cjs/components/avatar.js.map +3 -3
  27. package/dist/cjs/components/avatar.props.d.ts +8 -0
  28. package/dist/cjs/components/avatar.props.d.ts.map +1 -1
  29. package/dist/cjs/components/avatar.props.js +1 -1
  30. package/dist/cjs/components/avatar.props.js.map +2 -2
  31. package/dist/cjs/components/blockquote.d.ts +1 -1
  32. package/dist/cjs/components/blockquote.d.ts.map +1 -1
  33. package/dist/cjs/components/blockquote.js +1 -1
  34. package/dist/cjs/components/blockquote.js.map +4 -4
  35. package/dist/cjs/components/button.js +1 -1
  36. package/dist/cjs/components/button.js.map +4 -4
  37. package/dist/cjs/components/chatbar.d.ts.map +1 -1
  38. package/dist/cjs/components/chatbar.js +1 -1
  39. package/dist/cjs/components/chatbar.js.map +4 -4
  40. package/dist/cjs/components/checkbox-group.d.ts.map +1 -1
  41. package/dist/cjs/components/checkbox-group.js +1 -1
  42. package/dist/cjs/components/checkbox-group.js.map +3 -3
  43. package/dist/cjs/components/checkbox-group.primitive.d.ts +12 -5
  44. package/dist/cjs/components/checkbox-group.primitive.d.ts.map +1 -1
  45. package/dist/cjs/components/checkbox-group.primitive.js +1 -1
  46. package/dist/cjs/components/checkbox-group.primitive.js.map +3 -3
  47. package/dist/cjs/components/checkbox.js +1 -1
  48. package/dist/cjs/components/checkbox.js.map +3 -3
  49. package/dist/cjs/components/chip.d.ts.map +1 -1
  50. package/dist/cjs/components/chip.js +1 -1
  51. package/dist/cjs/components/chip.js.map +3 -3
  52. package/dist/cjs/components/code.d.ts.map +1 -1
  53. package/dist/cjs/components/code.js +1 -1
  54. package/dist/cjs/components/code.js.map +2 -2
  55. package/dist/cjs/components/combobox.js +1 -1
  56. package/dist/cjs/components/combobox.js.map +3 -3
  57. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  58. package/dist/cjs/components/context-menu.js +1 -1
  59. package/dist/cjs/components/context-menu.js.map +4 -4
  60. package/dist/cjs/components/dialog.d.ts +1 -1
  61. package/dist/cjs/components/dialog.d.ts.map +1 -1
  62. package/dist/cjs/components/dialog.js +1 -1
  63. package/dist/cjs/components/dialog.js.map +3 -3
  64. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  65. package/dist/cjs/components/dropdown-menu.js +1 -1
  66. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  67. package/dist/cjs/components/icons.d.ts +3 -1
  68. package/dist/cjs/components/icons.d.ts.map +1 -1
  69. package/dist/cjs/components/icons.js +1 -1
  70. package/dist/cjs/components/icons.js.map +3 -3
  71. package/dist/cjs/components/image.d.ts +23 -0
  72. package/dist/cjs/components/image.d.ts.map +1 -0
  73. package/dist/cjs/components/image.js +2 -0
  74. package/dist/cjs/components/image.js.map +7 -0
  75. package/dist/cjs/components/image.props.d.ts +19 -0
  76. package/dist/cjs/components/image.props.d.ts.map +1 -0
  77. package/dist/cjs/components/image.props.js +2 -0
  78. package/dist/cjs/components/image.props.js.map +7 -0
  79. package/dist/cjs/components/index.d.ts +2 -1
  80. package/dist/cjs/components/index.d.ts.map +1 -1
  81. package/dist/cjs/components/index.js +2 -10
  82. package/dist/cjs/components/index.js.map +4 -4
  83. package/dist/cjs/components/message-scroller.d.ts.map +1 -1
  84. package/dist/cjs/components/message-scroller.js +1 -1
  85. package/dist/cjs/components/message-scroller.js.map +4 -4
  86. package/dist/cjs/components/navbar.d.ts.map +1 -1
  87. package/dist/cjs/components/navbar.js +1 -1
  88. package/dist/cjs/components/navbar.js.map +3 -3
  89. package/dist/cjs/components/notice.d.ts +4 -1
  90. package/dist/cjs/components/notice.d.ts.map +1 -1
  91. package/dist/cjs/components/notice.js +1 -1
  92. package/dist/cjs/components/notice.js.map +4 -4
  93. package/dist/cjs/components/progress.d.ts.map +1 -1
  94. package/dist/cjs/components/progress.js +1 -1
  95. package/dist/cjs/components/progress.js.map +3 -3
  96. package/dist/cjs/components/schemas/button.schema.d.ts +2 -2
  97. package/dist/cjs/components/schemas/toggle.schema.d.ts +1 -1
  98. package/dist/cjs/components/scroll-area.d.ts +3 -1
  99. package/dist/cjs/components/scroll-area.d.ts.map +1 -1
  100. package/dist/cjs/components/scroll-area.js +1 -1
  101. package/dist/cjs/components/scroll-area.js.map +4 -4
  102. package/dist/cjs/components/segmented-control.d.ts +3 -1
  103. package/dist/cjs/components/segmented-control.d.ts.map +1 -1
  104. package/dist/cjs/components/segmented-control.js +1 -1
  105. package/dist/cjs/components/segmented-control.js.map +3 -3
  106. package/dist/cjs/components/select.d.ts +1 -2
  107. package/dist/cjs/components/select.d.ts.map +1 -1
  108. package/dist/cjs/components/select.js +1 -1
  109. package/dist/cjs/components/select.js.map +3 -3
  110. package/dist/cjs/components/separator.d.ts.map +1 -1
  111. package/dist/cjs/components/separator.js +1 -1
  112. package/dist/cjs/components/separator.js.map +3 -3
  113. package/dist/cjs/components/sheet.d.ts +1 -0
  114. package/dist/cjs/components/sheet.d.ts.map +1 -1
  115. package/dist/cjs/components/sheet.js +1 -1
  116. package/dist/cjs/components/sheet.js.map +3 -3
  117. package/dist/cjs/components/shell.d.ts +12 -1
  118. package/dist/cjs/components/shell.d.ts.map +1 -1
  119. package/dist/cjs/components/shell.js +1 -1
  120. package/dist/cjs/components/shell.js.map +4 -4
  121. package/dist/cjs/components/sidebar.d.ts.map +1 -1
  122. package/dist/cjs/components/sidebar.js +1 -1
  123. package/dist/cjs/components/sidebar.js.map +4 -4
  124. package/dist/cjs/components/slider.d.ts.map +1 -1
  125. package/dist/cjs/components/slider.js +1 -1
  126. package/dist/cjs/components/slider.js.map +3 -3
  127. package/dist/cjs/components/spinner.d.ts.map +1 -1
  128. package/dist/cjs/components/spinner.js +1 -1
  129. package/dist/cjs/components/spinner.js.map +3 -3
  130. package/dist/cjs/components/table.d.ts.map +1 -1
  131. package/dist/cjs/components/table.js +1 -1
  132. package/dist/cjs/components/table.js.map +4 -4
  133. package/dist/cjs/components/tabs.d.ts.map +1 -1
  134. package/dist/cjs/components/tabs.js +1 -1
  135. package/dist/cjs/components/tabs.js.map +2 -2
  136. package/dist/cjs/components/text-area.js +1 -1
  137. package/dist/cjs/components/text-area.js.map +2 -2
  138. package/dist/cjs/components/text-field.js +2 -2
  139. package/dist/cjs/components/text-field.js.map +2 -2
  140. package/dist/cjs/components/toggle.d.ts +3 -2
  141. package/dist/cjs/components/toggle.d.ts.map +1 -1
  142. package/dist/cjs/components/toggle.js +1 -9
  143. package/dist/cjs/components/toggle.js.map +4 -4
  144. package/dist/cjs/components/toolbar.d.ts +80 -8
  145. package/dist/cjs/components/toolbar.d.ts.map +1 -1
  146. package/dist/cjs/components/toolbar.js +1 -1
  147. package/dist/cjs/components/toolbar.js.map +4 -4
  148. package/dist/cjs/components/virtual-menu.d.ts +3 -5
  149. package/dist/cjs/components/virtual-menu.d.ts.map +1 -1
  150. package/dist/cjs/components/virtual-menu.js +1 -1
  151. package/dist/cjs/components/virtual-menu.js.map +3 -3
  152. package/dist/cjs/helpers/extract-margin-props.d.ts +7 -7
  153. package/dist/cjs/hooks/use-scroll-edges.d.ts +4 -2
  154. package/dist/cjs/hooks/use-scroll-edges.d.ts.map +1 -1
  155. package/dist/cjs/hooks/use-scroll-edges.js +1 -1
  156. package/dist/cjs/hooks/use-scroll-edges.js.map +3 -3
  157. package/dist/cjs/index.js +5 -5
  158. package/dist/cjs/index.js.map +4 -4
  159. package/dist/cjs/props/index.js +1 -1
  160. package/dist/cjs/props/index.js.map +2 -2
  161. package/dist/esm/chunk-3VTS4C63.js +2 -0
  162. package/dist/esm/chunk-3VTS4C63.js.map +7 -0
  163. package/dist/esm/chunk-3WE4E2WQ.js +2 -0
  164. package/dist/esm/chunk-3WE4E2WQ.js.map +7 -0
  165. package/dist/esm/chunk-3XUY5WFA.js +2 -0
  166. package/dist/esm/chunk-3XUY5WFA.js.map +7 -0
  167. package/dist/esm/chunk-3XZOE2IQ.js +2 -0
  168. package/dist/esm/chunk-3XZOE2IQ.js.map +7 -0
  169. package/dist/esm/chunk-432YLNB3.js +2 -0
  170. package/dist/esm/chunk-432YLNB3.js.map +7 -0
  171. package/dist/esm/chunk-4QKZYCCH.js +2 -0
  172. package/dist/esm/chunk-4QKZYCCH.js.map +7 -0
  173. package/dist/esm/chunk-4R5EMVB3.js +2 -0
  174. package/dist/esm/chunk-4R5EMVB3.js.map +7 -0
  175. package/dist/esm/chunk-4ZOVV3TY.js +2 -0
  176. package/dist/esm/chunk-4ZOVV3TY.js.map +7 -0
  177. package/dist/esm/{chunk-IX5HIHVI.js → chunk-62ZGP4ET.js} +2 -2
  178. package/dist/esm/{chunk-IX5HIHVI.js.map → chunk-62ZGP4ET.js.map} +3 -3
  179. package/dist/esm/chunk-BGAJ2MDF.js +2 -0
  180. package/dist/esm/chunk-BGAJ2MDF.js.map +7 -0
  181. package/dist/esm/chunk-CHPT42BY.js +2 -0
  182. package/dist/esm/{chunk-Y3JYEEFB.js.map → chunk-CHPT42BY.js.map} +2 -2
  183. package/dist/esm/{chunk-KS4U4VPH.js → chunk-CMHUK7OG.js} +2 -2
  184. package/dist/esm/{chunk-KS4U4VPH.js.map → chunk-CMHUK7OG.js.map} +2 -2
  185. package/dist/esm/chunk-CN6F4REJ.js +2 -0
  186. package/dist/esm/chunk-CN6F4REJ.js.map +7 -0
  187. package/dist/esm/chunk-DUTZUWZP.js +2 -0
  188. package/dist/esm/chunk-DUTZUWZP.js.map +7 -0
  189. package/dist/esm/chunk-EZYXYLR2.js +2 -0
  190. package/dist/esm/chunk-EZYXYLR2.js.map +7 -0
  191. package/dist/esm/chunk-FDJV5RXX.js +2 -0
  192. package/dist/esm/chunk-FDJV5RXX.js.map +7 -0
  193. package/dist/esm/chunk-G2JD52O5.js +2 -0
  194. package/dist/esm/{chunk-23KT3D2Z.js.map → chunk-G2JD52O5.js.map} +3 -3
  195. package/dist/esm/{chunk-PNAB6KCN.js → chunk-G4ETY2NP.js} +2 -2
  196. package/dist/esm/{chunk-PNAB6KCN.js.map → chunk-G4ETY2NP.js.map} +1 -1
  197. package/dist/esm/chunk-GPOCLDBR.js +2 -0
  198. package/dist/esm/chunk-GPOCLDBR.js.map +7 -0
  199. package/dist/esm/chunk-GYP66ZK2.js +2 -0
  200. package/dist/esm/chunk-GYP66ZK2.js.map +7 -0
  201. package/dist/esm/chunk-H5BYPX6V.js +2 -0
  202. package/dist/esm/chunk-H5BYPX6V.js.map +7 -0
  203. package/dist/esm/chunk-H5G7UECV.js +2 -0
  204. package/dist/esm/chunk-H5G7UECV.js.map +7 -0
  205. package/dist/esm/chunk-I4FLQELQ.js +2 -0
  206. package/dist/esm/chunk-I4FLQELQ.js.map +7 -0
  207. package/dist/esm/chunk-JYQGCXXI.js +2 -0
  208. package/dist/esm/chunk-JYQGCXXI.js.map +7 -0
  209. package/dist/esm/chunk-KA5UE2VN.js +2 -0
  210. package/dist/esm/chunk-KA5UE2VN.js.map +7 -0
  211. package/dist/esm/{chunk-T62PRLPN.js → chunk-KEGCX5VM.js} +2 -2
  212. package/dist/esm/chunk-KVHKPUZ2.js +2 -0
  213. package/dist/esm/chunk-KVHKPUZ2.js.map +7 -0
  214. package/dist/esm/chunk-M7I6ISPL.js +2 -0
  215. package/dist/esm/chunk-M7I6ISPL.js.map +7 -0
  216. package/dist/esm/chunk-MYYXOFU5.js +1 -0
  217. package/dist/esm/{chunk-FFG32ERA.js → chunk-N3WBEQWL.js} +3 -3
  218. package/dist/esm/chunk-N3WBEQWL.js.map +7 -0
  219. package/dist/esm/{chunk-HKPXDQ2B.js → chunk-NC3CJUE3.js} +2 -2
  220. package/dist/esm/chunk-P2MV6HLA.js +2 -0
  221. package/dist/esm/{chunk-7SS4UUJH.js.map → chunk-P2MV6HLA.js.map} +3 -3
  222. package/dist/esm/chunk-PALE5UWK.js +2 -0
  223. package/dist/esm/{chunk-DSPYHO3L.js.map → chunk-PALE5UWK.js.map} +2 -2
  224. package/dist/esm/chunk-PDMCLVYT.js +2 -0
  225. package/dist/esm/chunk-PDMCLVYT.js.map +7 -0
  226. package/dist/esm/chunk-PM6QY3JO.js +2 -0
  227. package/dist/esm/{chunk-TJL47GIO.js.map → chunk-PM6QY3JO.js.map} +3 -3
  228. package/dist/esm/chunk-RKZVXVBN.js +2 -0
  229. package/dist/esm/chunk-RKZVXVBN.js.map +7 -0
  230. package/dist/esm/chunk-TXQZ5HLV.js +2 -0
  231. package/dist/esm/chunk-TXQZ5HLV.js.map +7 -0
  232. package/dist/esm/chunk-UKASIY6M.js +2 -0
  233. package/dist/esm/chunk-UKASIY6M.js.map +7 -0
  234. package/dist/esm/{chunk-OJQNLROL.js → chunk-UY6WJUNA.js} +2 -2
  235. package/dist/esm/chunk-V5O3TF57.js +2 -0
  236. package/dist/esm/{chunk-3KQE2PSJ.js.map → chunk-V5O3TF57.js.map} +3 -3
  237. package/dist/esm/chunk-VUNCI6A6.js +2 -0
  238. package/dist/esm/chunk-VUNCI6A6.js.map +7 -0
  239. package/dist/esm/{chunk-JBHRV364.js → chunk-VUPIJNG2.js} +2 -2
  240. package/dist/esm/chunk-W6BN5QLH.js +2 -0
  241. package/dist/esm/{chunk-ZNDCZM5A.js.map → chunk-W6BN5QLH.js.map} +2 -2
  242. package/dist/esm/chunk-WG5ORTIW.js +2 -0
  243. package/dist/esm/chunk-WG5ORTIW.js.map +7 -0
  244. package/dist/esm/chunk-WMVR2XBR.js +2 -0
  245. package/dist/esm/{chunk-XKSU3NLG.js.map → chunk-WMVR2XBR.js.map} +2 -2
  246. package/dist/esm/{chunk-NNZTSXKH.js → chunk-WX7SX5BN.js} +2 -2
  247. package/dist/esm/chunk-XOACTIBL.js +2 -0
  248. package/dist/esm/chunk-XOACTIBL.js.map +7 -0
  249. package/dist/esm/components/_internal/base-button.d.ts +11 -1
  250. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  251. package/dist/esm/components/_internal/base-button.js +1 -1
  252. package/dist/esm/components/_internal/menu-context.d.ts +2 -0
  253. package/dist/esm/components/_internal/menu-context.d.ts.map +1 -1
  254. package/dist/esm/components/_internal/menu-context.js +1 -1
  255. package/dist/esm/components/_internal/pane-chrome.d.ts +17 -2
  256. package/dist/esm/components/_internal/pane-chrome.d.ts.map +1 -1
  257. package/dist/esm/components/_internal/pane-chrome.js +1 -1
  258. package/dist/esm/components/_internal/shell-bottom.js +1 -1
  259. package/dist/esm/components/_internal/shell-inspector.js +1 -1
  260. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  261. package/dist/esm/components/accordion.d.ts +2 -2
  262. package/dist/esm/components/accordion.d.ts.map +1 -1
  263. package/dist/esm/components/accordion.js +1 -1
  264. package/dist/esm/components/alert-dialog.d.ts.map +1 -1
  265. package/dist/esm/components/alert-dialog.js +1 -1
  266. package/dist/esm/components/avatar.d.ts +1 -1
  267. package/dist/esm/components/avatar.d.ts.map +1 -1
  268. package/dist/esm/components/avatar.js +1 -1
  269. package/dist/esm/components/avatar.props.d.ts +8 -0
  270. package/dist/esm/components/avatar.props.d.ts.map +1 -1
  271. package/dist/esm/components/avatar.props.js +1 -1
  272. package/dist/esm/components/blockquote.d.ts +1 -1
  273. package/dist/esm/components/blockquote.d.ts.map +1 -1
  274. package/dist/esm/components/blockquote.js +1 -1
  275. package/dist/esm/components/button.js +1 -1
  276. package/dist/esm/components/chatbar.d.ts.map +1 -1
  277. package/dist/esm/components/chatbar.js +1 -1
  278. package/dist/esm/components/checkbox-group.d.ts.map +1 -1
  279. package/dist/esm/components/checkbox-group.js +1 -1
  280. package/dist/esm/components/checkbox-group.primitive.d.ts +12 -5
  281. package/dist/esm/components/checkbox-group.primitive.d.ts.map +1 -1
  282. package/dist/esm/components/checkbox-group.primitive.js +1 -1
  283. package/dist/esm/components/checkbox.js +1 -1
  284. package/dist/esm/components/chip.d.ts.map +1 -1
  285. package/dist/esm/components/chip.js +1 -1
  286. package/dist/esm/components/code.d.ts.map +1 -1
  287. package/dist/esm/components/code.js +1 -1
  288. package/dist/esm/components/combobox.js +1 -1
  289. package/dist/esm/components/context-menu.d.ts.map +1 -1
  290. package/dist/esm/components/context-menu.js +1 -1
  291. package/dist/esm/components/dialog.d.ts +1 -1
  292. package/dist/esm/components/dialog.d.ts.map +1 -1
  293. package/dist/esm/components/dialog.js +1 -1
  294. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  295. package/dist/esm/components/dropdown-menu.js +1 -1
  296. package/dist/esm/components/icons.d.ts +3 -1
  297. package/dist/esm/components/icons.d.ts.map +1 -1
  298. package/dist/esm/components/icons.js +1 -1
  299. package/dist/esm/components/image.d.ts +23 -0
  300. package/dist/esm/components/image.d.ts.map +1 -0
  301. package/dist/esm/components/image.js +2 -0
  302. package/dist/esm/components/image.js.map +7 -0
  303. package/dist/esm/components/image.props.d.ts +19 -0
  304. package/dist/esm/components/image.props.d.ts.map +1 -0
  305. package/dist/esm/components/image.props.js +2 -0
  306. package/dist/esm/components/image.props.js.map +7 -0
  307. package/dist/esm/components/index.d.ts +2 -1
  308. package/dist/esm/components/index.d.ts.map +1 -1
  309. package/dist/esm/components/index.js +1 -1
  310. package/dist/esm/components/message-scroller.d.ts.map +1 -1
  311. package/dist/esm/components/message-scroller.js +1 -1
  312. package/dist/esm/components/navbar.d.ts.map +1 -1
  313. package/dist/esm/components/navbar.js +1 -1
  314. package/dist/esm/components/notice.d.ts +4 -1
  315. package/dist/esm/components/notice.d.ts.map +1 -1
  316. package/dist/esm/components/notice.js +1 -1
  317. package/dist/esm/components/progress.d.ts.map +1 -1
  318. package/dist/esm/components/progress.js +1 -1
  319. package/dist/esm/components/schemas/button.schema.d.ts +2 -2
  320. package/dist/esm/components/schemas/toggle.schema.d.ts +1 -1
  321. package/dist/esm/components/scroll-area.d.ts +3 -1
  322. package/dist/esm/components/scroll-area.d.ts.map +1 -1
  323. package/dist/esm/components/scroll-area.js +1 -1
  324. package/dist/esm/components/segmented-control.d.ts +3 -1
  325. package/dist/esm/components/segmented-control.d.ts.map +1 -1
  326. package/dist/esm/components/segmented-control.js +1 -1
  327. package/dist/esm/components/select.d.ts +1 -2
  328. package/dist/esm/components/select.d.ts.map +1 -1
  329. package/dist/esm/components/select.js +1 -1
  330. package/dist/esm/components/separator.d.ts.map +1 -1
  331. package/dist/esm/components/separator.js +1 -1
  332. package/dist/esm/components/sheet.d.ts +1 -0
  333. package/dist/esm/components/sheet.d.ts.map +1 -1
  334. package/dist/esm/components/sheet.js +1 -1
  335. package/dist/esm/components/shell.d.ts +12 -1
  336. package/dist/esm/components/shell.d.ts.map +1 -1
  337. package/dist/esm/components/shell.js +1 -1
  338. package/dist/esm/components/sidebar.d.ts.map +1 -1
  339. package/dist/esm/components/sidebar.js +1 -1
  340. package/dist/esm/components/slider.d.ts.map +1 -1
  341. package/dist/esm/components/slider.js +1 -1
  342. package/dist/esm/components/spinner.d.ts.map +1 -1
  343. package/dist/esm/components/spinner.js +1 -1
  344. package/dist/esm/components/table.d.ts.map +1 -1
  345. package/dist/esm/components/table.js +1 -1
  346. package/dist/esm/components/tabs.d.ts.map +1 -1
  347. package/dist/esm/components/tabs.js +1 -1
  348. package/dist/esm/components/text-area.js +1 -1
  349. package/dist/esm/components/text-field.js +1 -1
  350. package/dist/esm/components/toggle.d.ts +3 -2
  351. package/dist/esm/components/toggle.d.ts.map +1 -1
  352. package/dist/esm/components/toggle.js +1 -1
  353. package/dist/esm/components/toolbar.d.ts +80 -8
  354. package/dist/esm/components/toolbar.d.ts.map +1 -1
  355. package/dist/esm/components/toolbar.js +1 -1
  356. package/dist/esm/components/virtual-menu.d.ts +3 -5
  357. package/dist/esm/components/virtual-menu.d.ts.map +1 -1
  358. package/dist/esm/components/virtual-menu.js +1 -1
  359. package/dist/esm/helpers/extract-margin-props.d.ts +7 -7
  360. package/dist/esm/helpers/index.js +1 -1
  361. package/dist/esm/hooks/index.js +1 -1
  362. package/dist/esm/hooks/use-scroll-edges.d.ts +4 -2
  363. package/dist/esm/hooks/use-scroll-edges.d.ts.map +1 -1
  364. package/dist/esm/hooks/use-scroll-edges.js +1 -1
  365. package/dist/esm/index.js +1 -1
  366. package/dist/esm/props/index.js +1 -1
  367. package/package.json +1 -1
  368. package/src/components/_internal/base-button.css +6 -0
  369. package/src/components/_internal/base-button.tsx +56 -17
  370. package/src/components/_internal/base-sidebar-menu.css +8 -0
  371. package/src/components/_internal/menu-context.tsx +11 -0
  372. package/src/components/_internal/pane-chrome.tsx +45 -8
  373. package/src/components/accordion.css +35 -4
  374. package/src/components/accordion.tsx +12 -16
  375. package/src/components/alert-dialog.tsx +59 -161
  376. package/src/components/avatar.props.tsx +6 -0
  377. package/src/components/avatar.tsx +57 -71
  378. package/src/components/blockquote.tsx +8 -9
  379. package/src/components/chatbar.tsx +27 -20
  380. package/src/components/checkbox-group.primitive.tsx +40 -51
  381. package/src/components/checkbox-group.tsx +1 -9
  382. package/src/components/chip.css +18 -20
  383. package/src/components/chip.tsx +3 -4
  384. package/src/components/code.tsx +3 -2
  385. package/src/components/combobox.css +13 -0
  386. package/src/components/context-menu.tsx +23 -5
  387. package/src/components/dialog.tsx +59 -160
  388. package/src/components/dropdown-menu.tsx +8 -5
  389. package/src/components/icons.tsx +11 -1
  390. package/src/components/image.css +33 -0
  391. package/src/components/image.props.ts +18 -0
  392. package/src/components/image.tsx +71 -0
  393. package/src/components/index.css +1 -0
  394. package/src/components/index.tsx +8 -0
  395. package/src/components/message-scroller.tsx +48 -26
  396. package/src/components/navbar.tsx +34 -69
  397. package/src/components/notice.tsx +6 -3
  398. package/src/components/progress.tsx +6 -3
  399. package/src/components/scroll-area.css +28 -2
  400. package/src/components/scroll-area.tsx +49 -3
  401. package/src/components/segmented-control.css +8 -130
  402. package/src/components/segmented-control.tsx +36 -5
  403. package/src/components/select.tsx +100 -32
  404. package/src/components/separator.tsx +13 -1
  405. package/src/components/sheet.css +7 -6
  406. package/src/components/sheet.tsx +76 -143
  407. package/src/components/shell.css +26 -0
  408. package/src/components/shell.tsx +29 -8
  409. package/src/components/sidebar.tsx +27 -16
  410. package/src/components/slider.css +1 -0
  411. package/src/components/slider.tsx +54 -44
  412. package/src/components/spinner.css +19 -1
  413. package/src/components/spinner.tsx +21 -11
  414. package/src/components/table.tsx +18 -5
  415. package/src/components/tabs.css +34 -0
  416. package/src/components/tabs.tsx +0 -2
  417. package/src/components/text-area.css +2 -1
  418. package/src/components/text-area.tsx +1 -1
  419. package/src/components/text-field.tsx +1 -1
  420. package/src/components/toggle.tsx +21 -39
  421. package/src/components/toolbar.css +34 -0
  422. package/src/components/toolbar.tsx +432 -23
  423. package/src/components/virtual-menu.tsx +110 -37
  424. package/src/hooks/use-scroll-edges.ts +11 -2
  425. package/src/styles/tokens/color.css +1 -22
  426. package/src/styles/utilities/truncate.css +10 -0
  427. package/styles.css +252 -208
  428. package/tokens/base.css +0 -21
  429. package/tokens.css +0 -21
  430. package/utilities.css +5 -0
  431. package/dist/esm/chunk-23KT3D2Z.js +0 -2
  432. package/dist/esm/chunk-3JA7SJDT.js +0 -2
  433. package/dist/esm/chunk-3JA7SJDT.js.map +0 -7
  434. package/dist/esm/chunk-3KQE2PSJ.js +0 -2
  435. package/dist/esm/chunk-3YWVE5GL.js +0 -2
  436. package/dist/esm/chunk-3YWVE5GL.js.map +0 -7
  437. package/dist/esm/chunk-5BWLY27A.js +0 -2
  438. package/dist/esm/chunk-5BWLY27A.js.map +0 -7
  439. package/dist/esm/chunk-6CK7UTNH.js +0 -2
  440. package/dist/esm/chunk-6CK7UTNH.js.map +0 -7
  441. package/dist/esm/chunk-6RK26HIY.js +0 -2
  442. package/dist/esm/chunk-6RK26HIY.js.map +0 -7
  443. package/dist/esm/chunk-7ESWH773.js +0 -2
  444. package/dist/esm/chunk-7ESWH773.js.map +0 -7
  445. package/dist/esm/chunk-7SS4UUJH.js +0 -2
  446. package/dist/esm/chunk-A3YQIJDA.js +0 -2
  447. package/dist/esm/chunk-A3YQIJDA.js.map +0 -7
  448. package/dist/esm/chunk-AB3QCCUM.js +0 -2
  449. package/dist/esm/chunk-AB3QCCUM.js.map +0 -7
  450. package/dist/esm/chunk-BEP4AH5V.js +0 -2
  451. package/dist/esm/chunk-BEP4AH5V.js.map +0 -7
  452. package/dist/esm/chunk-D3U4MWDZ.js +0 -1
  453. package/dist/esm/chunk-DBROSD2J.js +0 -2
  454. package/dist/esm/chunk-DBROSD2J.js.map +0 -7
  455. package/dist/esm/chunk-DSPYHO3L.js +0 -2
  456. package/dist/esm/chunk-E2D2VWUI.js +0 -2
  457. package/dist/esm/chunk-E2D2VWUI.js.map +0 -7
  458. package/dist/esm/chunk-EMNSA65L.js +0 -2
  459. package/dist/esm/chunk-EMNSA65L.js.map +0 -7
  460. package/dist/esm/chunk-FFG32ERA.js.map +0 -7
  461. package/dist/esm/chunk-FHPHEIYJ.js +0 -2
  462. package/dist/esm/chunk-FHPHEIYJ.js.map +0 -7
  463. package/dist/esm/chunk-FJFBM7HW.js +0 -2
  464. package/dist/esm/chunk-FJFBM7HW.js.map +0 -7
  465. package/dist/esm/chunk-HIKMKGPT.js +0 -2
  466. package/dist/esm/chunk-HIKMKGPT.js.map +0 -7
  467. package/dist/esm/chunk-IJRBX6EV.js +0 -2
  468. package/dist/esm/chunk-IJRBX6EV.js.map +0 -7
  469. package/dist/esm/chunk-KMDXIZAG.js +0 -2
  470. package/dist/esm/chunk-KMDXIZAG.js.map +0 -7
  471. package/dist/esm/chunk-LC5AK2ZD.js +0 -2
  472. package/dist/esm/chunk-LC5AK2ZD.js.map +0 -7
  473. package/dist/esm/chunk-LHIS3UKQ.js +0 -2
  474. package/dist/esm/chunk-LHIS3UKQ.js.map +0 -7
  475. package/dist/esm/chunk-NLXJZJNN.js +0 -2
  476. package/dist/esm/chunk-NLXJZJNN.js.map +0 -7
  477. package/dist/esm/chunk-QOHJIF25.js +0 -2
  478. package/dist/esm/chunk-QOHJIF25.js.map +0 -7
  479. package/dist/esm/chunk-R4XJNQX5.js +0 -2
  480. package/dist/esm/chunk-R4XJNQX5.js.map +0 -7
  481. package/dist/esm/chunk-TJL47GIO.js +0 -2
  482. package/dist/esm/chunk-V32EP3S7.js +0 -2
  483. package/dist/esm/chunk-V32EP3S7.js.map +0 -7
  484. package/dist/esm/chunk-WKSXMFFF.js +0 -2
  485. package/dist/esm/chunk-WKSXMFFF.js.map +0 -7
  486. package/dist/esm/chunk-XKSU3NLG.js +0 -2
  487. package/dist/esm/chunk-Y3JYEEFB.js +0 -2
  488. package/dist/esm/chunk-YK3ZUMRQ.js +0 -2
  489. package/dist/esm/chunk-YK3ZUMRQ.js.map +0 -7
  490. package/dist/esm/chunk-YZM54IJE.js +0 -2
  491. package/dist/esm/chunk-YZM54IJE.js.map +0 -7
  492. package/dist/esm/chunk-ZJI2IK7C.js +0 -2
  493. package/dist/esm/chunk-ZJI2IK7C.js.map +0 -7
  494. package/dist/esm/chunk-ZNDCZM5A.js +0 -2
  495. /package/dist/esm/{chunk-T62PRLPN.js.map → chunk-KEGCX5VM.js.map} +0 -0
  496. /package/dist/esm/{chunk-D3U4MWDZ.js.map → chunk-MYYXOFU5.js.map} +0 -0
  497. /package/dist/esm/{chunk-HKPXDQ2B.js.map → chunk-NC3CJUE3.js.map} +0 -0
  498. /package/dist/esm/{chunk-OJQNLROL.js.map → chunk-UY6WJUNA.js.map} +0 -0
  499. /package/dist/esm/{chunk-JBHRV364.js.map → chunk-VUPIJNG2.js.map} +0 -0
  500. /package/dist/esm/{chunk-NNZTSXKH.js.map → chunk-WX7SX5BN.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/_internal/base-button.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from 'radix-ui';\nimport { useComposedRefs, useLayoutEffect } from 'radix-ui/internal';\n\nimport { baseButtonPropDefs } from './base-button.props.js';\nimport { Flex } from '../flex.js';\nimport { Spinner } from '../spinner.js';\nimport { TickIcon } from '../icons.js';\nimport { extractProps } from '../../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../../helpers/theme-size.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../../props/prop-def.js';\n\ntype BaseButtonElement = React.ElementRef<'button'>;\ntype BaseButtonOwnProps = GetPropDefTypes<typeof baseButtonPropDefs>;\n\n/**\n * Polymorphic BaseButton props that support rendering as different HTML elements\n * Uses the proper ComponentPropsWithout pattern for type safety\n * @template C - The element type to render as (defaults to 'button')\n */\ntype PolymorphicBaseButtonProps<C extends React.ElementType = 'button'> = {\n /** Element type to render as (e.g., 'a', 'span', etc.) */\n as?: C;\n} & BaseButtonOwnProps &\n BaseButtonDoneProps &\n ComponentPropsWithout<C, RemovedProps | keyof BaseButtonOwnProps | 'as' | 'done'>;\n\ninterface BaseButtonDoneProps {\n /**\n * Shows a tick in place of the icon to say that the action finished. The tick takes the\n * icon's box, so nothing moves, and the icon comes back as soon as `done` is false again. On\n * an `iconOnly` button the tick replaces the content. It doesn't block the press. Screen\n * readers don't announce the tick, so also change the label or `aria-label` (for example,\n * `Copy` to `Copied`).\n */\n done?: boolean;\n}\n\n/**\n * BaseButton props interface that combines all available props\n */\ninterface BaseButtonProps extends PolymorphicBaseButtonProps {}\n\n/**\n * BaseButton component that provides the core button functionality\n *\n * This is the foundational button component that handles all the complex logic\n * including loading states, accessibility, performance optimizations, and\n * polymorphic rendering. It's used by Button and Toggle to ensure consistent behavior across the design system.\n *\n * Key features:\n * - Loading state with spinner and accessibility announcements\n * - Comprehensive accessibility support\n * - Polymorphic rendering support\n *\n * @example\n * ```tsx\n * // Basic usage\n * <BaseButton>Click me</BaseButton>\n *\n * // With loading state\n * <BaseButton loading>Processing...</BaseButton>\n *\n * // Polymorphic rendering\n * <BaseButton as=\"a\" href=\"/link\">Link Button</BaseButton>\n * ```\n */\nconst BaseButton = React.forwardRef<BaseButtonElement, BaseButtonProps>((ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, baseButtonPropDefs.size);\n\n // Extract button-specific props from the combined props object\n const {\n className,\n children,\n asChild,\n as,\n color,\n radius,\n disabled: nativeDisabled,\n done = false,\n ...baseButtonProps\n } = extractProps(props, baseButtonPropDefs);\n\n // Loading blocks activation but keeps the native `disabled` off, so the button keeps focus\n // and its place in the tab order (aria-disabled carries the state). An explicit `disabled`\n // stays native on form controls; on anything else (a link, an asChild child) the `disabled`\n // attribute does nothing, so aria-disabled carries the state and the click is stopped here.\n const loading = Boolean(props.loading);\n const disabled = Boolean(nativeDisabled) || loading;\n const { onClick, 'aria-describedby': ariaDescribedByProp } = baseButtonProps as {\n onClick?: React.MouseEventHandler<HTMLElement>;\n 'aria-describedby'?: string;\n };\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n if (disabled) {\n event.preventDefault();\n return;\n }\n onClick?.(event);\n },\n [disabled, onClick],\n );\n\n // Which edges start or end with an icon. A bare edge pads wider under a full radius; an edge\n // holding an icon keeps the plain padding (the icon already stands between text and curve).\n // Only an svg is an icon. Rendering reads the children for an svg element at either end, so\n // the server output is right for inline svgs; after mount the rendered DOM settles it, which\n // also catches icon components (they render an svg) and rules out wrapped text (`<Text>`,\n // `<Kbd>`, `<Trans>`), whose first node is not an svg.\n const childEdges = React.useMemo(() => {\n const content =\n asChild && React.isValidElement(children) ? (children.props as { children?: React.ReactNode }).children : children;\n // Fragments are see-through: their own first and last children are the edges.\n const items = flattenFragments(content);\n const isIcon = (node: React.ReactNode) => React.isValidElement(node) && node.type === 'svg';\n return { iconStart: isIcon(items[0]), iconEnd: isIcon(items[items.length - 1]) };\n }, [asChild, children]);\n const [domEdges, setDomEdges] = React.useState<{ iconStart: boolean; iconEnd: boolean } | null>(null);\n const elementRef = React.useRef<HTMLElement>(null);\n const composedRef = useComposedRefs(forwardedRef, elementRef as React.Ref<BaseButtonElement>);\n useLayoutEffect(() => {\n const element = elementRef.current;\n // While loading the label sits in a wrapper, and while done the tick stands at the start;\n // keep the edges read before either.\n if (!element || loading || done) return;\n const iconStart = edgeIsSvg(element, 'start');\n const iconEnd = edgeIsSvg(element, 'end');\n setDomEdges((prev) => (prev && prev.iconStart === iconStart && prev.iconEnd === iconEnd ? prev : { iconStart, iconEnd }));\n });\n const { iconStart, iconEnd } = domEdges ?? childEdges;\n\n // Done swaps the icon for a tick in the same place: the leading icon when there is one, the\n // whole content on an icon-only button. Without a leading icon the tick goes before the label.\n const iconOnly = Boolean((baseButtonProps as Record<string, unknown>)['data-icon-only']);\n const content = React.useMemo(() => {\n if (!done) return children;\n const tick = <TickIcon key=\"kui-done-tick\" className=\"kui-BaseButtonTick\" aria-hidden />;\n const swap = (nodes: React.ReactNode): React.ReactNode => {\n if (iconOnly) return tick;\n const items = flattenFragments(nodes);\n const first = items.findIndex((node) => !(typeof node === 'string' && !node.trim()));\n if (iconStart && first !== -1) return items.map((node, index) => (index === first ? tick : node));\n return [tick, ...items];\n };\n if (asChild && React.isValidElement(children)) {\n const element = children as React.ReactElement<{ children?: React.ReactNode }>;\n return React.cloneElement(element, undefined, swap(element.props.children));\n }\n return swap(children);\n }, [done, children, iconOnly, iconStart, asChild]);\n\n // asChild takes precedence over as prop for Radix Slot integration\n // When asChild is true, we use Slot.Root to merge props onto the child element\n // When asChild is false, we render as the specified element (or button by default)\n const Comp = asChild ? Slot.Root : (as || 'button');\n\n // Only pass disabled for elements that support it\n // This prevents invalid HTML attributes on unsupported elements\n const shouldPassDisabled = asChild || !as || ['button', 'input', 'textarea', 'select'].includes(as);\n\n // Determine if we are rendering a real <button> element so we can set a safe\n // default type. Native <button> defaults to type=\"submit\" which can cause\n // accidental form submissions. We default to type=\"button\" unless the user\n // explicitly provided a type or we're using asChild (unknown underlying node).\n const isNativeButtonElement = !asChild && (!as || as === 'button');\n const hasExplicitTypeAttribute = 'type' in (baseButtonProps as Record<string, unknown>);\n\n // Generate unique ID for loading announcements\n const loadingId = React.useId();\n const describedById = loading ? `${loadingId}-loading` : undefined;\n\n // Loading keeps the caller's name (aria-label, aria-labelledby or the label text) and adds\n // aria-busy plus a description, as v2 does. A disabled element with no native `disabled`\n // announces itself through aria-disabled.\n const accessibilityProps = React.useMemo(() => {\n if (loading) {\n return {\n 'aria-busy': true,\n 'aria-disabled': true,\n 'aria-describedby': [ariaDescribedByProp, describedById].filter(Boolean).join(' '),\n };\n }\n if (nativeDisabled && (!shouldPassDisabled || asChild)) {\n return { 'aria-disabled': true };\n }\n return {};\n }, [loading, describedById, ariaDescribedByProp, nativeDisabled, shouldPassDisabled, asChild]);\n\n return (\n <Comp\n data-accent-color={color}\n data-radius={radius}\n data-icon-start={iconStart || undefined}\n data-icon-end={iconEnd || undefined}\n data-done={done || undefined}\n {...baseButtonProps}\n {...accessibilityProps}\n // After the spread: `data-disabled` styles `<Button asChild disabled>`, and a wrapping\n // Radix Toggle (asChild) passes `data-disabled={undefined}` that must not erase it.\n data-disabled={disabled || undefined}\n onClick={handleClick}\n ref={composedRef}\n className={classNames('kui-reset', 'kui-BaseButton', className)}\n {...(shouldPassDisabled && { disabled: nativeDisabled })}\n {...(isNativeButtonElement && !hasExplicitTypeAttribute ? { type: 'button' } : {})}\n >\n {props.loading ? (\n <>\n {/**\n * We need a wrapper to set `visibility: hidden` to hide the button content whilst we show the `Spinner`.\n * The button is a flex container with a `gap`, so we use `display: contents` to ensure the correct flex layout.\n *\n * However, `display: contents` removes the content from the accessibility tree in some browsers,\n * so we force remove it with `aria-hidden` and re-add it in the tree with a `kui-sr-only` copy.\n * Both are classes, not style attributes, so a loading button carries no inline style.\n */}\n <span className=\"kui-BaseButtonContent\" aria-hidden>\n {content}\n </span>\n\n {/* The label stays the name; the hidden \"Loading\" only describes (aria-describedby reads hidden text). */}\n <span className=\"kui-sr-only\">\n <span id={describedById} aria-hidden>\n Loading\n </span>\n {children}\n </span>\n\n {/* Centered spinner overlay during loading state */}\n <Flex asChild align=\"center\" justify=\"center\" position=\"absolute\" inset=\"0\">\n <span>\n <Spinner aria-hidden=\"true\" />\n </span>\n </Flex>\n </>\n ) : (\n content\n )}\n </Comp>\n );\n});\nBaseButton.displayName = 'BaseButton';\n\n/** The child list with fragments opened up: a fragment's own children are the edges. */\nfunction flattenFragments(nodes: React.ReactNode): React.ReactNode[] {\n return React.Children.toArray(nodes).flatMap((node) =>\n React.isValidElement(node) && node.type === React.Fragment\n ? flattenFragments((node.props as { children?: React.ReactNode }).children)\n : [node],\n );\n}\n\n/** Whether the first or last rendered node of `element` (blank text and comments skipped) is an svg. */\nfunction edgeIsSvg(element: Element, edge: 'start' | 'end'): boolean {\n let node = edge === 'start' ? element.firstChild : element.lastChild;\n while (node) {\n const blank =\n node.nodeType === Node.COMMENT_NODE || (node.nodeType === Node.TEXT_NODE && !node.textContent?.trim());\n if (!blank) break;\n node = edge === 'start' ? node.nextSibling : node.previousSibling;\n }\n return node?.nodeType === Node.ELEMENT_NODE && (node as Element).localName === 'svg';\n}\n\nexport { BaseButton };\nexport type { BaseButtonProps };\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "classNames", "Slot", "useComposedRefs", "useLayoutEffect", "BaseButton", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "baseButtonPropDefs", "className", "children", "asChild", "as", "color", "radius", "nativeDisabled", "done", "baseButtonProps", "extractProps", "loading", "disabled", "onClick", "ariaDescribedByProp", "handleClick", "event", "childEdges", "content", "items", "flattenFragments", "isIcon", "node", "domEdges", "setDomEdges", "elementRef", "composedRef", "useComposedRefs", "useLayoutEffect", "element", "iconStart", "edgeIsSvg", "iconEnd", "prev", "iconOnly", "tick", "TickIcon", "swap", "nodes", "first", "index", "Comp", "Slot", "shouldPassDisabled", "isNativeButtonElement", "hasExplicitTypeAttribute", "loadingId", "describedById", "accessibilityProps", "classNames", "Flex", "Spinner", "edge"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as u}from"./chunk-3XZOE2IQ.js";import{j as C}from"./chunk-3PTKPDSA.js";import*as e from"react";import s from"classnames";var m=e.createContext(null);function d(){return e.useContext(m)}var S=e.createContext("2"),p=e.createContext(!1);function N({children:t,presentation:n}){let a=e.useContext(S),o=e.useMemo(()=>({size:a,menuVariant:"soft",presentation:n}),[a,n]);return e.createElement(m.Provider,{value:o},t)}function P(){let t=d(),n=e.useContext(S),a=t?.size??n,o=t?.menuVariant??"soft";return["kui-ShellPaneChrome",`kui-r-size-${a}`,`kui-menu-variant-${o}`]}var x={1:"2",2:"3",3:"4",4:"4"},c=e.createContext(void 0);function f(){let t=d(),n=e.useContext(S);return x[t?.size??n]}function H(){let t=e.useContext(c),n=e.useContext(C)!==null,a=f();return t!==void 0?t:n?a:null}var h=e.forwardRef(({className:t,float:n,children:a,...o},r)=>{let i=P(),l=f();return e.createElement("div",{...o,ref:r,"data-float":n||void 0,className:s("kui-ShellPaneHeader","kui-SidebarHeader","kui-SidebarHeader--container",...i,t)},e.createElement(c.Provider,{value:l},a))});h.displayName="Shell.PaneHeader";var R=e.forwardRef(({className:t,float:n,children:a,...o},r)=>{let i=P(),l=f();return e.createElement("div",{...o,ref:r,"data-float":n||void 0,className:s("kui-ShellPaneFooter","kui-SidebarFooter","kui-SidebarFooter--container",...i,t)},e.createElement(c.Provider,{value:l},a))});R.displayName="Shell.PaneFooter";var z=e.forwardRef(({className:t,children:n,fade:a=!1,...o},r)=>{let i=P(),l=e.useContext(p),v=d();return l&&v===null?e.createElement(u,{type:"hover",fade:a,className:"kui-ShellScroll"},e.createElement("div",{...o,ref:r,className:s("kui-ShellScrollContent",t)},n)):e.createElement(u,{type:"hover",fade:a,className:"kui-ShellScroll"},e.createElement("div",{...o,ref:r,className:s("kui-BaseMenuContent","kui-SidebarContent",...i,t)},e.createElement(c.Provider,{value:null},e.createElement("div",{className:"kui-BaseMenuViewport"},n))))});z.displayName="Shell.Scroll";export{m as a,d as b,S as c,p as d,N as e,x as f,H as g,h,R as i,z as j};
2
+ //# sourceMappingURL=chunk-4ZOVV3TY.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/_internal/pane-chrome.tsx"],
4
+ "sourcesContent": ["'use client';\n\n/**\n * A pane's own chrome: a header row, a scrolling region and a footer row.\n *\n * Shell.Sidebar and Shell.Panel render these as `Shell.PaneHeader`, `Shell.Scroll` and\n * `Shell.PaneFooter`. The pane renders anything; with these parts it is the presentation, so\n * Sidebar's menu parts work inside it with no `Sidebar.Root`. The index comes from the nearest\n * Shell (`Shell.Root size`), or from a deprecated `Sidebar.Root` that still wraps them.\n */\n\nimport * as React from 'react';\nimport classNames from 'classnames';\n\nimport { ScrollArea } from '../scroll-area.js';\nimport { ShellStoreContext } from './shell-store.js';\n\ntype PaneSize = '1' | '2' | '3';\n\ntype SidebarVisualContextValue = {\n size: PaneSize;\n menuVariant: 'solid' | 'soft';\n presentation?: 'thin' | 'expanded';\n color?: string;\n};\n\n/** Size, menu highlight and presentation for the Sidebar parts. Internal: not exported. */\nconst SidebarVisualContext = React.createContext<SidebarVisualContextValue | null>(null);\n\nfunction useSidebarVisual() {\n return React.useContext(SidebarVisualContext);\n}\n\n/** The Shell's index. `Shell.Root size` sets it; panes hand it to their chrome. */\nconst ShellSizeContext = React.createContext<PaneSize>('2');\n\n/**\n * True inside `Shell.Content`. `Shell.Root` sets it back to false, so a Shell nested in the\n * content gets pane chrome in its own panes. Read by `Shell.Scroll`: in the content it holds a\n * page, not a menu, so it takes none of the menu's padding, gap or layering.\n */\nconst ShellContentContext = React.createContext(false);\n\n/**\n * Gives a Shell pane's children the Shell's index, so Sidebar parts size themselves. In a Rail\n * the rows are `thin`: icon tiles with a small label, sub-menus as dropdowns.\n */\nfunction PaneChromeScope({ children, presentation }: { children: React.ReactNode; presentation?: 'thin' }) {\n const size = React.useContext(ShellSizeContext);\n const value = React.useMemo<SidebarVisualContextValue>(() => ({ size, menuVariant: 'soft', presentation }), [size, presentation]);\n return <SidebarVisualContext.Provider value={value}>{children}</SidebarVisualContext.Provider>;\n}\n\nfunction useChromeClasses() {\n const visual = useSidebarVisual();\n // A pane with no scope (Inspector, Bottom) still takes the Shell's index.\n const shellSize = React.useContext(ShellSizeContext);\n const size = visual?.size ?? shellSize;\n const menuVariant = visual?.menuVariant ?? 'soft';\n return ['kui-ShellPaneChrome', `kui-r-size-${size}`, `kui-menu-variant-${menuVariant}`];\n}\n\ntype BandSize = '1' | '2' | '3' | '4';\n\n/**\n * The index a Toolbar in a pane's header or footer rests at when it states none: one step above\n * the Shell's, so the band reads as chrome over the rows (v2 BAND_STEP). 4 has no step above.\n */\nconst BAND_STEP = { '1': '2', '2': '3', '3': '4', '4': '4' } as const satisfies Record<BandSize, BandSize>;\n\n/**\n * Set by `Shell.PaneHeader` and `Shell.PaneFooter` to their band size, and by `Shell.Scroll` to\n * null (a scrolling list has no band). Unset (`undefined`) everywhere else.\n */\nconst PaneBandSizeContext = React.createContext<BandSize | null | undefined>(undefined);\n\nfunction useBandSize(): BandSize {\n const visual = useSidebarVisual();\n const shellSize = React.useContext(ShellSizeContext);\n return BAND_STEP[visual?.size ?? shellSize];\n}\n\n/**\n * The size a Toolbar with no `size` of its own rests at, or null for none.\n *\n * In a pane's header or footer it is that band's size. Anywhere else inside a Shell, such as\n * `Shell.Content` or a pane's body, it is the same step: one above the Shell's index, so a\n * toolbar in the content area matches the ones in the pane headers beside it (v2 sizes every\n * toolbar this way). A pane's scrolling list, and anything outside a Shell, has none.\n */\nfunction usePaneBandSize(): BandSize | null {\n const band = React.useContext(PaneBandSizeContext);\n const inShell = React.useContext(ShellStoreContext) !== null;\n const step = useBandSize();\n if (band !== undefined) return band;\n return inShell ? step : null;\n}\n\ninterface PaneHeaderProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Floats the row over the top of `Shell.Scroll`, so the list scrolls behind it. The list\n * starts below the row, and `Shell.Scroll fade` fades it out under the row. The row paints\n * nothing and lets clicks through between its controls; a `Toolbar backdrop` in it keeps\n * the controls readable.\n */\n float?: boolean;\n}\n\n/** A pane's header row, pinned above its scrolling region. */\nconst PaneHeader = React.forwardRef<HTMLDivElement, PaneHeaderProps>(({ className, float, children, ...props }, forwardedRef) => {\n const chrome = useChromeClasses();\n const band = useBandSize();\n return (\n <div\n {...props}\n ref={forwardedRef}\n data-float={float || undefined}\n className={classNames('kui-ShellPaneHeader', 'kui-SidebarHeader', 'kui-SidebarHeader--container', ...chrome, className)}\n >\n <PaneBandSizeContext.Provider value={band}>{children}</PaneBandSizeContext.Provider>\n </div>\n );\n});\nPaneHeader.displayName = 'Shell.PaneHeader';\n\ninterface PaneFooterProps extends React.ComponentPropsWithoutRef<'div'> {\n /** Floats the row over the bottom of `Shell.Scroll`, the way `Shell.PaneHeader float` does at the top. */\n float?: boolean;\n}\n\n/** A pane's footer row, pinned below its scrolling region. */\nconst PaneFooter = React.forwardRef<HTMLDivElement, PaneFooterProps>(({ className, float, children, ...props }, forwardedRef) => {\n const chrome = useChromeClasses();\n const band = useBandSize();\n return (\n <div\n {...props}\n ref={forwardedRef}\n data-float={float || undefined}\n className={classNames('kui-ShellPaneFooter', 'kui-SidebarFooter', 'kui-SidebarFooter--container', ...chrome, className)}\n >\n <PaneBandSizeContext.Provider value={band}>{children}</PaneBandSizeContext.Provider>\n </div>\n );\n});\nPaneFooter.displayName = 'Shell.PaneFooter';\n\ninterface ScrollProps extends React.ComponentPropsWithoutRef<'div'> {\n /** Fades the list out toward an edge with more past it, and under a floating header or footer. */\n fade?: boolean;\n}\n\n/**\n * The one region of a pane that scrolls; it takes the room the header and footer leave.\n * In `Shell.Content` it is the page's scroller, and a `Shell.PaneHeader float` beside it pins\n * the page's toolbar over it. It is not a landmark: for navigation, pass `role=\"navigation\"` and an `aria-label`.\n */\nconst Scroll = React.forwardRef<HTMLDivElement, ScrollProps>(({ className, children, fade = false, ...props }, forwardedRef) => {\n const chrome = useChromeClasses();\n // A Sidebar.Root inside the content still gets a menu.\n const contentPane = React.useContext(ShellContentContext);\n const visual = useSidebarVisual();\n const inContent = contentPane && visual === null;\n if (inContent) {\n return (\n <ScrollArea type=\"hover\" fade={fade} className=\"kui-ShellScroll\">\n <div {...props} ref={forwardedRef} className={classNames('kui-ShellScrollContent', className)}>\n {children}\n </div>\n </ScrollArea>\n );\n }\n return (\n <ScrollArea type=\"hover\" fade={fade} className=\"kui-ShellScroll\">\n <div {...props} ref={forwardedRef} className={classNames('kui-BaseMenuContent', 'kui-SidebarContent', ...chrome, className)}>\n {/* A header's band does not reach a Toolbar in the scrolling list. */}\n <PaneBandSizeContext.Provider value={null}>\n <div className=\"kui-BaseMenuViewport\">{children}</div>\n </PaneBandSizeContext.Provider>\n </div>\n </ScrollArea>\n );\n});\nScroll.displayName = 'Shell.Scroll';\n\nexport { SidebarVisualContext, useSidebarVisual, ShellSizeContext, ShellContentContext, PaneChromeScope, PaneHeader, PaneFooter, Scroll, BAND_STEP, usePaneBandSize };\nexport type { SidebarVisualContextValue, PaneSize, BandSize, PaneHeaderProps, PaneFooterProps, ScrollProps };\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "classNames", "SidebarVisualContext", "useSidebarVisual", "ShellSizeContext", "ShellContentContext", "PaneChromeScope", "children", "presentation", "size", "value", "useChromeClasses", "visual", "shellSize", "menuVariant", "BAND_STEP", "PaneBandSizeContext", "useBandSize", "usePaneBandSize", "band", "inShell", "ShellStoreContext", "step", "PaneHeader", "className", "float", "props", "forwardedRef", "chrome", "classNames", "PaneFooter", "Scroll", "fade", "contentPane", "ScrollArea"]
7
+ }
@@ -1,2 +1,2 @@
1
- import o from"react";var n=o.forwardRef((e,r)=>o.createElement("svg",{width:"9",height:"9",viewBox:"0 0 9 9",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",...e,ref:r},o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0.75 4.5C0.75 4.08579 1.08579 3.75 1.5 3.75H7.5C7.91421 3.75 8.25 4.08579 8.25 4.5C8.25 4.91421 7.91421 5.25 7.5 5.25H1.5C1.08579 5.25 0.75 4.91421 0.75 4.5Z"})));n.displayName="ThickDividerHorizontalIcon";var t=o.forwardRef((e,r)=>o.createElement("svg",{width:"9",height:"9",viewBox:"0 0 9 9",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",...e,ref:r},o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.53547 0.62293C8.88226 0.849446 8.97976 1.3142 8.75325 1.66099L4.5083 8.1599C4.38833 8.34356 4.19397 8.4655 3.9764 8.49358C3.75883 8.52167 3.53987 8.45309 3.3772 8.30591L0.616113 5.80777C0.308959 5.52987 0.285246 5.05559 0.563148 4.74844C0.84105 4.44128 1.31533 4.41757 1.62249 4.69547L3.73256 6.60459L7.49741 0.840706C7.72393 0.493916 8.18868 0.396414 8.53547 0.62293Z"})));t.displayName="ThickCheckIcon";var i=o.forwardRef((e,r)=>o.createElement("svg",{width:"9",height:"9",viewBox:"0 0 9 9",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",...e,ref:r},o.createElement("path",{d:"M0.135232 3.15803C0.324102 2.95657 0.640521 2.94637 0.841971 3.13523L4.5 6.56464L8.158 3.13523C8.3595 2.94637 8.6759 2.95657 8.8648 3.15803C9.0536 3.35949 9.0434 3.67591 8.842 3.86477L4.84197 7.6148C4.64964 7.7951 4.35036 7.7951 4.15803 7.6148L0.158031 3.86477C-0.0434285 3.67591 -0.0536285 3.35949 0.135232 3.15803Z"})));i.displayName="ChevronDownIcon";var s=o.forwardRef((e,r)=>o.createElement("svg",{width:"9",height:"9",viewBox:"0 0 9 9",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",...e,ref:r},o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M3.23826 0.201711C3.54108 -0.0809141 4.01567 -0.0645489 4.29829 0.238264L7.79829 3.98826C8.06724 4.27642 8.06724 4.72359 7.79829 5.01174L4.29829 8.76174C4.01567 9.06455 3.54108 9.08092 3.23826 8.79829C2.93545 8.51567 2.91909 8.04108 3.20171 7.73826L6.22409 4.5L3.20171 1.26174C2.91909 0.958928 2.93545 0.484337 3.23826 0.201711Z"})));s.displayName="ThickChevronRightIcon";var l=o.forwardRef((e,r)=>o.createElement("svg",{width:"9",height:"9",viewBox:"0 0 9 9",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",...e,ref:r},o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.76174 0.201711C5.45892 -0.0809141 4.98433 -0.0645489 4.70171 0.238264L1.20171 3.98826C0.932757 4.27642 0.932757 4.72359 1.20171 5.01174L4.70171 8.76174C4.98433 9.06455 5.45892 9.08092 5.76174 8.79829C6.06455 8.51567 6.08091 8.04108 5.79829 7.73826L2.77591 4.5L5.79829 1.26174C6.08091 0.958928 6.06455 0.484337 5.76174 0.201711Z"})));l.displayName="ThickChevronLeftIcon";var h=o.forwardRef((e,r)=>o.createElement("svg",{width:"9",height:"9",viewBox:"0 0 9 9",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",...e,ref:r},o.createElement("circle",{cx:"4.5",cy:"4.5",r:"2"})));h.displayName="ThickDotIcon";var d=o.forwardRef((e,r)=>o.createElement("svg",{...e,ref:r,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o.createElement("path",{d:"M18 6 6 18"}),o.createElement("path",{d:"m6 6 12 12"})));d.displayName="CloseIcon";var p=o.forwardRef((e,r)=>o.createElement("svg",{...e,ref:r,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o.createElement("path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551"})));p.displayName="PaperclipIcon";var c=o.forwardRef((e,r)=>o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o.createElement("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),o.createElement("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"})));c.displayName="FileIcon";var w=o.forwardRef((e,r)=>o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o.createElement("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),o.createElement("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"}),o.createElement("path",{d:"M10 9H8"}),o.createElement("path",{d:"M16 13H8"}),o.createElement("path",{d:"M16 17H8"})));w.displayName="FileTextIcon";export{n as a,t as b,i as c,s as d,l as e,h as f,d as g,p as h,c as i,w as j};
2
- //# sourceMappingURL=chunk-IX5HIHVI.js.map
1
+ import o from"react";var n=o.forwardRef((e,r)=>o.createElement("svg",{width:"9",height:"9",viewBox:"0 0 9 9",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",...e,ref:r},o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0.75 4.5C0.75 4.08579 1.08579 3.75 1.5 3.75H7.5C7.91421 3.75 8.25 4.08579 8.25 4.5C8.25 4.91421 7.91421 5.25 7.5 5.25H1.5C1.08579 5.25 0.75 4.91421 0.75 4.5Z"})));n.displayName="ThickDividerHorizontalIcon";var t=o.forwardRef((e,r)=>o.createElement("svg",{width:"9",height:"9",viewBox:"0 0 9 9",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",...e,ref:r},o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.53547 0.62293C8.88226 0.849446 8.97976 1.3142 8.75325 1.66099L4.5083 8.1599C4.38833 8.34356 4.19397 8.4655 3.9764 8.49358C3.75883 8.52167 3.53987 8.45309 3.3772 8.30591L0.616113 5.80777C0.308959 5.52987 0.285246 5.05559 0.563148 4.74844C0.84105 4.44128 1.31533 4.41757 1.62249 4.69547L3.73256 6.60459L7.49741 0.840706C7.72393 0.493916 8.18868 0.396414 8.53547 0.62293Z"})));t.displayName="ThickCheckIcon";var i=o.forwardRef((e,r)=>o.createElement("svg",{width:"9",height:"9",viewBox:"0 0 9 9",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",...e,ref:r},o.createElement("path",{d:"M0.135232 3.15803C0.324102 2.95657 0.640521 2.94637 0.841971 3.13523L4.5 6.56464L8.158 3.13523C8.3595 2.94637 8.6759 2.95657 8.8648 3.15803C9.0536 3.35949 9.0434 3.67591 8.842 3.86477L4.84197 7.6148C4.64964 7.7951 4.35036 7.7951 4.15803 7.6148L0.158031 3.86477C-0.0434285 3.67591 -0.0536285 3.35949 0.135232 3.15803Z"})));i.displayName="ChevronDownIcon";var s=o.forwardRef((e,r)=>o.createElement("svg",{width:"9",height:"9",viewBox:"0 0 9 9",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",...e,ref:r},o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M3.23826 0.201711C3.54108 -0.0809141 4.01567 -0.0645489 4.29829 0.238264L7.79829 3.98826C8.06724 4.27642 8.06724 4.72359 7.79829 5.01174L4.29829 8.76174C4.01567 9.06455 3.54108 9.08092 3.23826 8.79829C2.93545 8.51567 2.91909 8.04108 3.20171 7.73826L6.22409 4.5L3.20171 1.26174C2.91909 0.958928 2.93545 0.484337 3.23826 0.201711Z"})));s.displayName="ThickChevronRightIcon";var l=o.forwardRef((e,r)=>o.createElement("svg",{width:"9",height:"9",viewBox:"0 0 9 9",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",...e,ref:r},o.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.76174 0.201711C5.45892 -0.0809141 4.98433 -0.0645489 4.70171 0.238264L1.20171 3.98826C0.932757 4.27642 0.932757 4.72359 1.20171 5.01174L4.70171 8.76174C4.98433 9.06455 5.45892 9.08092 5.76174 8.79829C6.06455 8.51567 6.08091 8.04108 5.79829 7.73826L2.77591 4.5L5.79829 1.26174C6.08091 0.958928 6.06455 0.484337 5.76174 0.201711Z"})));l.displayName="ThickChevronLeftIcon";var h=o.forwardRef((e,r)=>o.createElement("svg",{width:"9",height:"9",viewBox:"0 0 9 9",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",...e,ref:r},o.createElement("circle",{cx:"4.5",cy:"4.5",r:"2"})));h.displayName="ThickDotIcon";var d=o.forwardRef((e,r)=>o.createElement("svg",{...e,ref:r,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o.createElement("path",{d:"M18 6 6 18"}),o.createElement("path",{d:"m6 6 12 12"})));d.displayName="CloseIcon";var p=o.forwardRef((e,r)=>o.createElement("svg",{...e,ref:r,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o.createElement("path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551"})));p.displayName="PaperclipIcon";var c=o.forwardRef((e,r)=>o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o.createElement("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),o.createElement("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"})));c.displayName="FileIcon";var w=o.forwardRef((e,r)=>o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o.createElement("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),o.createElement("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"}),o.createElement("path",{d:"M10 9H8"}),o.createElement("path",{d:"M16 13H8"}),o.createElement("path",{d:"M16 17H8"})));w.displayName="FileTextIcon";var v=o.forwardRef((e,r)=>o.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,ref:r},o.createElement("path",{d:"M5 12.75L9.5 17.25L19 7.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})));v.displayName="TickIcon";export{n as a,t as b,i as c,s as d,l as e,h as f,d as g,p as h,c as i,w as j,v as k};
2
+ //# sourceMappingURL=chunk-62ZGP4ET.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/icons.tsx"],
4
- "sourcesContent": ["import React from 'react';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\ntype IconElement = React.ElementRef<'svg'>;\ninterface IconProps extends ComponentPropsWithout<'svg', RemovedProps | 'children'> {}\n\nconst ThickDividerHorizontalIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0.75 4.5C0.75 4.08579 1.08579 3.75 1.5 3.75H7.5C7.91421 3.75 8.25 4.08579 8.25 4.5C8.25 4.91421 7.91421 5.25 7.5 5.25H1.5C1.08579 5.25 0.75 4.91421 0.75 4.5Z\"\n />\n </svg>\n );\n});\n\nThickDividerHorizontalIcon.displayName = 'ThickDividerHorizontalIcon';\n\nconst ThickCheckIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.53547 0.62293C8.88226 0.849446 8.97976 1.3142 8.75325 1.66099L4.5083 8.1599C4.38833 8.34356 4.19397 8.4655 3.9764 8.49358C3.75883 8.52167 3.53987 8.45309 3.3772 8.30591L0.616113 5.80777C0.308959 5.52987 0.285246 5.05559 0.563148 4.74844C0.84105 4.44128 1.31533 4.41757 1.62249 4.69547L3.73256 6.60459L7.49741 0.840706C7.72393 0.493916 8.18868 0.396414 8.53547 0.62293Z\"\n />\n </svg>\n );\n});\nThickCheckIcon.displayName = 'ThickCheckIcon';\n\nconst ChevronDownIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path d=\"M0.135232 3.15803C0.324102 2.95657 0.640521 2.94637 0.841971 3.13523L4.5 6.56464L8.158 3.13523C8.3595 2.94637 8.6759 2.95657 8.8648 3.15803C9.0536 3.35949 9.0434 3.67591 8.842 3.86477L4.84197 7.6148C4.64964 7.7951 4.35036 7.7951 4.15803 7.6148L0.158031 3.86477C-0.0434285 3.67591 -0.0536285 3.35949 0.135232 3.15803Z\" />\n </svg>\n );\n});\nChevronDownIcon.displayName = 'ChevronDownIcon';\n\nconst ThickChevronRightIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.23826 0.201711C3.54108 -0.0809141 4.01567 -0.0645489 4.29829 0.238264L7.79829 3.98826C8.06724 4.27642 8.06724 4.72359 7.79829 5.01174L4.29829 8.76174C4.01567 9.06455 3.54108 9.08092 3.23826 8.79829C2.93545 8.51567 2.91909 8.04108 3.20171 7.73826L6.22409 4.5L3.20171 1.26174C2.91909 0.958928 2.93545 0.484337 3.23826 0.201711Z\"\n />\n </svg>\n );\n});\nThickChevronRightIcon.displayName = 'ThickChevronRightIcon';\n\nconst ThickChevronLeftIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.76174 0.201711C5.45892 -0.0809141 4.98433 -0.0645489 4.70171 0.238264L1.20171 3.98826C0.932757 4.27642 0.932757 4.72359 1.20171 5.01174L4.70171 8.76174C4.98433 9.06455 5.45892 9.08092 5.76174 8.79829C6.06455 8.51567 6.08091 8.04108 5.79829 7.73826L2.77591 4.5L5.79829 1.26174C6.08091 0.958928 6.06455 0.484337 5.76174 0.201711Z\"\n />\n </svg>\n );\n});\nThickChevronLeftIcon.displayName = 'ThickChevronLeftIcon';\n\nconst ThickDotIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <circle cx=\"4.5\" cy=\"4.5\" r=\"2\" />\n </svg>\n );\n});\nThickDotIcon.displayName = 'ThickDotIcon';\n\nexport { ChevronDownIcon, ThickCheckIcon, ThickChevronLeftIcon, ThickChevronRightIcon, ThickDividerHorizontalIcon, ThickDotIcon };\nexport type { IconProps };\n\n// Additional minimal icons\nconst CloseIcon = React.forwardRef<IconElement, IconProps>((_props, _forwardedRef) => {\n return (\n <svg\n {..._props}\n ref={_forwardedRef}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n );\n});\nCloseIcon.displayName = 'CloseIcon';\n\nconst PaperclipIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg\n {...props}\n ref={forwardedRef}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551\" />\n </svg>\n );\n});\nPaperclipIcon.displayName = 'PaperclipIcon';\n\nconst FileIcon = React.forwardRef<IconElement, IconProps>((_props, _forwardedRef) => {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\" />\n <path d=\"M14 2v4a2 2 0 0 0 2 2h4\" />\n </svg>\n );\n});\nFileIcon.displayName = 'FileIcon';\n\nconst FileTextIcon = React.forwardRef<IconElement, IconProps>((_props, _forwardedRef) => {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\" />\n <path d=\"M14 2v4a2 2 0 0 0 2 2h4\" />\n <path d=\"M10 9H8\" />\n <path d=\"M16 13H8\" />\n <path d=\"M16 17H8\" />\n </svg>\n );\n});\nFileTextIcon.displayName = 'FileTextIcon';\n\nexport { CloseIcon, PaperclipIcon, FileIcon, FileTextIcon };\n"],
5
- "mappings": "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",
6
- "names": ["React", "ThickDividerHorizontalIcon", "props", "forwardedRef", "ThickCheckIcon", "ChevronDownIcon", "ThickChevronRightIcon", "ThickChevronLeftIcon", "ThickDotIcon", "CloseIcon", "React", "_props", "_forwardedRef", "PaperclipIcon", "props", "forwardedRef", "FileIcon", "FileTextIcon"]
4
+ "sourcesContent": ["import React from 'react';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\ntype IconElement = React.ElementRef<'svg'>;\ninterface IconProps extends ComponentPropsWithout<'svg', RemovedProps | 'children'> {}\n\nconst ThickDividerHorizontalIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0.75 4.5C0.75 4.08579 1.08579 3.75 1.5 3.75H7.5C7.91421 3.75 8.25 4.08579 8.25 4.5C8.25 4.91421 7.91421 5.25 7.5 5.25H1.5C1.08579 5.25 0.75 4.91421 0.75 4.5Z\"\n />\n </svg>\n );\n});\n\nThickDividerHorizontalIcon.displayName = 'ThickDividerHorizontalIcon';\n\nconst ThickCheckIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.53547 0.62293C8.88226 0.849446 8.97976 1.3142 8.75325 1.66099L4.5083 8.1599C4.38833 8.34356 4.19397 8.4655 3.9764 8.49358C3.75883 8.52167 3.53987 8.45309 3.3772 8.30591L0.616113 5.80777C0.308959 5.52987 0.285246 5.05559 0.563148 4.74844C0.84105 4.44128 1.31533 4.41757 1.62249 4.69547L3.73256 6.60459L7.49741 0.840706C7.72393 0.493916 8.18868 0.396414 8.53547 0.62293Z\"\n />\n </svg>\n );\n});\nThickCheckIcon.displayName = 'ThickCheckIcon';\n\nconst ChevronDownIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path d=\"M0.135232 3.15803C0.324102 2.95657 0.640521 2.94637 0.841971 3.13523L4.5 6.56464L8.158 3.13523C8.3595 2.94637 8.6759 2.95657 8.8648 3.15803C9.0536 3.35949 9.0434 3.67591 8.842 3.86477L4.84197 7.6148C4.64964 7.7951 4.35036 7.7951 4.15803 7.6148L0.158031 3.86477C-0.0434285 3.67591 -0.0536285 3.35949 0.135232 3.15803Z\" />\n </svg>\n );\n});\nChevronDownIcon.displayName = 'ChevronDownIcon';\n\nconst ThickChevronRightIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.23826 0.201711C3.54108 -0.0809141 4.01567 -0.0645489 4.29829 0.238264L7.79829 3.98826C8.06724 4.27642 8.06724 4.72359 7.79829 5.01174L4.29829 8.76174C4.01567 9.06455 3.54108 9.08092 3.23826 8.79829C2.93545 8.51567 2.91909 8.04108 3.20171 7.73826L6.22409 4.5L3.20171 1.26174C2.91909 0.958928 2.93545 0.484337 3.23826 0.201711Z\"\n />\n </svg>\n );\n});\nThickChevronRightIcon.displayName = 'ThickChevronRightIcon';\n\nconst ThickChevronLeftIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.76174 0.201711C5.45892 -0.0809141 4.98433 -0.0645489 4.70171 0.238264L1.20171 3.98826C0.932757 4.27642 0.932757 4.72359 1.20171 5.01174L4.70171 8.76174C4.98433 9.06455 5.45892 9.08092 5.76174 8.79829C6.06455 8.51567 6.08091 8.04108 5.79829 7.73826L2.77591 4.5L5.79829 1.26174C6.08091 0.958928 6.06455 0.484337 5.76174 0.201711Z\"\n />\n </svg>\n );\n});\nThickChevronLeftIcon.displayName = 'ThickChevronLeftIcon';\n\nconst ThickDotIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 9 9\" fill=\"currentcolor\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <circle cx=\"4.5\" cy=\"4.5\" r=\"2\" />\n </svg>\n );\n});\nThickDotIcon.displayName = 'ThickDotIcon';\n\nexport { ChevronDownIcon, ThickCheckIcon, ThickChevronLeftIcon, ThickChevronRightIcon, ThickDividerHorizontalIcon, ThickDotIcon };\nexport type { IconProps };\n\n// Additional minimal icons\nconst CloseIcon = React.forwardRef<IconElement, IconProps>((_props, _forwardedRef) => {\n return (\n <svg\n {..._props}\n ref={_forwardedRef}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n );\n});\nCloseIcon.displayName = 'CloseIcon';\n\nconst PaperclipIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg\n {...props}\n ref={forwardedRef}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551\" />\n </svg>\n );\n});\nPaperclipIcon.displayName = 'PaperclipIcon';\n\nconst FileIcon = React.forwardRef<IconElement, IconProps>((_props, _forwardedRef) => {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\" />\n <path d=\"M14 2v4a2 2 0 0 0 2 2h4\" />\n </svg>\n );\n});\nFileIcon.displayName = 'FileIcon';\n\nconst FileTextIcon = React.forwardRef<IconElement, IconProps>((_props, _forwardedRef) => {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\" />\n <path d=\"M14 2v4a2 2 0 0 0 2 2h4\" />\n <path d=\"M10 9H8\" />\n <path d=\"M16 13H8\" />\n <path d=\"M16 17H8\" />\n </svg>\n );\n});\nFileTextIcon.displayName = 'FileTextIcon';\n\n/** The tick a button shows in place of its icon while `done`. Drawn on the 24 grid at the icon set's stroke. */\nconst TickIcon = React.forwardRef<IconElement, IconProps>((props, forwardedRef) => {\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props} ref={forwardedRef}>\n <path d=\"M5 12.75L9.5 17.25L19 7.25\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n );\n});\nTickIcon.displayName = 'TickIcon';\n\nexport { CloseIcon, PaperclipIcon, FileIcon, FileTextIcon, TickIcon };\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "ThickDividerHorizontalIcon", "props", "forwardedRef", "ThickCheckIcon", "ChevronDownIcon", "ThickChevronRightIcon", "ThickChevronLeftIcon", "ThickDotIcon", "CloseIcon", "React", "_props", "_forwardedRef", "PaperclipIcon", "props", "forwardedRef", "FileIcon", "FileTextIcon", "TickIcon"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import{a as m}from"./chunk-CHPT42BY.js";import{a as f}from"./chunk-PS6NEG5A.js";import{e as v}from"./chunk-3YLYGKFB.js";import{a as c}from"./chunk-ELAW7ZUG.js";import*as a from"react";import A from"classnames";import{Avatar as u}from"radix-ui";var k=a.forwardRef((e,o)=>{let i=v(e,m.size),{asChild:t,children:r,className:n,style:s,color:g,radius:y,status:d,statusLabel:p,badge:l,...b}=c(i,m),h=t&&r!=null&&a.isValidElement(r)&&(r.props.disabled===!0||r.props["data-disabled"]===!0),R=l!==void 0||d!==void 0,N=l!==void 0?a.createElement("span",{className:"kui-AvatarBadge"},l):d!==void 0?a.createElement("span",{className:"kui-AvatarStatus","data-accent-color":d,role:p?"img":void 0,"aria-label":p||void 0,"aria-hidden":p?void 0:!0}):null;return a.createElement(u.Root,{ref:o,"data-accent-color":g,"data-radius":y,"data-disabled":h||void 0,"data-has-indicator":R||void 0,className:A("kui-reset","kui-AvatarRoot",n),style:s,asChild:t},f({asChild:t,children:r},a.createElement(a.Fragment,null,a.createElement(P,{...b}),N)))});k.displayName="Avatar";var P=a.memo(({fallback:e,onLoadingStatusChange:o,...i})=>{let[t,r]=a.useState("idle"),n=a.useCallback(s=>{o?.(s),r(s)},[o]);return a.createElement(a.Fragment,null,t==="idle"||t==="loading"?a.createElement("span",{className:"kui-AvatarFallback"}):null,t==="error"?a.createElement(u.Fallback,{className:A("kui-AvatarFallback",{"kui-one-letter":typeof e=="string"&&e.length===1,"kui-two-letters":typeof e=="string"&&e.length===2}),delayMs:0},e):null,a.createElement(u.Image,{className:"kui-AvatarImage",...i,onLoadingStatusChange:n}))});P.displayName="AvatarImpl";export{k as a};
2
+ //# sourceMappingURL=chunk-BGAJ2MDF.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/avatar.tsx"],
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Avatar as AvatarPrimitive } from 'radix-ui';\n\nimport { avatarPropDefs } from './avatar.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { getSubtree } from '../helpers/get-subtree.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ninterface AvatarProps extends AvatarImplProps {}\nconst Avatar = React.forwardRef<AvatarElement, AvatarProps>((ownProps, forwardedRef) => {\n // An unset size follows the Theme, like a control. Sizes above 4 are only explicit.\n const props = useThemeSizeProps(ownProps, avatarPropDefs.size);\n const { asChild, children, className, style, color, radius, status, statusLabel, badge, ...imageProps } = extractProps(props, avatarPropDefs);\n\n if (process.env.NODE_ENV !== 'production') {\n if (status !== undefined && badge !== undefined) {\n console.warn('Avatar: Cannot use both `status` and `badge` props together. ' + 'The `badge` prop will be used and `status` will be ignored.');\n }\n }\n\n // Cheap boolean checks \u2014 no memoization needed\n const isDisabled = asChild && children != null && React.isValidElement(children) && ((children.props as any).disabled === true || (children.props as any)['data-disabled'] === true);\n\n const hasIndicator = badge !== undefined || status !== undefined;\n\n const indicator =\n badge !== undefined ? (\n <span className=\"kui-AvatarBadge\">{badge}</span>\n ) : status !== undefined ? (\n <span\n className=\"kui-AvatarStatus\"\n data-accent-color={status}\n role={statusLabel ? 'img' : undefined}\n aria-label={statusLabel || undefined}\n aria-hidden={statusLabel ? undefined : true}\n />\n ) : null;\n\n return (\n <AvatarPrimitive.Root\n ref={forwardedRef}\n data-accent-color={color}\n data-radius={radius}\n data-disabled={isDisabled || undefined}\n data-has-indicator={hasIndicator || undefined}\n className={classNames('kui-reset', 'kui-AvatarRoot', className)}\n style={style}\n asChild={asChild}\n >\n {/* With asChild, Slot takes exactly one child, so the indicator goes inside it. */}\n {getSubtree(\n { asChild, children },\n <>\n <AvatarImpl {...imageProps} />\n {indicator}\n </>,\n )}\n </AvatarPrimitive.Root>\n );\n});\nAvatar.displayName = 'Avatar';\n\ntype AvatarElement = React.ElementRef<typeof AvatarPrimitive.Root>;\ntype AvatarOwnProps = GetPropDefTypes<typeof avatarPropDefs>;\n\ninterface AvatarImplProps extends ComponentPropsWithout<typeof AvatarPrimitive.Image, RemovedProps>, AvatarOwnProps {\n // TODO: See if we can automate making prop defs with `required: true` non nullable\n fallback: NonNullable<AvatarOwnProps['fallback']>;\n}\n\nconst AvatarImpl = React.memo(({ fallback, onLoadingStatusChange, ...imageProps }: AvatarImplProps) => {\n const [status, setStatus] = React.useState<'idle' | 'loading' | 'loaded' | 'error'>('idle');\n\n const handleLoadingStatusChange = React.useCallback(\n (newStatus: 'idle' | 'loading' | 'loaded' | 'error') => {\n onLoadingStatusChange?.(newStatus);\n setStatus(newStatus);\n },\n [onLoadingStatusChange],\n );\n\n return (\n <>\n {status === 'idle' || status === 'loading' ? <span className=\"kui-AvatarFallback\" /> : null}\n\n {status === 'error' ? (\n <AvatarPrimitive.Fallback\n className={classNames('kui-AvatarFallback', {\n 'kui-one-letter': typeof fallback === 'string' && fallback.length === 1,\n 'kui-two-letters': typeof fallback === 'string' && fallback.length === 2,\n })}\n delayMs={0}\n >\n {fallback}\n </AvatarPrimitive.Fallback>\n ) : null}\n\n <AvatarPrimitive.Image className=\"kui-AvatarImage\" {...imageProps} onLoadingStatusChange={handleLoadingStatusChange} />\n </>\n );\n});\n\nAvatarImpl.displayName = 'AvatarImpl';\n\nexport { Avatar };\nexport type { AvatarProps };\n"],
5
+ "mappings": "gKAEA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,UAAUC,MAAuB,WAW1C,IAAMC,EAAe,aAAuC,CAACC,EAAUC,IAAiB,CAEtF,IAAMC,EAAQC,EAAkBH,EAAUI,EAAe,IAAI,EACvD,CAAE,QAAAC,EAAS,SAAAC,EAAU,UAAAC,EAAW,MAAAC,EAAO,MAAAC,EAAO,OAAAC,EAAQ,OAAAC,EAAQ,YAAAC,EAAa,MAAAC,EAAO,GAAGC,CAAW,EAAIC,EAAab,EAAOE,CAAc,EAStIY,EAAaX,GAAWC,GAAY,MAAc,iBAAeA,CAAQ,IAAOA,EAAS,MAAc,WAAa,IAASA,EAAS,MAAc,eAAe,IAAM,IAEzKW,EAAeJ,IAAU,QAAaF,IAAW,OAEjDO,EACJL,IAAU,OACR,gBAAC,QAAK,UAAU,mBAAmBA,CAAM,EACvCF,IAAW,OACb,gBAAC,QACC,UAAU,mBACV,oBAAmBA,EACnB,KAAMC,EAAc,MAAQ,OAC5B,aAAYA,GAAe,OAC3B,cAAaA,EAAc,OAAY,GACzC,EACE,KAEN,OACE,gBAACO,EAAgB,KAAhB,CACC,IAAKlB,EACL,oBAAmBQ,EACnB,cAAaC,EACb,gBAAeM,GAAc,OAC7B,qBAAoBC,GAAgB,OACpC,UAAWG,EAAW,YAAa,iBAAkBb,CAAS,EAC9D,MAAOC,EACP,QAASH,GAGRgB,EACC,CAAE,QAAAhB,EAAS,SAAAC,CAAS,EACpB,gCACE,gBAACgB,EAAA,CAAY,GAAGR,EAAY,EAC3BI,CACH,CACF,CACF,CAEJ,CAAC,EACDnB,EAAO,YAAc,SAUrB,IAAMuB,EAAmB,OAAK,CAAC,CAAE,SAAAC,EAAU,sBAAAC,EAAuB,GAAGV,CAAW,IAAuB,CACrG,GAAM,CAACH,EAAQc,CAAS,EAAU,WAAkD,MAAM,EAEpFC,EAAkC,cACrCC,GAAuD,CACtDH,IAAwBG,CAAS,EACjCF,EAAUE,CAAS,CACrB,EACA,CAACH,CAAqB,CACxB,EAEA,OACE,gCACGb,IAAW,QAAUA,IAAW,UAAY,gBAAC,QAAK,UAAU,qBAAqB,EAAK,KAEtFA,IAAW,QACV,gBAACQ,EAAgB,SAAhB,CACC,UAAWC,EAAW,qBAAsB,CAC1C,iBAAkB,OAAOG,GAAa,UAAYA,EAAS,SAAW,EACtE,kBAAmB,OAAOA,GAAa,UAAYA,EAAS,SAAW,CACzE,CAAC,EACD,QAAS,GAERA,CACH,EACE,KAEJ,gBAACJ,EAAgB,MAAhB,CAAsB,UAAU,kBAAmB,GAAGL,EAAY,sBAAuBY,EAA2B,CACvH,CAEJ,CAAC,EAEDJ,EAAW,YAAc",
6
+ "names": ["React", "classNames", "AvatarPrimitive", "Avatar", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "avatarPropDefs", "asChild", "children", "className", "style", "color", "radius", "status", "statusLabel", "badge", "imageProps", "extractProps", "isDisabled", "hasIndicator", "indicator", "AvatarPrimitive", "classNames", "getSubtree", "AvatarImpl", "fallback", "onLoadingStatusChange", "setStatus", "handleLoadingStatusChange", "newStatus"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{b as s}from"./chunk-KRJTW535.js";import{a as e}from"./chunk-NZJGC6ZW.js";import{a as t,e as a}from"./chunk-CUNKWFKA.js";var o=["1","2","3","4","5","6","7","8","9"],r=["raised","solid","soft","surface","outline"],n=["cover","contain","fill","scale-down","none"],p={...e,size:{type:"enum",className:"kui-r-size",values:o,default:"2",responsive:!0},variant:{type:"enum",className:"kui-variant",values:r,default:"raised"},...a,...s,fallback:{type:"ReactNode",required:!0},status:{type:"enum",values:t,default:void 0},statusLabel:{type:"string",default:void 0},badge:{type:"ReactNode",default:void 0},fit:{type:"enum",className:"kui-r-fit",values:n,default:"cover",responsive:!0}};export{p as a};
2
+ //# sourceMappingURL=chunk-CHPT42BY.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/avatar.props.tsx"],
4
- "sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\nimport { grayAccentColorPropDef, accentColors } 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', '5', '6', '7', '8', '9'] as const;\nconst variants = ['raised', 'solid', 'soft', 'surface', 'outline'] as const;\nconst objectFitValues = ['cover', 'contain', 'fill', 'scale-down', 'none'] as const;\n\nconst avatarPropDefs = {\n ...asChildPropDef,\n size: { type: 'enum', className: 'kui-r-size', values: sizes, default: '2', responsive: true },\n variant: { type: 'enum', className: 'kui-variant', values: variants, default: 'raised' },\n ...grayAccentColorPropDef,\n ...radiusPropDef,\n fallback: { type: 'ReactNode', required: true },\n /**\n * Status indicator color. Renders a small colored dot at the bottom-right corner.\n * Cannot be used together with `badge`.\n */\n status: { type: 'enum', values: accentColors, default: undefined },\n /**\n * Custom badge content. Renders at the bottom-right corner.\n * Cannot be used together with `status`.\n */\n badge: { type: 'ReactNode', default: undefined },\n /**\n * Controls how the avatar image should be resized to fit its container.\n * Defaults to 'cover' which crops the image to fill the avatar.\n * Use 'contain' to show the full image without cropping.\n */\n fit: { type: 'enum', className: 'kui-r-fit', values: objectFitValues, default: 'cover', responsive: true },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n fallback: PropDef<React.ReactNode>;\n status: PropDef<(typeof accentColors)[number] | undefined>;\n badge: PropDef<React.ReactNode>;\n fit: PropDef<(typeof objectFitValues)[number]>;\n};\n\nexport { avatarPropDefs };\n"],
5
- "mappings": "+HAMA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EACpDC,EAAW,CAAC,SAAU,QAAS,OAAQ,UAAW,SAAS,EAC3DC,EAAkB,CAAC,QAAS,UAAW,OAAQ,aAAc,MAAM,EAEnEC,EAAiB,CACrB,GAAGC,EACH,KAAM,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQJ,EAAO,QAAS,IAAK,WAAY,EAAK,EAC7F,QAAS,CAAE,KAAM,OAAQ,UAAW,cAAe,OAAQC,EAAU,QAAS,QAAS,EACvF,GAAGI,EACH,GAAGC,EACH,SAAU,CAAE,KAAM,YAAa,SAAU,EAAK,EAK9C,OAAQ,CAAE,KAAM,OAAQ,OAAQC,EAAc,QAAS,MAAU,EAKjE,MAAO,CAAE,KAAM,YAAa,QAAS,MAAU,EAM/C,IAAK,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQL,EAAiB,QAAS,QAAS,WAAY,EAAK,CAC3G",
4
+ "sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\nimport { grayAccentColorPropDef, accentColors } 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', '5', '6', '7', '8', '9'] as const;\nconst variants = ['raised', 'solid', 'soft', 'surface', 'outline'] as const;\nconst objectFitValues = ['cover', 'contain', 'fill', 'scale-down', 'none'] as const;\n\nconst avatarPropDefs = {\n ...asChildPropDef,\n size: { type: 'enum', className: 'kui-r-size', values: sizes, default: '2', responsive: true },\n variant: { type: 'enum', className: 'kui-variant', values: variants, default: 'raised' },\n ...grayAccentColorPropDef,\n ...radiusPropDef,\n fallback: { type: 'ReactNode', required: true },\n /**\n * Status indicator color. Renders a small colored dot at the bottom-right corner.\n * Cannot be used together with `badge`.\n */\n status: { type: 'enum', values: accentColors, default: undefined },\n /**\n * The words the status dot stands for, such as \"Online\". A screen reader reads them with the\n * avatar. Without it the dot is hidden from screen readers.\n */\n statusLabel: { type: 'string', default: undefined },\n /**\n * Custom badge content. Renders at the bottom-right corner.\n * Cannot be used together with `status`.\n */\n badge: { type: 'ReactNode', default: undefined },\n /**\n * Controls how the avatar image should be resized to fit its container.\n * Defaults to 'cover' which crops the image to fill the avatar.\n * Use 'contain' to show the full image without cropping.\n */\n fit: { type: 'enum', className: 'kui-r-fit', values: objectFitValues, default: 'cover', responsive: true },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n fallback: PropDef<React.ReactNode>;\n status: PropDef<(typeof accentColors)[number] | undefined>;\n statusLabel: PropDef<string | undefined>;\n badge: PropDef<React.ReactNode>;\n fit: PropDef<(typeof objectFitValues)[number]>;\n};\n\nexport { avatarPropDefs };\n"],
5
+ "mappings": "+HAMA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EACpDC,EAAW,CAAC,SAAU,QAAS,OAAQ,UAAW,SAAS,EAC3DC,EAAkB,CAAC,QAAS,UAAW,OAAQ,aAAc,MAAM,EAEnEC,EAAiB,CACrB,GAAGC,EACH,KAAM,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQJ,EAAO,QAAS,IAAK,WAAY,EAAK,EAC7F,QAAS,CAAE,KAAM,OAAQ,UAAW,cAAe,OAAQC,EAAU,QAAS,QAAS,EACvF,GAAGI,EACH,GAAGC,EACH,SAAU,CAAE,KAAM,YAAa,SAAU,EAAK,EAK9C,OAAQ,CAAE,KAAM,OAAQ,OAAQC,EAAc,QAAS,MAAU,EAKjE,YAAa,CAAE,KAAM,SAAU,QAAS,MAAU,EAKlD,MAAO,CAAE,KAAM,YAAa,QAAS,MAAU,EAM/C,IAAK,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQL,EAAiB,QAAS,QAAS,WAAY,EAAK,CAC3G",
6
6
  "names": ["sizes", "variants", "objectFitValues", "avatarPropDefs", "asChildPropDef", "grayAccentColorPropDef", "radiusPropDef", "accentColors"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{e as m}from"./chunk-3YLYGKFB.js";import{a as T}from"./chunk-ELAW7ZUG.js";import{a as n}from"./chunk-ETQNRMHU.js";import{a as g}from"./chunk-OS3FCYZY.js";var R={};g(R,{Content:()=>c,List:()=>P,Root:()=>b,Trigger:()=>f});import*as e from"react";import a from"classnames";import{Tabs as i}from"radix-ui";var b=e.forwardRef((t,o)=>{let{className:r,...s}=t;return e.createElement(i.Root,{...s,ref:o,className:a("kui-TabsRoot",r)})});b.displayName="Tabs.Root";var P=e.forwardRef((t,o)=>{let r=m(t,n.size),{className:s,color:p,...l}=T(r,n);return e.createElement(i.List,{"data-accent-color":p,...l,asChild:!1,ref:o,className:a("kui-BaseTabList","kui-TabsList",s)})});P.displayName="Tabs.List";var f=e.forwardRef((t,o)=>{let{className:r,children:s,...p}=t;return e.createElement(i.Trigger,{...p,asChild:!1,ref:o,className:a("kui-reset","kui-BaseTabListTrigger","kui-TabsTrigger",r)},e.createElement("span",{className:"kui-BaseTabListTriggerInner kui-TabsTriggerInner"},s),e.createElement("span",{className:"kui-BaseTabListTriggerInnerHidden kui-TabsTriggerInnerHidden"},s))});f.displayName="Tabs.Trigger";var c=e.forwardRef((t,o)=>{let{className:r,...s}=t;return e.createElement(i.Content,{...s,ref:o,className:a("kui-TabsContent",r),"aria-live":"polite","aria-atomic":"true"})});c.displayName="Tabs.Content";export{b as a,P as b,f as c,c as d,R as e};
2
- //# sourceMappingURL=chunk-KS4U4VPH.js.map
1
+ import{e as m}from"./chunk-3YLYGKFB.js";import{a as T}from"./chunk-ELAW7ZUG.js";import{a as n}from"./chunk-ETQNRMHU.js";import{a as l}from"./chunk-OS3FCYZY.js";var R={};l(R,{Content:()=>c,List:()=>P,Root:()=>b,Trigger:()=>f});import*as e from"react";import a from"classnames";import{Tabs as i}from"radix-ui";var b=e.forwardRef((t,o)=>{let{className:r,...s}=t;return e.createElement(i.Root,{...s,ref:o,className:a("kui-TabsRoot",r)})});b.displayName="Tabs.Root";var P=e.forwardRef((t,o)=>{let r=m(t,n.size),{className:s,color:p,...g}=T(r,n);return e.createElement(i.List,{"data-accent-color":p,...g,asChild:!1,ref:o,className:a("kui-BaseTabList","kui-TabsList",s)})});P.displayName="Tabs.List";var f=e.forwardRef((t,o)=>{let{className:r,children:s,...p}=t;return e.createElement(i.Trigger,{...p,asChild:!1,ref:o,className:a("kui-reset","kui-BaseTabListTrigger","kui-TabsTrigger",r)},e.createElement("span",{className:"kui-BaseTabListTriggerInner kui-TabsTriggerInner"},s),e.createElement("span",{className:"kui-BaseTabListTriggerInnerHidden kui-TabsTriggerInnerHidden"},s))});f.displayName="Tabs.Trigger";var c=e.forwardRef((t,o)=>{let{className:r,...s}=t;return e.createElement(i.Content,{...s,ref:o,className:a("kui-TabsContent",r)})});c.displayName="Tabs.Content";export{b as a,P as b,f as c,c as d,R as e};
2
+ //# sourceMappingURL=chunk-CMHUK7OG.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/tabs.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Tabs as TabsPrimitive } from 'radix-ui';\n\nimport { tabsListPropDefs } from './tabs.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\n\nimport type { tabsContentPropDefs, tabsRootPropDefs } from './tabs.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype TabsRootElement = React.ElementRef<typeof TabsPrimitive.Root>;\ntype TabsRootOwnProps = GetPropDefTypes<typeof tabsRootPropDefs>;\ninterface TabsRootProps\n extends ComponentPropsWithout<typeof TabsPrimitive.Root, 'asChild' | 'color' | 'defaultChecked'>,\n TabsRootOwnProps {}\nconst TabsRoot = React.forwardRef<TabsRootElement, TabsRootProps>((props, forwardedRef) => {\n const { className, ...rootProps } = props;\n return (\n <TabsPrimitive.Root\n {...rootProps}\n ref={forwardedRef}\n className={classNames('kui-TabsRoot', className)}\n />\n );\n});\nTabsRoot.displayName = 'Tabs.Root';\n\ntype TabsListElement = React.ElementRef<typeof TabsPrimitive.List>;\ntype TabsListOwnProps = GetPropDefTypes<typeof tabsListPropDefs>;\ninterface TabsListProps\n extends ComponentPropsWithout<typeof TabsPrimitive.List, RemovedProps>,\n TabsListOwnProps {}\nconst TabsList = React.forwardRef<TabsListElement, TabsListProps>((ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, tabsListPropDefs.size);\n const { className, color, ...listProps } = extractProps(\n props,\n tabsListPropDefs,\n );\n return (\n <TabsPrimitive.List\n data-accent-color={color}\n {...listProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-BaseTabList', 'kui-TabsList', className)}\n />\n );\n});\nTabsList.displayName = 'Tabs.List';\n\ntype TabsTriggerElement = React.ElementRef<typeof TabsPrimitive.Trigger>;\ninterface TabsTriggerProps\n extends ComponentPropsWithout<typeof TabsPrimitive.Trigger, RemovedProps> {}\nconst TabsTrigger = React.forwardRef<TabsTriggerElement, TabsTriggerProps>(\n (props, forwardedRef) => {\n const { className, children, ...triggerProps } = props;\n return (\n <TabsPrimitive.Trigger\n {...triggerProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-reset', 'kui-BaseTabListTrigger', 'kui-TabsTrigger', className)}\n >\n <span className=\"kui-BaseTabListTriggerInner kui-TabsTriggerInner\">{children}</span>\n <span className=\"kui-BaseTabListTriggerInnerHidden kui-TabsTriggerInnerHidden\">\n {children}\n </span>\n </TabsPrimitive.Trigger>\n );\n },\n);\nTabsTrigger.displayName = 'Tabs.Trigger';\n\ntype TabsContentElement = React.ElementRef<typeof TabsPrimitive.Content>;\ntype TabsContentOwnProps = GetPropDefTypes<typeof tabsContentPropDefs>;\ninterface TabsContentProps\n extends ComponentPropsWithout<typeof TabsPrimitive.Content, RemovedProps>,\n TabsContentOwnProps {}\nconst TabsContent = React.forwardRef<TabsContentElement, TabsContentProps>(\n (props, forwardedRef) => {\n const { className, ...contentProps } = props;\n return (\n <TabsPrimitive.Content\n {...contentProps}\n ref={forwardedRef}\n className={classNames('kui-TabsContent', className)}\n aria-live=\"polite\"\n aria-atomic=\"true\"\n />\n );\n },\n);\nTabsContent.displayName = 'Tabs.Content';\n\nexport { TabsRoot as Root, TabsList as List, TabsTrigger as Trigger, TabsContent as Content };\nexport type {\n TabsRootProps as RootProps,\n TabsListProps as ListProps,\n TabsTriggerProps as TriggerProps,\n TabsContentProps as ContentProps,\n};\n"],
5
- "mappings": "gKAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,SAAAC,EAAA,SAAAC,EAAA,YAAAC,IAAA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,QAAQC,MAAqB,WAetC,IAAMC,EAAiB,aAA2C,CAACC,EAAOC,IAAiB,CACzF,GAAM,CAAE,UAAAC,EAAW,GAAGC,CAAU,EAAIH,EACpC,OACE,gBAACI,EAAc,KAAd,CACE,GAAGD,EACJ,IAAKF,EACL,UAAWI,EAAW,eAAgBH,CAAS,EACjD,CAEJ,CAAC,EACDH,EAAS,YAAc,YAOvB,IAAMO,EAAiB,aAA2C,CAACC,EAAUN,IAAiB,CAC5F,IAAMD,EAAQQ,EAAkBD,EAAUE,EAAiB,IAAI,EACzD,CAAE,UAAAP,EAAW,MAAAQ,EAAO,GAAGC,CAAU,EAAIC,EACzCZ,EACAS,CACF,EACA,OACE,gBAACL,EAAc,KAAd,CACC,oBAAmBM,EAClB,GAAGC,EACJ,QAAS,GACT,IAAKV,EACL,UAAWI,EAAW,kBAAmB,eAAgBH,CAAS,EACpE,CAEJ,CAAC,EACDI,EAAS,YAAc,YAKvB,IAAMO,EAAoB,aACxB,CAACb,EAAOC,IAAiB,CACvB,GAAM,CAAE,UAAAC,EAAW,SAAAY,EAAU,GAAGC,CAAa,EAAIf,EACjD,OACE,gBAACI,EAAc,QAAd,CACE,GAAGW,EACJ,QAAS,GACT,IAAKd,EACL,UAAWI,EAAW,YAAa,yBAA0B,kBAAmBH,CAAS,GAEzF,gBAAC,QAAK,UAAU,oDAAoDY,CAAS,EAC7E,gBAAC,QAAK,UAAU,gEACbA,CACH,CACF,CAEJ,CACF,EACAD,EAAY,YAAc,eAO1B,IAAMG,EAAoB,aACxB,CAAChB,EAAOC,IAAiB,CACvB,GAAM,CAAE,UAAAC,EAAW,GAAGe,CAAa,EAAIjB,EACvC,OACE,gBAACI,EAAc,QAAd,CACE,GAAGa,EACJ,IAAKhB,EACL,UAAWI,EAAW,kBAAmBH,CAAS,EAClD,YAAU,SACV,cAAY,OACd,CAEJ,CACF,EACAc,EAAY,YAAc",
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Tabs as TabsPrimitive } from 'radix-ui';\n\nimport { tabsListPropDefs } from './tabs.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\n\nimport type { tabsContentPropDefs, tabsRootPropDefs } from './tabs.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype TabsRootElement = React.ElementRef<typeof TabsPrimitive.Root>;\ntype TabsRootOwnProps = GetPropDefTypes<typeof tabsRootPropDefs>;\ninterface TabsRootProps\n extends ComponentPropsWithout<typeof TabsPrimitive.Root, 'asChild' | 'color' | 'defaultChecked'>,\n TabsRootOwnProps {}\nconst TabsRoot = React.forwardRef<TabsRootElement, TabsRootProps>((props, forwardedRef) => {\n const { className, ...rootProps } = props;\n return (\n <TabsPrimitive.Root\n {...rootProps}\n ref={forwardedRef}\n className={classNames('kui-TabsRoot', className)}\n />\n );\n});\nTabsRoot.displayName = 'Tabs.Root';\n\ntype TabsListElement = React.ElementRef<typeof TabsPrimitive.List>;\ntype TabsListOwnProps = GetPropDefTypes<typeof tabsListPropDefs>;\ninterface TabsListProps\n extends ComponentPropsWithout<typeof TabsPrimitive.List, RemovedProps>,\n TabsListOwnProps {}\nconst TabsList = React.forwardRef<TabsListElement, TabsListProps>((ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, tabsListPropDefs.size);\n const { className, color, ...listProps } = extractProps(\n props,\n tabsListPropDefs,\n );\n return (\n <TabsPrimitive.List\n data-accent-color={color}\n {...listProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-BaseTabList', 'kui-TabsList', className)}\n />\n );\n});\nTabsList.displayName = 'Tabs.List';\n\ntype TabsTriggerElement = React.ElementRef<typeof TabsPrimitive.Trigger>;\ninterface TabsTriggerProps\n extends ComponentPropsWithout<typeof TabsPrimitive.Trigger, RemovedProps> {}\nconst TabsTrigger = React.forwardRef<TabsTriggerElement, TabsTriggerProps>(\n (props, forwardedRef) => {\n const { className, children, ...triggerProps } = props;\n return (\n <TabsPrimitive.Trigger\n {...triggerProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-reset', 'kui-BaseTabListTrigger', 'kui-TabsTrigger', className)}\n >\n <span className=\"kui-BaseTabListTriggerInner kui-TabsTriggerInner\">{children}</span>\n <span className=\"kui-BaseTabListTriggerInnerHidden kui-TabsTriggerInnerHidden\">\n {children}\n </span>\n </TabsPrimitive.Trigger>\n );\n },\n);\nTabsTrigger.displayName = 'Tabs.Trigger';\n\ntype TabsContentElement = React.ElementRef<typeof TabsPrimitive.Content>;\ntype TabsContentOwnProps = GetPropDefTypes<typeof tabsContentPropDefs>;\ninterface TabsContentProps\n extends ComponentPropsWithout<typeof TabsPrimitive.Content, RemovedProps>,\n TabsContentOwnProps {}\nconst TabsContent = React.forwardRef<TabsContentElement, TabsContentProps>(\n (props, forwardedRef) => {\n const { className, ...contentProps } = props;\n return (\n <TabsPrimitive.Content\n {...contentProps}\n ref={forwardedRef}\n className={classNames('kui-TabsContent', className)}\n />\n );\n },\n);\nTabsContent.displayName = 'Tabs.Content';\n\nexport { TabsRoot as Root, TabsList as List, TabsTrigger as Trigger, TabsContent as Content };\nexport type {\n TabsRootProps as RootProps,\n TabsListProps as ListProps,\n TabsTriggerProps as TriggerProps,\n TabsContentProps as ContentProps,\n};\n"],
5
+ "mappings": "gKAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,SAAAC,EAAA,SAAAC,EAAA,YAAAC,IAAA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,QAAQC,MAAqB,WAetC,IAAMC,EAAiB,aAA2C,CAACC,EAAOC,IAAiB,CACzF,GAAM,CAAE,UAAAC,EAAW,GAAGC,CAAU,EAAIH,EACpC,OACE,gBAACI,EAAc,KAAd,CACE,GAAGD,EACJ,IAAKF,EACL,UAAWI,EAAW,eAAgBH,CAAS,EACjD,CAEJ,CAAC,EACDH,EAAS,YAAc,YAOvB,IAAMO,EAAiB,aAA2C,CAACC,EAAUN,IAAiB,CAC5F,IAAMD,EAAQQ,EAAkBD,EAAUE,EAAiB,IAAI,EACzD,CAAE,UAAAP,EAAW,MAAAQ,EAAO,GAAGC,CAAU,EAAIC,EACzCZ,EACAS,CACF,EACA,OACE,gBAACL,EAAc,KAAd,CACC,oBAAmBM,EAClB,GAAGC,EACJ,QAAS,GACT,IAAKV,EACL,UAAWI,EAAW,kBAAmB,eAAgBH,CAAS,EACpE,CAEJ,CAAC,EACDI,EAAS,YAAc,YAKvB,IAAMO,EAAoB,aACxB,CAACb,EAAOC,IAAiB,CACvB,GAAM,CAAE,UAAAC,EAAW,SAAAY,EAAU,GAAGC,CAAa,EAAIf,EACjD,OACE,gBAACI,EAAc,QAAd,CACE,GAAGW,EACJ,QAAS,GACT,IAAKd,EACL,UAAWI,EAAW,YAAa,yBAA0B,kBAAmBH,CAAS,GAEzF,gBAAC,QAAK,UAAU,oDAAoDY,CAAS,EAC7E,gBAAC,QAAK,UAAU,gEACbA,CACH,CACF,CAEJ,CACF,EACAD,EAAY,YAAc,eAO1B,IAAMG,EAAoB,aACxB,CAAChB,EAAOC,IAAiB,CACvB,GAAM,CAAE,UAAAC,EAAW,GAAGe,CAAa,EAAIjB,EACvC,OACE,gBAACI,EAAc,QAAd,CACE,GAAGa,EACJ,IAAKhB,EACL,UAAWI,EAAW,kBAAmBH,CAAS,EACpD,CAEJ,CACF,EACAc,EAAY,YAAc",
6
6
  "names": ["tabs_exports", "__export", "TabsContent", "TabsList", "TabsRoot", "TabsTrigger", "React", "classNames", "TabsPrimitive", "TabsRoot", "props", "forwardedRef", "className", "rootProps", "TabsPrimitive", "classNames", "TabsList", "ownProps", "useThemeSizeProps", "baseTabListPropDefs", "color", "listProps", "extractProps", "TabsTrigger", "children", "triggerProps", "TabsContent", "contentProps"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import*as o from"react";function m(n){let[e,f]=o.useState(null);return o.useEffect(()=>{if(!n||!e)return;let t=0,c=()=>{t=0;let l=Math.max(0,e.scrollTop),v=Math.max(0,e.scrollHeight-e.clientHeight-e.scrollTop);e.style.setProperty("--scroll-overflow-start",`${l}px`),e.style.setProperty("--scroll-overflow-end",`${v}px`);let a=Math.abs(e.scrollLeft),d=Math.max(0,e.scrollWidth-e.clientWidth-a);e.style.setProperty("--scroll-overflow-x-start",`${a}px`),e.style.setProperty("--scroll-overflow-x-end",`${d}px`)},r=()=>{t||(t=requestAnimationFrame(c))};c(),e.addEventListener("scroll",r,{passive:!0});let s=typeof ResizeObserver>"u"?null:new ResizeObserver(r);s?.observe(e);for(let l of Array.from(e.children))s?.observe(l);let i=typeof MutationObserver>"u"?null:new MutationObserver(r);return i?.observe(e,{childList:!0}),()=>{t&&cancelAnimationFrame(t),e.removeEventListener("scroll",r),s?.disconnect(),i?.disconnect(),e.style.removeProperty("--scroll-overflow-start"),e.style.removeProperty("--scroll-overflow-end"),e.style.removeProperty("--scroll-overflow-x-start"),e.style.removeProperty("--scroll-overflow-x-end")}},[n,e]),f}export{m as a};
2
+ //# sourceMappingURL=chunk-CN6F4REJ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/hooks/use-scroll-edges.ts"],
4
+ "sourcesContent": ["import * as React from 'react';\n\n/**\n * Publishes how much content is hidden past each edge of a scroller, as\n * `--scroll-overflow-start` and `--scroll-overflow-end` (block axis) and\n * `--scroll-overflow-x-start` and `--scroll-overflow-x-end` (inline axis, from\n * the inline start, so right-to-left reads the same) in px on the element.\n * The scroll fade reads them, so an edge fades only while content is hidden\n * there, and the fade ramps in over the first pixels of scrolling.\n *\n * Writes happen at most once per frame, on scroll and when the element or its\n * content resizes. Nothing re-renders.\n */\nexport function useScrollEdges<T extends HTMLElement>(enabled: boolean) {\n const [element, setElement] = React.useState<T | null>(null);\n\n React.useEffect(() => {\n if (!enabled || !element) return;\n let frame = 0;\n const write = () => {\n frame = 0;\n const start = Math.max(0, element.scrollTop);\n const end = Math.max(0, element.scrollHeight - element.clientHeight - element.scrollTop);\n element.style.setProperty('--scroll-overflow-start', `${start}px`);\n element.style.setProperty('--scroll-overflow-end', `${end}px`);\n // scrollLeft runs negative in right-to-left, so its size is the distance from the inline start.\n const xStart = Math.abs(element.scrollLeft);\n const xEnd = Math.max(0, element.scrollWidth - element.clientWidth - xStart);\n element.style.setProperty('--scroll-overflow-x-start', `${xStart}px`);\n element.style.setProperty('--scroll-overflow-x-end', `${xEnd}px`);\n };\n const schedule = () => {\n if (!frame) frame = requestAnimationFrame(write);\n };\n write();\n element.addEventListener('scroll', schedule, { passive: true });\n const observer = typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(schedule);\n observer?.observe(element);\n for (const child of Array.from(element.children)) observer?.observe(child);\n const mutations = typeof MutationObserver === 'undefined' ? null : new MutationObserver(schedule);\n mutations?.observe(element, { childList: true });\n return () => {\n if (frame) cancelAnimationFrame(frame);\n element.removeEventListener('scroll', schedule);\n observer?.disconnect();\n mutations?.disconnect();\n element.style.removeProperty('--scroll-overflow-start');\n element.style.removeProperty('--scroll-overflow-end');\n element.style.removeProperty('--scroll-overflow-x-start');\n element.style.removeProperty('--scroll-overflow-x-end');\n };\n }, [enabled, element]);\n\n return setElement;\n}\n"],
5
+ "mappings": "AAAA,UAAYA,MAAW,QAahB,SAASC,EAAsCC,EAAkB,CACtE,GAAM,CAACC,EAASC,CAAU,EAAU,WAAmB,IAAI,EAE3D,OAAM,YAAU,IAAM,CACpB,GAAI,CAACF,GAAW,CAACC,EAAS,OAC1B,IAAIE,EAAQ,EACNC,EAAQ,IAAM,CAClBD,EAAQ,EACR,IAAME,EAAQ,KAAK,IAAI,EAAGJ,EAAQ,SAAS,EACrCK,EAAM,KAAK,IAAI,EAAGL,EAAQ,aAAeA,EAAQ,aAAeA,EAAQ,SAAS,EACvFA,EAAQ,MAAM,YAAY,0BAA2B,GAAGI,CAAK,IAAI,EACjEJ,EAAQ,MAAM,YAAY,wBAAyB,GAAGK,CAAG,IAAI,EAE7D,IAAMC,EAAS,KAAK,IAAIN,EAAQ,UAAU,EACpCO,EAAO,KAAK,IAAI,EAAGP,EAAQ,YAAcA,EAAQ,YAAcM,CAAM,EAC3EN,EAAQ,MAAM,YAAY,4BAA6B,GAAGM,CAAM,IAAI,EACpEN,EAAQ,MAAM,YAAY,0BAA2B,GAAGO,CAAI,IAAI,CAClE,EACMC,EAAW,IAAM,CAChBN,IAAOA,EAAQ,sBAAsBC,CAAK,EACjD,EACAA,EAAM,EACNH,EAAQ,iBAAiB,SAAUQ,EAAU,CAAE,QAAS,EAAK,CAAC,EAC9D,IAAMC,EAAW,OAAO,eAAmB,IAAc,KAAO,IAAI,eAAeD,CAAQ,EAC3FC,GAAU,QAAQT,CAAO,EACzB,QAAWU,KAAS,MAAM,KAAKV,EAAQ,QAAQ,EAAGS,GAAU,QAAQC,CAAK,EACzE,IAAMC,EAAY,OAAO,iBAAqB,IAAc,KAAO,IAAI,iBAAiBH,CAAQ,EAChG,OAAAG,GAAW,QAAQX,EAAS,CAAE,UAAW,EAAK,CAAC,EACxC,IAAM,CACPE,GAAO,qBAAqBA,CAAK,EACrCF,EAAQ,oBAAoB,SAAUQ,CAAQ,EAC9CC,GAAU,WAAW,EACrBE,GAAW,WAAW,EACtBX,EAAQ,MAAM,eAAe,yBAAyB,EACtDA,EAAQ,MAAM,eAAe,uBAAuB,EACpDA,EAAQ,MAAM,eAAe,2BAA2B,EACxDA,EAAQ,MAAM,eAAe,yBAAyB,CACxD,CACF,EAAG,CAACD,EAASC,CAAO,CAAC,EAEdC,CACT",
6
+ "names": ["React", "useScrollEdges", "enabled", "element", "setElement", "frame", "write", "start", "end", "xStart", "xEnd", "schedule", "observer", "child", "mutations"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-3QZBWH2A.js";import{a as t}from"./chunk-ELAW7ZUG.js";import*as r from"react";import c from"classnames";var f=r.forwardRef((e,p)=>{let{className:s,color:n,decorative:o,...i}=t(e,a),m=typeof e.orientation=="object"?e.orientation.initial:e.orientation;return r.createElement("span",{"data-accent-color":n,role:o?void 0:"separator","aria-orientation":!o&&m==="vertical"?"vertical":void 0,...i,ref:p,className:c("kui-Separator",s)})});f.displayName="Separator";export{f as a};
2
+ //# sourceMappingURL=chunk-DUTZUWZP.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/separator.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\n\nimport { separatorPropDefs } from './separator.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype SeparatorElement = React.ElementRef<'span'>;\ntype SeparatorOwnProps = GetPropDefTypes<typeof separatorPropDefs>;\ninterface SeparatorProps extends ComponentPropsWithout<'span', RemovedProps>, SeparatorOwnProps {}\nconst Separator = React.forwardRef<SeparatorElement, SeparatorProps>((props, forwardedRef) => {\n const { className, color, decorative, ...separatorProps } = extractProps(props, separatorPropDefs);\n // A responsive orientation announces the one it starts with.\n const orientation =\n typeof props.orientation === 'object' ? props.orientation.initial : props.orientation;\n return (\n <span\n data-accent-color={color}\n role={decorative ? undefined : 'separator'}\n aria-orientation={!decorative && orientation === 'vertical' ? 'vertical' : undefined}\n {...separatorProps}\n ref={forwardedRef}\n className={classNames('kui-Separator', className)}\n />\n );\n});\nSeparator.displayName = 'Separator';\n\nexport { Separator };\nexport type { SeparatorProps };\n"],
5
+ "mappings": "2EAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aAWvB,IAAMC,EAAkB,aAA6C,CAACC,EAAOC,IAAiB,CAC5F,GAAM,CAAE,UAAAC,EAAW,MAAAC,EAAO,WAAAC,EAAY,GAAGC,CAAe,EAAIC,EAAaN,EAAOO,CAAiB,EAE3FC,EACJ,OAAOR,EAAM,aAAgB,SAAWA,EAAM,YAAY,QAAUA,EAAM,YAC5E,OACE,gBAAC,QACC,oBAAmBG,EACnB,KAAMC,EAAa,OAAY,YAC/B,mBAAkB,CAACA,GAAcI,IAAgB,WAAa,WAAa,OAC1E,GAAGH,EACJ,IAAKJ,EACL,UAAWQ,EAAW,gBAAiBP,CAAS,EAClD,CAEJ,CAAC,EACDH,EAAU,YAAc",
6
+ "names": ["React", "classNames", "Separator", "props", "forwardedRef", "className", "color", "decorative", "separatorProps", "extractProps", "separatorPropDefs", "orientation", "classNames"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{b as e}from"./chunk-KRJTW535.js";var o=["cover","contain","fill","scale-down","none"],s={...e,fit:{type:"enum",className:"kui-r-fit",values:o,default:"cover"}};export{s as a};
2
+ //# sourceMappingURL=chunk-EZYXYLR2.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/image.props.ts"],
4
+ "sourcesContent": ["import { radiusPropDef } from '../props/radius.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst objectFitValues = ['cover', 'contain', 'fill', 'scale-down', 'none'] as const;\n\nconst imagePropDefs = {\n ...radiusPropDef,\n /**\n * How the picture fills its box, as CSS `object-fit`.\n * @link https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit\n */\n fit: { type: 'enum', className: 'kui-r-fit', values: objectFitValues, default: 'cover' },\n} satisfies {\n fit: PropDef<(typeof objectFitValues)[number]>;\n};\n\nexport { imagePropDefs };\n"],
5
+ "mappings": "wCAIA,IAAMA,EAAkB,CAAC,QAAS,UAAW,OAAQ,aAAc,MAAM,EAEnEC,EAAgB,CACpB,GAAGC,EAKH,IAAK,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQF,EAAiB,QAAS,OAAQ,CACzF",
6
+ "names": ["objectFitValues", "imagePropDefs", "radiusPropDef"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as D}from"./chunk-MHANZINI.js";import{a as p}from"./chunk-MPTTUBFU.js";import{a as l}from"./chunk-MJJ7XDIP.js";import{c as m}from"./chunk-PPZY7PJA.js";import{a as g}from"./chunk-4P6TKZCA.js";import{a as n}from"./chunk-FNAE6HUI.js";import{e as s}from"./chunk-3YLYGKFB.js";import{a as r}from"./chunk-ELAW7ZUG.js";import{a as w}from"./chunk-OS3FCYZY.js";var S={};w(S,{Close:()=>y,Content:()=>C,Description:()=>R,Root:()=>c,Title:()=>d,Trigger:()=>f});import*as o from"react";import W from"classnames";import{Dialog as t}from"radix-ui";var c=e=>o.createElement(t.Root,{...e,modal:!0});c.displayName="Dialog.Root";var f=o.forwardRef(({children:e,...i},a)=>o.createElement(t.Trigger,{...i,ref:a,asChild:!0},l(e)));f.displayName="Dialog.Trigger";var{align:O,...P}=n,B={align:O},C=o.forwardRef(({align:e,...i},a)=>{let T=s(i,P.size),{className:v}=r({align:e},B),{className:u,forceMount:h,container:E,onCloseAutoFocus:N,...x}=r(T,P);return D(),o.createElement(t.Portal,{container:E,forceMount:h},o.createElement(m,{asChild:!0},o.createElement(t.Overlay,{className:"kui-BaseDialogOverlay kui-DialogOverlay"},o.createElement("div",{className:"kui-BaseDialogScroll kui-DialogScroll"},o.createElement("div",{className:`kui-BaseDialogScrollPadding kui-DialogScrollPadding ${v}`},o.createElement(t.Content,{...x,ref:a,className:W("kui-BaseDialogContent","kui-DialogContent",u),"aria-modal":"true",onCloseAutoFocus:k=>{N?.(k),document.body.style.pointerEvents=""}}))))))});C.displayName="Dialog.Content";var d=o.forwardRef((e,i)=>o.createElement(t.Title,{asChild:!0},o.createElement(p,{size:"5",trim:"start",...e,asChild:!1,ref:i})));d.displayName="Dialog.Title";var R=o.forwardRef((e,i)=>o.createElement(t.Description,{asChild:!0},o.createElement(g,{as:"p",size:"3",...e,asChild:!1,ref:i})));R.displayName="Dialog.Description";var y=o.forwardRef(({children:e,...i},a)=>o.createElement(t.Close,{...i,ref:a,asChild:!0},l(e)));y.displayName="Dialog.Close";export{c as a,f as b,C as c,d,R as e,y as f,S as g};
2
+ //# sourceMappingURL=chunk-FDJV5RXX.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/dialog.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Dialog as DialogPrimitive } from 'radix-ui';\n\nimport { dialogContentPropDefs } from './dialog.props.js';\nimport { Heading } from './heading.js';\nimport { Text } from './text.js';\nimport { Theme } from './theme.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\nimport { useBodyPointerEventsCleanup } from '../hooks/use-body-pointer-events-cleanup.js';\n\nimport type { DialogContentOwnProps } from './dialog.props.js';\nimport type { ComponentPropsWithout, RemovedProps, ComponentPropsAs } from '../helpers/component-props.js';\n\ninterface DialogRootProps extends ComponentPropsWithout<typeof DialogPrimitive.Root, 'modal'> {}\nconst DialogRoot: React.FC<DialogRootProps> = (props) => <DialogPrimitive.Root {...props} modal />;\nDialogRoot.displayName = 'Dialog.Root';\n\ntype DialogTriggerElement = React.ElementRef<typeof DialogPrimitive.Trigger>;\ninterface DialogTriggerProps extends ComponentPropsWithout<typeof DialogPrimitive.Trigger, RemovedProps> {}\nconst DialogTrigger = React.forwardRef<DialogTriggerElement, DialogTriggerProps>(({ children, ...props }, forwardedRef) => (\n <DialogPrimitive.Trigger {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </DialogPrimitive.Trigger>\n));\nDialogTrigger.displayName = 'Dialog.Trigger';\n\n// Split once at module scope. `extractProps` memoises on the identity of the\n// prop def objects it is handed, so rebuilding these per render would recompile\n// them on every render.\nconst { align: alignPropDef, ...contentPropDefs } = dialogContentPropDefs;\nconst alignPropDefs = { align: alignPropDef };\n\ntype DialogContentElement = React.ElementRef<typeof DialogPrimitive.Content>;\ninterface DialogContentProps extends ComponentPropsWithout<typeof DialogPrimitive.Content, RemovedProps>, DialogContentOwnProps {\n container?: React.ComponentPropsWithoutRef<typeof DialogPrimitive.Portal>['container'];\n}\nconst DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>(({ align, ...ownProps }, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, contentPropDefs.size);\n const { className: alignClassName } = extractProps({ align }, alignPropDefs);\n\n const { className, forceMount, container, onCloseAutoFocus, ...contentProps } = extractProps(props, contentPropDefs);\n\n // Cleanup stuck pointer-events on body\n useBodyPointerEventsCleanup();\n\n return (\n <DialogPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <DialogPrimitive.Overlay className=\"kui-BaseDialogOverlay kui-DialogOverlay\">\n <div className=\"kui-BaseDialogScroll kui-DialogScroll\">\n <div className={`kui-BaseDialogScrollPadding kui-DialogScrollPadding ${alignClassName}`}>\n <DialogPrimitive.Content\n {...contentProps}\n ref={forwardedRef}\n className={classNames('kui-BaseDialogContent', 'kui-DialogContent', className)}\n aria-modal=\"true\"\n onCloseAutoFocus={(event) => {\n // Radix returns focus to the trigger unless the caller prevents it.\n onCloseAutoFocus?.(event);\n // Restore pointer-events to body (Radix UI fix for issue #1241)\n document.body.style.pointerEvents = '';\n }}\n />\n </div>\n </div>\n </DialogPrimitive.Overlay>\n </Theme>\n </DialogPrimitive.Portal>\n );\n});\nDialogContent.displayName = 'Dialog.Content';\n\ntype DialogTitleElement = React.ElementRef<typeof Heading>;\ntype DialogTitleProps = ComponentPropsWithout<typeof Heading, 'asChild'>;\nconst DialogTitle = React.forwardRef<DialogTitleElement, DialogTitleProps>((props, forwardedRef) => (\n <DialogPrimitive.Title asChild>\n <Heading size=\"5\" trim=\"start\" {...props} asChild={false} ref={forwardedRef} />\n </DialogPrimitive.Title>\n));\nDialogTitle.displayName = 'Dialog.Title';\n\ntype DialogDescriptionElement = HTMLParagraphElement;\ntype DialogDescriptionProps = ComponentPropsAs<typeof Text, 'p'>;\nconst DialogDescription = React.forwardRef<DialogDescriptionElement, DialogDescriptionProps>((props, forwardedRef) => (\n <DialogPrimitive.Description asChild>\n <Text as=\"p\" size=\"3\" {...props} asChild={false} ref={forwardedRef} />\n </DialogPrimitive.Description>\n));\nDialogDescription.displayName = 'Dialog.Description';\n\ntype DialogCloseElement = React.ElementRef<typeof DialogPrimitive.Close>;\ninterface DialogCloseProps extends ComponentPropsWithout<typeof DialogPrimitive.Close, RemovedProps> {}\nconst DialogClose = React.forwardRef<DialogCloseElement, DialogCloseProps>(({ children, ...props }, forwardedRef) => (\n <DialogPrimitive.Close {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </DialogPrimitive.Close>\n));\nDialogClose.displayName = 'Dialog.Close';\n\nexport { DialogRoot as Root, DialogTrigger as Trigger, DialogContent as Content, DialogTitle as Title, DialogDescription as Description, DialogClose as Close };\n\nexport type {\n DialogRootProps as RootProps,\n DialogTriggerProps as TriggerProps,\n DialogContentProps as ContentProps,\n DialogTitleProps as TitleProps,\n DialogDescriptionProps as DescriptionProps,\n DialogCloseProps as CloseProps,\n};\n"],
5
+ "mappings": "wWAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,WAAAE,EAAA,YAAAC,EAAA,gBAAAC,EAAA,SAAAC,EAAA,UAAAC,EAAA,YAAAC,IAAA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,UAAUC,MAAuB,WAe1C,IAAMC,EAAyCC,GAAU,gBAACC,EAAgB,KAAhB,CAAsB,GAAGD,EAAO,MAAK,GAAC,EAChGD,EAAW,YAAc,cAIzB,IAAMG,EAAsB,aAAqD,CAAC,CAAE,SAAAC,EAAU,GAAGH,CAAM,EAAGI,IACxG,gBAACH,EAAgB,QAAhB,CAAyB,GAAGD,EAAO,IAAKI,EAAc,QAAO,IAC3DC,EAAoBF,CAAQ,CAC/B,CACD,EACDD,EAAc,YAAc,iBAK5B,GAAM,CAAE,MAAOI,EAAc,GAAGC,CAAgB,EAAIC,EAC9CC,EAAgB,CAAE,MAAOH,CAAa,EAMtCI,EAAsB,aAAqD,CAAC,CAAE,MAAAC,EAAO,GAAGC,CAAS,EAAGR,IAAiB,CACzH,IAAMJ,EAAQa,EAAkBD,EAAUL,EAAgB,IAAI,EACxD,CAAE,UAAWO,CAAe,EAAIC,EAAa,CAAE,MAAAJ,CAAM,EAAGF,CAAa,EAErE,CAAE,UAAAO,EAAW,WAAAC,EAAY,UAAAC,EAAW,iBAAAC,EAAkB,GAAGC,CAAa,EAAIL,EAAaf,EAAOO,CAAe,EAGnH,OAAAc,EAA4B,EAG1B,gBAACpB,EAAgB,OAAhB,CAAuB,UAAWiB,EAAW,WAAYD,GACxD,gBAACK,EAAA,CAAM,QAAO,IACZ,gBAACrB,EAAgB,QAAhB,CAAwB,UAAU,2CACjC,gBAAC,OAAI,UAAU,yCACb,gBAAC,OAAI,UAAW,uDAAuDa,CAAc,IACnF,gBAACb,EAAgB,QAAhB,CACE,GAAGmB,EACJ,IAAKhB,EACL,UAAWmB,EAAW,wBAAyB,oBAAqBP,CAAS,EAC7E,aAAW,OACX,iBAAmBQ,GAAU,CAE3BL,IAAmBK,CAAK,EAExB,SAAS,KAAK,MAAM,cAAgB,EACtC,EACF,CACF,CACF,CACF,CACF,CACF,CAEJ,CAAC,EACDd,EAAc,YAAc,iBAI5B,IAAMe,EAAoB,aAAiD,CAACzB,EAAOI,IACjF,gBAACH,EAAgB,MAAhB,CAAsB,QAAO,IAC5B,gBAACyB,EAAA,CAAQ,KAAK,IAAI,KAAK,QAAS,GAAG1B,EAAO,QAAS,GAAO,IAAKI,EAAc,CAC/E,CACD,EACDqB,EAAY,YAAc,eAI1B,IAAME,EAA0B,aAA6D,CAAC3B,EAAOI,IACnG,gBAACH,EAAgB,YAAhB,CAA4B,QAAO,IAClC,gBAAC2B,EAAA,CAAK,GAAG,IAAI,KAAK,IAAK,GAAG5B,EAAO,QAAS,GAAO,IAAKI,EAAc,CACtE,CACD,EACDuB,EAAkB,YAAc,qBAIhC,IAAME,EAAoB,aAAiD,CAAC,CAAE,SAAA1B,EAAU,GAAGH,CAAM,EAAGI,IAClG,gBAACH,EAAgB,MAAhB,CAAuB,GAAGD,EAAO,IAAKI,EAAc,QAAO,IACzDC,EAAoBF,CAAQ,CAC/B,CACD,EACD0B,EAAY,YAAc",
6
+ "names": ["dialog_exports", "__export", "DialogClose", "DialogContent", "DialogDescription", "DialogRoot", "DialogTitle", "DialogTrigger", "React", "classNames", "DialogPrimitive", "DialogRoot", "props", "DialogPrimitive", "DialogTrigger", "children", "forwardedRef", "requireReactElement", "alignPropDef", "contentPropDefs", "dialogContentPropDefs", "alignPropDefs", "DialogContent", "align", "ownProps", "useThemeSizeProps", "alignClassName", "extractProps", "className", "forceMount", "container", "onCloseAutoFocus", "contentProps", "useBodyPointerEventsCleanup", "Theme", "classNames", "event", "DialogTitle", "Heading", "DialogDescription", "Text", "DialogClose"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as u,e as G,f as P,g as f}from"./chunk-JYQGCXXI.js";import{a as x}from"./chunk-VPSMETY2.js";import{a as n}from"./chunk-4P6TKZCA.js";import{b as a}from"./chunk-62ZGP4ET.js";import{d as b}from"./chunk-3YLYGKFB.js";import{a as k}from"./chunk-ELAW7ZUG.js";import{a as E}from"./chunk-OS3FCYZY.js";var T={};E(T,{Item:()=>y,Root:()=>d});import*as o from"react";import h from"classnames";import{Context as S}from"radix-ui/internal";var l="CheckboxGroup",[_]=S.createContextScope(l,[u]),R=u(),[z,I]=_(l),d=o.forwardRef(({color:s=x.color.default,size:e,variant:t=x.variant.default,...r},p)=>{let m=b(e,x.size),{__scopeCheckboxGroup:c,className:i,...v}=r,N=R(c);return o.createElement(z,{scope:c,color:s,size:m,variant:t},o.createElement(G,{...N,...v,ref:p,className:h("kui-CheckboxGroupRoot",i)}))});d.displayName="CheckboxGroup.Root";var y=o.forwardRef((s,e)=>{let{__scopeCheckboxGroup:t,children:r,className:p,style:m,...c}=s,{size:i}=I("CheckboxGroupItem",t);return r?o.createElement(n,{as:"label",size:i,className:h("kui-CheckboxGroupItem",p),style:m},o.createElement(C,{__scopeCheckboxGroup:t,...c,ref:e}),r&&o.createElement("span",{className:"kui-CheckboxGroupItemInner"},r)):o.createElement(C,{__scopeCheckboxGroup:t,...c,ref:e,className:p,style:m})});y.displayName="CheckboxGroup.Item";var C=o.forwardRef(({__scopeCheckboxGroup:s,...e},t)=>{let r=I("CheckboxGroupItemCheckbox",s),p=R(s),{color:m,className:c}=k({...e,...r},x);return o.createElement(P,{...p,"data-accent-color":m,...e,ref:t,className:h("kui-reset","kui-BaseCheckboxRoot","kui-CheckboxGroupItemCheckbox",c)},o.createElement(f,{...p,asChild:!0,className:"kui-BaseCheckboxIndicator"},o.createElement(a,null)))});C.displayName="CheckboxGroup.ItemCheckbox";export{d as a,y as b,T as c};
2
+ //# sourceMappingURL=chunk-G2JD52O5.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/checkbox-group.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Context } from 'radix-ui/internal';\n\nimport * as CheckboxGroupPrimitive from './checkbox-group.primitive.js';\nimport { createCheckboxGroupScope } from './checkbox-group.primitive.js';\nimport { checkboxGroupRootPropDefs } from './checkbox-group.props.js';\nimport { ThickCheckIcon } from './icons.js';\nimport { Text } from './text.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSize } from '../helpers/theme-size.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\nconst CHECKBOX_GROUP_NAME = 'CheckboxGroup';\n\ntype ScopedProps<P> = P & { __scopeCheckboxGroup?: Context.Scope };\nconst [createCheckboxGroupContext] = Context.createContextScope(CHECKBOX_GROUP_NAME, [\n createCheckboxGroupScope,\n]);\nconst useCheckboxGroupScope = createCheckboxGroupScope();\n\ntype CheckboxGroupRootOwnProps = GetPropDefTypes<typeof checkboxGroupRootPropDefs>;\ntype CheckboxGroupContextValue = CheckboxGroupRootOwnProps;\n\nconst [CheckboxGroupProvider, useCheckboxGroupContext] =\n createCheckboxGroupContext<CheckboxGroupContextValue>(CHECKBOX_GROUP_NAME);\n\ntype CheckboxGroupRootElement = React.ElementRef<typeof CheckboxGroupPrimitive.Root>;\ninterface CheckboxGroupRootProps\n extends ComponentPropsWithout<\n typeof CheckboxGroupPrimitive.Root,\n 'asChild' | 'color' | 'defaultChecked'\n >,\n CheckboxGroupRootOwnProps {}\nconst CheckboxGroupRoot = React.forwardRef<CheckboxGroupRootElement, CheckboxGroupRootProps>(\n (\n {\n color = checkboxGroupRootPropDefs.color.default,\n size: sizeProp,\n variant = checkboxGroupRootPropDefs.variant.default,\n ...props\n }: ScopedProps<CheckboxGroupRootProps>,\n forwardedRef,\n ) => {\n const size = useThemeSize(sizeProp, checkboxGroupRootPropDefs.size);\n const { __scopeCheckboxGroup, className, ...rootProps } = props;\n const checkboxGroupScope = useCheckboxGroupScope(__scopeCheckboxGroup);\n return (\n <CheckboxGroupProvider\n scope={__scopeCheckboxGroup}\n color={color}\n size={size}\n variant={variant}\n >\n <CheckboxGroupPrimitive.Root\n {...checkboxGroupScope}\n {...rootProps}\n ref={forwardedRef}\n className={classNames('kui-CheckboxGroupRoot', className)}\n />\n </CheckboxGroupProvider>\n );\n },\n);\nCheckboxGroupRoot.displayName = 'CheckboxGroup.Root';\n\ntype CheckboxGroupItemElement = React.ElementRef<typeof CheckboxGroupPrimitive.Item>;\ninterface CheckboxGroupItemProps\n extends ComponentPropsWithout<typeof CheckboxGroupPrimitive.Item, RemovedProps> {}\nconst CheckboxGroupItem = React.forwardRef<CheckboxGroupItemElement, CheckboxGroupItemProps>(\n (_props: ScopedProps<CheckboxGroupItemProps>, forwardedRef) => {\n const { __scopeCheckboxGroup, children, className, style, ...props } = _props;\n const { size } = useCheckboxGroupContext('CheckboxGroupItem', __scopeCheckboxGroup);\n\n // Helper to safely convert size to Text-compatible size\n const getTextSize = (sizeValue: any): '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' => {\n if (typeof sizeValue === 'string' && /^[1-9]$/.test(sizeValue)) {\n return sizeValue as any;\n }\n return '3';\n };\n\n // Render `<Text as=\"label\">` if children\u00A0are provided, otherwise render\n // the solo checkbox to allow building out your custom layouts with it.\n if (children) {\n return (\n <Text\n as=\"label\"\n size={getTextSize(size)}\n className={classNames('kui-CheckboxGroupItem', className)}\n style={style}\n >\n <CheckboxGroupItemCheckbox\n __scopeCheckboxGroup={__scopeCheckboxGroup}\n {...props}\n ref={forwardedRef}\n />\n {children && <span className=\"kui-CheckboxGroupItemInner\">{children}</span>}\n </Text>\n );\n }\n\n return (\n <CheckboxGroupItemCheckbox\n __scopeCheckboxGroup={__scopeCheckboxGroup}\n {...props}\n ref={forwardedRef}\n className={className}\n style={style}\n />\n );\n },\n);\nCheckboxGroupItem.displayName = 'CheckboxGroup.Item';\n\ntype CheckboxGroupItemCheckboxElement = React.ElementRef<typeof CheckboxGroupPrimitive.Item>;\ninterface CheckboxGroupItemCheckboxProps\n extends ComponentPropsWithout<typeof CheckboxGroupPrimitive.Item, RemovedProps> {}\nconst CheckboxGroupItemCheckbox = React.forwardRef<\n CheckboxGroupItemCheckboxElement,\n ScopedProps<CheckboxGroupItemCheckboxProps>\n>(({ __scopeCheckboxGroup, ...props }, forwardedRef) => {\n const context = useCheckboxGroupContext('CheckboxGroupItemCheckbox', __scopeCheckboxGroup);\n const checkboxGroupScope = useCheckboxGroupScope(__scopeCheckboxGroup);\n const { color, className } = extractProps(\n { ...props, ...context },\n checkboxGroupRootPropDefs,\n );\n return (\n <CheckboxGroupPrimitive.Item\n {...checkboxGroupScope}\n data-accent-color={color}\n {...props}\n ref={forwardedRef}\n className={classNames(\n 'kui-reset',\n 'kui-BaseCheckboxRoot',\n 'kui-CheckboxGroupItemCheckbox',\n className,\n )}\n >\n <CheckboxGroupPrimitive.Indicator\n {...checkboxGroupScope}\n asChild\n className=\"kui-BaseCheckboxIndicator\"\n >\n <ThickCheckIcon />\n </CheckboxGroupPrimitive.Indicator>\n </CheckboxGroupPrimitive.Item>\n );\n});\nCheckboxGroupItemCheckbox.displayName = 'CheckboxGroup.ItemCheckbox';\n\nexport { CheckboxGroupRoot as Root, CheckboxGroupItem as Item };\nexport type { CheckboxGroupRootProps as RootProps, CheckboxGroupItemProps as ItemProps };\n"],
5
- "mappings": "wSAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,UAAAE,EAAA,SAAAC,IAEA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,WAAAC,MAAe,oBAaxB,IAAMC,EAAsB,gBAGtB,CAACC,CAA0B,EAAIC,EAAQ,mBAAmBF,EAAqB,CACnFG,CACF,CAAC,EACKC,EAAwBD,EAAyB,EAKjD,CAACE,EAAuBC,CAAuB,EACnDL,EAAsDD,CAAmB,EASrEO,EAA0B,aAC9B,CACE,CACE,MAAAC,EAAQC,EAA0B,MAAM,QACxC,KAAMC,EACN,QAAAC,EAAUF,EAA0B,QAAQ,QAC5C,GAAGG,CACL,EACAC,IACG,CACH,IAAMC,EAAOC,EAAaL,EAAUD,EAA0B,IAAI,EAC5D,CAAE,qBAAAO,EAAsB,UAAAC,EAAW,GAAGC,CAAU,EAAIN,EACpDO,EAAqBf,EAAsBY,CAAoB,EACrE,OACE,gBAACX,EAAA,CACC,MAAOW,EACP,MAAOR,EACP,KAAMM,EACN,QAASH,GAET,gBAAwBS,EAAvB,CACE,GAAGD,EACH,GAAGD,EACJ,IAAKL,EACL,UAAWQ,EAAW,wBAAyBJ,CAAS,EAC1D,CACF,CAEJ,CACF,EACAV,EAAkB,YAAc,qBAKhC,IAAMe,EAA0B,aAC9B,CAACC,EAA6CV,IAAiB,CAC7D,GAAM,CAAE,qBAAAG,EAAsB,SAAAQ,EAAU,UAAAP,EAAW,MAAAQ,EAAO,GAAGb,CAAM,EAAIW,EACjE,CAAE,KAAAT,CAAK,EAAIR,EAAwB,oBAAqBU,CAAoB,EAG5EU,EAAeC,GACf,OAAOA,GAAc,UAAY,UAAU,KAAKA,CAAS,EACpDA,EAEF,IAKT,OAAIH,EAEA,gBAACI,EAAA,CACC,GAAG,QACH,KAAMF,EAAYZ,CAAI,EACtB,UAAWO,EAAW,wBAAyBJ,CAAS,EACxD,MAAOQ,GAEP,gBAACI,EAAA,CACC,qBAAsBb,EACrB,GAAGJ,EACJ,IAAKC,EACP,EACCW,GAAY,gBAAC,QAAK,UAAU,8BAA8BA,CAAS,CACtE,EAKF,gBAACK,EAAA,CACC,qBAAsBb,EACrB,GAAGJ,EACJ,IAAKC,EACL,UAAWI,EACX,MAAOQ,EACT,CAEJ,CACF,EACAH,EAAkB,YAAc,qBAKhC,IAAMO,EAAkC,aAGtC,CAAC,CAAE,qBAAAb,EAAsB,GAAGJ,CAAM,EAAGC,IAAiB,CACtD,IAAMiB,EAAUxB,EAAwB,4BAA6BU,CAAoB,EACnFG,EAAqBf,EAAsBY,CAAoB,EAC/D,CAAE,MAAAR,EAAO,UAAAS,CAAU,EAAIc,EAC3B,CAAE,GAAGnB,EAAO,GAAGkB,CAAQ,EACvBrB,CACF,EACA,OACE,gBAAwBuB,EAAvB,CACE,GAAGb,EACJ,oBAAmBX,EAClB,GAAGI,EACJ,IAAKC,EACL,UAAWQ,EACT,YACA,uBACA,gCACAJ,CACF,GAEA,gBAAwBgB,EAAvB,CACE,GAAGd,EACJ,QAAO,GACP,UAAU,6BAEV,gBAACe,EAAA,IAAe,CAClB,CACF,CAEJ,CAAC,EACDL,EAA0B,YAAc",
6
- "names": ["checkbox_group_exports", "__export", "CheckboxGroupItem", "CheckboxGroupRoot", "React", "classNames", "Context", "CHECKBOX_GROUP_NAME", "createCheckboxGroupContext", "Context", "createCheckboxGroupScope", "useCheckboxGroupScope", "CheckboxGroupProvider", "useCheckboxGroupContext", "CheckboxGroupRoot", "color", "checkboxGroupRootPropDefs", "sizeProp", "variant", "props", "forwardedRef", "size", "useThemeSize", "__scopeCheckboxGroup", "className", "rootProps", "checkboxGroupScope", "Root", "classNames", "CheckboxGroupItem", "_props", "children", "style", "getTextSize", "sizeValue", "Text", "CheckboxGroupItemCheckbox", "context", "extractProps", "Item", "Indicator", "ThickCheckIcon"]
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Context } from 'radix-ui/internal';\n\nimport * as CheckboxGroupPrimitive from './checkbox-group.primitive.js';\nimport { createCheckboxGroupScope } from './checkbox-group.primitive.js';\nimport { checkboxGroupRootPropDefs } from './checkbox-group.props.js';\nimport { ThickCheckIcon } from './icons.js';\nimport { Text } from './text.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSize } from '../helpers/theme-size.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\nconst CHECKBOX_GROUP_NAME = 'CheckboxGroup';\n\ntype ScopedProps<P> = P & { __scopeCheckboxGroup?: Context.Scope };\nconst [createCheckboxGroupContext] = Context.createContextScope(CHECKBOX_GROUP_NAME, [\n createCheckboxGroupScope,\n]);\nconst useCheckboxGroupScope = createCheckboxGroupScope();\n\ntype CheckboxGroupRootOwnProps = GetPropDefTypes<typeof checkboxGroupRootPropDefs>;\ntype CheckboxGroupContextValue = CheckboxGroupRootOwnProps;\n\nconst [CheckboxGroupProvider, useCheckboxGroupContext] =\n createCheckboxGroupContext<CheckboxGroupContextValue>(CHECKBOX_GROUP_NAME);\n\ntype CheckboxGroupRootElement = React.ElementRef<typeof CheckboxGroupPrimitive.Root>;\ninterface CheckboxGroupRootProps\n extends ComponentPropsWithout<\n typeof CheckboxGroupPrimitive.Root,\n 'asChild' | 'color' | 'defaultChecked'\n >,\n CheckboxGroupRootOwnProps {}\nconst CheckboxGroupRoot = React.forwardRef<CheckboxGroupRootElement, CheckboxGroupRootProps>(\n (\n {\n color = checkboxGroupRootPropDefs.color.default,\n size: sizeProp,\n variant = checkboxGroupRootPropDefs.variant.default,\n ...props\n }: ScopedProps<CheckboxGroupRootProps>,\n forwardedRef,\n ) => {\n const size = useThemeSize(sizeProp, checkboxGroupRootPropDefs.size);\n const { __scopeCheckboxGroup, className, ...rootProps } = props;\n const checkboxGroupScope = useCheckboxGroupScope(__scopeCheckboxGroup);\n return (\n <CheckboxGroupProvider\n scope={__scopeCheckboxGroup}\n color={color}\n size={size}\n variant={variant}\n >\n <CheckboxGroupPrimitive.Root\n {...checkboxGroupScope}\n {...rootProps}\n ref={forwardedRef}\n className={classNames('kui-CheckboxGroupRoot', className)}\n />\n </CheckboxGroupProvider>\n );\n },\n);\nCheckboxGroupRoot.displayName = 'CheckboxGroup.Root';\n\ntype CheckboxGroupItemElement = React.ElementRef<typeof CheckboxGroupPrimitive.Item>;\ninterface CheckboxGroupItemProps\n extends ComponentPropsWithout<typeof CheckboxGroupPrimitive.Item, RemovedProps> {}\nconst CheckboxGroupItem = React.forwardRef<CheckboxGroupItemElement, CheckboxGroupItemProps>(\n (_props: ScopedProps<CheckboxGroupItemProps>, forwardedRef) => {\n const { __scopeCheckboxGroup, children, className, style, ...props } = _props;\n const { size } = useCheckboxGroupContext('CheckboxGroupItem', __scopeCheckboxGroup);\n\n // Render `<Text as=\"label\">` if children\u00A0are provided, otherwise render\n // the solo checkbox to allow building out your custom layouts with it.\n if (children) {\n return (\n <Text\n as=\"label\"\n size={size}\n className={classNames('kui-CheckboxGroupItem', className)}\n style={style}\n >\n <CheckboxGroupItemCheckbox\n __scopeCheckboxGroup={__scopeCheckboxGroup}\n {...props}\n ref={forwardedRef}\n />\n {children && <span className=\"kui-CheckboxGroupItemInner\">{children}</span>}\n </Text>\n );\n }\n\n return (\n <CheckboxGroupItemCheckbox\n __scopeCheckboxGroup={__scopeCheckboxGroup}\n {...props}\n ref={forwardedRef}\n className={className}\n style={style}\n />\n );\n },\n);\nCheckboxGroupItem.displayName = 'CheckboxGroup.Item';\n\ntype CheckboxGroupItemCheckboxElement = React.ElementRef<typeof CheckboxGroupPrimitive.Item>;\ninterface CheckboxGroupItemCheckboxProps\n extends ComponentPropsWithout<typeof CheckboxGroupPrimitive.Item, RemovedProps> {}\nconst CheckboxGroupItemCheckbox = React.forwardRef<\n CheckboxGroupItemCheckboxElement,\n ScopedProps<CheckboxGroupItemCheckboxProps>\n>(({ __scopeCheckboxGroup, ...props }, forwardedRef) => {\n const context = useCheckboxGroupContext('CheckboxGroupItemCheckbox', __scopeCheckboxGroup);\n const checkboxGroupScope = useCheckboxGroupScope(__scopeCheckboxGroup);\n const { color, className } = extractProps(\n { ...props, ...context },\n checkboxGroupRootPropDefs,\n );\n return (\n <CheckboxGroupPrimitive.Item\n {...checkboxGroupScope}\n data-accent-color={color}\n {...props}\n ref={forwardedRef}\n className={classNames(\n 'kui-reset',\n 'kui-BaseCheckboxRoot',\n 'kui-CheckboxGroupItemCheckbox',\n className,\n )}\n >\n <CheckboxGroupPrimitive.Indicator\n {...checkboxGroupScope}\n asChild\n className=\"kui-BaseCheckboxIndicator\"\n >\n <ThickCheckIcon />\n </CheckboxGroupPrimitive.Indicator>\n </CheckboxGroupPrimitive.Item>\n );\n});\nCheckboxGroupItemCheckbox.displayName = 'CheckboxGroup.ItemCheckbox';\n\nexport { CheckboxGroupRoot as Root, CheckboxGroupItem as Item };\nexport type { CheckboxGroupRootProps as RootProps, CheckboxGroupItemProps as ItemProps };\n"],
5
+ "mappings": "6SAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,UAAAE,EAAA,SAAAC,IAEA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,WAAAC,MAAe,oBAaxB,IAAMC,EAAsB,gBAGtB,CAACC,CAA0B,EAAIC,EAAQ,mBAAmBF,EAAqB,CACnFG,CACF,CAAC,EACKC,EAAwBD,EAAyB,EAKjD,CAACE,EAAuBC,CAAuB,EACnDL,EAAsDD,CAAmB,EASrEO,EAA0B,aAC9B,CACE,CACE,MAAAC,EAAQC,EAA0B,MAAM,QACxC,KAAMC,EACN,QAAAC,EAAUF,EAA0B,QAAQ,QAC5C,GAAGG,CACL,EACAC,IACG,CACH,IAAMC,EAAOC,EAAaL,EAAUD,EAA0B,IAAI,EAC5D,CAAE,qBAAAO,EAAsB,UAAAC,EAAW,GAAGC,CAAU,EAAIN,EACpDO,EAAqBf,EAAsBY,CAAoB,EACrE,OACE,gBAACX,EAAA,CACC,MAAOW,EACP,MAAOR,EACP,KAAMM,EACN,QAASH,GAET,gBAAwBS,EAAvB,CACE,GAAGD,EACH,GAAGD,EACJ,IAAKL,EACL,UAAWQ,EAAW,wBAAyBJ,CAAS,EAC1D,CACF,CAEJ,CACF,EACAV,EAAkB,YAAc,qBAKhC,IAAMe,EAA0B,aAC9B,CAACC,EAA6CV,IAAiB,CAC7D,GAAM,CAAE,qBAAAG,EAAsB,SAAAQ,EAAU,UAAAP,EAAW,MAAAQ,EAAO,GAAGb,CAAM,EAAIW,EACjE,CAAE,KAAAT,CAAK,EAAIR,EAAwB,oBAAqBU,CAAoB,EAIlF,OAAIQ,EAEA,gBAACE,EAAA,CACC,GAAG,QACH,KAAMZ,EACN,UAAWO,EAAW,wBAAyBJ,CAAS,EACxD,MAAOQ,GAEP,gBAACE,EAAA,CACC,qBAAsBX,EACrB,GAAGJ,EACJ,IAAKC,EACP,EACCW,GAAY,gBAAC,QAAK,UAAU,8BAA8BA,CAAS,CACtE,EAKF,gBAACG,EAAA,CACC,qBAAsBX,EACrB,GAAGJ,EACJ,IAAKC,EACL,UAAWI,EACX,MAAOQ,EACT,CAEJ,CACF,EACAH,EAAkB,YAAc,qBAKhC,IAAMK,EAAkC,aAGtC,CAAC,CAAE,qBAAAX,EAAsB,GAAGJ,CAAM,EAAGC,IAAiB,CACtD,IAAMe,EAAUtB,EAAwB,4BAA6BU,CAAoB,EACnFG,EAAqBf,EAAsBY,CAAoB,EAC/D,CAAE,MAAAR,EAAO,UAAAS,CAAU,EAAIY,EAC3B,CAAE,GAAGjB,EAAO,GAAGgB,CAAQ,EACvBnB,CACF,EACA,OACE,gBAAwBqB,EAAvB,CACE,GAAGX,EACJ,oBAAmBX,EAClB,GAAGI,EACJ,IAAKC,EACL,UAAWQ,EACT,YACA,uBACA,gCACAJ,CACF,GAEA,gBAAwBc,EAAvB,CACE,GAAGZ,EACJ,QAAO,GACP,UAAU,6BAEV,gBAACa,EAAA,IAAe,CAClB,CACF,CAEJ,CAAC,EACDL,EAA0B,YAAc",
6
+ "names": ["checkbox_group_exports", "__export", "CheckboxGroupItem", "CheckboxGroupRoot", "React", "classNames", "Context", "CHECKBOX_GROUP_NAME", "createCheckboxGroupContext", "Context", "createCheckboxGroupScope", "useCheckboxGroupScope", "CheckboxGroupProvider", "useCheckboxGroupContext", "CheckboxGroupRoot", "color", "checkboxGroupRootPropDefs", "sizeProp", "variant", "props", "forwardedRef", "size", "useThemeSize", "__scopeCheckboxGroup", "className", "rootProps", "checkboxGroupScope", "Root", "classNames", "CheckboxGroupItem", "_props", "children", "style", "Text", "CheckboxGroupItemCheckbox", "context", "extractProps", "Item", "Indicator", "ThickCheckIcon"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{a as te,b as re}from"./chunk-FDHWAC6W.js";import{a as B,b as oe,c as O}from"./chunk-25FNCKUM.js";import{b as Z,c as ee}from"./chunk-IX5HIHVI.js";import{a as Y}from"./chunk-MJJ7XDIP.js";import{b as U,c as X}from"./chunk-PPZY7PJA.js";import{a as J}from"./chunk-AGAQC4HH.js";import{c as _}from"./chunk-FWB47YCH.js";import{d as Q}from"./chunk-3YLYGKFB.js";import{a as D}from"./chunk-ELAW7ZUG.js";import{a as Te}from"./chunk-OS3FCYZY.js";var Me={};Te(Me,{Content:()=>fe,Empty:()=>Pe,Group:()=>Re,Input:()=>xe,Item:()=>ye,Label:()=>he,List:()=>ge,Root:()=>pe,Separator:()=>ve,Trigger:()=>de,Value:()=>Ce});import*as e from"react";import p from"classnames";import{Popover as ne}from"radix-ui";import{useCallbackRef as A,useComposedRefs as ie,useControllableState as G,useLayoutEffect as W}from"radix-ui/internal";import{Command as T,useCommandState as ae}from"cmdk";var Ie={size:B.size},Ne={size:O.size},se=new Set;function Le(o){se.has(o)||(se.add(o),console.warn(o))}function we(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 le=e.createContext(null),M=o=>{let r=e.useContext(le);if(!r)throw new Error(`Combobox.${o} must be used within Combobox.Root`);return r},me=e.createContext(null),ce=e.createContext(null),be=e.createContext(null),ue=()=>e.useContext(be);function De(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 pe=o=>{let{children:r,size:t,value:n,defaultValue:a=null,onValueChange:s,open:l,defaultOpen:d=!1,onOpenChange:i,placeholder:c="Select an option",searchPlaceholder:x="Search...",searchValue:g,defaultSearchValue:R="",onSearchValueChange:h,filter:C,shouldFilter:b=!0,loop:m=!0,disabled:v,resetSearchOnSelect:f=!0,resetSearchOnClose:S=!0,color:V,displayValue:y,...k}=o,u=Q(t,B.size),[E,P]=G({prop:l,defaultProp:d,onChange:i}),[I,Se]=G({prop:n,defaultProp:a,onChange:s}),[j,N]=G({prop:g,defaultProp:R,onChange:h}),K=typeof y=="function"?y(I):y,[L]=e.useState(()=>we(I));W(()=>{L.set(I)},[L,I]);let F=A(w=>{P(w),!w&&S&&N("")}),q=A(w=>{Se(w),P(!1),f&&N("")}),z=e.useRef(null),$=e.useCallback(()=>z.current?De(z.current):void 0,[]),Ve=e.useMemo(()=>({value:I,displayValue:K,setOpen:F,size:u,placeholder:c,searchPlaceholder:x,disabled:v,color:V,loop:m,shouldFilter:b,filter:C,triggerRef:z,getTriggerLabel:$}),[I,K,F,u,c,x,v,V,m,b,C,$]),Ee=e.useMemo(()=>({value:j,setValue:N}),[j,N]),ke=e.useMemo(()=>({store:L,onSelect:q,disabled:v}),[L,q,v]);return e.createElement(le.Provider,{value:Ve},e.createElement(me.Provider,{value:Ee},e.createElement(ce.Provider,{value:ke},e.createElement(te,{open:E,onOpenChange:F,...k},r))))};pe.displayName="Combobox.Root";var de=e.forwardRef((o,r)=>{let t=M("Trigger"),{children:n,className:a,placeholder:s,disabled:l,readOnly:d,error:i,loading:c,color:x,radius:g,onClick:R,onKeyDown:h,type:C,...b}=D({size:t.size,...o},Ie,oe),m=l??t.disabled,v=x??t.color,f=!!(d||c),S=t.value==null&&t.displayValue==null,V=ie(r,t.triggerRef),{getTriggerLabel:y}=t;e.useEffect(()=>{},[y]);let k=P=>{R?.(P),f&&P.preventDefault()},u=P=>{h?.(P),!(P.defaultPrevented||f||m)&&P.key==="ArrowDown"&&(P.preventDefault(),t.setOpen(!0))},E=e.createElement(e.Fragment,null,e.createElement("span",{className:"kui-SelectTriggerInner"},e.createElement("span",{className:"kui-ComboboxValue"},t.displayValue??t.value??s??t.placeholder)),c?e.createElement("div",{className:"kui-SelectIcon kui-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:"kui-SelectLoadingIconCircle"}))):e.createElement(ee,{className:"kui-SelectIcon"}));return e.createElement(re,{disabled:m},e.createElement("button",{"data-accent-color":v,"data-radius":g,"data-error":i,"data-loading":c,"data-disabled":m||void 0,"data-read-only":d||void 0,"data-placeholder":S?"":void 0,...b,role:"combobox","aria-disabled":m||void 0,"aria-readonly":d||void 0,"aria-invalid":i||void 0,"aria-busy":c||void 0,type:C??"button",disabled:m,onClick:k,onKeyDown:u,ref:V,className:p("kui-reset","kui-SelectTrigger","kui-ComboboxTrigger",a)},n?Y(n):E))});de.displayName="Combobox.Trigger";var Ce=e.forwardRef(({placeholder:o,children:r,className:t,...n},a)=>{let s=M("Value"),l=s.displayValue??s.value??void 0;return e.createElement("span",{...n,ref:a,className:p("kui-ComboboxValue",t)},l??r??o??s.placeholder)});Ce.displayName="Combobox.Value";function Oe(){let o=ae(a=>a.filtered.count),r=ae(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(J,{role:"status","aria-live":"polite","aria-atomic":"true"},t)}var fe=e.forwardRef((o,r)=>{let t=M("Content"),n=U(),a=o.size??t.size??O.size.default,{className:s,children:l,color:d,forceMount:i,container:c,onOpenAutoFocus:x,"aria-label":g,"aria-labelledby":R,...h}=D({...o,size:a},O),C=d||t.color||n.accentColor,{getTriggerLabel:b}=t,[m,v]=e.useState(b);W(()=>{if(m!==void 0)return;let u=b();u!==void 0&&v(u)},[b,m]);let f=o["aria-label"]??m,S=e.useMemo(()=>({sizeClassName:D({size:a},Ne).className||void 0,color:C,label:f}),[a,C,f]),V=e.useRef(null),y=u=>{if(x?.(u),u.defaultPrevented)return;let E=V.current;if(!E||E.querySelector("[cmdk-input]"))return;u.preventDefault(),(E.querySelector("[cmdk-list]")??E).focus({preventScroll:!0})},k=t.value?.trim()||void 0;return e.createElement(ne.Portal,{container:c,forceMount:i?!0:void 0},e.createElement(X,{asChild:!0},e.createElement(ne.Content,{"data-accent-color":C,align:"start",sideOffset:4,collisionPadding:10,"aria-label":R?void 0:f,"aria-labelledby":R,...h,forceMount:i?!0:void 0,onOpenAutoFocus:y,ref:r,className:p("kui-PopperContent","kui-BaseMenuContent","kui-variant-soft","kui-ComboboxContent",s)},e.createElement(be.Provider,{value:S},e.createElement(T,{ref:V,loop:t.loop,shouldFilter:t.shouldFilter,filter:t.filter,label:f,defaultValue:k,className:"kui-ComboboxCommand"},l,e.createElement(Oe,null))))))});fe.displayName="Combobox.Content";var xe=e.forwardRef(({className:o,startAdornment:r,endAdornment:t,placeholder:n,variant:a,value:s,onValueChange:l,...d},i)=>{let c=M("Input"),x=e.useContext(me),g=ue(),R=a??"soft",h=s??x?.value??"",C=l??x?.setValue,b=e.createElement("div",{className:p("kui-TextFieldRoot","kui-ComboboxInputRoot",g?.sizeClassName,`kui-variant-${R}`),"data-accent-color":g?.color},r?e.createElement("div",{className:"kui-TextFieldSlot"},r):null,e.createElement(T.Input,{...d,ref:i,value:h,onValueChange:C,placeholder:n??c.searchPlaceholder,className:p("kui-reset","kui-TextFieldInput",o)}),t?e.createElement("div",{className:"kui-TextFieldSlot","data-side":"right"},t):null);return g?e.createElement("div",{className:"kui-ComboboxSearch"},b):b});xe.displayName="Combobox.Input";var ge=e.forwardRef(({className:o,children:r,label:t,...n},a)=>{let s=ue();return e.createElement("div",{className:"kui-ComboboxScrollArea"},e.createElement("div",{className:p("kui-BaseMenuViewport","kui-ComboboxViewport")},e.createElement(T.List,{...n,label:t??s?.label,ref:a,className:p("kui-ComboboxList",o)},r)))});ge.displayName="Combobox.List";var Pe=e.forwardRef(({className:o,...r},t)=>e.createElement(T.Empty,{...r,ref:t,className:p("kui-ComboboxEmpty",o)}));Pe.displayName="Combobox.Empty";var Re=e.forwardRef(({className:o,...r},t)=>e.createElement(T.Group,{...r,ref:t,className:p("kui-BaseMenuGroup","kui-ComboboxGroup",o)}));Re.displayName="Combobox.Group";var he=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:p("kui-BaseMenuLabel","kui-ComboboxLabel",o)})});he.displayName="Combobox.Label";var ve=e.forwardRef(({className:o,...r},t)=>e.createElement(T.Separator,{...r,ref:t,className:p("kui-BaseMenuSeparator","kui-ComboboxSeparator",o)}));ve.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 ye=e.forwardRef(({className:o,children:r,label:t,value:n,disabled:a,onSelect:s,keywords:l,...d},i)=>{let c=e.useContext(ce);if(!c)throw new Error("Combobox.Item must be used within Combobox.Root");let{store:x,onSelect:g,disabled:R}=c,h=n??(typeof r=="string"?r.trim():void 0),C=()=>h!==void 0&&x.get()===h,b=e.useSyncExternalStore(x.subscribe,C,C),m=A(s),v=e.useCallback(k=>{let u=n??k;g(u),m(u)},[n,g,m]),f=(t??H(r)).replace(/\s+/g," ").trim(),S=f?l?[f,...l]:[f]:l,V=S?S.join("\0"):"",y=a??R??!1;return e.createElement(T.Item,{key:V,...d,value:n,keywords:S,"aria-checked":b,disabled:y||void 0,ref:i,onSelect:v,className:p("kui-reset","kui-BaseMenuItem","kui-ComboboxItem",o)},b?e.createElement("span",{className:p("kui-BaseMenuItemIndicator","kui-ComboboxItemIndicator")},e.createElement(Z,{className:p("kui-BaseMenuItemIndicatorIcon","kui-ComboboxItemIndicatorIcon")})):null,e.createElement(_,null,r))});ye.displayName="Combobox.Item";export{pe as a,de as b,Ce as c,fe as d,xe as e,ge as f,Pe as g,Re as h,he as i,ve as j,ye as k,Me as l};
2
- //# sourceMappingURL=chunk-PNAB6KCN.js.map
1
+ import{a as te,b as re}from"./chunk-FDHWAC6W.js";import{a as B,b as oe,c as O}from"./chunk-25FNCKUM.js";import{a as ee}from"./chunk-AGAQC4HH.js";import{a as Z}from"./chunk-MJJ7XDIP.js";import{b as X,c as Y}from"./chunk-PPZY7PJA.js";import{b as J,c as Q}from"./chunk-62ZGP4ET.js";import{c as _}from"./chunk-FWB47YCH.js";import{d as U}from"./chunk-3YLYGKFB.js";import{a as D}from"./chunk-ELAW7ZUG.js";import{a as Te}from"./chunk-OS3FCYZY.js";var Me={};Te(Me,{Content:()=>fe,Empty:()=>Pe,Group:()=>Re,Input:()=>xe,Item:()=>ye,Label:()=>he,List:()=>ge,Root:()=>pe,Separator:()=>ve,Trigger:()=>de,Value:()=>Ce});import*as e from"react";import p from"classnames";import{Popover as ne}from"radix-ui";import{useCallbackRef as A,useComposedRefs as ie,useControllableState as G,useLayoutEffect as W}from"radix-ui/internal";import{Command as T,useCommandState as ae}from"cmdk";var Ie={size:B.size},Ne={size:O.size},se=new Set;function Le(o){se.has(o)||(se.add(o),console.warn(o))}function we(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 le=e.createContext(null),M=o=>{let r=e.useContext(le);if(!r)throw new Error(`Combobox.${o} must be used within Combobox.Root`);return r},me=e.createContext(null),ce=e.createContext(null),be=e.createContext(null),ue=()=>e.useContext(be);function De(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 pe=o=>{let{children:r,size:t,value:n,defaultValue:a=null,onValueChange:s,open:l,defaultOpen:d=!1,onOpenChange:i,placeholder:c="Select an option",searchPlaceholder:x="Search...",searchValue:g,defaultSearchValue:R="",onSearchValueChange:h,filter:C,shouldFilter:b=!0,loop:m=!0,disabled:v,resetSearchOnSelect:f=!0,resetSearchOnClose:S=!0,color:V,displayValue:y,...k}=o,u=U(t,B.size),[E,P]=G({prop:l,defaultProp:d,onChange:i}),[I,Se]=G({prop:n,defaultProp:a,onChange:s}),[j,N]=G({prop:g,defaultProp:R,onChange:h}),K=typeof y=="function"?y(I):y,[L]=e.useState(()=>we(I));W(()=>{L.set(I)},[L,I]);let F=A(w=>{P(w),!w&&S&&N("")}),q=A(w=>{Se(w),P(!1),f&&N("")}),z=e.useRef(null),$=e.useCallback(()=>z.current?De(z.current):void 0,[]),Ve=e.useMemo(()=>({value:I,displayValue:K,setOpen:F,size:u,placeholder:c,searchPlaceholder:x,disabled:v,color:V,loop:m,shouldFilter:b,filter:C,triggerRef:z,getTriggerLabel:$}),[I,K,F,u,c,x,v,V,m,b,C,$]),Ee=e.useMemo(()=>({value:j,setValue:N}),[j,N]),ke=e.useMemo(()=>({store:L,onSelect:q,disabled:v}),[L,q,v]);return e.createElement(le.Provider,{value:Ve},e.createElement(me.Provider,{value:Ee},e.createElement(ce.Provider,{value:ke},e.createElement(te,{open:E,onOpenChange:F,...k},r))))};pe.displayName="Combobox.Root";var de=e.forwardRef((o,r)=>{let t=M("Trigger"),{children:n,className:a,placeholder:s,disabled:l,readOnly:d,error:i,loading:c,color:x,radius:g,onClick:R,onKeyDown:h,type:C,...b}=D({size:t.size,...o},Ie,oe),m=l??t.disabled,v=x??t.color,f=!!(d||c),S=t.value==null&&t.displayValue==null,V=ie(r,t.triggerRef),{getTriggerLabel:y}=t;e.useEffect(()=>{},[y]);let k=P=>{R?.(P),f&&P.preventDefault()},u=P=>{h?.(P),!(P.defaultPrevented||f||m)&&P.key==="ArrowDown"&&(P.preventDefault(),t.setOpen(!0))},E=e.createElement(e.Fragment,null,e.createElement("span",{className:"kui-SelectTriggerInner"},e.createElement("span",{className:"kui-ComboboxValue"},t.displayValue??t.value??s??t.placeholder)),c?e.createElement("div",{className:"kui-SelectIcon kui-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:"kui-SelectLoadingIconCircle"}))):e.createElement(Q,{className:"kui-SelectIcon"}));return e.createElement(re,{disabled:m},e.createElement("button",{"data-accent-color":v,"data-radius":g,"data-error":i,"data-loading":c,"data-disabled":m||void 0,"data-read-only":d||void 0,"data-placeholder":S?"":void 0,...b,role:"combobox","aria-disabled":m||void 0,"aria-readonly":d||void 0,"aria-invalid":i||void 0,"aria-busy":c||void 0,type:C??"button",disabled:m,onClick:k,onKeyDown:u,ref:V,className:p("kui-reset","kui-SelectTrigger","kui-ComboboxTrigger",a)},n?Z(n):E))});de.displayName="Combobox.Trigger";var Ce=e.forwardRef(({placeholder:o,children:r,className:t,...n},a)=>{let s=M("Value"),l=s.displayValue??s.value??void 0;return e.createElement("span",{...n,ref:a,className:p("kui-ComboboxValue",t)},l??r??o??s.placeholder)});Ce.displayName="Combobox.Value";function Oe(){let o=ae(a=>a.filtered.count),r=ae(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(ee,{role:"status","aria-live":"polite","aria-atomic":"true"},t)}var fe=e.forwardRef((o,r)=>{let t=M("Content"),n=X(),a=o.size??t.size??O.size.default,{className:s,children:l,color:d,forceMount:i,container:c,onOpenAutoFocus:x,"aria-label":g,"aria-labelledby":R,...h}=D({...o,size:a},O),C=d||t.color||n.accentColor,{getTriggerLabel:b}=t,[m,v]=e.useState(b);W(()=>{if(m!==void 0)return;let u=b();u!==void 0&&v(u)},[b,m]);let f=o["aria-label"]??m,S=e.useMemo(()=>({sizeClassName:D({size:a},Ne).className||void 0,color:C,label:f}),[a,C,f]),V=e.useRef(null),y=u=>{if(x?.(u),u.defaultPrevented)return;let E=V.current;if(!E||E.querySelector("[cmdk-input]"))return;u.preventDefault(),(E.querySelector("[cmdk-list]")??E).focus({preventScroll:!0})},k=t.value?.trim()||void 0;return e.createElement(ne.Portal,{container:c,forceMount:i?!0:void 0},e.createElement(Y,{asChild:!0},e.createElement(ne.Content,{"data-accent-color":C,align:"start",sideOffset:4,collisionPadding:10,"aria-label":R?void 0:f,"aria-labelledby":R,...h,forceMount:i?!0:void 0,onOpenAutoFocus:y,ref:r,className:p("kui-PopperContent","kui-BaseMenuContent","kui-variant-soft","kui-ComboboxContent",s)},e.createElement(be.Provider,{value:S},e.createElement(T,{ref:V,loop:t.loop,shouldFilter:t.shouldFilter,filter:t.filter,label:f,defaultValue:k,className:"kui-ComboboxCommand"},l,e.createElement(Oe,null))))))});fe.displayName="Combobox.Content";var xe=e.forwardRef(({className:o,startAdornment:r,endAdornment:t,placeholder:n,variant:a,value:s,onValueChange:l,...d},i)=>{let c=M("Input"),x=e.useContext(me),g=ue(),R=a??"soft",h=s??x?.value??"",C=l??x?.setValue,b=e.createElement("div",{className:p("kui-TextFieldRoot","kui-ComboboxInputRoot",g?.sizeClassName,`kui-variant-${R}`),"data-accent-color":g?.color},r?e.createElement("div",{className:"kui-TextFieldSlot"},r):null,e.createElement(T.Input,{...d,ref:i,value:h,onValueChange:C,placeholder:n??c.searchPlaceholder,className:p("kui-reset","kui-TextFieldInput",o)}),t?e.createElement("div",{className:"kui-TextFieldSlot","data-side":"right"},t):null);return g?e.createElement("div",{className:"kui-ComboboxSearch"},b):b});xe.displayName="Combobox.Input";var ge=e.forwardRef(({className:o,children:r,label:t,...n},a)=>{let s=ue();return e.createElement("div",{className:"kui-ComboboxScrollArea"},e.createElement("div",{className:p("kui-BaseMenuViewport","kui-ComboboxViewport")},e.createElement(T.List,{...n,label:t??s?.label,ref:a,className:p("kui-ComboboxList",o)},r)))});ge.displayName="Combobox.List";var Pe=e.forwardRef(({className:o,...r},t)=>e.createElement(T.Empty,{...r,ref:t,className:p("kui-ComboboxEmpty",o)}));Pe.displayName="Combobox.Empty";var Re=e.forwardRef(({className:o,...r},t)=>e.createElement(T.Group,{...r,ref:t,className:p("kui-BaseMenuGroup","kui-ComboboxGroup",o)}));Re.displayName="Combobox.Group";var he=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:p("kui-BaseMenuLabel","kui-ComboboxLabel",o)})});he.displayName="Combobox.Label";var ve=e.forwardRef(({className:o,...r},t)=>e.createElement(T.Separator,{...r,ref:t,className:p("kui-BaseMenuSeparator","kui-ComboboxSeparator",o)}));ve.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 ye=e.forwardRef(({className:o,children:r,label:t,value:n,disabled:a,onSelect:s,keywords:l,...d},i)=>{let c=e.useContext(ce);if(!c)throw new Error("Combobox.Item must be used within Combobox.Root");let{store:x,onSelect:g,disabled:R}=c,h=n??(typeof r=="string"?r.trim():void 0),C=()=>h!==void 0&&x.get()===h,b=e.useSyncExternalStore(x.subscribe,C,C),m=A(s),v=e.useCallback(k=>{let u=n??k;g(u),m(u)},[n,g,m]),f=(t??H(r)).replace(/\s+/g," ").trim(),S=f?l?[f,...l]:[f]:l,V=S?S.join("\0"):"",y=a??R??!1;return e.createElement(T.Item,{key:V,...d,value:n,keywords:S,"aria-checked":b,disabled:y||void 0,ref:i,onSelect:v,className:p("kui-reset","kui-BaseMenuItem","kui-ComboboxItem",o)},b?e.createElement("span",{className:p("kui-BaseMenuItemIndicator","kui-ComboboxItemIndicator")},e.createElement(J,{className:p("kui-BaseMenuItemIndicatorIcon","kui-ComboboxItemIndicatorIcon")})):null,e.createElement(_,null,r))});ye.displayName="Combobox.Item";export{pe as a,de as b,Ce as c,fe as d,xe as e,ge as f,Pe as g,Re as h,he as i,ve as j,ye as k,Me as l};
2
+ //# sourceMappingURL=chunk-G4ETY2NP.js.map