@womp/kookie-ui 0.26.0 → 0.26.2

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 (672) hide show
  1. package/components.css +36 -3
  2. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  3. package/dist/cjs/components/_internal/base-button.js +1 -1
  4. package/dist/cjs/components/_internal/base-button.js.map +3 -3
  5. package/dist/cjs/components/_internal/base-button.props.js +0 -1
  6. package/dist/cjs/components/_internal/base-button.props.js.map +1 -1
  7. package/dist/cjs/components/_internal/base-checkbox.props.js +0 -1
  8. package/dist/cjs/components/_internal/base-checkbox.props.js.map +1 -1
  9. package/dist/cjs/components/_internal/base-menu.props.js +0 -1
  10. package/dist/cjs/components/_internal/base-menu.props.js.map +1 -1
  11. package/dist/cjs/components/_internal/base-radio.props.js +0 -1
  12. package/dist/cjs/components/_internal/base-radio.props.js.map +1 -1
  13. package/dist/cjs/components/_internal/base-tab-list.props.js +0 -1
  14. package/dist/cjs/components/_internal/base-tab-list.props.js.map +1 -1
  15. package/dist/cjs/components/_internal/pane-band-context.d.ts +14 -0
  16. package/dist/cjs/components/_internal/pane-band-context.d.ts.map +1 -0
  17. package/dist/cjs/components/_internal/pane-band-context.js +3 -0
  18. package/dist/cjs/components/_internal/pane-band-context.js.map +7 -0
  19. package/dist/cjs/components/_internal/pane-chrome.d.ts +1 -1
  20. package/dist/cjs/components/_internal/pane-chrome.d.ts.map +1 -1
  21. package/dist/cjs/components/_internal/pane-chrome.js +1 -1
  22. package/dist/cjs/components/_internal/pane-chrome.js.map +4 -4
  23. package/dist/cjs/components/_internal/shell-bottom.d.ts.map +1 -1
  24. package/dist/cjs/components/_internal/shell-bottom.js +1 -1
  25. package/dist/cjs/components/_internal/shell-bottom.js.map +3 -3
  26. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  27. package/dist/cjs/components/_internal/shell-sidebar.js.map +4 -4
  28. package/dist/cjs/components/accordion.props.js +0 -1
  29. package/dist/cjs/components/accordion.props.js.map +1 -1
  30. package/dist/cjs/components/alert-dialog.js +1 -1
  31. package/dist/cjs/components/alert-dialog.js.map +4 -4
  32. package/dist/cjs/components/alert-dialog.props.js +0 -1
  33. package/dist/cjs/components/alert-dialog.props.js.map +1 -1
  34. package/dist/cjs/components/avatar.props.js +0 -1
  35. package/dist/cjs/components/avatar.props.js.map +1 -1
  36. package/dist/cjs/components/blockquote.props.js +0 -1
  37. package/dist/cjs/components/blockquote.props.js.map +1 -1
  38. package/dist/cjs/components/box.props.js +0 -1
  39. package/dist/cjs/components/box.props.js.map +1 -1
  40. package/dist/cjs/components/button.js +1 -1
  41. package/dist/cjs/components/button.js.map +4 -4
  42. package/dist/cjs/components/button.props.js +0 -1
  43. package/dist/cjs/components/button.props.js.map +1 -1
  44. package/dist/cjs/components/card.props.js +0 -1
  45. package/dist/cjs/components/card.props.js.map +1 -1
  46. package/dist/cjs/components/chatbar.js +1 -1
  47. package/dist/cjs/components/chatbar.js.map +4 -4
  48. package/dist/cjs/components/checkbox-group.props.js +0 -1
  49. package/dist/cjs/components/checkbox-group.props.js.map +1 -1
  50. package/dist/cjs/components/checkbox.props.js +0 -1
  51. package/dist/cjs/components/checkbox.props.js.map +1 -1
  52. package/dist/cjs/components/chip.js +1 -1
  53. package/dist/cjs/components/chip.js.map +4 -4
  54. package/dist/cjs/components/chip.props.js +0 -1
  55. package/dist/cjs/components/chip.props.js.map +1 -1
  56. package/dist/cjs/components/code.props.js +0 -1
  57. package/dist/cjs/components/code.props.js.map +1 -1
  58. package/dist/cjs/components/combobox.js +1 -1
  59. package/dist/cjs/components/combobox.js.map +4 -4
  60. package/dist/cjs/components/combobox.props.js +0 -1
  61. package/dist/cjs/components/combobox.props.js.map +1 -1
  62. package/dist/cjs/components/context-menu.js +1 -1
  63. package/dist/cjs/components/context-menu.js.map +4 -4
  64. package/dist/cjs/components/context-menu.props.js +0 -1
  65. package/dist/cjs/components/context-menu.props.js.map +1 -1
  66. package/dist/cjs/components/dialog.js +1 -1
  67. package/dist/cjs/components/dialog.js.map +4 -4
  68. package/dist/cjs/components/dialog.props.js +0 -1
  69. package/dist/cjs/components/dialog.props.js.map +1 -1
  70. package/dist/cjs/components/dropdown-menu.js +1 -1
  71. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  72. package/dist/cjs/components/dropdown-menu.props.js +0 -1
  73. package/dist/cjs/components/dropdown-menu.props.js.map +1 -1
  74. package/dist/cjs/components/flex.props.js +0 -1
  75. package/dist/cjs/components/flex.props.js.map +1 -1
  76. package/dist/cjs/components/grid.props.js +0 -1
  77. package/dist/cjs/components/grid.props.js.map +1 -1
  78. package/dist/cjs/components/heading.props.js +0 -1
  79. package/dist/cjs/components/heading.props.js.map +1 -1
  80. package/dist/cjs/components/image.props.js +0 -1
  81. package/dist/cjs/components/image.props.js.map +1 -1
  82. package/dist/cjs/components/index.js +2 -2
  83. package/dist/cjs/components/index.js.map +4 -4
  84. package/dist/cjs/components/kbd.props.js +0 -1
  85. package/dist/cjs/components/kbd.props.js.map +1 -1
  86. package/dist/cjs/components/link.props.js +0 -1
  87. package/dist/cjs/components/link.props.js.map +1 -1
  88. package/dist/cjs/components/message-scroller.js +1 -1
  89. package/dist/cjs/components/message-scroller.js.map +4 -4
  90. package/dist/cjs/components/navbar.props.js +0 -1
  91. package/dist/cjs/components/navbar.props.js.map +1 -1
  92. package/dist/cjs/components/notice.js +1 -1
  93. package/dist/cjs/components/notice.js.map +4 -4
  94. package/dist/cjs/components/popover.d.ts.map +1 -1
  95. package/dist/cjs/components/popover.js +1 -1
  96. package/dist/cjs/components/popover.js.map +4 -4
  97. package/dist/cjs/components/popover.props.js +0 -1
  98. package/dist/cjs/components/popover.props.js.map +1 -1
  99. package/dist/cjs/components/progress.props.js +0 -1
  100. package/dist/cjs/components/progress.props.js.map +1 -1
  101. package/dist/cjs/components/radio-group.props.js +0 -1
  102. package/dist/cjs/components/radio-group.props.js.map +1 -1
  103. package/dist/cjs/components/radio.props.js +0 -1
  104. package/dist/cjs/components/radio.props.js.map +1 -1
  105. package/dist/cjs/components/scroll-area.d.ts.map +1 -1
  106. package/dist/cjs/components/scroll-area.js +1 -1
  107. package/dist/cjs/components/scroll-area.js.map +3 -3
  108. package/dist/cjs/components/scroll-area.props.js +0 -1
  109. package/dist/cjs/components/scroll-area.props.js.map +1 -1
  110. package/dist/cjs/components/segmented-control.props.js +0 -1
  111. package/dist/cjs/components/segmented-control.props.js.map +1 -1
  112. package/dist/cjs/components/select.js +1 -1
  113. package/dist/cjs/components/select.js.map +4 -4
  114. package/dist/cjs/components/select.props.js +0 -1
  115. package/dist/cjs/components/select.props.js.map +1 -1
  116. package/dist/cjs/components/separator.props.js +0 -1
  117. package/dist/cjs/components/separator.props.js.map +1 -1
  118. package/dist/cjs/components/sheet.js +1 -1
  119. package/dist/cjs/components/sheet.js.map +4 -4
  120. package/dist/cjs/components/shell.d.ts.map +1 -1
  121. package/dist/cjs/components/shell.js +1 -1
  122. package/dist/cjs/components/shell.js.map +4 -4
  123. package/dist/cjs/components/sidebar.js +1 -1
  124. package/dist/cjs/components/sidebar.js.map +4 -4
  125. package/dist/cjs/components/slider.d.ts.map +1 -1
  126. package/dist/cjs/components/slider.js +1 -1
  127. package/dist/cjs/components/slider.js.map +3 -3
  128. package/dist/cjs/components/slider.props.js +0 -1
  129. package/dist/cjs/components/slider.props.js.map +1 -1
  130. package/dist/cjs/components/spinner.props.js +0 -1
  131. package/dist/cjs/components/spinner.props.js.map +1 -1
  132. package/dist/cjs/components/switch.props.js +0 -1
  133. package/dist/cjs/components/switch.props.js.map +1 -1
  134. package/dist/cjs/components/table.js +1 -1
  135. package/dist/cjs/components/table.js.map +3 -3
  136. package/dist/cjs/components/table.props.js +0 -1
  137. package/dist/cjs/components/table.props.js.map +1 -1
  138. package/dist/cjs/components/tabs.props.js +0 -1
  139. package/dist/cjs/components/tabs.props.js.map +1 -1
  140. package/dist/cjs/components/text-area.d.ts.map +1 -1
  141. package/dist/cjs/components/text-area.js +1 -1
  142. package/dist/cjs/components/text-area.js.map +3 -3
  143. package/dist/cjs/components/text-area.props.js +0 -1
  144. package/dist/cjs/components/text-area.props.js.map +1 -1
  145. package/dist/cjs/components/text-field.d.ts.map +1 -1
  146. package/dist/cjs/components/text-field.js +2 -2
  147. package/dist/cjs/components/text-field.js.map +3 -3
  148. package/dist/cjs/components/text-field.props.js +0 -1
  149. package/dist/cjs/components/text-field.props.js.map +1 -1
  150. package/dist/cjs/components/text.props.js +0 -1
  151. package/dist/cjs/components/text.props.js.map +1 -1
  152. package/dist/cjs/components/theme.d.ts.map +1 -1
  153. package/dist/cjs/components/theme.js +1 -1
  154. package/dist/cjs/components/theme.js.map +4 -4
  155. package/dist/cjs/components/theme.props.js +0 -1
  156. package/dist/cjs/components/theme.props.js.map +1 -1
  157. package/dist/cjs/components/toggle.js +1 -1
  158. package/dist/cjs/components/toggle.js.map +4 -4
  159. package/dist/cjs/components/toolbar.js +1 -1
  160. package/dist/cjs/components/toolbar.js.map +4 -4
  161. package/dist/cjs/components/toolbar.props.d.ts +3 -2
  162. package/dist/cjs/components/toolbar.props.d.ts.map +1 -1
  163. package/dist/cjs/components/toolbar.props.js +0 -1
  164. package/dist/cjs/components/toolbar.props.js.map +2 -2
  165. package/dist/cjs/components/tooltip.js +1 -1
  166. package/dist/cjs/components/tooltip.js.map +4 -4
  167. package/dist/cjs/components/tooltip.props.js +0 -1
  168. package/dist/cjs/components/tooltip.props.js.map +1 -1
  169. package/dist/cjs/hooks/use-scroll-edges.d.ts +9 -0
  170. package/dist/cjs/hooks/use-scroll-edges.d.ts.map +1 -1
  171. package/dist/cjs/hooks/use-scroll-edges.js +1 -1
  172. package/dist/cjs/hooks/use-scroll-edges.js.map +3 -3
  173. package/dist/cjs/index.js +5 -5
  174. package/dist/cjs/index.js.map +4 -4
  175. package/dist/cjs/props/index.js +1 -1
  176. package/dist/cjs/props/index.js.map +4 -4
  177. package/dist/esm/chunk-2ACVWLFA.js +3 -0
  178. package/dist/esm/{chunk-6RJQ5LLP.js → chunk-2TWPPDII.js} +2 -2
  179. package/dist/esm/{chunk-I3SRUPUP.js → chunk-2ZLMWYJ6.js} +2 -3
  180. package/dist/esm/{chunk-I3SRUPUP.js.map → chunk-2ZLMWYJ6.js.map} +1 -1
  181. package/dist/esm/chunk-3C4Q6PMS.js +3 -0
  182. package/dist/esm/{chunk-5XR5PTDR.js.map → chunk-3C4Q6PMS.js.map} +1 -1
  183. package/dist/esm/chunk-3QN4C5LW.js +3 -0
  184. package/dist/esm/{chunk-5EBJOOXE.js.map → chunk-3QN4C5LW.js.map} +4 -4
  185. package/dist/esm/chunk-3W34KH33.js +2 -0
  186. package/dist/esm/{chunk-4S5L25RO.js.map → chunk-3W34KH33.js.map} +1 -1
  187. package/dist/esm/chunk-3ZWHKNHI.js +3 -0
  188. package/dist/esm/chunk-3ZWHKNHI.js.map +7 -0
  189. package/dist/esm/chunk-457Z4R5W.js +3 -0
  190. package/dist/esm/{chunk-5L4DZ2D3.js.map → chunk-457Z4R5W.js.map} +1 -1
  191. package/dist/esm/chunk-4E5XBM5Q.js +2 -0
  192. package/dist/esm/{chunk-IE5ACUZS.js.map → chunk-4E5XBM5Q.js.map} +1 -1
  193. package/dist/esm/{chunk-QH64BDXO.js → chunk-4G3FJUER.js} +2 -2
  194. package/dist/esm/{chunk-R7THBMND.js → chunk-4KIZRO52.js} +1 -1
  195. package/dist/esm/{chunk-W4MQ6TEK.js → chunk-5FWEGTP6.js} +2 -2
  196. package/dist/esm/chunk-5KJIPH2N.js +3 -0
  197. package/dist/esm/chunk-5KJIPH2N.js.map +7 -0
  198. package/dist/esm/chunk-5MEWNLNH.js +3 -0
  199. package/dist/esm/{chunk-3L2MDOYC.js.map → chunk-5MEWNLNH.js.map} +4 -4
  200. package/dist/esm/chunk-5PQCTVZB.js +3 -0
  201. package/dist/esm/{chunk-YD2D73LF.js.map → chunk-5PQCTVZB.js.map} +4 -4
  202. package/dist/esm/chunk-5XA2N2WR.js +2 -0
  203. package/dist/esm/{chunk-R7THBMND.js.map → chunk-5XA2N2WR.js.map} +1 -1
  204. package/dist/esm/chunk-6DWDNKLS.js +1 -0
  205. package/dist/esm/chunk-6M6HGIGN.js +3 -0
  206. package/dist/esm/{chunk-PCLO3ZZY.js.map → chunk-6M6HGIGN.js.map} +4 -4
  207. package/dist/esm/chunk-7QP6JFPO.js +3 -0
  208. package/dist/esm/chunk-7QP6JFPO.js.map +7 -0
  209. package/dist/esm/chunk-ADL3LEOQ.js +3 -0
  210. package/dist/esm/chunk-ADL3LEOQ.js.map +7 -0
  211. package/dist/esm/chunk-AJANJ22M.js +3 -0
  212. package/dist/esm/{chunk-CBWERXF4.js.map → chunk-AJANJ22M.js.map} +4 -4
  213. package/dist/esm/{chunk-I6SMGWS5.js → chunk-AJWCSQIE.js} +2 -3
  214. package/dist/esm/chunk-AJWCSQIE.js.map +7 -0
  215. package/dist/esm/chunk-AKXBXLCP.js +2 -0
  216. package/dist/esm/chunk-AKXBXLCP.js.map +7 -0
  217. package/dist/esm/chunk-BEHAT3GI.js +3 -0
  218. package/dist/esm/{chunk-5CFSNNYS.js.map → chunk-BEHAT3GI.js.map} +4 -4
  219. package/dist/esm/chunk-BF4WRYUX.js +2 -0
  220. package/dist/esm/{chunk-M3NI3D6R.js.map → chunk-BF4WRYUX.js.map} +1 -1
  221. package/dist/esm/{chunk-5WTSKXAE.js → chunk-BIITGC3Z.js} +2 -3
  222. package/dist/esm/{chunk-5WTSKXAE.js.map → chunk-BIITGC3Z.js.map} +1 -1
  223. package/dist/esm/{chunk-NBVCQQSY.js → chunk-BP64M73W.js} +2 -3
  224. package/dist/esm/{chunk-NBVCQQSY.js.map → chunk-BP64M73W.js.map} +1 -1
  225. package/dist/esm/chunk-BQC2P3SN.js +3 -0
  226. package/dist/esm/chunk-BQC2P3SN.js.map +7 -0
  227. package/dist/esm/{chunk-XL5OHW6Z.js → chunk-BVQDDN5Q.js} +2 -2
  228. package/dist/esm/{chunk-YOSCUA6Z.js → chunk-C2WKAIZM.js} +2 -2
  229. package/dist/esm/chunk-CT543Q2V.js +2 -0
  230. package/dist/esm/{chunk-YZZMQ457.js.map → chunk-CT543Q2V.js.map} +1 -1
  231. package/dist/esm/chunk-DFGY2NZB.js +2 -0
  232. package/dist/esm/{chunk-SGJKXIWG.js.map → chunk-DFGY2NZB.js.map} +1 -1
  233. package/dist/esm/{chunk-4J7QDLKI.js → chunk-DFLWZOQO.js} +2 -3
  234. package/dist/esm/{chunk-4J7QDLKI.js.map → chunk-DFLWZOQO.js.map} +1 -1
  235. package/dist/esm/chunk-DG2KIH54.js +6 -0
  236. package/dist/esm/chunk-DG2KIH54.js.map +7 -0
  237. package/dist/esm/chunk-DIY2XQKR.js +3 -0
  238. package/dist/esm/{chunk-OQWD63AI.js.map → chunk-DIY2XQKR.js.map} +4 -4
  239. package/dist/esm/chunk-DQCE7DHY.js +3 -0
  240. package/dist/esm/{chunk-ILWS2JUE.js.map → chunk-DQCE7DHY.js.map} +4 -4
  241. package/dist/esm/{chunk-7B3XDZXZ.js → chunk-E6BDD3PN.js} +2 -2
  242. package/dist/esm/chunk-EERKYRYI.js +3 -0
  243. package/dist/esm/{chunk-BXZSJKWA.js.map → chunk-EERKYRYI.js.map} +4 -4
  244. package/dist/esm/chunk-EFXHBH3A.js +2 -0
  245. package/dist/esm/{chunk-XMHNOIPB.js.map → chunk-EFXHBH3A.js.map} +1 -1
  246. package/dist/esm/{chunk-6FLLFCBU.js → chunk-ELAW7ZUG.js} +2 -2
  247. package/dist/esm/{chunk-WT2SYGTU.js → chunk-ETQNRMHU.js} +2 -3
  248. package/dist/esm/{chunk-WT2SYGTU.js.map → chunk-ETQNRMHU.js.map} +1 -1
  249. package/dist/esm/chunk-F2722F7B.js +3 -0
  250. package/dist/esm/{chunk-VPRAXHLL.js.map → chunk-F2722F7B.js.map} +4 -4
  251. package/dist/esm/chunk-F364PDDM.js +3 -0
  252. package/dist/esm/chunk-F364PDDM.js.map +7 -0
  253. package/dist/esm/{chunk-PT45Q47V.js → chunk-FATCGZZE.js} +1 -1
  254. package/dist/esm/{chunk-IZIDRDQW.js → chunk-FH6RT6XH.js} +2 -3
  255. package/dist/esm/{chunk-IZIDRDQW.js.map → chunk-FH6RT6XH.js.map} +1 -1
  256. package/dist/esm/chunk-FNAE6HUI.js +2 -0
  257. package/dist/esm/chunk-FNAE6HUI.js.map +7 -0
  258. package/dist/esm/chunk-GE7FRBZ4.js +3 -0
  259. package/dist/esm/chunk-GE7FRBZ4.js.map +7 -0
  260. package/dist/esm/chunk-GOXGRJO6.js +3 -0
  261. package/dist/esm/chunk-GOXGRJO6.js.map +7 -0
  262. package/dist/esm/chunk-H2TSRYQ5.js +3 -0
  263. package/dist/esm/chunk-H2TSRYQ5.js.map +7 -0
  264. package/dist/esm/chunk-H33NTGVF.js +3 -0
  265. package/dist/esm/chunk-H33NTGVF.js.map +7 -0
  266. package/dist/esm/chunk-H3IAGAEL.js +2 -0
  267. package/dist/esm/{chunk-WCGQ4IDE.js.map → chunk-H3IAGAEL.js.map} +1 -1
  268. package/dist/esm/{chunk-PT4KBXXP.js → chunk-HCBR74BW.js} +2 -3
  269. package/dist/esm/{chunk-PT4KBXXP.js.map → chunk-HCBR74BW.js.map} +1 -1
  270. package/dist/esm/{chunk-TGUWRU7N.js → chunk-HIEGLLY7.js} +1 -2
  271. package/dist/esm/{chunk-TGUWRU7N.js.map → chunk-HIEGLLY7.js.map} +1 -1
  272. package/dist/esm/chunk-HSWMHW37.js +2 -0
  273. package/dist/esm/{chunk-SV3CYQY5.js.map → chunk-HSWMHW37.js.map} +1 -1
  274. package/dist/esm/{chunk-NZCAGHCL.js → chunk-HVMRB3AH.js} +2 -2
  275. package/dist/esm/{chunk-IZXML75Y.js → chunk-JQVW4WNN.js} +2 -2
  276. package/dist/esm/chunk-K55IQP5H.js +3 -0
  277. package/dist/esm/{chunk-Y2BTPKK6.js.map → chunk-K55IQP5H.js.map} +4 -4
  278. package/dist/esm/chunk-KQIZMPSW.js +3 -0
  279. package/dist/esm/chunk-KQIZMPSW.js.map +7 -0
  280. package/dist/esm/chunk-KVOWI6SN.js +2 -0
  281. package/dist/esm/{chunk-HV7USGHD.js.map → chunk-KVOWI6SN.js.map} +1 -1
  282. package/dist/esm/{chunk-WZKSLTBH.js → chunk-KVVRFWGQ.js} +2 -2
  283. package/dist/esm/chunk-LFAUMDU5.js +3 -0
  284. package/dist/esm/{chunk-ZPWKWESI.js.map → chunk-LFAUMDU5.js.map} +4 -4
  285. package/dist/esm/chunk-LGZCNQBS.js +3 -0
  286. package/dist/esm/chunk-LGZCNQBS.js.map +7 -0
  287. package/dist/esm/{chunk-VVBSYWUA.js → chunk-LTUW36HM.js} +2 -2
  288. package/dist/esm/{chunk-QQY4WFJL.js → chunk-LUNWI377.js} +2 -3
  289. package/dist/esm/{chunk-QQY4WFJL.js.map → chunk-LUNWI377.js.map} +1 -1
  290. package/dist/esm/chunk-M7IQIKB4.js +3 -0
  291. package/dist/esm/chunk-M7IQIKB4.js.map +7 -0
  292. package/dist/esm/chunk-MS2ONKJJ.js +3 -0
  293. package/dist/esm/{chunk-FCKJD2PW.js.map → chunk-MS2ONKJJ.js.map} +4 -4
  294. package/dist/esm/{chunk-Z563IAE3.js → chunk-N3B6EGXL.js} +2 -2
  295. package/dist/esm/{chunk-PZ6Z7WTR.js → chunk-NNE3KNH4.js} +2 -3
  296. package/dist/esm/{chunk-PZ6Z7WTR.js.map → chunk-NNE3KNH4.js.map} +1 -1
  297. package/dist/esm/{chunk-CKJXTEVO.js → chunk-NR5FQCMU.js} +2 -3
  298. package/dist/esm/{chunk-CKJXTEVO.js.map → chunk-NR5FQCMU.js.map} +1 -1
  299. package/dist/esm/chunk-NS573D6O.js +3 -0
  300. package/dist/esm/chunk-NS573D6O.js.map +7 -0
  301. package/dist/esm/{chunk-CYTPMHSJ.js → chunk-NYBE3U3V.js} +2 -2
  302. package/dist/esm/chunk-OA7C34MJ.js +1 -0
  303. package/dist/esm/{chunk-65KD6WS6.js → chunk-OEPVYHSS.js} +2 -3
  304. package/dist/esm/{chunk-65KD6WS6.js.map → chunk-OEPVYHSS.js.map} +1 -1
  305. package/dist/esm/chunk-ONJYRJ66.js +3 -0
  306. package/dist/esm/chunk-ONJYRJ66.js.map +7 -0
  307. package/dist/esm/{chunk-647DRBXQ.js → chunk-OSSNMF5U.js} +2 -3
  308. package/dist/esm/{chunk-647DRBXQ.js.map → chunk-OSSNMF5U.js.map} +1 -1
  309. package/dist/esm/chunk-OTCVSJT7.js +3 -0
  310. package/dist/esm/chunk-OTCVSJT7.js.map +7 -0
  311. package/dist/esm/{chunk-TDT2CNES.js → chunk-P6UX6FFY.js} +2 -2
  312. package/dist/esm/{chunk-JUY7CBSL.js → chunk-PBFSBHBS.js} +2 -2
  313. package/dist/esm/chunk-PEMFIU3B.js +2 -0
  314. package/dist/esm/{chunk-BOLSK63X.js.map → chunk-PEMFIU3B.js.map} +1 -1
  315. package/dist/esm/chunk-POP5NB33.js +3 -0
  316. package/dist/esm/chunk-POP5NB33.js.map +7 -0
  317. package/dist/esm/{chunk-EY6TCYGG.js → chunk-RAVZ7F5L.js} +2 -3
  318. package/dist/esm/{chunk-EY6TCYGG.js.map → chunk-RAVZ7F5L.js.map} +1 -1
  319. package/dist/esm/chunk-RD4T2MCC.js +3 -0
  320. package/dist/esm/chunk-RD4T2MCC.js.map +7 -0
  321. package/dist/esm/chunk-SKOYHBIE.js +2 -0
  322. package/dist/esm/{chunk-5RFDCAKC.js.map → chunk-SKOYHBIE.js.map} +1 -1
  323. package/dist/esm/chunk-STPMPY3X.js +1 -0
  324. package/dist/esm/chunk-TF6WAIUQ.js +3 -0
  325. package/dist/esm/{chunk-MQEWEAH5.js.map → chunk-TF6WAIUQ.js.map} +4 -4
  326. package/dist/esm/chunk-TFFMELAL.js +3 -0
  327. package/dist/esm/{chunk-37GC4A2O.js.map → chunk-TFFMELAL.js.map} +4 -4
  328. package/dist/esm/{chunk-HHSFAOIO.js → chunk-TFFU435D.js} +2 -2
  329. package/dist/esm/chunk-TFGUTYZK.js +3 -0
  330. package/dist/esm/chunk-TFGUTYZK.js.map +7 -0
  331. package/dist/esm/chunk-TTW3EAQT.js +3 -0
  332. package/dist/esm/chunk-TTW3EAQT.js.map +7 -0
  333. package/dist/esm/{chunk-R4PGFURL.js → chunk-TXVZOS3E.js} +2 -2
  334. package/dist/esm/chunk-TZTUPQYK.js +2 -0
  335. package/dist/esm/{chunk-XVDT6DQZ.js.map → chunk-TZTUPQYK.js.map} +1 -1
  336. package/dist/esm/chunk-UBUGG2OB.js +3 -0
  337. package/dist/esm/{chunk-BVFHJP5E.js.map → chunk-UBUGG2OB.js.map} +4 -4
  338. package/dist/esm/chunk-UG73IGRF.js +3 -0
  339. package/dist/esm/chunk-UG73IGRF.js.map +7 -0
  340. package/dist/esm/chunk-UICSVJ3B.js +1 -0
  341. package/dist/esm/chunk-UJ7JERJ5.js +3 -0
  342. package/dist/esm/chunk-UJ7JERJ5.js.map +7 -0
  343. package/dist/esm/{chunk-5TJH35TF.js → chunk-ULCHGKI3.js} +2 -2
  344. package/dist/esm/chunk-UMYPLUG3.js +2 -0
  345. package/dist/esm/chunk-UMYPLUG3.js.map +7 -0
  346. package/dist/esm/chunk-UONSKZQT.js +2 -0
  347. package/dist/esm/{chunk-M37GE2TE.js.map → chunk-UONSKZQT.js.map} +1 -1
  348. package/dist/esm/{chunk-3B25RLWX.js → chunk-UR5BUNNT.js} +2 -2
  349. package/dist/esm/{chunk-CAAEEHGQ.js → chunk-UUXZ4W6H.js} +2 -3
  350. package/dist/esm/{chunk-CAAEEHGQ.js.map → chunk-UUXZ4W6H.js.map} +1 -1
  351. package/dist/esm/chunk-VCV7RACK.js +2 -0
  352. package/dist/esm/chunk-VCV7RACK.js.map +7 -0
  353. package/dist/esm/chunk-VCZ2GYOF.js +3 -0
  354. package/dist/esm/chunk-VCZ2GYOF.js.map +7 -0
  355. package/dist/esm/chunk-VIVM525H.js +3 -0
  356. package/dist/esm/chunk-VIVM525H.js.map +7 -0
  357. package/dist/esm/{chunk-AQ7VUGQQ.js → chunk-VPUFKJQA.js} +2 -2
  358. package/dist/esm/chunk-VVLUY4WR.js +3 -0
  359. package/dist/esm/chunk-VVLUY4WR.js.map +7 -0
  360. package/dist/esm/{chunk-L4NF3Q2T.js → chunk-VW46DG7H.js} +2 -3
  361. package/dist/esm/{chunk-L4NF3Q2T.js.map → chunk-VW46DG7H.js.map} +1 -1
  362. package/dist/esm/chunk-W4CPV4PO.js +3 -0
  363. package/dist/esm/{chunk-JS23YQ4M.js.map → chunk-W4CPV4PO.js.map} +4 -4
  364. package/dist/esm/chunk-WOR3JCLX.js +1 -0
  365. package/dist/esm/chunk-WOR3JCLX.js.map +7 -0
  366. package/dist/esm/{chunk-FI32HA4X.js → chunk-XDVTHL3S.js} +2 -3
  367. package/dist/esm/{chunk-FI32HA4X.js.map → chunk-XDVTHL3S.js.map} +1 -1
  368. package/dist/esm/{chunk-64EFWPHI.js → chunk-YCLPURTD.js} +1 -1
  369. package/dist/esm/chunk-YHQTFDGN.js +2 -0
  370. package/dist/esm/{chunk-PHWT772P.js.map → chunk-YHQTFDGN.js.map} +1 -1
  371. package/dist/esm/chunk-ZG2XQUOH.js +3 -0
  372. package/dist/esm/{chunk-CV7QQTI3.js → chunk-ZKQCSGL3.js} +2 -2
  373. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  374. package/dist/esm/components/_internal/base-button.js +1 -1
  375. package/dist/esm/components/_internal/base-button.props.js +1 -2
  376. package/dist/esm/components/_internal/base-checkbox.props.js +1 -2
  377. package/dist/esm/components/_internal/base-menu.props.js +1 -2
  378. package/dist/esm/components/_internal/base-menu.utils.js +1 -1
  379. package/dist/esm/components/_internal/base-radio.props.js +1 -2
  380. package/dist/esm/components/_internal/base-tab-list.props.js +1 -2
  381. package/dist/esm/components/_internal/menu-context.js +1 -1
  382. package/dist/esm/components/_internal/pane-band-context.d.ts +14 -0
  383. package/dist/esm/components/_internal/pane-band-context.d.ts.map +1 -0
  384. package/dist/esm/components/_internal/pane-band-context.js +3 -0
  385. package/dist/esm/components/_internal/pane-band-context.js.map +7 -0
  386. package/dist/esm/components/_internal/pane-chrome.d.ts +1 -1
  387. package/dist/esm/components/_internal/pane-chrome.d.ts.map +1 -1
  388. package/dist/esm/components/_internal/pane-chrome.js +1 -1
  389. package/dist/esm/components/_internal/shell-bottom.d.ts.map +1 -1
  390. package/dist/esm/components/_internal/shell-bottom.js +1 -1
  391. package/dist/esm/components/_internal/shell-inspector.js +1 -1
  392. package/dist/esm/components/_internal/shell-pane.js +1 -1
  393. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  394. package/dist/esm/components/accordion.js +1 -1
  395. package/dist/esm/components/accordion.props.js +1 -2
  396. package/dist/esm/components/accordion.props.js.map +4 -4
  397. package/dist/esm/components/alert-dialog.js +1 -1
  398. package/dist/esm/components/alert-dialog.props.js +1 -2
  399. package/dist/esm/components/avatar.js +1 -1
  400. package/dist/esm/components/avatar.props.js +1 -2
  401. package/dist/esm/components/blockquote.js +1 -1
  402. package/dist/esm/components/blockquote.props.js +1 -2
  403. package/dist/esm/components/box.js +1 -1
  404. package/dist/esm/components/box.props.js +1 -2
  405. package/dist/esm/components/button.js +1 -1
  406. package/dist/esm/components/button.props.js +1 -2
  407. package/dist/esm/components/card.js +1 -1
  408. package/dist/esm/components/card.props.js +1 -2
  409. package/dist/esm/components/chatbar.js +1 -1
  410. package/dist/esm/components/checkbox-group.js +1 -1
  411. package/dist/esm/components/checkbox-group.props.js +1 -2
  412. package/dist/esm/components/checkbox.js +1 -1
  413. package/dist/esm/components/checkbox.props.js +1 -2
  414. package/dist/esm/components/chip.js +1 -1
  415. package/dist/esm/components/chip.props.js +1 -2
  416. package/dist/esm/components/code.js +1 -1
  417. package/dist/esm/components/code.props.js +1 -2
  418. package/dist/esm/components/combobox.js +1 -1
  419. package/dist/esm/components/combobox.props.js +1 -2
  420. package/dist/esm/components/combobox.props.js.map +4 -4
  421. package/dist/esm/components/context-menu.js +1 -1
  422. package/dist/esm/components/context-menu.props.js +1 -2
  423. package/dist/esm/components/dialog.js +1 -1
  424. package/dist/esm/components/dialog.props.js +1 -2
  425. package/dist/esm/components/dropdown-menu.js +1 -1
  426. package/dist/esm/components/dropdown-menu.props.js +1 -2
  427. package/dist/esm/components/flex.js +1 -1
  428. package/dist/esm/components/flex.props.js +1 -2
  429. package/dist/esm/components/grid.js +1 -1
  430. package/dist/esm/components/grid.props.js +1 -2
  431. package/dist/esm/components/heading.js +1 -1
  432. package/dist/esm/components/heading.props.js +1 -2
  433. package/dist/esm/components/image.js +1 -1
  434. package/dist/esm/components/image.props.js +1 -2
  435. package/dist/esm/components/image.props.js.map +4 -4
  436. package/dist/esm/components/index.js +1 -1
  437. package/dist/esm/components/kbd.js +1 -1
  438. package/dist/esm/components/kbd.props.js +1 -2
  439. package/dist/esm/components/link.js +1 -1
  440. package/dist/esm/components/link.props.js +1 -2
  441. package/dist/esm/components/message-scroller.js +1 -1
  442. package/dist/esm/components/navbar.js +1 -1
  443. package/dist/esm/components/navbar.props.js +1 -2
  444. package/dist/esm/components/navbar.props.js.map +4 -4
  445. package/dist/esm/components/notice.js +1 -1
  446. package/dist/esm/components/popover.d.ts.map +1 -1
  447. package/dist/esm/components/popover.js +1 -1
  448. package/dist/esm/components/popover.props.js +1 -2
  449. package/dist/esm/components/progress.js +1 -1
  450. package/dist/esm/components/progress.props.js +1 -2
  451. package/dist/esm/components/radio-group.js +1 -1
  452. package/dist/esm/components/radio-group.props.js +1 -2
  453. package/dist/esm/components/radio.js +1 -1
  454. package/dist/esm/components/radio.props.js +1 -2
  455. package/dist/esm/components/scroll-area.d.ts.map +1 -1
  456. package/dist/esm/components/scroll-area.js +1 -1
  457. package/dist/esm/components/scroll-area.props.js +1 -2
  458. package/dist/esm/components/segmented-control.js +1 -1
  459. package/dist/esm/components/segmented-control.props.js +1 -2
  460. package/dist/esm/components/select.js +1 -1
  461. package/dist/esm/components/select.props.js +1 -2
  462. package/dist/esm/components/separator.js +1 -1
  463. package/dist/esm/components/separator.props.js +1 -2
  464. package/dist/esm/components/sheet.js +1 -1
  465. package/dist/esm/components/shell.context.js +1 -1
  466. package/dist/esm/components/shell.d.ts.map +1 -1
  467. package/dist/esm/components/shell.hooks.js +1 -1
  468. package/dist/esm/components/shell.js +1 -1
  469. package/dist/esm/components/sidebar.js +1 -1
  470. package/dist/esm/components/slider.d.ts.map +1 -1
  471. package/dist/esm/components/slider.js +1 -1
  472. package/dist/esm/components/slider.props.js +1 -2
  473. package/dist/esm/components/spinner.js +1 -1
  474. package/dist/esm/components/spinner.props.js +1 -2
  475. package/dist/esm/components/switch.js +1 -1
  476. package/dist/esm/components/switch.props.js +1 -2
  477. package/dist/esm/components/table.js +1 -1
  478. package/dist/esm/components/table.props.js +1 -2
  479. package/dist/esm/components/tabs.js +1 -1
  480. package/dist/esm/components/tabs.props.js +1 -2
  481. package/dist/esm/components/text-area.d.ts.map +1 -1
  482. package/dist/esm/components/text-area.js +1 -1
  483. package/dist/esm/components/text-area.props.js +1 -2
  484. package/dist/esm/components/text-field.d.ts.map +1 -1
  485. package/dist/esm/components/text-field.js +1 -1
  486. package/dist/esm/components/text-field.props.js +1 -2
  487. package/dist/esm/components/text.js +1 -1
  488. package/dist/esm/components/text.props.js +1 -2
  489. package/dist/esm/components/theme.d.ts.map +1 -1
  490. package/dist/esm/components/theme.js +1 -1
  491. package/dist/esm/components/theme.props.js +1 -2
  492. package/dist/esm/components/toggle.js +1 -1
  493. package/dist/esm/components/toolbar.js +1 -1
  494. package/dist/esm/components/toolbar.props.d.ts +3 -2
  495. package/dist/esm/components/toolbar.props.d.ts.map +1 -1
  496. package/dist/esm/components/toolbar.props.js +1 -2
  497. package/dist/esm/components/toolbar.props.js.map +4 -4
  498. package/dist/esm/components/tooltip.js +1 -1
  499. package/dist/esm/components/tooltip.props.js +1 -2
  500. package/dist/esm/components/virtual-menu.js +1 -1
  501. package/dist/esm/helpers/extract-props.js +1 -1
  502. package/dist/esm/helpers/get-margin-styles.js +1 -1
  503. package/dist/esm/helpers/get-responsive-styles.js +1 -1
  504. package/dist/esm/helpers/index.js +1 -1
  505. package/dist/esm/hooks/index.js +1 -1
  506. package/dist/esm/hooks/use-scroll-edges.d.ts +9 -0
  507. package/dist/esm/hooks/use-scroll-edges.d.ts.map +1 -1
  508. package/dist/esm/hooks/use-scroll-edges.js +1 -1
  509. package/dist/esm/index.js +1 -1
  510. package/dist/esm/props/font-family.prop.js +1 -1
  511. package/dist/esm/props/font-family.prop.js.map +4 -4
  512. package/dist/esm/props/index.js +1 -1
  513. package/dist/esm/props/index.js.map +3 -3
  514. package/dist/esm/props/layout.props.js +1 -1
  515. package/package.json +1 -1
  516. package/src/components/_internal/base-button.css +3 -1
  517. package/src/components/_internal/base-button.tsx +8 -2
  518. package/src/components/_internal/pane-band-context.ts +16 -0
  519. package/src/components/_internal/pane-chrome.tsx +1 -8
  520. package/src/components/_internal/shell-bottom.tsx +4 -1
  521. package/src/components/popover.tsx +7 -61
  522. package/src/components/scroll-area.tsx +3 -2
  523. package/src/components/select.css +1 -1
  524. package/src/components/shell.css +11 -3
  525. package/src/components/shell.tsx +8 -1
  526. package/src/components/slider.tsx +19 -1
  527. package/src/components/text-area.css +14 -2
  528. package/src/components/text-area.tsx +34 -26
  529. package/src/components/text-field.css +9 -2
  530. package/src/components/text-field.tsx +44 -28
  531. package/src/components/theme.tsx +30 -24
  532. package/src/components/toolbar.css +13 -0
  533. package/src/components/toolbar.props.tsx +3 -2
  534. package/src/hooks/use-scroll-edges.ts +16 -2
  535. package/src/styles/tokens/color.css +6 -5
  536. package/src/styles/tokens/shadow.css +2 -2
  537. package/styles.css +37 -5
  538. package/tokens/base.css +1 -2
  539. package/tokens.css +1 -2
  540. package/dist/esm/chunk-2IU5XPR2.js +0 -3
  541. package/dist/esm/chunk-2IU5XPR2.js.map +0 -7
  542. package/dist/esm/chunk-37GC4A2O.js +0 -3
  543. package/dist/esm/chunk-3H23GRNQ.js +0 -3
  544. package/dist/esm/chunk-3H23GRNQ.js.map +0 -7
  545. package/dist/esm/chunk-3L2MDOYC.js +0 -3
  546. package/dist/esm/chunk-4S5L25RO.js +0 -3
  547. package/dist/esm/chunk-5CFSNNYS.js +0 -3
  548. package/dist/esm/chunk-5EBJOOXE.js +0 -3
  549. package/dist/esm/chunk-5EP3UTM7.js +0 -3
  550. package/dist/esm/chunk-5EP3UTM7.js.map +0 -7
  551. package/dist/esm/chunk-5L4DZ2D3.js +0 -3
  552. package/dist/esm/chunk-5RFDCAKC.js +0 -3
  553. package/dist/esm/chunk-5XR5PTDR.js +0 -3
  554. package/dist/esm/chunk-63MUJFVF.js +0 -3
  555. package/dist/esm/chunk-63MUJFVF.js.map +0 -7
  556. package/dist/esm/chunk-6AMWYEM7.js +0 -3
  557. package/dist/esm/chunk-6AMWYEM7.js.map +0 -7
  558. package/dist/esm/chunk-6BB2A6VU.js +0 -3
  559. package/dist/esm/chunk-6UZT3ZLO.js +0 -3
  560. package/dist/esm/chunk-6UZT3ZLO.js.map +0 -7
  561. package/dist/esm/chunk-7ROKZHH2.js +0 -3
  562. package/dist/esm/chunk-7ROKZHH2.js.map +0 -7
  563. package/dist/esm/chunk-7X7VWR3F.js +0 -3
  564. package/dist/esm/chunk-7X7VWR3F.js.map +0 -7
  565. package/dist/esm/chunk-7XHE6TOA.js +0 -6
  566. package/dist/esm/chunk-7XHE6TOA.js.map +0 -7
  567. package/dist/esm/chunk-A2OMWZI7.js +0 -2
  568. package/dist/esm/chunk-BOLSK63X.js +0 -3
  569. package/dist/esm/chunk-BVFHJP5E.js +0 -3
  570. package/dist/esm/chunk-BXZSJKWA.js +0 -3
  571. package/dist/esm/chunk-CBWERXF4.js +0 -3
  572. package/dist/esm/chunk-CQG4U5BR.js +0 -3
  573. package/dist/esm/chunk-CQG4U5BR.js.map +0 -7
  574. package/dist/esm/chunk-D4P7332M.js +0 -3
  575. package/dist/esm/chunk-D4P7332M.js.map +0 -7
  576. package/dist/esm/chunk-DVXDFCCV.js +0 -3
  577. package/dist/esm/chunk-DVXDFCCV.js.map +0 -7
  578. package/dist/esm/chunk-EAIQIW23.js +0 -3
  579. package/dist/esm/chunk-EAIQIW23.js.map +0 -7
  580. package/dist/esm/chunk-FCKJD2PW.js +0 -3
  581. package/dist/esm/chunk-FPGBCCML.js +0 -3
  582. package/dist/esm/chunk-FPGBCCML.js.map +0 -7
  583. package/dist/esm/chunk-GNPTPIL7.js +0 -3
  584. package/dist/esm/chunk-GNPTPIL7.js.map +0 -7
  585. package/dist/esm/chunk-HV7USGHD.js +0 -3
  586. package/dist/esm/chunk-IE5ACUZS.js +0 -3
  587. package/dist/esm/chunk-ILWS2JUE.js +0 -3
  588. package/dist/esm/chunk-IO43RGNR.js +0 -3
  589. package/dist/esm/chunk-IO43RGNR.js.map +0 -7
  590. package/dist/esm/chunk-J3QIUJ6F.js +0 -2
  591. package/dist/esm/chunk-JS23YQ4M.js +0 -3
  592. package/dist/esm/chunk-JZ5Z53MN.js +0 -2
  593. package/dist/esm/chunk-KRFXTPEW.js +0 -3
  594. package/dist/esm/chunk-KRFXTPEW.js.map +0 -7
  595. package/dist/esm/chunk-KSYHZCLD.js +0 -3
  596. package/dist/esm/chunk-KSYHZCLD.js.map +0 -7
  597. package/dist/esm/chunk-M37GE2TE.js +0 -3
  598. package/dist/esm/chunk-M3NI3D6R.js +0 -3
  599. package/dist/esm/chunk-MQEWEAH5.js +0 -3
  600. package/dist/esm/chunk-MXIVYALY.js +0 -3
  601. package/dist/esm/chunk-MXIVYALY.js.map +0 -7
  602. package/dist/esm/chunk-N3QLHFHB.js +0 -3
  603. package/dist/esm/chunk-N3QLHFHB.js.map +0 -7
  604. package/dist/esm/chunk-OQWD63AI.js +0 -3
  605. package/dist/esm/chunk-PCLO3ZZY.js +0 -3
  606. package/dist/esm/chunk-PHWT772P.js +0 -3
  607. package/dist/esm/chunk-PZCQDZVJ.js +0 -3
  608. package/dist/esm/chunk-PZCQDZVJ.js.map +0 -7
  609. package/dist/esm/chunk-RVPLXLRA.js +0 -3
  610. package/dist/esm/chunk-RVPLXLRA.js.map +0 -7
  611. package/dist/esm/chunk-SGJKXIWG.js +0 -3
  612. package/dist/esm/chunk-SHLERRO3.js +0 -3
  613. package/dist/esm/chunk-SHLERRO3.js.map +0 -7
  614. package/dist/esm/chunk-SV3CYQY5.js +0 -3
  615. package/dist/esm/chunk-U5GQ3IFS.js +0 -3
  616. package/dist/esm/chunk-U5GQ3IFS.js.map +0 -7
  617. package/dist/esm/chunk-VPRAXHLL.js +0 -3
  618. package/dist/esm/chunk-VRQEWMC6.js +0 -3
  619. package/dist/esm/chunk-VRQEWMC6.js.map +0 -7
  620. package/dist/esm/chunk-WCGQ4IDE.js +0 -3
  621. package/dist/esm/chunk-WH7PQSSG.js +0 -2
  622. package/dist/esm/chunk-WJ4H2O2G.js +0 -3
  623. package/dist/esm/chunk-WJ4H2O2G.js.map +0 -7
  624. package/dist/esm/chunk-WMODMXEU.js +0 -3
  625. package/dist/esm/chunk-WMODMXEU.js.map +0 -7
  626. package/dist/esm/chunk-WMZLMZHB.js +0 -3
  627. package/dist/esm/chunk-WMZLMZHB.js.map +0 -7
  628. package/dist/esm/chunk-XH2CRCXR.js +0 -3
  629. package/dist/esm/chunk-XH2CRCXR.js.map +0 -7
  630. package/dist/esm/chunk-XMHNOIPB.js +0 -3
  631. package/dist/esm/chunk-XVDT6DQZ.js +0 -3
  632. package/dist/esm/chunk-Y2BTPKK6.js +0 -3
  633. package/dist/esm/chunk-YD2D73LF.js +0 -3
  634. package/dist/esm/chunk-YDBFIJHB.js +0 -3
  635. package/dist/esm/chunk-YDBFIJHB.js.map +0 -7
  636. package/dist/esm/chunk-YWG476GC.js +0 -3
  637. package/dist/esm/chunk-YZZMQ457.js +0 -3
  638. package/dist/esm/chunk-Z27REN6T.js +0 -3
  639. package/dist/esm/chunk-Z27REN6T.js.map +0 -7
  640. package/dist/esm/chunk-ZPWKWESI.js +0 -3
  641. package/dist/esm/chunk-ZYKJTNAT.js +0 -3
  642. package/dist/esm/chunk-ZYKJTNAT.js.map +0 -7
  643. /package/dist/esm/{chunk-I6SMGWS5.js.map → chunk-2ACVWLFA.js.map} +0 -0
  644. /package/dist/esm/{chunk-6RJQ5LLP.js.map → chunk-2TWPPDII.js.map} +0 -0
  645. /package/dist/esm/{chunk-QH64BDXO.js.map → chunk-4G3FJUER.js.map} +0 -0
  646. /package/dist/esm/{chunk-6BB2A6VU.js.map → chunk-4KIZRO52.js.map} +0 -0
  647. /package/dist/esm/{chunk-W4MQ6TEK.js.map → chunk-5FWEGTP6.js.map} +0 -0
  648. /package/dist/esm/{chunk-A2OMWZI7.js.map → chunk-6DWDNKLS.js.map} +0 -0
  649. /package/dist/esm/{chunk-XL5OHW6Z.js.map → chunk-BVQDDN5Q.js.map} +0 -0
  650. /package/dist/esm/{chunk-YOSCUA6Z.js.map → chunk-C2WKAIZM.js.map} +0 -0
  651. /package/dist/esm/{chunk-7B3XDZXZ.js.map → chunk-E6BDD3PN.js.map} +0 -0
  652. /package/dist/esm/{chunk-6FLLFCBU.js.map → chunk-ELAW7ZUG.js.map} +0 -0
  653. /package/dist/esm/{chunk-PT45Q47V.js.map → chunk-FATCGZZE.js.map} +0 -0
  654. /package/dist/esm/{chunk-NZCAGHCL.js.map → chunk-HVMRB3AH.js.map} +0 -0
  655. /package/dist/esm/{chunk-IZXML75Y.js.map → chunk-JQVW4WNN.js.map} +0 -0
  656. /package/dist/esm/{chunk-WZKSLTBH.js.map → chunk-KVVRFWGQ.js.map} +0 -0
  657. /package/dist/esm/{chunk-VVBSYWUA.js.map → chunk-LTUW36HM.js.map} +0 -0
  658. /package/dist/esm/{chunk-Z563IAE3.js.map → chunk-N3B6EGXL.js.map} +0 -0
  659. /package/dist/esm/{chunk-CYTPMHSJ.js.map → chunk-NYBE3U3V.js.map} +0 -0
  660. /package/dist/esm/{chunk-J3QIUJ6F.js.map → chunk-OA7C34MJ.js.map} +0 -0
  661. /package/dist/esm/{chunk-TDT2CNES.js.map → chunk-P6UX6FFY.js.map} +0 -0
  662. /package/dist/esm/{chunk-JUY7CBSL.js.map → chunk-PBFSBHBS.js.map} +0 -0
  663. /package/dist/esm/{chunk-JZ5Z53MN.js.map → chunk-STPMPY3X.js.map} +0 -0
  664. /package/dist/esm/{chunk-HHSFAOIO.js.map → chunk-TFFU435D.js.map} +0 -0
  665. /package/dist/esm/{chunk-R4PGFURL.js.map → chunk-TXVZOS3E.js.map} +0 -0
  666. /package/dist/esm/{chunk-WH7PQSSG.js.map → chunk-UICSVJ3B.js.map} +0 -0
  667. /package/dist/esm/{chunk-5TJH35TF.js.map → chunk-ULCHGKI3.js.map} +0 -0
  668. /package/dist/esm/{chunk-3B25RLWX.js.map → chunk-UR5BUNNT.js.map} +0 -0
  669. /package/dist/esm/{chunk-AQ7VUGQQ.js.map → chunk-VPUFKJQA.js.map} +0 -0
  670. /package/dist/esm/{chunk-64EFWPHI.js.map → chunk-YCLPURTD.js.map} +0 -0
  671. /package/dist/esm/{chunk-YWG476GC.js.map → chunk-ZG2XQUOH.js.map} +0 -0
  672. /package/dist/esm/{chunk-CV7QQTI3.js.map → chunk-ZKQCSGL3.js.map} +0 -0
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import{a as se,b as ie}from"./chunk-RD4T2MCC.js";import{a as ae}from"./chunk-TGRHRMQI.js";import{a as ne}from"./chunk-WUCBFB25.js";import{b as te,c as re}from"./chunk-GE7FRBZ4.js";import{a as Y}from"./chunk-DQCE7DHY.js";import{b as Z,c as ee}from"./chunk-GKDGNPBD.js";import{c as W}from"./chunk-HBWBPBSA.js";import{c as X}from"./chunk-5KMEUZWN.js";import{b as oe}from"./chunk-5ON3XLRD.js";import{b as J}from"./chunk-XU74PNM2.js";import{a as Q}from"./chunk-LPLW7OWA.js";import{a as I}from"./chunk-L54FWKJE.js";import{c as O}from"./chunk-OKQAVYW4.js";import{a as Le}from"./chunk-VQPANPMI.js";var je={};Le(je,{Content:()=>ye,Empty:()=>Se,Group:()=>Ve,Input:()=>Re,Item:()=>Te,Label:()=>Ee,List:()=>ve,Root:()=>Pe,Separator:()=>ke,Trigger:()=>ge,Value:()=>he});import*as e from"react";import d from"classnames";import{Popover as me}from"radix-ui";import{useCallbackRef as H,useComposedRefs as pe,useControllableState as A,useLayoutEffect as K}from"radix-ui/internal";import{Command as T,useCommandState as ce}from"cmdk";var Oe=["1","2","3","4"],G={size:{type:"enum",className:"kui-r-size",values:Oe,default:"2",responsive:!0}},ze=["raised","surface","soft","outline","ghost"],le={variant:{type:"enum",className:"kui-variant",values:ze,default:"raised"},error:{type:"boolean"},loading:{type:"boolean"},disabled:{type:"boolean"},readOnly:{type:"boolean"},...W,...J,width:I.width,placeholder:{type:"string"}},Me=["1","2","3","4"],z={size:{type:"enum",className:"kui-r-size",values:Me,default:"2",responsive:!0},...W,width:I.width,minWidth:I.minWidth,maxWidth:{...I.maxWidth,default:"480px"},...Q};var Fe={size:G.size},Be={size:z.size},be=new Set;function We(o){be.has(o)||(be.add(o),console.warn(o))}function Ge(o){let r=o,t=new Set;return{get:()=>r,set:a=>{Object.is(a,r)||(r=a,t.forEach(n=>n()))},subscribe:a=>(t.add(a),()=>{t.delete(a)})}}var ue=e.createContext(null),M=o=>{let r=e.useContext(ue);if(!r)throw new Error(`Combobox.${o} must be used within Combobox.Root`);return r},de=e.createContext(null),fe=e.createContext(null),Ce=e.createContext(null),xe=()=>e.useContext(Ce);function Ae(o){let r=o.getAttribute("aria-label")?.trim();if(r)return r;let t=o.getAttribute("aria-labelledby");if(t){let n=t.split(/\s+/).map(s=>o.ownerDocument.getElementById(s)?.textContent?.trim()).filter(Boolean).join(" ");if(n)return n}let a=o.labels;if(a&&a.length>0){let n=Array.from(a).map(s=>s.textContent?.trim()).filter(Boolean).join(" ");if(n)return n}}var Pe=o=>{let{children:r,size:t,value:a,defaultValue:n=null,onValueChange:s,open:m,defaultOpen:f=!1,onOpenChange:l,placeholder:c="Select an option",searchPlaceholder:P="Search...",searchValue:g,defaultSearchValue:h="",onSearchValueChange:y,filter:C,shouldFilter:i=!0,loop:b=!0,disabled:R,resetSearchOnSelect:x=!0,resetSearchOnClose:S=!0,color:V,displayValue:v,...k}=o,u=oe(t,G.size),[E,w]=A({prop:m,defaultProp:f,onChange:l}),[p,we]=A({prop:a,defaultProp:n,onChange:s}),[q,N]=A({prop:g,defaultProp:h,onChange:y}),$=typeof v=="function"?v(p):v,[D]=e.useState(()=>Ge(p));K(()=>{D.set(p)},[D,p]);let F=H(L=>{w(L),!L&&S&&N("")}),_=H(L=>{we(L),w(!1),x&&N("")}),B=e.useRef(null),U=e.useCallback(()=>B.current?Ae(B.current):void 0,[]),Ie=e.useMemo(()=>({value:p,displayValue:$,setOpen:F,size:u,placeholder:c,searchPlaceholder:P,disabled:R,color:V,loop:b,shouldFilter:i,filter:C,triggerRef:B,getTriggerLabel:U}),[p,$,F,u,c,P,R,V,b,i,C,U]),Ne=e.useMemo(()=>({value:q,setValue:N}),[q,N]),De=e.useMemo(()=>({store:D,onSelect:_,disabled:R}),[D,_,R]);return e.createElement(ue.Provider,{value:Ie},e.createElement(de.Provider,{value:Ne},e.createElement(fe.Provider,{value:De},e.createElement(se,{open:E,onOpenChange:F,...k},r))))};Pe.displayName="Combobox.Root";var ge=e.forwardRef((o,r)=>{let t=M("Trigger"),{children:a,className:n,placeholder:s,disabled:m,readOnly:f,error:l,loading:c,color:P,radius:g,onClick:h,onKeyDown:y,type:C,...i}=O({size:t.size,...o},Fe,le),b=m??t.disabled,R=P??t.color,x=!!(f||c),S=t.value==null&&t.displayValue==null,V=pe(r,t.triggerRef),{getTriggerLabel:v}=t;e.useEffect(()=>{},[v]);let k=p=>{h?.(p),x&&p.preventDefault()},u=p=>{y?.(p),!(p.defaultPrevented||x||b)&&(p.key==="ArrowDown"||p.key==="ArrowUp")&&(p.preventDefault(),t.setOpen(!0))},E=e.createElement("span",{className:"kui-SelectIcon kui-SelectLoadingIcon","aria-hidden":"true"},e.createElement(Y,null)),w=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:e.createElement(ee,{className:"kui-SelectIcon"}));return e.createElement(ie,{disabled:b},e.createElement("button",{"data-accent-color":R,"data-radius":g,"data-error":l,"data-loading":c,"data-disabled":b||void 0,"data-read-only":f||void 0,"data-placeholder":S?"":void 0,...i,role:"combobox","aria-disabled":b||i["aria-disabled"],"aria-readonly":f||i["aria-readonly"],"aria-invalid":l||i["aria-invalid"],"aria-busy":c||i["aria-busy"],type:C??"button",disabled:b,onClick:k,onKeyDown:u,ref:V,className:d("kui-reset","kui-SelectTrigger","kui-ComboboxTrigger",n)},a?e.createElement(e.Fragment,null,ae(a),c?E:null):w))});ge.displayName="Combobox.Trigger";var he=e.forwardRef(({placeholder:o,children:r,className:t,...a},n)=>{let s=M("Value"),m=s.displayValue??s.value??void 0;return e.createElement("span",{...a,ref:n,className:d("kui-ComboboxValue",t)},m??r??o??s.placeholder)});he.displayName="Combobox.Value";function He(){let o=ce(n=>n.filtered.count),r=ce(n=>n.search),[t,a]=e.useState("");return e.useEffect(()=>{let n=r?o===0?"No results":`${o} result${o===1?"":"s"}`:"",s=window.setTimeout(()=>a(n),r?400:0);return()=>window.clearTimeout(s)},[o,r]),e.createElement(ne,{role:"status","aria-live":"polite","aria-atomic":"true"},t)}var ye=e.forwardRef((o,r)=>{let t=M("Content"),a=te(),n=o.size??t.size??z.size.default,{className:s,children:m,color:f,forceMount:l,container:c,onOpenAutoFocus:P,"aria-label":g,"aria-labelledby":h,...y}=O({...o,size:n},z),C=f||t.color||a.accentColor,{getTriggerLabel:i}=t,[b,R]=e.useState(i);K(()=>{if(b!==void 0)return;let u=i();u!==void 0&&R(u)},[i,b]);let x=o["aria-label"]??b,S=e.useMemo(()=>({sizeClassName:O({size:n},Be).className||void 0,color:C,label:x}),[n,C,x]),V=e.useRef(null),v=u=>{if(P?.(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(me.Portal,{container:c,forceMount:l?!0:void 0},e.createElement(re,{asChild:!0},e.createElement(me.Content,{"data-accent-color":C,align:"start",sideOffset:4,collisionPadding:10,"aria-label":h?void 0:x,"aria-labelledby":h,...y,forceMount:l?!0:void 0,onOpenAutoFocus:v,ref:r,className:d("kui-PopperContent","kui-BaseMenuContent","kui-variant-soft","kui-ComboboxContent",s)},e.createElement(Ce.Provider,{value:S},e.createElement(T,{ref:V,loop:t.loop,shouldFilter:t.shouldFilter,filter:t.filter,label:x,defaultValue:k,className:"kui-ComboboxCommand"},m,e.createElement(He,null))))))});ye.displayName="Combobox.Content";var Re=e.forwardRef(({className:o,startAdornment:r,endAdornment:t,placeholder:a,variant:n,value:s,onValueChange:m,...f},l)=>{let c=M("Input"),P=e.useContext(de),g=xe(),h=n??"soft",y=s??P?.value??"",C=m??P?.setValue,i=e.createElement("div",{className:d("kui-TextFieldRoot","kui-ComboboxInputRoot",g?.sizeClassName,`kui-variant-${h}`),"data-accent-color":g?.color},r?e.createElement("div",{className:"kui-TextFieldSlot"},r):null,e.createElement(T.Input,{...f,ref:l,value:y,onValueChange:C,placeholder:a??c.searchPlaceholder,className:d("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"},i):i});Re.displayName="Combobox.Input";var ve=e.forwardRef(({className:o,children:r,label:t,...a},n)=>{let s=xe();return e.createElement("div",{className:"kui-ComboboxScrollArea"},e.createElement("div",{className:d("kui-BaseMenuViewport","kui-ComboboxViewport")},e.createElement(T.List,{...a,label:t??s?.label,ref:n,className:d("kui-ComboboxList",o)},r)))});ve.displayName="Combobox.List";var Se=e.forwardRef(({className:o,...r},t)=>e.createElement(T.Empty,{...r,ref:t,className:d("kui-ComboboxEmpty",o)}));Se.displayName="Combobox.Empty";var Ve=e.forwardRef(({className:o,...r},t)=>e.createElement(T.Group,{...r,ref:t,className:d("kui-BaseMenuGroup","kui-ComboboxGroup",o)}));Ve.displayName="Combobox.Group";var Ee=e.forwardRef(({className:o,id:r,...t},a)=>{let n=e.useId(),s=r??n,m=e.useRef(null),f=pe(a,m);return K(()=>{let l=m.current?.closest("[cmdk-group-items]");if(!(!l||l.hasAttribute("aria-labelledby")))return l.setAttribute("aria-labelledby",s),()=>{l.getAttribute("aria-labelledby")===s&&l.removeAttribute("aria-labelledby")}},[s]),e.createElement("div",{...t,id:s,ref:f,className:d("kui-BaseMenuLabel","kui-ComboboxLabel",o)})});Ee.displayName="Combobox.Label";var ke=e.forwardRef(({className:o,...r},t)=>e.createElement(T.Separator,{...r,ref:t,className:d("kui-BaseMenuSeparator","kui-ComboboxSeparator",o)}));ke.displayName="Combobox.Separator";function j(o){return o==null||typeof o=="boolean"?"":typeof o=="string"||typeof o=="number"?String(o):Array.isArray(o)?o.map(j).join(""):e.isValidElement(o)?j(o.props.children):""}var Te=e.forwardRef(({className:o,children:r,label:t,value:a,disabled:n,onSelect:s,keywords:m,...f},l)=>{let c=e.useContext(fe);if(!c)throw new Error("Combobox.Item must be used within Combobox.Root");let{store:P,onSelect:g,disabled:h}=c,y=a??(typeof r=="string"?r.trim():void 0),C=()=>y!==void 0&&P.get()===y,i=e.useSyncExternalStore(P.subscribe,C,C),b=H(s),R=e.useCallback(k=>{let u=a??k;g(u),b(u)},[a,g,b]),x=(t??j(r)).replace(/\s+/g," ").trim(),S=x?m?[x,...m]:[x]:m,V=S?S.join("\0"):"",v=n??h??!1;return e.createElement(T.Item,{key:V,...f,value:a,keywords:S,"aria-checked":i,disabled:v||void 0,ref:l,onSelect:R,className:d("kui-reset","kui-BaseMenuItem","kui-ComboboxItem",o)},i?e.createElement("span",{className:d("kui-BaseMenuItemIndicator","kui-ComboboxItemIndicator")},e.createElement(Z,{className:d("kui-BaseMenuItemIndicatorIcon","kui-ComboboxItemIndicatorIcon")})):null,e.createElement(X,null,r))});Te.displayName="Combobox.Item";export{Pe as a,ge as b,he as c,ye as d,Re as e,ve as f,Se as g,Ve as h,Ee as i,ke as j,Te as k,je as l};
3
+ //# sourceMappingURL=chunk-BEHAT3GI.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/components/combobox.tsx"],
4
- "sourcesContent": ["'use client';\n\n/**\n * Combobox: Radix Popover for positioning, dismissal and focus; cmdk for search,\n * filtering and keyboard navigation.\n *\n * Render path. State is split so an interaction re-renders only what reads it:\n * - `ComboboxContext` (Trigger, Value, Content): config and the selected value.\n * Open state is not in it, so opening and closing re-render no consumer.\n * - `ComboboxSearchContext` (Input only): the search text.\n * - `ComboboxItemContext` (Items): stable values only. Items read \"am I selected\"\n * from a store through `useSyncExternalStore`, so a selection re-renders the old\n * and the new selected item, not all N.\n *\n * Highlight. cmdk's `data-selected` is the single highlight source, driven by both\n * the pointer and the keyboard. There is no separate CSS `:hover` highlight, so two\n * items are never lit at once and Enter always picks the lit item.\n */\n\nimport { warnDeprecated } from '../helpers/warn-deprecated.js';\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Popover as PopoverPrimitive } from 'radix-ui';\nimport { useCallbackRef, useComposedRefs, useControllableState, useLayoutEffect } from 'radix-ui/internal';\nimport { Command as CommandPrimitive, useCommandState } from 'cmdk';\n\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSize } from '../hooks/theme-size.js';\nimport { comboboxRootPropDefs, comboboxTriggerPropDefs, comboboxContentPropDefs } from './combobox.props.js';\nimport { ChevronDownIcon, ThickCheckIcon } from './icons.js';\nimport { Spinner } from './spinner.js';\nimport { Theme, useThemeContext } from './theme.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\nimport * as Popover from './popover.js';\nimport { Slottable } from './slot.js';\nimport { VisuallyHidden } from './visually-hidden.js';\n\nimport type { textFieldRootPropDefs } from './text-field.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype TextFieldVariant = (typeof textFieldRootPropDefs.variant.values)[number];\ntype ComboboxValue = string | null;\ntype CommandFilter = (value: string, search: string, keywords?: string[]) => number;\n\n// Hoisted so extractProps' compiled prop-def cache (keyed by object identity) hits.\nconst triggerSizingPropDefs = { size: comboboxRootPropDefs.size };\nconst contentSizePropDefs = { size: comboboxContentPropDefs.size };\n\nconst warned = new Set<string>();\nfunction warnOnce(message: string) {\n if (warned.has(message)) return;\n warned.add(message);\n console.warn(message);\n}\n\n// ============================================================================\n// Selection store\n// ============================================================================\n\ninterface SelectionStore {\n get: () => ComboboxValue;\n set: (value: ComboboxValue) => void;\n subscribe: (listener: () => void) => () => void;\n}\n\nfunction createSelectionStore(initial: ComboboxValue): SelectionStore {\n let current = initial;\n const listeners = new Set<() => void>();\n return {\n get: () => current,\n set: (next) => {\n if (Object.is(next, current)) return;\n current = next;\n listeners.forEach((listener) => listener());\n },\n subscribe: (listener) => {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n },\n };\n}\n\n// ============================================================================\n// Contexts\n// ============================================================================\n\ninterface ComboboxContextValue {\n value: ComboboxValue;\n displayValue?: string;\n setOpen: (open: boolean) => void;\n size?: ComboboxRootOwnProps['size'];\n placeholder?: string;\n searchPlaceholder?: string;\n disabled?: boolean;\n color?: string;\n loop: boolean;\n shouldFilter: boolean;\n filter?: CommandFilter;\n triggerRef: React.RefObject<HTMLButtonElement | null>;\n /** Reads the trigger's accessible name from the DOM (aria-label, aria-labelledby or <label>). */\n getTriggerLabel: () => string | undefined;\n}\n\nconst ComboboxContext = React.createContext<ComboboxContextValue | null>(null);\n\nconst useComboboxContext = (componentName: string) => {\n const ctx = React.useContext(ComboboxContext);\n if (!ctx) {\n throw new Error(`Combobox.${componentName} must be used within Combobox.Root`);\n }\n return ctx;\n};\n\ninterface ComboboxSearchContextValue {\n value: string;\n setValue: (value: string) => void;\n}\n\nconst ComboboxSearchContext = React.createContext<ComboboxSearchContextValue | null>(null);\n\ninterface ComboboxItemContextValue {\n store: SelectionStore;\n onSelect: (value: string) => void;\n disabled?: boolean;\n}\n\nconst ComboboxItemContext = React.createContext<ComboboxItemContextValue | null>(null);\n\n/** Values resolved by Content and read by Input and List. */\ninterface ComboboxContentContextValue {\n sizeClassName?: string;\n color?: string;\n label?: string;\n}\n\nconst ComboboxContentContext = React.createContext<ComboboxContentContextValue | null>(null);\n\nconst useComboboxContentContext = () => React.useContext(ComboboxContentContext);\n\n// ============================================================================\n// Root\n// ============================================================================\n\ntype ComboboxRootOwnProps = GetPropDefTypes<typeof comboboxRootPropDefs> & {\n value?: ComboboxValue;\n defaultValue?: ComboboxValue;\n onValueChange?: (value: ComboboxValue) => void;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n placeholder?: string;\n searchPlaceholder?: string;\n searchValue?: string;\n defaultSearchValue?: string;\n onSearchValueChange?: (value: string) => void;\n filter?: CommandFilter;\n shouldFilter?: boolean;\n loop?: boolean;\n disabled?: boolean;\n /** Clear the search text when an option is selected. Defaults to true. */\n resetSearchOnSelect?: boolean;\n /** Clear the search text when the popup is dismissed without a selection. Defaults to true. */\n resetSearchOnClose?: boolean;\n color?: (typeof comboboxTriggerPropDefs.color.values)[number];\n /**\n * Text shown in the trigger for the selected value. Without it the raw value is shown.\n * Can be a string or a function that receives the current value. Pass a stable\n * function (module scope or `useCallback`): an inline function runs on every render.\n * @example displayValue={(v) => items.find(i => i.value === v)?.label}\n */\n displayValue?: string | ((value: ComboboxValue) => string | undefined);\n};\n\ntype PopoverRootProps = React.ComponentPropsWithoutRef<typeof Popover.Root>;\ninterface ComboboxRootProps extends PopoverRootProps, ComboboxRootOwnProps {}\n\nfunction readElementLabel(el: HTMLElement): string | undefined {\n const ariaLabel = el.getAttribute('aria-label')?.trim();\n if (ariaLabel) return ariaLabel;\n\n const labelledBy = el.getAttribute('aria-labelledby');\n if (labelledBy) {\n const text = labelledBy\n .split(/\\s+/)\n .map((id) => el.ownerDocument.getElementById(id)?.textContent?.trim())\n .filter(Boolean)\n .join(' ');\n if (text) return text;\n }\n\n const labels = (el as HTMLButtonElement).labels;\n if (labels && labels.length > 0) {\n const text = Array.from(labels)\n .map((label) => label.textContent?.trim())\n .filter(Boolean)\n .join(' ');\n if (text) return text;\n }\n\n return undefined;\n}\n\nconst ComboboxRoot: React.FC<ComboboxRootProps> = (props) => {\n const {\n children,\n size: sizeProp,\n value: valueProp,\n defaultValue = null,\n onValueChange,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n placeholder = 'Select an option',\n searchPlaceholder = 'Search...',\n searchValue: searchValueProp,\n defaultSearchValue = '',\n onSearchValueChange,\n filter,\n shouldFilter = true,\n loop = true,\n disabled,\n resetSearchOnSelect = true,\n resetSearchOnClose = true,\n color,\n displayValue: displayValueProp,\n ...rootProps\n } = props;\n const size = useThemeSize(sizeProp, comboboxRootPropDefs.size);\n\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n const [value, setValue] = useControllableState<ComboboxValue>({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n const [searchValue, setSearchValue] = useControllableState<string>({\n prop: searchValueProp,\n defaultProp: defaultSearchValue,\n onChange: onSearchValueChange,\n });\n\n const resolvedDisplayValue = typeof displayValueProp === 'function' ? displayValueProp(value) : displayValueProp;\n\n // Items subscribe to this store instead of the context, so a selection\n // re-renders only the items whose selected state flips.\n const [store] = React.useState(() => createSelectionStore(value));\n useLayoutEffect(() => {\n store.set(value);\n }, [store, value]);\n\n // The radix setters change identity whenever their controlled prop changes.\n // Reading them through callback refs keeps these handlers stable, so the\n // contexts below do not change on every keystroke or selection.\n const handleOpenChange = useCallbackRef((nextOpen: boolean) => {\n setOpen(nextOpen);\n if (!nextOpen && resetSearchOnClose) setSearchValue('');\n });\n\n const onSelect = useCallbackRef((nextValue: string) => {\n setValue(nextValue);\n setOpen(false);\n if (resetSearchOnSelect) setSearchValue('');\n });\n\n const triggerRef = React.useRef<HTMLButtonElement | null>(null);\n const getTriggerLabel = React.useCallback(() => (triggerRef.current ? readElementLabel(triggerRef.current) : undefined), []);\n\n const contextValue = React.useMemo<ComboboxContextValue>(\n () => ({\n value,\n displayValue: resolvedDisplayValue,\n setOpen: handleOpenChange,\n size,\n placeholder,\n searchPlaceholder,\n disabled,\n color,\n loop,\n shouldFilter,\n filter,\n triggerRef,\n getTriggerLabel,\n }),\n [value, resolvedDisplayValue, handleOpenChange, size, placeholder, searchPlaceholder, disabled, color, loop, shouldFilter, filter, getTriggerLabel],\n );\n\n const searchContextValue = React.useMemo<ComboboxSearchContextValue>(() => ({ value: searchValue, setValue: setSearchValue }), [searchValue, setSearchValue]);\n\n const itemContextValue = React.useMemo<ComboboxItemContextValue>(() => ({ store, onSelect, disabled }), [store, onSelect, disabled]);\n\n return (\n <ComboboxContext.Provider value={contextValue}>\n <ComboboxSearchContext.Provider value={searchContextValue}>\n <ComboboxItemContext.Provider value={itemContextValue}>\n <Popover.Root open={open} onOpenChange={handleOpenChange} {...rootProps}>\n {children}\n </Popover.Root>\n </ComboboxItemContext.Provider>\n </ComboboxSearchContext.Provider>\n </ComboboxContext.Provider>\n );\n};\nComboboxRoot.displayName = 'Combobox.Root';\n\n// ============================================================================\n// Trigger\n// ============================================================================\n\ntype ComboboxTriggerElement = HTMLButtonElement;\ntype ComboboxTriggerOwnProps = GetPropDefTypes<typeof comboboxTriggerPropDefs>;\ntype NativeTriggerProps = Omit<React.ComponentPropsWithoutRef<'button'>, 'color'>;\ninterface ComboboxTriggerProps extends NativeTriggerProps, ComboboxTriggerOwnProps {}\n\nconst ComboboxTrigger = React.forwardRef<ComboboxTriggerElement, ComboboxTriggerProps>((props, forwardedRef) => {\n const ctx = useComboboxContext('Trigger');\n\n const {\n children,\n className,\n placeholder,\n disabled,\n readOnly,\n error,\n loading,\n color,\n radius,\n onClick,\n onKeyDown,\n type: buttonType,\n ...triggerProps\n } = extractProps({ size: ctx.size, ...props }, triggerSizingPropDefs, comboboxTriggerPropDefs);\n\n const isDisabled = disabled ?? ctx.disabled;\n const resolvedColor = color ?? ctx.color;\n // Read-only and loading triggers stay focusable but do not open.\n const isBlocked = Boolean(readOnly || loading);\n const isPlaceholder = ctx.value == null && ctx.displayValue == null;\n\n const composedRef = useComposedRefs(forwardedRef, ctx.triggerRef);\n\n const { getTriggerLabel } = ctx;\n React.useEffect(() => {\n if (process.env.NODE_ENV === 'production') return;\n if (!getTriggerLabel()) {\n warnOnce(\n 'Combobox.Trigger has no accessible name. The combobox role does not take its name from its content. Add `aria-label`, `aria-labelledby`, or a `<label htmlFor>` that points at the trigger.',\n );\n }\n }, [getTriggerLabel]);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(event);\n // Radix skips its open toggle when the event is default-prevented.\n if (isBlocked) event.preventDefault();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || isBlocked || isDisabled) return;\n // Both arrows open the list, as on Select (APG select-only combobox).\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n ctx.setOpen(true);\n }\n };\n\n const loadingIcon = (\n <span className=\"kui-SelectIcon kui-SelectLoadingIcon\" aria-hidden=\"true\">\n <Spinner />\n </span>\n );\n\n const defaultContent = (\n <>\n <span className=\"kui-SelectTriggerInner\">\n <span className=\"kui-ComboboxValue\">{ctx.displayValue ?? ctx.value ?? placeholder ?? ctx.placeholder}</span>\n </span>\n {loading ? loadingIcon : <ChevronDownIcon className=\"kui-SelectIcon\" />}\n </>\n );\n\n // Radix Popover.Trigger supplies aria-expanded, aria-controls (the popup id) and\n // aria-haspopup=\"dialog\", which matches the Popover dialog this opens.\n return (\n <Popover.Trigger disabled={isDisabled}>\n <button\n data-accent-color={resolvedColor}\n data-radius={radius}\n data-error={error}\n data-loading={loading}\n data-disabled={isDisabled || undefined}\n data-read-only={readOnly || undefined}\n data-placeholder={isPlaceholder ? '' : undefined}\n {...triggerProps}\n // eslint-disable-next-line jsx-a11y/role-has-required-aria-props -- Popover.Trigger (Slot) adds aria-expanded and aria-controls\n role=\"combobox\"\n // The props win when set; otherwise a caller's own aria-* (a form library's aria-invalid) stays, as on Select.\n aria-disabled={isDisabled || triggerProps['aria-disabled']}\n aria-readonly={readOnly || triggerProps['aria-readonly']}\n aria-invalid={error || triggerProps['aria-invalid']}\n aria-busy={loading || triggerProps['aria-busy']}\n type={buttonType ?? 'button'}\n disabled={isDisabled}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={composedRef}\n className={classNames('kui-reset', 'kui-SelectTrigger', 'kui-ComboboxTrigger', className)}\n >\n {/* Custom children replace the value and chevron; the spinner still shows while loading. */}\n {children ? (\n <>\n {requireReactElement(children)}\n {loading ? loadingIcon : null}\n </>\n ) : (\n defaultContent\n )}\n </button>\n </Popover.Trigger>\n );\n});\nComboboxTrigger.displayName = 'Combobox.Trigger';\n\n// ============================================================================\n// Value (standalone, for custom trigger layouts)\n// ============================================================================\n\ntype ComboboxValueElement = HTMLSpanElement;\ninterface ComboboxValueProps extends React.ComponentPropsWithoutRef<'span'> {\n placeholder?: string;\n}\n\nconst ComboboxValue = React.forwardRef<ComboboxValueElement, ComboboxValueProps>(({ placeholder, children, className, ...valueProps }, forwardedRef) => {\n const ctx = useComboboxContext('Value');\n const display = ctx.displayValue ?? ctx.value ?? undefined;\n return (\n <span {...valueProps} ref={forwardedRef} className={classNames('kui-ComboboxValue', className)}>\n {display ?? children ?? placeholder ?? ctx.placeholder}\n </span>\n );\n});\nComboboxValue.displayName = 'Combobox.Value';\n\n// ============================================================================\n// Content\n// ============================================================================\n\ntype ComboboxContentElement = React.ElementRef<typeof PopoverPrimitive.Content>;\ntype ComboboxContentOwnProps = GetPropDefTypes<typeof comboboxContentPropDefs> & {\n container?: React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Portal>['container'];\n};\ninterface ComboboxContentProps extends Omit<ComponentPropsWithout<typeof PopoverPrimitive.Content, RemovedProps>, 'size'>, ComboboxContentOwnProps {}\n\n/** Announces the filtered result count to screen readers after typing settles. */\nfunction ComboboxAnnouncer() {\n const count = useCommandState((state) => state.filtered.count);\n const search = useCommandState((state) => state.search);\n const [message, setMessage] = React.useState('');\n\n React.useEffect(() => {\n const next = !search ? '' : count === 0 ? 'No results' : `${count} result${count === 1 ? '' : 's'}`;\n const timeout = window.setTimeout(() => setMessage(next), search ? 400 : 0);\n return () => window.clearTimeout(timeout);\n }, [count, search]);\n\n return (\n <VisuallyHidden role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n {message}\n </VisuallyHidden>\n );\n}\n\nconst ComboboxContent = React.forwardRef<ComboboxContentElement, ComboboxContentProps>((props, forwardedRef) => {\n const ctx = useComboboxContext('Content');\n const themeContext = useThemeContext();\n\n // The list takes the field's size.\n const size = props.size ?? ctx.size ?? comboboxContentPropDefs.size.default;\n\n const {\n className,\n children,\n color,\n forceMount,\n container,\n onOpenAutoFocus,\n 'aria-label': _ariaLabel,\n 'aria-labelledby': ariaLabelledByProp,\n ...contentProps\n } = extractProps({ ...props, size }, comboboxContentPropDefs);\n\n const resolvedColor = color || ctx.color || themeContext.accentColor;\n\n\n // The trigger's name labels the popup, the search field and the listbox.\n // Read once per mount (the content remounts on every open); fall back to a\n // layout effect when the trigger was not attached yet (defaultOpen, forceMount).\n const { getTriggerLabel } = ctx;\n const [triggerLabel, setTriggerLabel] = React.useState(getTriggerLabel);\n useLayoutEffect(() => {\n if (triggerLabel !== undefined) return;\n const label = getTriggerLabel();\n if (label !== undefined) setTriggerLabel(label);\n }, [getTriggerLabel, triggerLabel]);\n\n const label = props['aria-label'] ?? triggerLabel;\n\n const contentContextValue = React.useMemo<ComboboxContentContextValue>(\n () => ({\n // Responsive-aware size class for the search field (never String() a responsive object).\n sizeClassName: extractProps({ size }, contentSizePropDefs).className || undefined,\n color: resolvedColor,\n label,\n }),\n [size, resolvedColor, label],\n );\n\n const commandRef = React.useRef<HTMLDivElement>(null);\n\n // Without a search field, focus would land on the popup itself, outside cmdk's\n // keydown handler. Focus the listbox instead so arrow keys and Enter work.\n const handleOpenAutoFocus = (event: Event) => {\n onOpenAutoFocus?.(event);\n if (event.defaultPrevented) return;\n const command = commandRef.current;\n if (!command || command.querySelector('[cmdk-input]')) return;\n event.preventDefault();\n const list = command.querySelector<HTMLElement>('[cmdk-list]');\n (list ?? command).focus({ preventScroll: true });\n };\n\n // Start the highlight on the selected option (cmdk trims item values).\n const initialHighlight = ctx.value?.trim() || undefined;\n\n return (\n <PopoverPrimitive.Portal container={container} forceMount={forceMount ? true : undefined}>\n <Theme asChild>\n <PopoverPrimitive.Content\n data-accent-color={resolvedColor}\n align=\"start\"\n sideOffset={4}\n collisionPadding={10}\n aria-label={ariaLabelledByProp ? undefined : label}\n aria-labelledby={ariaLabelledByProp}\n {...contentProps}\n forceMount={forceMount ? true : undefined}\n onOpenAutoFocus={handleOpenAutoFocus}\n ref={forwardedRef}\n className={classNames('kui-PopperContent', 'kui-BaseMenuContent',\n 'kui-variant-soft', 'kui-ComboboxContent', className)}\n >\n <ComboboxContentContext.Provider value={contentContextValue}>\n <CommandPrimitive\n ref={commandRef}\n loop={ctx.loop}\n shouldFilter={ctx.shouldFilter}\n filter={ctx.filter}\n label={label}\n defaultValue={initialHighlight}\n className=\"kui-ComboboxCommand\"\n >\n {children}\n <ComboboxAnnouncer />\n </CommandPrimitive>\n </ComboboxContentContext.Provider>\n </PopoverPrimitive.Content>\n </Theme>\n </PopoverPrimitive.Portal>\n );\n});\nComboboxContent.displayName = 'Combobox.Content';\n\n// ============================================================================\n// Input\n// ============================================================================\n\ntype ComboboxInputElement = React.ElementRef<typeof CommandPrimitive.Input>;\ninterface ComboboxInputProps extends Omit<React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>, 'value' | 'onValueChange'> {\n startAdornment?: React.ReactNode;\n endAdornment?: React.ReactNode;\n variant?: TextFieldVariant;\n value?: string;\n onValueChange?: (value: string) => void;\n}\n\nconst ComboboxInput = React.forwardRef<ComboboxInputElement, ComboboxInputProps>(\n ({ className, startAdornment, endAdornment, placeholder, variant: inputVariant, value, onValueChange, ...inputProps }, forwardedRef) => {\n const ctx = useComboboxContext('Input');\n const search = React.useContext(ComboboxSearchContext);\n const contentContext = useComboboxContentContext();\n\n const textFieldVariant = inputVariant ?? 'soft';\n\n // The search text lives in Root; only this component subscribes to it.\n const searchValue = value ?? search?.value ?? '';\n const handleSearchChange = onValueChange ?? search?.setValue;\n\n const inputField = (\n <div\n className={classNames('kui-TextFieldRoot', 'kui-ComboboxInputRoot', contentContext?.sizeClassName, `kui-variant-${textFieldVariant}`)}\n data-accent-color={contentContext?.color}\n >\n {startAdornment ? <div className=\"kui-TextFieldSlot\">{startAdornment}</div> : null}\n <CommandPrimitive.Input\n {...inputProps}\n ref={forwardedRef}\n value={searchValue}\n onValueChange={handleSearchChange}\n placeholder={placeholder ?? ctx.searchPlaceholder}\n className={classNames('kui-reset', 'kui-TextFieldInput', className)}\n />\n {endAdornment ? (\n <div className=\"kui-TextFieldSlot\" data-side=\"right\">\n {endAdornment}\n </div>\n ) : null}\n </div>\n );\n\n return contentContext ? <div className=\"kui-ComboboxSearch\">{inputField}</div> : inputField;\n },\n);\nComboboxInput.displayName = 'Combobox.Input';\n\n// ============================================================================\n// List\n// ============================================================================\n\ntype ComboboxListElement = React.ElementRef<typeof CommandPrimitive.List>;\ninterface ComboboxListProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.List> {}\n\n// cmdk's List owns its id (referenced by the input's aria-controls), role and\n// aria-label (set from `label`), so none of them are overridden here.\nconst ComboboxList = React.forwardRef<ComboboxListElement, ComboboxListProps>(({ className, children, label, ...listProps }, forwardedRef) => {\n const contentContext = useComboboxContentContext();\n return (\n <div className=\"kui-ComboboxScrollArea\">\n <div className={classNames('kui-BaseMenuViewport', 'kui-ComboboxViewport')}>\n <CommandPrimitive.List {...listProps} label={label ?? contentContext?.label} ref={forwardedRef} className={classNames('kui-ComboboxList', className)}>\n {children}\n </CommandPrimitive.List>\n </div>\n </div>\n );\n});\nComboboxList.displayName = 'Combobox.List';\n\n// ============================================================================\n// Empty\n// ============================================================================\n\ntype ComboboxEmptyElement = React.ElementRef<typeof CommandPrimitive.Empty>;\ninterface ComboboxEmptyProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty> {}\n\nconst ComboboxEmpty = React.forwardRef<ComboboxEmptyElement, ComboboxEmptyProps>(({ className, ...emptyProps }, forwardedRef) => (\n <CommandPrimitive.Empty {...emptyProps} ref={forwardedRef} className={classNames('kui-ComboboxEmpty', className)} />\n));\nComboboxEmpty.displayName = 'Combobox.Empty';\n\n// ============================================================================\n// Group\n// ============================================================================\n\ntype ComboboxGroupElement = React.ElementRef<typeof CommandPrimitive.Group>;\ninterface ComboboxGroupProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group> {}\n\nconst ComboboxGroup = React.forwardRef<ComboboxGroupElement, ComboboxGroupProps>(({ className, ...groupProps }, forwardedRef) => (\n <CommandPrimitive.Group {...groupProps} ref={forwardedRef} className={classNames('kui-BaseMenuGroup', 'kui-ComboboxGroup', className)} />\n));\nComboboxGroup.displayName = 'Combobox.Group';\n\n// ============================================================================\n// Label\n// ============================================================================\n\ntype ComboboxLabelElement = React.ElementRef<'div'>;\ninterface ComboboxLabelProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst ComboboxLabel = React.forwardRef<ComboboxLabelElement, ComboboxLabelProps>(({ className, id: idProp, ...labelProps }, forwardedRef) => {\n const generatedId = React.useId();\n const id = idProp ?? generatedId;\n const localRef = React.useRef<HTMLDivElement>(null);\n const composedRef = useComposedRefs(forwardedRef, localRef);\n\n // cmdk renders the group's role=\"group\" element itself and gives no way to\n // label it from a child, so name it after this label when inside a Group.\n useLayoutEffect(() => {\n const group = localRef.current?.closest('[cmdk-group-items]');\n if (!group || group.hasAttribute('aria-labelledby')) return;\n group.setAttribute('aria-labelledby', id);\n return () => {\n if (group.getAttribute('aria-labelledby') === id) group.removeAttribute('aria-labelledby');\n };\n }, [id]);\n\n return <div {...labelProps} id={id} ref={composedRef} className={classNames('kui-BaseMenuLabel', 'kui-ComboboxLabel', className)} />;\n});\nComboboxLabel.displayName = 'Combobox.Label';\n\n// ============================================================================\n// Separator\n// ============================================================================\n\ntype ComboboxSeparatorElement = React.ElementRef<typeof CommandPrimitive.Separator>;\ninterface ComboboxSeparatorProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator> {}\n\nconst ComboboxSeparator = React.forwardRef<ComboboxSeparatorElement, ComboboxSeparatorProps>(({ className, ...separatorProps }, forwardedRef) => (\n <CommandPrimitive.Separator {...separatorProps} ref={forwardedRef} className={classNames('kui-BaseMenuSeparator', 'kui-ComboboxSeparator', className)} />\n));\nComboboxSeparator.displayName = 'Combobox.Separator';\n\n// ============================================================================\n// Item\n// ============================================================================\n\n/** Plain text of a React node tree, used as the item's search text. */\nfunction getNodeText(node: React.ReactNode): string {\n if (node == null || typeof node === 'boolean') return '';\n if (typeof node === 'string' || typeof node === 'number') return String(node);\n if (Array.isArray(node)) return node.map(getNodeText).join('');\n if (React.isValidElement<{ children?: React.ReactNode }>(node)) return getNodeText(node.props.children);\n return '';\n}\n\ntype ComboboxItemElement = React.ElementRef<typeof CommandPrimitive.Item>;\ninterface ComboboxItemProps extends Omit<React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>, 'keywords' | 'onSelect'> {\n /**\n * Text matched by search. Defaults to the text of `children`. Set it when the\n * children are components whose text is not in the JSX (it cannot be read).\n */\n label?: string;\n /** Additional keywords for search filtering. */\n keywords?: string[];\n /** Called when the item is selected. */\n onSelect?: (value: string) => void;\n}\n\nconst ComboboxItem = React.forwardRef<ComboboxItemElement, ComboboxItemProps>(\n ({ className, children, label, value, disabled, onSelect, keywords, ...itemProps }, forwardedRef) => {\n const itemContext = React.useContext(ComboboxItemContext);\n if (!itemContext) {\n throw new Error('Combobox.Item must be used within Combobox.Root');\n }\n const { store, onSelect: onSelectFromRoot, disabled: rootDisabled } = itemContext;\n\n // Without `value`, cmdk uses the trimmed text of string children.\n const itemValue = value ?? (typeof children === 'string' ? children.trim() : undefined);\n const getIsSelected = () => itemValue !== undefined && store.get() === itemValue;\n const isSelected = React.useSyncExternalStore(store.subscribe, getIsSelected, getIsSelected);\n\n const onSelectProp = useCallbackRef(onSelect);\n // cmdk passes its resolved value (the `value` prop, or the text when `value` is omitted).\n const handleSelect = React.useCallback(\n (resolvedValue: string) => {\n const nextValue = value ?? resolvedValue;\n onSelectFromRoot(nextValue);\n onSelectProp(nextValue);\n },\n [value, onSelectFromRoot, onSelectProp],\n );\n\n // cmdk matches only `value` and `keywords`, so add the visible text as a keyword.\n const text = (label ?? getNodeText(children)).replace(/\\s+/g, ' ').trim();\n const searchKeywords = text ? (keywords ? [text, ...keywords] : [text]) : keywords;\n // cmdk stores keywords only when `value` changes. Remount the cmdk item when\n // they change so a new label or keyword list is picked up.\n const keywordsKey = searchKeywords ? searchKeywords.join('\\u0000') : '';\n\n const isDisabled = disabled ?? rootDisabled ?? false;\n\n return (\n <CommandPrimitive.Item\n key={keywordsKey}\n {...itemProps}\n value={value}\n keywords={searchKeywords}\n // cmdk owns aria-selected (the highlighted option); the chosen option is aria-checked.\n aria-checked={isSelected}\n disabled={isDisabled || undefined}\n ref={forwardedRef}\n onSelect={handleSelect}\n className={classNames('kui-reset', 'kui-BaseMenuItem', 'kui-ComboboxItem', className)}\n >\n {isSelected ? (\n <span className={classNames('kui-BaseMenuItemIndicator', 'kui-ComboboxItemIndicator')}>\n <ThickCheckIcon className={classNames('kui-BaseMenuItemIndicatorIcon', 'kui-ComboboxItemIndicatorIcon')} />\n </span>\n ) : null}\n <Slottable>{children}</Slottable>\n </CommandPrimitive.Item>\n );\n },\n);\nComboboxItem.displayName = 'Combobox.Item';\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nexport {\n ComboboxRoot as Root,\n ComboboxTrigger as Trigger,\n ComboboxValue as Value,\n ComboboxContent as Content,\n ComboboxInput as Input,\n ComboboxList as List,\n ComboboxEmpty as Empty,\n ComboboxGroup as Group,\n ComboboxLabel as Label,\n ComboboxSeparator as Separator,\n ComboboxItem as Item,\n};\n\nexport type {\n ComboboxRootProps as RootProps,\n ComboboxTriggerProps as TriggerProps,\n ComboboxValueProps as ValueProps,\n ComboboxContentProps as ContentProps,\n ComboboxInputProps as InputProps,\n ComboboxListProps as ListProps,\n ComboboxEmptyProps as EmptyProps,\n ComboboxGroupProps as GroupProps,\n ComboboxLabelProps as LabelProps,\n ComboboxSeparatorProps as SeparatorProps,\n ComboboxItemProps as ItemProps,\n};\n"],
5
- "mappings": "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",
6
- "names": ["combobox_exports", "__export", "ComboboxContent", "ComboboxEmpty", "ComboboxGroup", "ComboboxInput", "ComboboxItem", "ComboboxLabel", "ComboboxList", "ComboboxRoot", "ComboboxSeparator", "ComboboxTrigger", "ComboboxValue", "React", "classNames", "PopoverPrimitive", "useCallbackRef", "useComposedRefs", "useControllableState", "useLayoutEffect", "CommandPrimitive", "useCommandState", "triggerSizingPropDefs", "comboboxRootPropDefs", "contentSizePropDefs", "comboboxContentPropDefs", "warned", "warnOnce", "message", "createSelectionStore", "initial", "current", "listeners", "next", "listener", "ComboboxContext", "useComboboxContext", "componentName", "ctx", "ComboboxSearchContext", "ComboboxItemContext", "ComboboxContentContext", "useComboboxContentContext", "readElementLabel", "el", "ariaLabel", "labelledBy", "text", "id", "labels", "label", "ComboboxRoot", "props", "children", "sizeProp", "valueProp", "defaultValue", "onValueChange", "openProp", "defaultOpen", "onOpenChange", "placeholder", "searchPlaceholder", "searchValueProp", "defaultSearchValue", "onSearchValueChange", "filter", "shouldFilter", "loop", "disabled", "resetSearchOnSelect", "resetSearchOnClose", "color", "displayValueProp", "rootProps", "size", "useThemeSize", "open", "setOpen", "useControllableState", "value", "setValue", "searchValue", "setSearchValue", "resolvedDisplayValue", "store", "useLayoutEffect", "handleOpenChange", "useCallbackRef", "nextOpen", "onSelect", "nextValue", "triggerRef", "getTriggerLabel", "contextValue", "searchContextValue", "itemContextValue", "PopoverRoot", "ComboboxTrigger", "forwardedRef", "className", "readOnly", "error", "loading", "radius", "onClick", "onKeyDown", "buttonType", "triggerProps", "extractProps", "comboboxTriggerPropDefs", "isDisabled", "resolvedColor", "isBlocked", "isPlaceholder", "composedRef", "useComposedRefs", "handleClick", "event", "handleKeyDown", "loadingIcon", "Spinner", "defaultContent", "ChevronDownIcon", "PopoverTrigger", "classNames", "requireReactElement", "ComboboxValue", "valueProps", "display", "ComboboxAnnouncer", "count", "useCommandState", "state", "search", "setMessage", "timeout", "VisuallyHidden", "ComboboxContent", "themeContext", "useThemeContext", "forceMount", "container", "onOpenAutoFocus", "_ariaLabel", "ariaLabelledByProp", "contentProps", "triggerLabel", "setTriggerLabel", "contentContextValue", "commandRef", "handleOpenAutoFocus", "command", "initialHighlight", "PopoverPrimitive", "Theme", "CommandPrimitive", "ComboboxInput", "startAdornment", "endAdornment", "inputVariant", "inputProps", "contentContext", "textFieldVariant", "handleSearchChange", "inputField", "ComboboxList", "listProps", "ComboboxEmpty", "emptyProps", "ComboboxGroup", "groupProps", "ComboboxLabel", "idProp", "labelProps", "generatedId", "localRef", "group", "ComboboxSeparator", "separatorProps", "getNodeText", "node", "ComboboxItem", "keywords", "itemProps", "itemContext", "onSelectFromRoot", "rootDisabled", "itemValue", "getIsSelected", "isSelected", "onSelectProp", "handleSelect", "resolvedValue", "searchKeywords", "keywordsKey", "ThickCheckIcon", "Slottable"]
3
+ "sources": ["../../src/components/combobox.tsx", "../../src/components/combobox.props.tsx"],
4
+ "sourcesContent": ["'use client';\n\n/**\n * Combobox: Radix Popover for positioning, dismissal and focus; cmdk for search,\n * filtering and keyboard navigation.\n *\n * Render path. State is split so an interaction re-renders only what reads it:\n * - `ComboboxContext` (Trigger, Value, Content): config and the selected value.\n * Open state is not in it, so opening and closing re-render no consumer.\n * - `ComboboxSearchContext` (Input only): the search text.\n * - `ComboboxItemContext` (Items): stable values only. Items read \"am I selected\"\n * from a store through `useSyncExternalStore`, so a selection re-renders the old\n * and the new selected item, not all N.\n *\n * Highlight. cmdk's `data-selected` is the single highlight source, driven by both\n * the pointer and the keyboard. There is no separate CSS `:hover` highlight, so two\n * items are never lit at once and Enter always picks the lit item.\n */\n\nimport { warnDeprecated } from '../helpers/warn-deprecated.js';\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Popover as PopoverPrimitive } from 'radix-ui';\nimport { useCallbackRef, useComposedRefs, useControllableState, useLayoutEffect } from 'radix-ui/internal';\nimport { Command as CommandPrimitive, useCommandState } from 'cmdk';\n\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSize } from '../hooks/theme-size.js';\nimport { comboboxRootPropDefs, comboboxTriggerPropDefs, comboboxContentPropDefs } from './combobox.props.js';\nimport { ChevronDownIcon, ThickCheckIcon } from './icons.js';\nimport { Spinner } from './spinner.js';\nimport { Theme, useThemeContext } from './theme.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\nimport * as Popover from './popover.js';\nimport { Slottable } from './slot.js';\nimport { VisuallyHidden } from './visually-hidden.js';\n\nimport type { textFieldRootPropDefs } from './text-field.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype TextFieldVariant = (typeof textFieldRootPropDefs.variant.values)[number];\ntype ComboboxValue = string | null;\ntype CommandFilter = (value: string, search: string, keywords?: string[]) => number;\n\n// Hoisted so extractProps' compiled prop-def cache (keyed by object identity) hits.\nconst triggerSizingPropDefs = { size: comboboxRootPropDefs.size };\nconst contentSizePropDefs = { size: comboboxContentPropDefs.size };\n\nconst warned = new Set<string>();\nfunction warnOnce(message: string) {\n if (warned.has(message)) return;\n warned.add(message);\n console.warn(message);\n}\n\n// ============================================================================\n// Selection store\n// ============================================================================\n\ninterface SelectionStore {\n get: () => ComboboxValue;\n set: (value: ComboboxValue) => void;\n subscribe: (listener: () => void) => () => void;\n}\n\nfunction createSelectionStore(initial: ComboboxValue): SelectionStore {\n let current = initial;\n const listeners = new Set<() => void>();\n return {\n get: () => current,\n set: (next) => {\n if (Object.is(next, current)) return;\n current = next;\n listeners.forEach((listener) => listener());\n },\n subscribe: (listener) => {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n },\n };\n}\n\n// ============================================================================\n// Contexts\n// ============================================================================\n\ninterface ComboboxContextValue {\n value: ComboboxValue;\n displayValue?: string;\n setOpen: (open: boolean) => void;\n size?: ComboboxRootOwnProps['size'];\n placeholder?: string;\n searchPlaceholder?: string;\n disabled?: boolean;\n color?: string;\n loop: boolean;\n shouldFilter: boolean;\n filter?: CommandFilter;\n triggerRef: React.RefObject<HTMLButtonElement | null>;\n /** Reads the trigger's accessible name from the DOM (aria-label, aria-labelledby or <label>). */\n getTriggerLabel: () => string | undefined;\n}\n\nconst ComboboxContext = React.createContext<ComboboxContextValue | null>(null);\n\nconst useComboboxContext = (componentName: string) => {\n const ctx = React.useContext(ComboboxContext);\n if (!ctx) {\n throw new Error(`Combobox.${componentName} must be used within Combobox.Root`);\n }\n return ctx;\n};\n\ninterface ComboboxSearchContextValue {\n value: string;\n setValue: (value: string) => void;\n}\n\nconst ComboboxSearchContext = React.createContext<ComboboxSearchContextValue | null>(null);\n\ninterface ComboboxItemContextValue {\n store: SelectionStore;\n onSelect: (value: string) => void;\n disabled?: boolean;\n}\n\nconst ComboboxItemContext = React.createContext<ComboboxItemContextValue | null>(null);\n\n/** Values resolved by Content and read by Input and List. */\ninterface ComboboxContentContextValue {\n sizeClassName?: string;\n color?: string;\n label?: string;\n}\n\nconst ComboboxContentContext = React.createContext<ComboboxContentContextValue | null>(null);\n\nconst useComboboxContentContext = () => React.useContext(ComboboxContentContext);\n\n// ============================================================================\n// Root\n// ============================================================================\n\ntype ComboboxRootOwnProps = GetPropDefTypes<typeof comboboxRootPropDefs> & {\n value?: ComboboxValue;\n defaultValue?: ComboboxValue;\n onValueChange?: (value: ComboboxValue) => void;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n placeholder?: string;\n searchPlaceholder?: string;\n searchValue?: string;\n defaultSearchValue?: string;\n onSearchValueChange?: (value: string) => void;\n filter?: CommandFilter;\n shouldFilter?: boolean;\n loop?: boolean;\n disabled?: boolean;\n /** Clear the search text when an option is selected. Defaults to true. */\n resetSearchOnSelect?: boolean;\n /** Clear the search text when the popup is dismissed without a selection. Defaults to true. */\n resetSearchOnClose?: boolean;\n color?: (typeof comboboxTriggerPropDefs.color.values)[number];\n /**\n * Text shown in the trigger for the selected value. Without it the raw value is shown.\n * Can be a string or a function that receives the current value. Pass a stable\n * function (module scope or `useCallback`): an inline function runs on every render.\n * @example displayValue={(v) => items.find(i => i.value === v)?.label}\n */\n displayValue?: string | ((value: ComboboxValue) => string | undefined);\n};\n\ntype PopoverRootProps = React.ComponentPropsWithoutRef<typeof Popover.Root>;\ninterface ComboboxRootProps extends PopoverRootProps, ComboboxRootOwnProps {}\n\nfunction readElementLabel(el: HTMLElement): string | undefined {\n const ariaLabel = el.getAttribute('aria-label')?.trim();\n if (ariaLabel) return ariaLabel;\n\n const labelledBy = el.getAttribute('aria-labelledby');\n if (labelledBy) {\n const text = labelledBy\n .split(/\\s+/)\n .map((id) => el.ownerDocument.getElementById(id)?.textContent?.trim())\n .filter(Boolean)\n .join(' ');\n if (text) return text;\n }\n\n const labels = (el as HTMLButtonElement).labels;\n if (labels && labels.length > 0) {\n const text = Array.from(labels)\n .map((label) => label.textContent?.trim())\n .filter(Boolean)\n .join(' ');\n if (text) return text;\n }\n\n return undefined;\n}\n\nconst ComboboxRoot: React.FC<ComboboxRootProps> = (props) => {\n const {\n children,\n size: sizeProp,\n value: valueProp,\n defaultValue = null,\n onValueChange,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n placeholder = 'Select an option',\n searchPlaceholder = 'Search...',\n searchValue: searchValueProp,\n defaultSearchValue = '',\n onSearchValueChange,\n filter,\n shouldFilter = true,\n loop = true,\n disabled,\n resetSearchOnSelect = true,\n resetSearchOnClose = true,\n color,\n displayValue: displayValueProp,\n ...rootProps\n } = props;\n const size = useThemeSize(sizeProp, comboboxRootPropDefs.size);\n\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n const [value, setValue] = useControllableState<ComboboxValue>({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n const [searchValue, setSearchValue] = useControllableState<string>({\n prop: searchValueProp,\n defaultProp: defaultSearchValue,\n onChange: onSearchValueChange,\n });\n\n const resolvedDisplayValue = typeof displayValueProp === 'function' ? displayValueProp(value) : displayValueProp;\n\n // Items subscribe to this store instead of the context, so a selection\n // re-renders only the items whose selected state flips.\n const [store] = React.useState(() => createSelectionStore(value));\n useLayoutEffect(() => {\n store.set(value);\n }, [store, value]);\n\n // The radix setters change identity whenever their controlled prop changes.\n // Reading them through callback refs keeps these handlers stable, so the\n // contexts below do not change on every keystroke or selection.\n const handleOpenChange = useCallbackRef((nextOpen: boolean) => {\n setOpen(nextOpen);\n if (!nextOpen && resetSearchOnClose) setSearchValue('');\n });\n\n const onSelect = useCallbackRef((nextValue: string) => {\n setValue(nextValue);\n setOpen(false);\n if (resetSearchOnSelect) setSearchValue('');\n });\n\n const triggerRef = React.useRef<HTMLButtonElement | null>(null);\n const getTriggerLabel = React.useCallback(() => (triggerRef.current ? readElementLabel(triggerRef.current) : undefined), []);\n\n const contextValue = React.useMemo<ComboboxContextValue>(\n () => ({\n value,\n displayValue: resolvedDisplayValue,\n setOpen: handleOpenChange,\n size,\n placeholder,\n searchPlaceholder,\n disabled,\n color,\n loop,\n shouldFilter,\n filter,\n triggerRef,\n getTriggerLabel,\n }),\n [value, resolvedDisplayValue, handleOpenChange, size, placeholder, searchPlaceholder, disabled, color, loop, shouldFilter, filter, getTriggerLabel],\n );\n\n const searchContextValue = React.useMemo<ComboboxSearchContextValue>(() => ({ value: searchValue, setValue: setSearchValue }), [searchValue, setSearchValue]);\n\n const itemContextValue = React.useMemo<ComboboxItemContextValue>(() => ({ store, onSelect, disabled }), [store, onSelect, disabled]);\n\n return (\n <ComboboxContext.Provider value={contextValue}>\n <ComboboxSearchContext.Provider value={searchContextValue}>\n <ComboboxItemContext.Provider value={itemContextValue}>\n <Popover.Root open={open} onOpenChange={handleOpenChange} {...rootProps}>\n {children}\n </Popover.Root>\n </ComboboxItemContext.Provider>\n </ComboboxSearchContext.Provider>\n </ComboboxContext.Provider>\n );\n};\nComboboxRoot.displayName = 'Combobox.Root';\n\n// ============================================================================\n// Trigger\n// ============================================================================\n\ntype ComboboxTriggerElement = HTMLButtonElement;\ntype ComboboxTriggerOwnProps = GetPropDefTypes<typeof comboboxTriggerPropDefs>;\ntype NativeTriggerProps = Omit<React.ComponentPropsWithoutRef<'button'>, 'color'>;\ninterface ComboboxTriggerProps extends NativeTriggerProps, ComboboxTriggerOwnProps {}\n\nconst ComboboxTrigger = React.forwardRef<ComboboxTriggerElement, ComboboxTriggerProps>((props, forwardedRef) => {\n const ctx = useComboboxContext('Trigger');\n\n const {\n children,\n className,\n placeholder,\n disabled,\n readOnly,\n error,\n loading,\n color,\n radius,\n onClick,\n onKeyDown,\n type: buttonType,\n ...triggerProps\n } = extractProps({ size: ctx.size, ...props }, triggerSizingPropDefs, comboboxTriggerPropDefs);\n\n const isDisabled = disabled ?? ctx.disabled;\n const resolvedColor = color ?? ctx.color;\n // Read-only and loading triggers stay focusable but do not open.\n const isBlocked = Boolean(readOnly || loading);\n const isPlaceholder = ctx.value == null && ctx.displayValue == null;\n\n const composedRef = useComposedRefs(forwardedRef, ctx.triggerRef);\n\n const { getTriggerLabel } = ctx;\n React.useEffect(() => {\n if (process.env.NODE_ENV === 'production') return;\n if (!getTriggerLabel()) {\n warnOnce(\n 'Combobox.Trigger has no accessible name. The combobox role does not take its name from its content. Add `aria-label`, `aria-labelledby`, or a `<label htmlFor>` that points at the trigger.',\n );\n }\n }, [getTriggerLabel]);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(event);\n // Radix skips its open toggle when the event is default-prevented.\n if (isBlocked) event.preventDefault();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || isBlocked || isDisabled) return;\n // Both arrows open the list, as on Select (APG select-only combobox).\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n ctx.setOpen(true);\n }\n };\n\n const loadingIcon = (\n <span className=\"kui-SelectIcon kui-SelectLoadingIcon\" aria-hidden=\"true\">\n <Spinner />\n </span>\n );\n\n const defaultContent = (\n <>\n <span className=\"kui-SelectTriggerInner\">\n <span className=\"kui-ComboboxValue\">{ctx.displayValue ?? ctx.value ?? placeholder ?? ctx.placeholder}</span>\n </span>\n {loading ? loadingIcon : <ChevronDownIcon className=\"kui-SelectIcon\" />}\n </>\n );\n\n // Radix Popover.Trigger supplies aria-expanded, aria-controls (the popup id) and\n // aria-haspopup=\"dialog\", which matches the Popover dialog this opens.\n return (\n <Popover.Trigger disabled={isDisabled}>\n <button\n data-accent-color={resolvedColor}\n data-radius={radius}\n data-error={error}\n data-loading={loading}\n data-disabled={isDisabled || undefined}\n data-read-only={readOnly || undefined}\n data-placeholder={isPlaceholder ? '' : undefined}\n {...triggerProps}\n // eslint-disable-next-line jsx-a11y/role-has-required-aria-props -- Popover.Trigger (Slot) adds aria-expanded and aria-controls\n role=\"combobox\"\n // The props win when set; otherwise a caller's own aria-* (a form library's aria-invalid) stays, as on Select.\n aria-disabled={isDisabled || triggerProps['aria-disabled']}\n aria-readonly={readOnly || triggerProps['aria-readonly']}\n aria-invalid={error || triggerProps['aria-invalid']}\n aria-busy={loading || triggerProps['aria-busy']}\n type={buttonType ?? 'button'}\n disabled={isDisabled}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={composedRef}\n className={classNames('kui-reset', 'kui-SelectTrigger', 'kui-ComboboxTrigger', className)}\n >\n {/* Custom children replace the value and chevron; the spinner still shows while loading. */}\n {children ? (\n <>\n {requireReactElement(children)}\n {loading ? loadingIcon : null}\n </>\n ) : (\n defaultContent\n )}\n </button>\n </Popover.Trigger>\n );\n});\nComboboxTrigger.displayName = 'Combobox.Trigger';\n\n// ============================================================================\n// Value (standalone, for custom trigger layouts)\n// ============================================================================\n\ntype ComboboxValueElement = HTMLSpanElement;\ninterface ComboboxValueProps extends React.ComponentPropsWithoutRef<'span'> {\n placeholder?: string;\n}\n\nconst ComboboxValue = React.forwardRef<ComboboxValueElement, ComboboxValueProps>(({ placeholder, children, className, ...valueProps }, forwardedRef) => {\n const ctx = useComboboxContext('Value');\n const display = ctx.displayValue ?? ctx.value ?? undefined;\n return (\n <span {...valueProps} ref={forwardedRef} className={classNames('kui-ComboboxValue', className)}>\n {display ?? children ?? placeholder ?? ctx.placeholder}\n </span>\n );\n});\nComboboxValue.displayName = 'Combobox.Value';\n\n// ============================================================================\n// Content\n// ============================================================================\n\ntype ComboboxContentElement = React.ElementRef<typeof PopoverPrimitive.Content>;\ntype ComboboxContentOwnProps = GetPropDefTypes<typeof comboboxContentPropDefs> & {\n container?: React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Portal>['container'];\n};\ninterface ComboboxContentProps extends Omit<ComponentPropsWithout<typeof PopoverPrimitive.Content, RemovedProps>, 'size'>, ComboboxContentOwnProps {}\n\n/** Announces the filtered result count to screen readers after typing settles. */\nfunction ComboboxAnnouncer() {\n const count = useCommandState((state) => state.filtered.count);\n const search = useCommandState((state) => state.search);\n const [message, setMessage] = React.useState('');\n\n React.useEffect(() => {\n const next = !search ? '' : count === 0 ? 'No results' : `${count} result${count === 1 ? '' : 's'}`;\n const timeout = window.setTimeout(() => setMessage(next), search ? 400 : 0);\n return () => window.clearTimeout(timeout);\n }, [count, search]);\n\n return (\n <VisuallyHidden role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n {message}\n </VisuallyHidden>\n );\n}\n\nconst ComboboxContent = React.forwardRef<ComboboxContentElement, ComboboxContentProps>((props, forwardedRef) => {\n const ctx = useComboboxContext('Content');\n const themeContext = useThemeContext();\n\n // The list takes the field's size.\n const size = props.size ?? ctx.size ?? comboboxContentPropDefs.size.default;\n\n const {\n className,\n children,\n color,\n forceMount,\n container,\n onOpenAutoFocus,\n 'aria-label': _ariaLabel,\n 'aria-labelledby': ariaLabelledByProp,\n ...contentProps\n } = extractProps({ ...props, size }, comboboxContentPropDefs);\n\n const resolvedColor = color || ctx.color || themeContext.accentColor;\n\n\n // The trigger's name labels the popup, the search field and the listbox.\n // Read once per mount (the content remounts on every open); fall back to a\n // layout effect when the trigger was not attached yet (defaultOpen, forceMount).\n const { getTriggerLabel } = ctx;\n const [triggerLabel, setTriggerLabel] = React.useState(getTriggerLabel);\n useLayoutEffect(() => {\n if (triggerLabel !== undefined) return;\n const label = getTriggerLabel();\n if (label !== undefined) setTriggerLabel(label);\n }, [getTriggerLabel, triggerLabel]);\n\n const label = props['aria-label'] ?? triggerLabel;\n\n const contentContextValue = React.useMemo<ComboboxContentContextValue>(\n () => ({\n // Responsive-aware size class for the search field (never String() a responsive object).\n sizeClassName: extractProps({ size }, contentSizePropDefs).className || undefined,\n color: resolvedColor,\n label,\n }),\n [size, resolvedColor, label],\n );\n\n const commandRef = React.useRef<HTMLDivElement>(null);\n\n // Without a search field, focus would land on the popup itself, outside cmdk's\n // keydown handler. Focus the listbox instead so arrow keys and Enter work.\n const handleOpenAutoFocus = (event: Event) => {\n onOpenAutoFocus?.(event);\n if (event.defaultPrevented) return;\n const command = commandRef.current;\n if (!command || command.querySelector('[cmdk-input]')) return;\n event.preventDefault();\n const list = command.querySelector<HTMLElement>('[cmdk-list]');\n (list ?? command).focus({ preventScroll: true });\n };\n\n // Start the highlight on the selected option (cmdk trims item values).\n const initialHighlight = ctx.value?.trim() || undefined;\n\n return (\n <PopoverPrimitive.Portal container={container} forceMount={forceMount ? true : undefined}>\n <Theme asChild>\n <PopoverPrimitive.Content\n data-accent-color={resolvedColor}\n align=\"start\"\n sideOffset={4}\n collisionPadding={10}\n aria-label={ariaLabelledByProp ? undefined : label}\n aria-labelledby={ariaLabelledByProp}\n {...contentProps}\n forceMount={forceMount ? true : undefined}\n onOpenAutoFocus={handleOpenAutoFocus}\n ref={forwardedRef}\n className={classNames('kui-PopperContent', 'kui-BaseMenuContent',\n 'kui-variant-soft', 'kui-ComboboxContent', className)}\n >\n <ComboboxContentContext.Provider value={contentContextValue}>\n <CommandPrimitive\n ref={commandRef}\n loop={ctx.loop}\n shouldFilter={ctx.shouldFilter}\n filter={ctx.filter}\n label={label}\n defaultValue={initialHighlight}\n className=\"kui-ComboboxCommand\"\n >\n {children}\n <ComboboxAnnouncer />\n </CommandPrimitive>\n </ComboboxContentContext.Provider>\n </PopoverPrimitive.Content>\n </Theme>\n </PopoverPrimitive.Portal>\n );\n});\nComboboxContent.displayName = 'Combobox.Content';\n\n// ============================================================================\n// Input\n// ============================================================================\n\ntype ComboboxInputElement = React.ElementRef<typeof CommandPrimitive.Input>;\ninterface ComboboxInputProps extends Omit<React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>, 'value' | 'onValueChange'> {\n startAdornment?: React.ReactNode;\n endAdornment?: React.ReactNode;\n variant?: TextFieldVariant;\n value?: string;\n onValueChange?: (value: string) => void;\n}\n\nconst ComboboxInput = React.forwardRef<ComboboxInputElement, ComboboxInputProps>(\n ({ className, startAdornment, endAdornment, placeholder, variant: inputVariant, value, onValueChange, ...inputProps }, forwardedRef) => {\n const ctx = useComboboxContext('Input');\n const search = React.useContext(ComboboxSearchContext);\n const contentContext = useComboboxContentContext();\n\n const textFieldVariant = inputVariant ?? 'soft';\n\n // The search text lives in Root; only this component subscribes to it.\n const searchValue = value ?? search?.value ?? '';\n const handleSearchChange = onValueChange ?? search?.setValue;\n\n const inputField = (\n <div\n className={classNames('kui-TextFieldRoot', 'kui-ComboboxInputRoot', contentContext?.sizeClassName, `kui-variant-${textFieldVariant}`)}\n data-accent-color={contentContext?.color}\n >\n {startAdornment ? <div className=\"kui-TextFieldSlot\">{startAdornment}</div> : null}\n <CommandPrimitive.Input\n {...inputProps}\n ref={forwardedRef}\n value={searchValue}\n onValueChange={handleSearchChange}\n placeholder={placeholder ?? ctx.searchPlaceholder}\n className={classNames('kui-reset', 'kui-TextFieldInput', className)}\n />\n {endAdornment ? (\n <div className=\"kui-TextFieldSlot\" data-side=\"right\">\n {endAdornment}\n </div>\n ) : null}\n </div>\n );\n\n return contentContext ? <div className=\"kui-ComboboxSearch\">{inputField}</div> : inputField;\n },\n);\nComboboxInput.displayName = 'Combobox.Input';\n\n// ============================================================================\n// List\n// ============================================================================\n\ntype ComboboxListElement = React.ElementRef<typeof CommandPrimitive.List>;\ninterface ComboboxListProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.List> {}\n\n// cmdk's List owns its id (referenced by the input's aria-controls), role and\n// aria-label (set from `label`), so none of them are overridden here.\nconst ComboboxList = React.forwardRef<ComboboxListElement, ComboboxListProps>(({ className, children, label, ...listProps }, forwardedRef) => {\n const contentContext = useComboboxContentContext();\n return (\n <div className=\"kui-ComboboxScrollArea\">\n <div className={classNames('kui-BaseMenuViewport', 'kui-ComboboxViewport')}>\n <CommandPrimitive.List {...listProps} label={label ?? contentContext?.label} ref={forwardedRef} className={classNames('kui-ComboboxList', className)}>\n {children}\n </CommandPrimitive.List>\n </div>\n </div>\n );\n});\nComboboxList.displayName = 'Combobox.List';\n\n// ============================================================================\n// Empty\n// ============================================================================\n\ntype ComboboxEmptyElement = React.ElementRef<typeof CommandPrimitive.Empty>;\ninterface ComboboxEmptyProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty> {}\n\nconst ComboboxEmpty = React.forwardRef<ComboboxEmptyElement, ComboboxEmptyProps>(({ className, ...emptyProps }, forwardedRef) => (\n <CommandPrimitive.Empty {...emptyProps} ref={forwardedRef} className={classNames('kui-ComboboxEmpty', className)} />\n));\nComboboxEmpty.displayName = 'Combobox.Empty';\n\n// ============================================================================\n// Group\n// ============================================================================\n\ntype ComboboxGroupElement = React.ElementRef<typeof CommandPrimitive.Group>;\ninterface ComboboxGroupProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group> {}\n\nconst ComboboxGroup = React.forwardRef<ComboboxGroupElement, ComboboxGroupProps>(({ className, ...groupProps }, forwardedRef) => (\n <CommandPrimitive.Group {...groupProps} ref={forwardedRef} className={classNames('kui-BaseMenuGroup', 'kui-ComboboxGroup', className)} />\n));\nComboboxGroup.displayName = 'Combobox.Group';\n\n// ============================================================================\n// Label\n// ============================================================================\n\ntype ComboboxLabelElement = React.ElementRef<'div'>;\ninterface ComboboxLabelProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst ComboboxLabel = React.forwardRef<ComboboxLabelElement, ComboboxLabelProps>(({ className, id: idProp, ...labelProps }, forwardedRef) => {\n const generatedId = React.useId();\n const id = idProp ?? generatedId;\n const localRef = React.useRef<HTMLDivElement>(null);\n const composedRef = useComposedRefs(forwardedRef, localRef);\n\n // cmdk renders the group's role=\"group\" element itself and gives no way to\n // label it from a child, so name it after this label when inside a Group.\n useLayoutEffect(() => {\n const group = localRef.current?.closest('[cmdk-group-items]');\n if (!group || group.hasAttribute('aria-labelledby')) return;\n group.setAttribute('aria-labelledby', id);\n return () => {\n if (group.getAttribute('aria-labelledby') === id) group.removeAttribute('aria-labelledby');\n };\n }, [id]);\n\n return <div {...labelProps} id={id} ref={composedRef} className={classNames('kui-BaseMenuLabel', 'kui-ComboboxLabel', className)} />;\n});\nComboboxLabel.displayName = 'Combobox.Label';\n\n// ============================================================================\n// Separator\n// ============================================================================\n\ntype ComboboxSeparatorElement = React.ElementRef<typeof CommandPrimitive.Separator>;\ninterface ComboboxSeparatorProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator> {}\n\nconst ComboboxSeparator = React.forwardRef<ComboboxSeparatorElement, ComboboxSeparatorProps>(({ className, ...separatorProps }, forwardedRef) => (\n <CommandPrimitive.Separator {...separatorProps} ref={forwardedRef} className={classNames('kui-BaseMenuSeparator', 'kui-ComboboxSeparator', className)} />\n));\nComboboxSeparator.displayName = 'Combobox.Separator';\n\n// ============================================================================\n// Item\n// ============================================================================\n\n/** Plain text of a React node tree, used as the item's search text. */\nfunction getNodeText(node: React.ReactNode): string {\n if (node == null || typeof node === 'boolean') return '';\n if (typeof node === 'string' || typeof node === 'number') return String(node);\n if (Array.isArray(node)) return node.map(getNodeText).join('');\n if (React.isValidElement<{ children?: React.ReactNode }>(node)) return getNodeText(node.props.children);\n return '';\n}\n\ntype ComboboxItemElement = React.ElementRef<typeof CommandPrimitive.Item>;\ninterface ComboboxItemProps extends Omit<React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>, 'keywords' | 'onSelect'> {\n /**\n * Text matched by search. Defaults to the text of `children`. Set it when the\n * children are components whose text is not in the JSX (it cannot be read).\n */\n label?: string;\n /** Additional keywords for search filtering. */\n keywords?: string[];\n /** Called when the item is selected. */\n onSelect?: (value: string) => void;\n}\n\nconst ComboboxItem = React.forwardRef<ComboboxItemElement, ComboboxItemProps>(\n ({ className, children, label, value, disabled, onSelect, keywords, ...itemProps }, forwardedRef) => {\n const itemContext = React.useContext(ComboboxItemContext);\n if (!itemContext) {\n throw new Error('Combobox.Item must be used within Combobox.Root');\n }\n const { store, onSelect: onSelectFromRoot, disabled: rootDisabled } = itemContext;\n\n // Without `value`, cmdk uses the trimmed text of string children.\n const itemValue = value ?? (typeof children === 'string' ? children.trim() : undefined);\n const getIsSelected = () => itemValue !== undefined && store.get() === itemValue;\n const isSelected = React.useSyncExternalStore(store.subscribe, getIsSelected, getIsSelected);\n\n const onSelectProp = useCallbackRef(onSelect);\n // cmdk passes its resolved value (the `value` prop, or the text when `value` is omitted).\n const handleSelect = React.useCallback(\n (resolvedValue: string) => {\n const nextValue = value ?? resolvedValue;\n onSelectFromRoot(nextValue);\n onSelectProp(nextValue);\n },\n [value, onSelectFromRoot, onSelectProp],\n );\n\n // cmdk matches only `value` and `keywords`, so add the visible text as a keyword.\n const text = (label ?? getNodeText(children)).replace(/\\s+/g, ' ').trim();\n const searchKeywords = text ? (keywords ? [text, ...keywords] : [text]) : keywords;\n // cmdk stores keywords only when `value` changes. Remount the cmdk item when\n // they change so a new label or keyword list is picked up.\n const keywordsKey = searchKeywords ? searchKeywords.join('\\u0000') : '';\n\n const isDisabled = disabled ?? rootDisabled ?? false;\n\n return (\n <CommandPrimitive.Item\n key={keywordsKey}\n {...itemProps}\n value={value}\n keywords={searchKeywords}\n // cmdk owns aria-selected (the highlighted option); the chosen option is aria-checked.\n aria-checked={isSelected}\n disabled={isDisabled || undefined}\n ref={forwardedRef}\n onSelect={handleSelect}\n className={classNames('kui-reset', 'kui-BaseMenuItem', 'kui-ComboboxItem', className)}\n >\n {isSelected ? (\n <span className={classNames('kui-BaseMenuItemIndicator', 'kui-ComboboxItemIndicator')}>\n <ThickCheckIcon className={classNames('kui-BaseMenuItemIndicatorIcon', 'kui-ComboboxItemIndicatorIcon')} />\n </span>\n ) : null}\n <Slottable>{children}</Slottable>\n </CommandPrimitive.Item>\n );\n },\n);\nComboboxItem.displayName = 'Combobox.Item';\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nexport {\n ComboboxRoot as Root,\n ComboboxTrigger as Trigger,\n ComboboxValue as Value,\n ComboboxContent as Content,\n ComboboxInput as Input,\n ComboboxList as List,\n ComboboxEmpty as Empty,\n ComboboxGroup as Group,\n ComboboxLabel as Label,\n ComboboxSeparator as Separator,\n ComboboxItem as Item,\n};\n\nexport type {\n ComboboxRootProps as RootProps,\n ComboboxTriggerProps as TriggerProps,\n ComboboxValueProps as ValueProps,\n ComboboxContentProps as ContentProps,\n ComboboxInputProps as InputProps,\n ComboboxListProps as ListProps,\n ComboboxEmptyProps as EmptyProps,\n ComboboxGroupProps as GroupProps,\n ComboboxLabelProps as LabelProps,\n ComboboxSeparatorProps as SeparatorProps,\n ComboboxItemProps as ItemProps,\n};\n", "import { colorPropDef } from '../props/color.prop.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\nimport { widthPropDefs } from '../props/width.props.js';\nimport { heightPropDefs } from '../props/height.props.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4'] as const;\n\n/**\n * Shared responsive sizing inherited by Combobox.Root.\n */\nconst comboboxRootPropDefs = {\n size: { type: 'enum', className: 'kui-r-size', values: sizes, default: '2', responsive: true },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n};\n\nconst triggerVariants = ['raised', 'surface', 'soft', 'outline', 'ghost'] as const;\n\n/**\n * Token-aware props specific to Combobox.Trigger.\n */\nconst comboboxTriggerPropDefs = {\n variant: { type: 'enum', className: 'kui-variant', values: triggerVariants, default: 'raised' },\n error: { type: 'boolean' },\n loading: { type: 'boolean' },\n disabled: { type: 'boolean' },\n readOnly: { type: 'boolean' },\n ...colorPropDef,\n ...radiusPropDef,\n width: widthPropDefs.width,\n placeholder: { type: 'string' },\n} satisfies {\n variant: PropDef<(typeof triggerVariants)[number]>;\n error: PropDef<boolean>;\n loading: PropDef<boolean>;\n disabled: PropDef<boolean>;\n readOnly: PropDef<boolean>;\n width: PropDef<string>;\n placeholder: PropDef<string>;\n};\n\n// The list takes sizes 1 to 4, like every menu.\nconst contentSizes = ['1', '2', '3', '4'] as const;\n\n/**\n * Styling props for the dropdown surface rendered by Combobox.Content.\n */\nconst comboboxContentPropDefs = {\n size: { type: 'enum', className: 'kui-r-size', values: contentSizes, default: '2', responsive: true },\n ...colorPropDef,\n width: widthPropDefs.width,\n minWidth: widthPropDefs.minWidth,\n maxWidth: { ...widthPropDefs.maxWidth, default: '480px' },\n ...heightPropDefs,\n} satisfies {\n size: PropDef<(typeof contentSizes)[number]>;\n width: PropDef<string>;\n minWidth: PropDef<string>;\n maxWidth: PropDef<string>;\n};\n\nexport { comboboxRootPropDefs, comboboxTriggerPropDefs, comboboxContentPropDefs };\n"],
5
+ "mappings": "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",
6
+ "names": ["combobox_exports", "__export", "ComboboxContent", "ComboboxEmpty", "ComboboxGroup", "ComboboxInput", "ComboboxItem", "ComboboxLabel", "ComboboxList", "ComboboxRoot", "ComboboxSeparator", "ComboboxTrigger", "ComboboxValue", "React", "classNames", "PopoverPrimitive", "useCallbackRef", "useComposedRefs", "useControllableState", "useLayoutEffect", "CommandPrimitive", "useCommandState", "sizes", "comboboxRootPropDefs", "triggerVariants", "comboboxTriggerPropDefs", "colorPropDef", "radiusPropDef", "widthPropDefs", "contentSizes", "comboboxContentPropDefs", "heightPropDefs", "triggerSizingPropDefs", "comboboxRootPropDefs", "contentSizePropDefs", "comboboxContentPropDefs", "warned", "warnOnce", "message", "createSelectionStore", "initial", "current", "listeners", "next", "listener", "ComboboxContext", "useComboboxContext", "componentName", "ctx", "ComboboxSearchContext", "ComboboxItemContext", "ComboboxContentContext", "useComboboxContentContext", "readElementLabel", "el", "ariaLabel", "labelledBy", "text", "id", "labels", "label", "ComboboxRoot", "props", "children", "sizeProp", "valueProp", "defaultValue", "onValueChange", "openProp", "defaultOpen", "onOpenChange", "placeholder", "searchPlaceholder", "searchValueProp", "defaultSearchValue", "onSearchValueChange", "filter", "shouldFilter", "loop", "disabled", "resetSearchOnSelect", "resetSearchOnClose", "color", "displayValueProp", "rootProps", "size", "useThemeSize", "open", "setOpen", "useControllableState", "value", "setValue", "searchValue", "setSearchValue", "resolvedDisplayValue", "store", "useLayoutEffect", "handleOpenChange", "useCallbackRef", "nextOpen", "onSelect", "nextValue", "triggerRef", "getTriggerLabel", "contextValue", "searchContextValue", "itemContextValue", "PopoverRoot", "ComboboxTrigger", "forwardedRef", "className", "readOnly", "error", "loading", "radius", "onClick", "onKeyDown", "buttonType", "triggerProps", "extractProps", "comboboxTriggerPropDefs", "isDisabled", "resolvedColor", "isBlocked", "isPlaceholder", "composedRef", "useComposedRefs", "handleClick", "event", "handleKeyDown", "loadingIcon", "Spinner", "defaultContent", "ChevronDownIcon", "PopoverTrigger", "classNames", "requireReactElement", "ComboboxValue", "valueProps", "display", "ComboboxAnnouncer", "count", "useCommandState", "state", "search", "setMessage", "timeout", "VisuallyHidden", "ComboboxContent", "themeContext", "useThemeContext", "forceMount", "container", "onOpenAutoFocus", "_ariaLabel", "ariaLabelledByProp", "contentProps", "triggerLabel", "setTriggerLabel", "contentContextValue", "commandRef", "handleOpenAutoFocus", "command", "initialHighlight", "PopoverPrimitive", "Theme", "CommandPrimitive", "ComboboxInput", "startAdornment", "endAdornment", "inputVariant", "inputProps", "contentContext", "textFieldVariant", "handleSearchChange", "inputField", "ComboboxList", "listProps", "ComboboxEmpty", "emptyProps", "ComboboxGroup", "groupProps", "ComboboxLabel", "idProp", "labelProps", "generatedId", "localRef", "group", "ComboboxSeparator", "separatorProps", "getNodeText", "node", "ComboboxItem", "keywords", "itemProps", "itemContext", "onSelectFromRoot", "rootDisabled", "itemValue", "getIsSelected", "isSelected", "onSelectProp", "handleSelect", "resolvedValue", "searchKeywords", "keywordsKey", "ThickCheckIcon", "Slottable"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import{c as e}from"./chunk-CUNKWFKA.js";var s=["1","2","3","4"],r={size:{type:"enum",className:"kui-r-size",values:s,default:"2",responsive:!0},...e};export{r as a};
2
+ //# sourceMappingURL=chunk-BF4WRYUX.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/_internal/base-radio.props.ts"],
4
4
  "sourcesContent": ["import { colorPropDef } from '../../props/color.prop.js';\n\nimport type { PropDef } from '../../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4'] as const;\n\nconst baseRadioPropDefs = {\n size: { type: 'enum', className: 'kui-r-size', values: sizes, default: '2', responsive: true },\n ...colorPropDef,\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n};\n\nexport { baseRadioPropDefs };\n"],
5
- "mappings": ";wCAIA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAE3BC,EAAoB,CACxB,KAAM,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQD,EAAO,QAAS,IAAK,WAAY,EAAK,EAC7F,GAAGE,CACL",
5
+ "mappings": "wCAIA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAE3BC,EAAoB,CACxB,KAAM,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQD,EAAO,QAAS,IAAK,WAAY,EAAK,EAC7F,GAAGE,CACL",
6
6
  "names": ["sizes", "baseRadioPropDefs", "colorPropDef"]
7
7
  }
@@ -1,3 +1,2 @@
1
- "use client";
2
- import{a as e}from"./chunk-CLJ6SEGP.js";var s=["div","span"],o=["none","inline","inline-block","block","contents"],t={as:{type:"enum",values:s,default:"div"},...e,display:{type:"enum",className:"kui-r-display",values:o,responsive:!0}};export{t as a};
3
- //# sourceMappingURL=chunk-5WTSKXAE.js.map
1
+ import{a as e}from"./chunk-NZJGC6ZW.js";var s=["div","span"],o=["none","inline","inline-block","block","contents"],t={as:{type:"enum",values:s,default:"div"},...e,display:{type:"enum",className:"kui-r-display",values:o,responsive:!0}};export{t as a};
2
+ //# sourceMappingURL=chunk-BIITGC3Z.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/box.props.tsx"],
4
4
  "sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\n\nimport type { PropDef, GetPropDefTypes } from '../props/prop-def.js';\n\nconst as = ['div', 'span'] as const;\nconst displayValues = ['none', 'inline', 'inline-block', 'block', 'contents'] as const;\n\nconst boxPropDefs = {\n /**\n * Controls whether to render **div** or **span**\n *\n * @example\n * as=\"div\"\n * as=\"span\"\n */\n as: { type: 'enum', values: as, default: 'div' },\n ...asChildPropDef,\n /**\n * Sets the CSS **display** property.\n * Supports a subset of the corresponding CSS values and responsive objects.\n *\n * @example\n * display=\"inline-block\"\n * display={{ sm: 'none', lg: 'block' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/display\n */\n display: {\n type: 'enum',\n className: 'kui-r-display',\n values: displayValues,\n responsive: true,\n },\n} satisfies {\n as: PropDef<(typeof as)[number]>;\n display: PropDef<(typeof displayValues)[number]>;\n};\n\n// Use all of the imported prop defs to ensure that JSDoc works\ntype BoxOwnProps = GetPropDefTypes<typeof boxPropDefs & typeof asChildPropDef>;\n\nexport { boxPropDefs };\nexport type { BoxOwnProps };\n"],
5
- "mappings": ";wCAIA,IAAMA,EAAK,CAAC,MAAO,MAAM,EACnBC,EAAgB,CAAC,OAAQ,SAAU,eAAgB,QAAS,UAAU,EAEtEC,EAAc,CAQlB,GAAI,CAAE,KAAM,OAAQ,OAAQF,EAAI,QAAS,KAAM,EAC/C,GAAGG,EAYH,QAAS,CACP,KAAM,OACN,UAAW,gBACX,OAAQF,EACR,WAAY,EACd,CACF",
5
+ "mappings": "wCAIA,IAAMA,EAAK,CAAC,MAAO,MAAM,EACnBC,EAAgB,CAAC,OAAQ,SAAU,eAAgB,QAAS,UAAU,EAEtEC,EAAc,CAQlB,GAAI,CAAE,KAAM,OAAQ,OAAQF,EAAI,QAAS,KAAM,EAC/C,GAAGG,EAYH,QAAS,CACP,KAAM,OACN,UAAW,gBACX,OAAQF,EACR,WAAY,EACd,CACF",
6
6
  "names": ["as", "displayValues", "boxPropDefs", "asChildPropDef"]
7
7
  }
@@ -1,3 +1,2 @@
1
- "use client";
2
- import{a as o}from"./chunk-64EFWPHI.js";import{a as e}from"./chunk-OAJ5DARR.js";import{b as s}from"./chunk-XU74PNM2.js";import{c as r}from"./chunk-HBWBPBSA.js";var t=["1","2","3","4"],p=["raised","surface","soft","ghost","outline"],d={size:{type:"enum",className:"kui-r-size",values:t,default:"2",responsive:!0},variant:{type:"enum",className:"kui-variant",values:p,default:"raised"},error:{type:"boolean",default:!1},errorMessage:{type:"string",default:void 0},required:{type:"boolean",default:!1},"aria-describedby":{type:"string",default:void 0},"aria-labelledby":{type:"string",default:void 0},...r,...s},i=["left","right"],l={side:{type:"enum",values:i},...r,gap:o.gap,px:e.px,pl:e.pl,pr:e.pr};export{d as a,l as b};
3
- //# sourceMappingURL=chunk-NBVCQQSY.js.map
1
+ import{a as e}from"./chunk-P7VSZYG3.js";import{a as o}from"./chunk-UMYPLUG3.js";import{b as s}from"./chunk-KRJTW535.js";import{c as r}from"./chunk-CUNKWFKA.js";var t=["1","2","3","4"],p=["raised","surface","soft","ghost","outline"],d={size:{type:"enum",className:"kui-r-size",values:t,default:"2",responsive:!0},variant:{type:"enum",className:"kui-variant",values:p,default:"raised"},error:{type:"boolean",default:!1},errorMessage:{type:"string",default:void 0},required:{type:"boolean",default:!1},"aria-describedby":{type:"string",default:void 0},"aria-labelledby":{type:"string",default:void 0},...r,...s},i=["left","right"],l={side:{type:"enum",values:i},...r,gap:o.gap,px:e.px,pl:e.pl,pr:e.pr};export{d as a,l as b};
2
+ //# sourceMappingURL=chunk-BP64M73W.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/text-field.props.tsx"],
4
4
  "sourcesContent": ["import { colorPropDef } from '../props/color.prop.js';\nimport { paddingPropDefs } from '../props/padding.props.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\nimport { flexPropDefs } from './flex.props.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4'] as const;\nconst variants = ['raised', 'surface', 'soft', 'ghost', 'outline'] as const;\n\nconst textFieldRootPropDefs = {\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 // Error and validation props\n error: { type: 'boolean', default: false },\n errorMessage: { type: 'string', default: undefined },\n required: { type: 'boolean', default: false },\n // Accessibility props\n 'aria-describedby': { type: 'string', default: undefined },\n 'aria-labelledby': { type: 'string', default: undefined },\n ...colorPropDef,\n ...radiusPropDef,\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n error: PropDef<boolean>;\n errorMessage: PropDef<string | undefined>;\n required: PropDef<boolean>;\n 'aria-describedby': PropDef<string | undefined>;\n 'aria-labelledby': PropDef<string | undefined>;\n};\n\nconst sides = ['left', 'right'] as const;\n\nconst textFieldSlotPropDefs = {\n side: { type: 'enum', values: sides },\n ...colorPropDef,\n gap: flexPropDefs.gap,\n px: paddingPropDefs.px,\n pl: paddingPropDefs.pl,\n pr: paddingPropDefs.pr,\n} satisfies {\n side: PropDef<(typeof sides)[number]>;\n gap: typeof flexPropDefs.gap;\n px: typeof paddingPropDefs.px;\n pl: typeof paddingPropDefs.pl;\n pr: typeof paddingPropDefs.pr;\n};\n\n/** Scrubbing props for TextField.Slot - handled separately from PropDef system */\ninterface TextFieldSlotScrubProps {\n /** Enable scrubbing behavior on this slot */\n scrub?: boolean;\n /** Current value (required for min/max clamping to work correctly) */\n scrubValue?: number;\n /** Base value change per movement unit (default: 1) */\n scrubStep?: number;\n /** Pixels of movement per step - higher = less sensitive (default: 1) */\n scrubSensitivity?: number;\n /** Minimum allowed value */\n scrubMin?: number;\n /** Maximum allowed value */\n scrubMax?: number;\n /** Step multiplier when Shift is held (default: 10) */\n scrubShiftMultiplier?: number;\n /** Step multiplier when Alt/Option is held (default: 0.1) */\n scrubAltMultiplier?: number;\n /**\n * Callback fired during scrubbing with the value delta\n * @param delta - The change in value\n * @param isChanging - true while dragging, false when released\n */\n onScrub?: (delta: number, isChanging: boolean) => void;\n}\n\nexport type { TextFieldSlotScrubProps };\n\nexport { textFieldRootPropDefs, textFieldSlotPropDefs };\n"],
5
- "mappings": ";gKAOA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAC3BC,EAAW,CAAC,SAAU,UAAW,OAAQ,QAAS,SAAS,EAE3DC,EAAwB,CAC5B,KAAM,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQF,EAAO,QAAS,IAAK,WAAY,EAAK,EAC7F,QAAS,CAAE,KAAM,OAAQ,UAAW,cAAe,OAAQC,EAAU,QAAS,QAAS,EAEvF,MAAO,CAAE,KAAM,UAAW,QAAS,EAAM,EACzC,aAAc,CAAE,KAAM,SAAU,QAAS,MAAU,EACnD,SAAU,CAAE,KAAM,UAAW,QAAS,EAAM,EAE5C,mBAAoB,CAAE,KAAM,SAAU,QAAS,MAAU,EACzD,kBAAmB,CAAE,KAAM,SAAU,QAAS,MAAU,EACxD,GAAGE,EACH,GAAGC,CACL,EAUMC,EAAQ,CAAC,OAAQ,OAAO,EAExBC,EAAwB,CAC5B,KAAM,CAAE,KAAM,OAAQ,OAAQD,CAAM,EACpC,GAAGF,EACH,IAAKI,EAAa,IAClB,GAAIC,EAAgB,GACpB,GAAIA,EAAgB,GACpB,GAAIA,EAAgB,EACtB",
5
+ "mappings": "gKAOA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAC3BC,EAAW,CAAC,SAAU,UAAW,OAAQ,QAAS,SAAS,EAE3DC,EAAwB,CAC5B,KAAM,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQF,EAAO,QAAS,IAAK,WAAY,EAAK,EAC7F,QAAS,CAAE,KAAM,OAAQ,UAAW,cAAe,OAAQC,EAAU,QAAS,QAAS,EAEvF,MAAO,CAAE,KAAM,UAAW,QAAS,EAAM,EACzC,aAAc,CAAE,KAAM,SAAU,QAAS,MAAU,EACnD,SAAU,CAAE,KAAM,UAAW,QAAS,EAAM,EAE5C,mBAAoB,CAAE,KAAM,SAAU,QAAS,MAAU,EACzD,kBAAmB,CAAE,KAAM,SAAU,QAAS,MAAU,EACxD,GAAGE,EACH,GAAGC,CACL,EAUMC,EAAQ,CAAC,OAAQ,OAAO,EAExBC,EAAwB,CAC5B,KAAM,CAAE,KAAM,OAAQ,OAAQD,CAAM,EACpC,GAAGF,EACH,IAAKI,EAAa,IAClB,GAAIC,EAAgB,GACpB,GAAIA,EAAgB,GACpB,GAAIA,EAAgB,EACtB",
6
6
  "names": ["sizes", "variants", "textFieldRootPropDefs", "colorPropDef", "radiusPropDef", "sides", "textFieldSlotPropDefs", "flexPropDefs", "paddingPropDefs"]
7
7
  }
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ var e=["normal","start","end","both"],o={trim:{type:"enum",className:"kui-r-lt",values:e,responsive:!0}};var t=["left","center","right"],n={align:{type:"enum",className:"kui-r-ta",values:t,responsive:!0}};var s=["sans","mono","serif"],p={font:{type:"enum",className:"kui-r-ff",values:s}};export{o as a,n as b,p as c};
3
+ //# sourceMappingURL=chunk-BQC2P3SN.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/props/leading-trim.prop.ts", "../../src/props/text-align.prop.ts", "../../src/props/font-family.prop.ts"],
4
+ "sourcesContent": ["import type { PropDef } from './prop-def.js';\n\nconst leadingTrimValues = ['normal', 'start', 'end', 'both'] as const;\n\nconst leadingTrimPropDef = {\n trim: {\n type: 'enum',\n className: 'kui-r-lt',\n values: leadingTrimValues,\n responsive: true,\n },\n} satisfies {\n trim: PropDef<(typeof leadingTrimValues)[number]>;\n};\n\nexport { leadingTrimPropDef };\n", "import type { PropDef } from './prop-def.js';\n\nconst textAlignValues = ['left', 'center', 'right'] as const;\n\nconst textAlignPropDef = {\n align: {\n type: 'enum',\n className: 'kui-r-ta',\n values: textAlignValues,\n responsive: true,\n },\n} satisfies {\n align: PropDef<(typeof textAlignValues)[number]>;\n};\n\nexport { textAlignPropDef };\n", "import type { PropDef } from './prop-def.js';\n\nconst fontFamilies = ['sans', 'mono', 'serif'] as const;\n\nconst fontFamilyPropDef = {\n font: {\n type: 'enum',\n className: 'kui-r-ff',\n values: fontFamilies,\n },\n} satisfies {\n font: PropDef<(typeof fontFamilies)[number]>;\n};\n\nexport { fontFamilyPropDef };\n"],
5
+ "mappings": ";AAEA,IAAMA,EAAoB,CAAC,SAAU,QAAS,MAAO,MAAM,EAErDC,EAAqB,CACzB,KAAM,CACJ,KAAM,OACN,UAAW,WACX,OAAQD,EACR,WAAY,EACd,CACF,ECTA,IAAME,EAAkB,CAAC,OAAQ,SAAU,OAAO,EAE5CC,EAAmB,CACvB,MAAO,CACL,KAAM,OACN,UAAW,WACX,OAAQD,EACR,WAAY,EACd,CACF,ECTA,IAAME,EAAe,CAAC,OAAQ,OAAQ,OAAO,EAEvCC,EAAoB,CACxB,KAAM,CACJ,KAAM,OACN,UAAW,WACX,OAAQD,CACV,CACF",
6
+ "names": ["leadingTrimValues", "leadingTrimPropDef", "textAlignValues", "textAlignPropDef", "fontFamilies", "fontFamilyPropDef"]
7
+ }
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as c}from"./chunk-6AMWYEM7.js";import{b as p}from"./chunk-G66WDIIV.js";import*as a from"react";import l from"classnames";var i=["xl","lg","md","sm","xs","initial"];function m(e,t,o){if(e==null)return o;if(typeof e!="object")return e;let s=e;for(let r=i.indexOf(t);r<i.length;r++){let n=s[i[r]];if(n!==void 0)return n}return o}function A(e,t){let o=typeof e=="object"&&e!==null,{breakpoint:s}=p(o);return m(e,s,t)}var d={1:8,2:12,3:16,4:24};function B(e){return-(d[e]??d[2])}var u={"\u2318":"Meta",cmd:"Meta",command:"Meta",meta:"Meta","\u2325":"Alt",option:"Alt",opt:"Alt",alt:"Alt","\u21E7":"Shift",shift:"Shift","\u2303":"Control",ctrl:"Control",control:"Control","\u232B":"Backspace","\u2326":"Delete","\u23CE":"Enter","\u21B5":"Enter","\u238B":"Escape",esc:"Escape","\u21E5":"Tab","\u2191":"ArrowUp","\u2193":"ArrowDown","\u2190":"ArrowLeft","\u2192":"ArrowRight"},f=new Map;function k(e){let t=f.get(e);if(t!==void 0)return t||void 0;let r=(e.match(/[⌘⌥⇧⌃]|[^\s+⌘⌥⇧⌃]+/gu)??[]).map(n=>u[n]??u[n.toLowerCase()]??(n.length===1?n.toUpperCase():n)).join("+");return f.set(e,r),r||void 0}function S({shortcut:e,className:t}){return a.createElement("div",{"aria-hidden":!0,className:l("kui-BaseMenuShortcut",t)},a.createElement(c,{size:"1"},e))}export{m as a,A as b,B as c,k as d,S as e};
3
- //# sourceMappingURL=chunk-XL5OHW6Z.js.map
2
+ import{a as c}from"./chunk-LGZCNQBS.js";import{b as p}from"./chunk-G66WDIIV.js";import*as a from"react";import l from"classnames";var i=["xl","lg","md","sm","xs","initial"];function m(e,t,o){if(e==null)return o;if(typeof e!="object")return e;let s=e;for(let r=i.indexOf(t);r<i.length;r++){let n=s[i[r]];if(n!==void 0)return n}return o}function A(e,t){let o=typeof e=="object"&&e!==null,{breakpoint:s}=p(o);return m(e,s,t)}var d={1:8,2:12,3:16,4:24};function B(e){return-(d[e]??d[2])}var u={"\u2318":"Meta",cmd:"Meta",command:"Meta",meta:"Meta","\u2325":"Alt",option:"Alt",opt:"Alt",alt:"Alt","\u21E7":"Shift",shift:"Shift","\u2303":"Control",ctrl:"Control",control:"Control","\u232B":"Backspace","\u2326":"Delete","\u23CE":"Enter","\u21B5":"Enter","\u238B":"Escape",esc:"Escape","\u21E5":"Tab","\u2191":"ArrowUp","\u2193":"ArrowDown","\u2190":"ArrowLeft","\u2192":"ArrowRight"},f=new Map;function k(e){let t=f.get(e);if(t!==void 0)return t||void 0;let r=(e.match(/[⌘⌥⇧⌃]|[^\s+⌘⌥⇧⌃]+/gu)??[]).map(n=>u[n]??u[n.toLowerCase()]??(n.length===1?n.toUpperCase():n)).join("+");return f.set(e,r),r||void 0}function S({shortcut:e,className:t}){return a.createElement("div",{"aria-hidden":!0,className:l("kui-BaseMenuShortcut",t)},a.createElement(c,{size:"1"},e))}export{m as a,A as b,B as c,k as d,S as e};
3
+ //# sourceMappingURL=chunk-BVQDDN5Q.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{e as x}from"./chunk-EAIQIW23.js";import{b as A,d as H,g as U}from"./chunk-XUCR7L4G.js";import{a as T,c as b}from"./chunk-3QWGSRYC.js";import{a as V,b as k,c as I}from"./chunk-VVBSYWUA.js";import{o as M}from"./chunk-GHWEXMF6.js";import{a as N,b as w,c as B}from"./chunk-QKCNGEX4.js";import{a as E}from"./chunk-WEBNIUEX.js";import{a as y}from"./chunk-G66WDIIV.js";import*as e from"react";import pe from"classnames";import{useComposedRefs as ue}from"radix-ui/internal";var D=t=>t==="collapsed"?"closed":"open",Se=t=>t==="closed"?"collapsed":"expanded";function L(t){if(t===void 0)return;if(typeof t=="string")return D(t);let n={};for(let[r,i]of Object.entries(t))i!==void 0&&(n[r]=D(i));return n}var ce={controlled:"state",default:"defaultState"},be={initial:"overlay",sm:"fixed"},O=e.forwardRef((t,n)=>{let{className:r,presentation:i=be,expandedSize:o=288,minSize:s=200,maxSize:d=400,resizable:m=!1,collapsible:_=!0,onExpand:$,onCollapse:W,onResize:j,onResizeStart:q,onResizeEnd:F,snapPoints:l,snapTolerance:G,collapseThreshold:p,paneId:u,persistence:S,children:K,style:J,state:Q,defaultState:X,onStateChange:Y,size:f,defaultSize:P,onSizeChange:Z,sizeUpdate:ee,sizeUpdateMs:ae=50,inset:h,id:te,...c}=t,{table:g,attributes:ne}=I(i,"fixed"),a=V({name:"sidebar",label:"Sidebar",propNames:ce,id:te,controlled:L(Q),defaultValue:L(X),presentationTable:g,builtIn:A,onChange:(de,le)=>Y?.(Se(de),{reason:le}),onExpand:$,onCollapse:W,size:o});M("sidebar",h),e.useEffect(()=>{(l!==void 0||p!==void 0||u!==void 0||S!==void 0)&&void 0},[l,p,u,S]);let z=e.useRef(null),ie=ue(n,a.setElement,z),oe=w({name:"sidebar",elementId:a.id,elementRef:z,cssVarName:"--sidebar-size",orientation:"vertical",edge:"end",growth:H,expandedSize:o,minSize:s,maxSize:d,resizable:m,collapsible:_,size:f,defaultSize:P,onSizeChange:Z,sizeUpdate:ee,sizeUpdateMs:ae,onResize:j,onResizeStart:q,onResizeEnd:F,snapPoints:l,snapTolerance:G,collapseThreshold:p,paneId:u,persistence:S,overlaying:a.overlaying,overlayingNow:()=>g[y()]==="overlay",requestCollapse:()=>a.setValue("closed","toggle"),requestToggle:()=>a.toggle("toggle")}),{handles:v,content:re}=B(K,b),se=m&&a.value!=="closed"&&!a.overlaying?e.createElement(E.Provider,{value:oe},v.length>0?v:e.createElement(T,null)):null,R=a.peeking?`var(--sidebar-size, ${o}px)`:void 0,C=N(f,P,s,d);return e.createElement("div",{...U(c),role:c.role??"navigation",id:a.id,ref:ie,className:pe("kui-ShellPane","kui-ShellSidebar",r),...k(a,ne),"data-inset":h||void 0,tabIndex:a.overlaying?-1:c.tabIndex,style:{...J,"--sidebar-expanded-size":`${o}px`,...C?{"--sidebar-size":C}:{},"--sidebar-min-size":`${s}px`,"--sidebar-max-size":`${d}px`,...R?{"--peek-sidebar-width":R}:{}}},e.createElement("div",{className:"kui-ShellSidebarContent"},e.createElement(x,null,re)),se)});O.displayName="Shell.Sidebar";O.Handle=b;export{O as a};
3
- //# sourceMappingURL=chunk-YOSCUA6Z.js.map
2
+ import{e as x}from"./chunk-3ZWHKNHI.js";import{a as V,b as k,c as I}from"./chunk-LTUW36HM.js";import{a as N,b as w,c as B}from"./chunk-QKCNGEX4.js";import{b as A,d as H,g as U}from"./chunk-XUCR7L4G.js";import{a as y}from"./chunk-G66WDIIV.js";import{o as M}from"./chunk-GHWEXMF6.js";import{a as T,c as b}from"./chunk-3QWGSRYC.js";import{a as E}from"./chunk-WEBNIUEX.js";import*as e from"react";import pe from"classnames";import{useComposedRefs as ue}from"radix-ui/internal";var D=t=>t==="collapsed"?"closed":"open",Se=t=>t==="closed"?"collapsed":"expanded";function L(t){if(t===void 0)return;if(typeof t=="string")return D(t);let n={};for(let[r,i]of Object.entries(t))i!==void 0&&(n[r]=D(i));return n}var ce={controlled:"state",default:"defaultState"},be={initial:"overlay",sm:"fixed"},O=e.forwardRef((t,n)=>{let{className:r,presentation:i=be,expandedSize:o=288,minSize:s=200,maxSize:d=400,resizable:m=!1,collapsible:_=!0,onExpand:$,onCollapse:W,onResize:j,onResizeStart:q,onResizeEnd:F,snapPoints:l,snapTolerance:G,collapseThreshold:p,paneId:u,persistence:S,children:K,style:J,state:Q,defaultState:X,onStateChange:Y,size:f,defaultSize:P,onSizeChange:Z,sizeUpdate:ee,sizeUpdateMs:ae=50,inset:h,id:te,...c}=t,{table:g,attributes:ne}=I(i,"fixed"),a=V({name:"sidebar",label:"Sidebar",propNames:ce,id:te,controlled:L(Q),defaultValue:L(X),presentationTable:g,builtIn:A,onChange:(de,le)=>Y?.(Se(de),{reason:le}),onExpand:$,onCollapse:W,size:o});M("sidebar",h),e.useEffect(()=>{(l!==void 0||p!==void 0||u!==void 0||S!==void 0)&&void 0},[l,p,u,S]);let z=e.useRef(null),ie=ue(n,a.setElement,z),oe=w({name:"sidebar",elementId:a.id,elementRef:z,cssVarName:"--sidebar-size",orientation:"vertical",edge:"end",growth:H,expandedSize:o,minSize:s,maxSize:d,resizable:m,collapsible:_,size:f,defaultSize:P,onSizeChange:Z,sizeUpdate:ee,sizeUpdateMs:ae,onResize:j,onResizeStart:q,onResizeEnd:F,snapPoints:l,snapTolerance:G,collapseThreshold:p,paneId:u,persistence:S,overlaying:a.overlaying,overlayingNow:()=>g[y()]==="overlay",requestCollapse:()=>a.setValue("closed","toggle"),requestToggle:()=>a.toggle("toggle")}),{handles:v,content:re}=B(K,b),se=m&&a.value!=="closed"&&!a.overlaying?e.createElement(E.Provider,{value:oe},v.length>0?v:e.createElement(T,null)):null,R=a.peeking?`var(--sidebar-size, ${o}px)`:void 0,C=N(f,P,s,d);return e.createElement("div",{...U(c),role:c.role??"navigation",id:a.id,ref:ie,className:pe("kui-ShellPane","kui-ShellSidebar",r),...k(a,ne),"data-inset":h||void 0,tabIndex:a.overlaying?-1:c.tabIndex,style:{...J,"--sidebar-expanded-size":`${o}px`,...C?{"--sidebar-size":C}:{},"--sidebar-min-size":`${s}px`,"--sidebar-max-size":`${d}px`,...R?{"--peek-sidebar-width":R}:{}}},e.createElement("div",{className:"kui-ShellSidebarContent"},e.createElement(x,null,re)),se)});O.displayName="Shell.Sidebar";O.Handle=b;export{O as a};
3
+ //# sourceMappingURL=chunk-C2WKAIZM.js.map
@@ -0,0 +1,2 @@
1
+ import{b as e}from"./chunk-VS2ZWRGO.js";import{a as p}from"./chunk-SBRPXQWH.js";import{a as s}from"./chunk-SJXV4BWZ.js";import{a as t}from"./chunk-N6KH2EOU.js";import{c as r}from"./chunk-CUNKWFKA.js";import{a as o}from"./chunk-NZJGC6ZW.js";var f=["1","2","3","4","5","6","7","8","9"],n={...o,size:{type:"enum",className:"kui-r-size",values:f,responsive:!0},...t,...r,...e,...s,...p};export{n as a};
2
+ //# sourceMappingURL=chunk-CT543Q2V.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/blockquote.props.tsx"],
4
4
  "sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\nimport { colorPropDef } from '../props/color.prop.js';\nimport { emphasisPropDef } from '../props/emphasis.prop.js';\nimport { textWrapPropDef } from '../props/text-wrap.prop.js';\nimport { truncatePropDef } from '../props/truncate.prop.js';\nimport { weightPropDef } from '../props/weight.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;\n\nconst blockquotePropDefs = {\n ...asChildPropDef,\n size: {\n type: 'enum',\n className: 'kui-r-size',\n values: sizes,\n responsive: true,\n },\n ...weightPropDef,\n ...colorPropDef,\n ...emphasisPropDef,\n ...truncatePropDef,\n ...textWrapPropDef,\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n};\n\nexport { blockquotePropDefs };\n"],
5
- "mappings": ";8KASA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAEpDC,EAAqB,CACzB,GAAGC,EACH,KAAM,CACJ,KAAM,OACN,UAAW,aACX,OAAQF,EACR,WAAY,EACd,EACA,GAAGG,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,CACL",
5
+ "mappings": "gPASA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAEpDC,EAAqB,CACzB,GAAGC,EACH,KAAM,CACJ,KAAM,OACN,UAAW,aACX,OAAQF,EACR,WAAY,EACd,EACA,GAAGG,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,CACL",
6
6
  "names": ["sizes", "blockquotePropDefs", "asChildPropDef", "weightPropDef", "colorPropDef", "emphasisPropDef", "truncatePropDef", "textWrapPropDef"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import{a as e}from"./chunk-FNAE6HUI.js";var o={...e};export{o as a};
2
+ //# sourceMappingURL=chunk-DFGY2NZB.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/alert-dialog.props.tsx"],
4
4
  "sourcesContent": ["import { dialogContentPropDefs } from './dialog.props.js';\nimport type { PropDef, GetPropDefTypes } from '../props/prop-def.js';\n\nconst alertDialogContentPropDefs = {\n ...dialogContentPropDefs,\n} satisfies {\n align: PropDef<'start' | 'center'>;\n size: PropDef<'1' | '2' | '3' | '4'>;\n width: PropDef<string>;\n minWidth: PropDef<string>;\n maxWidth: PropDef<string>;\n};\n\ntype AlertDialogContentOwnProps = GetPropDefTypes<typeof alertDialogContentPropDefs>;\n\nexport { alertDialogContentPropDefs };\nexport type { AlertDialogContentOwnProps };\n"],
5
- "mappings": ";wCAGA,IAAMA,EAA6B,CACjC,GAAGC,CACL",
5
+ "mappings": "wCAGA,IAAMA,EAA6B,CACjC,GAAGC,CACL",
6
6
  "names": ["alertDialogContentPropDefs", "dialogContentPropDefs"]
7
7
  }
@@ -1,3 +1,2 @@
1
- "use client";
2
- import{a as t}from"./chunk-CR65RYGM.js";import{a as s}from"./chunk-CLJ6SEGP.js";var n=["div","span"],a=["none","inline-grid","grid"],o=["1","2","3","4","5","6","7","8","9"],u=["1","2","3","4","5","6","7","8","9"],p=["row","column","dense","row-dense","column-dense"],i=["start","center","end","baseline","stretch"],l=["start","center","end","between"],c=["start","center","end","baseline","between","around","evenly","stretch"],f=["start","center","end","baseline","stretch"],m={as:{type:"enum",values:n,default:"div"},...s,display:{type:"enum",className:"kui-r-display",values:a,responsive:!0},areas:{type:"string",className:"kui-r-gta",customProperties:["--grid-template-areas"],responsive:!0},columns:{type:"enum | string",className:"kui-r-gtc",customProperties:["--grid-template-columns"],values:o,parseValue:r,responsive:!0},rows:{type:"enum | string",className:"kui-r-gtr",customProperties:["--grid-template-rows"],values:u,parseValue:r,responsive:!0},flow:{type:"enum",className:"kui-r-gaf",values:p,responsive:!0},align:{type:"enum",className:"kui-r-ai",values:i,responsive:!0},justify:{type:"enum",className:"kui-r-jc",values:l,parseValue:y,responsive:!0},alignContent:{type:"enum",className:"kui-r-ac",values:c,parseValue:d,responsive:!0},justifyItems:{type:"enum",className:"kui-r-ji",values:f,responsive:!0},...t};function r(e){return m.columns.values.includes(e)?e:e?.match(/^\d+$/)?`repeat(${e}, minmax(0, 1fr))`:e}function y(e){return e==="between"?"space-between":e}function d(e){return e==="between"?"space-between":e==="around"?"space-around":e==="evenly"?"space-evenly":e}export{m as a};
3
- //# sourceMappingURL=chunk-4J7QDLKI.js.map
1
+ import{a as t}from"./chunk-FJLYSZV3.js";import{a as s}from"./chunk-NZJGC6ZW.js";var n=["div","span"],a=["none","inline-grid","grid"],o=["1","2","3","4","5","6","7","8","9"],u=["1","2","3","4","5","6","7","8","9"],p=["row","column","dense","row-dense","column-dense"],i=["start","center","end","baseline","stretch"],l=["start","center","end","between"],c=["start","center","end","baseline","between","around","evenly","stretch"],f=["start","center","end","baseline","stretch"],m={as:{type:"enum",values:n,default:"div"},...s,display:{type:"enum",className:"kui-r-display",values:a,responsive:!0},areas:{type:"string",className:"kui-r-gta",customProperties:["--grid-template-areas"],responsive:!0},columns:{type:"enum | string",className:"kui-r-gtc",customProperties:["--grid-template-columns"],values:o,parseValue:r,responsive:!0},rows:{type:"enum | string",className:"kui-r-gtr",customProperties:["--grid-template-rows"],values:u,parseValue:r,responsive:!0},flow:{type:"enum",className:"kui-r-gaf",values:p,responsive:!0},align:{type:"enum",className:"kui-r-ai",values:i,responsive:!0},justify:{type:"enum",className:"kui-r-jc",values:l,parseValue:y,responsive:!0},alignContent:{type:"enum",className:"kui-r-ac",values:c,parseValue:d,responsive:!0},justifyItems:{type:"enum",className:"kui-r-ji",values:f,responsive:!0},...t};function r(e){return m.columns.values.includes(e)?e:e?.match(/^\d+$/)?`repeat(${e}, minmax(0, 1fr))`:e}function y(e){return e==="between"?"space-between":e}function d(e){return e==="between"?"space-between":e==="around"?"space-around":e==="evenly"?"space-evenly":e}export{m as a};
2
+ //# sourceMappingURL=chunk-DFLWZOQO.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/grid.props.tsx"],
4
4
  "sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\nimport { gapPropDefs } from '../props/gap.props.js';\n\nimport type { PropDef, GetPropDefTypes } from '../props/prop-def.js';\n\nconst as = ['div', 'span'] as const;\nconst displayValues = ['none', 'inline-grid', 'grid'] as const;\nconst columnsValues = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] as const;\nconst rowsValues = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] as const;\nconst flowValues = ['row', 'column', 'dense', 'row-dense', 'column-dense'] as const;\nconst alignValues = ['start', 'center', 'end', 'baseline', 'stretch'] as const;\nconst justifyValues = ['start', 'center', 'end', 'between'] as const;\nconst alignContentValues = [\n 'start',\n 'center',\n 'end',\n 'baseline',\n 'between',\n 'around',\n 'evenly',\n 'stretch',\n] as const;\nconst justifyItemsValues = ['start', 'center', 'end', 'baseline', 'stretch'] as const;\n\nconst gridPropDefs = {\n /**\n * Controls whether to render **div** or **span**\n *\n * @example\n * as=\"div\"\n * as=\"span\"\n */\n as: { type: 'enum', values: as, default: 'div' },\n ...asChildPropDef,\n /**\n * Sets the CSS **display** property.\n * Supports a subset of the corresponding CSS values and responsive objects.\n *\n * @example\n * display=\"inline-grid\"\n * display={{ sm: 'none', lg: 'grid' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/display\n */\n display: {\n type: 'enum',\n className: 'kui-r-display',\n values: displayValues,\n responsive: true,\n },\n /**\n * Sets the CSS **grid-template** property.\n * Supports a subset of the corresponding CSS values and responsive objects.\n *\n * @example\n * template='\"header header\" \"sidebar content\"'\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-areas\n */\n areas: {\n type: 'string',\n className: 'kui-r-gta',\n customProperties: ['--grid-template-areas'],\n responsive: true,\n },\n /**\n * Sets the CSS **grid-template-columns** property.\n * Supports numeric string values, CSS strings and responsive objects.\n *\n * Use numeric string values to create grid columns of even size.\n *\n * @example\n * columns=\"3\"\n * columns=\"100px 1fr\"\n * columns={{ xs: '1', md: 'auto 1fr' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns\n */\n columns: {\n type: 'enum | string',\n className: 'kui-r-gtc',\n customProperties: ['--grid-template-columns'],\n values: columnsValues,\n parseValue: parseGridValue,\n responsive: true,\n },\n /**\n * Sets the CSS **grid-template-rows** property.\n * Supports numeric string values, CSS strings and responsive objects.\n *\n * Use numeric string values to create grid rows of even size.\n *\n * @example\n * rows=\"3\"\n * rows=\"100px 1fr\"\n * rows={{ xs: '1', md: 'auto 1fr' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-rows\n */\n rows: {\n type: 'enum | string',\n className: 'kui-r-gtr',\n customProperties: ['--grid-template-rows'],\n values: rowsValues,\n parseValue: parseGridValue,\n responsive: true,\n },\n /**\n * Sets the CSS **grid-auto-flow** property.\n * Supports the corresponding CSS values and responsive objects.\n *\n * @example\n * flow=\"column\"\n * flow={{ sm: 'column', lg: 'row' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-flow\n */\n flow: {\n type: 'enum',\n className: 'kui-r-gaf',\n values: flowValues,\n responsive: true,\n },\n /**\n * Sets the CSS **align-items** property.\n * Supports the corresponding CSS values and responsive objects.\n *\n * @example\n * align=\"center\"\n * align={{ sm: 'baseline', lg: 'center' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/align-items\n */\n align: {\n type: 'enum',\n className: 'kui-r-ai',\n values: alignValues,\n responsive: true,\n },\n /**\n * Sets the CSS **justify-content** property.\n * Supports a subset of the corresponding CSS values and responsive objects.\n *\n * @example\n * justify=\"between\"\n * justify={{ sm: 'start', lg: 'center' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content\n */\n justify: {\n type: 'enum',\n className: 'kui-r-jc',\n values: justifyValues,\n parseValue: parseJustifyValue,\n responsive: true,\n },\n /**\n * Sets the CSS **align-content** property.\n * Supports a subset of the corresponding CSS values and responsive objects.\n *\n * @example\n * alignContent=\"between\"\n * alignContent={{ sm: 'start', lg: 'center' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/align-content\n */\n alignContent: {\n type: 'enum',\n className: 'kui-r-ac',\n values: alignContentValues,\n parseValue: parseAlignContentValue,\n responsive: true,\n },\n /**\n * Sets the CSS **justify-items** property.\n * Supports a subset of the corresponding CSS values and responsive objects.\n *\n * @example\n * justifyItems=\"center\"\n * justifyItems={{ sm: 'start', lg: 'center' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/justify-items\n */\n justifyItems: {\n type: 'enum',\n className: 'kui-r-ji',\n values: justifyItemsValues,\n responsive: true,\n },\n ...gapPropDefs,\n} satisfies {\n as: PropDef<(typeof as)[number]>;\n display: PropDef<(typeof displayValues)[number]>;\n areas: PropDef<string>;\n columns: PropDef<(typeof columnsValues)[number]>;\n rows: PropDef<(typeof rowsValues)[number]>;\n flow: PropDef<(typeof flowValues)[number]>;\n align: PropDef<(typeof alignValues)[number]>;\n justify: PropDef<(typeof justifyValues)[number]>;\n alignContent: PropDef<(typeof alignContentValues)[number]>;\n justifyItems: PropDef<(typeof justifyItemsValues)[number]>;\n};\n\nfunction parseGridValue(value: string): string {\n if ((gridPropDefs.columns.values as readonly string[]).includes(value)) {\n return value;\n }\n\n return value?.match(/^\\d+$/) ? `repeat(${value}, minmax(0, 1fr))` : value;\n}\n\nfunction parseJustifyValue(value: string) {\n return value === 'between' ? 'space-between' : value;\n}\n\nfunction parseAlignContentValue(value: string) {\n return value === 'between'\n ? 'space-between'\n : value === 'around'\n ? 'space-around'\n : value === 'evenly'\n ? 'space-evenly'\n : value;\n}\n\n// Use all of the imported prop defs to ensure that JSDoc works\ntype GridOwnProps = GetPropDefTypes<typeof gridPropDefs & typeof asChildPropDef>;\n\nexport { gridPropDefs };\nexport type { GridOwnProps };\n"],
5
- "mappings": ";gFAKA,IAAMA,EAAK,CAAC,MAAO,MAAM,EACnBC,EAAgB,CAAC,OAAQ,cAAe,MAAM,EAC9CC,EAAgB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC5DC,EAAa,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EACzDC,EAAa,CAAC,MAAO,SAAU,QAAS,YAAa,cAAc,EACnEC,EAAc,CAAC,QAAS,SAAU,MAAO,WAAY,SAAS,EAC9DC,EAAgB,CAAC,QAAS,SAAU,MAAO,SAAS,EACpDC,EAAqB,CACzB,QACA,SACA,MACA,WACA,UACA,SACA,SACA,SACF,EACMC,EAAqB,CAAC,QAAS,SAAU,MAAO,WAAY,SAAS,EAErEC,EAAe,CAQnB,GAAI,CAAE,KAAM,OAAQ,OAAQT,EAAI,QAAS,KAAM,EAC/C,GAAGU,EAYH,QAAS,CACP,KAAM,OACN,UAAW,gBACX,OAAQT,EACR,WAAY,EACd,EAWA,MAAO,CACL,KAAM,SACN,UAAW,YACX,iBAAkB,CAAC,uBAAuB,EAC1C,WAAY,EACd,EAeA,QAAS,CACP,KAAM,gBACN,UAAW,YACX,iBAAkB,CAAC,yBAAyB,EAC5C,OAAQC,EACR,WAAYS,EACZ,WAAY,EACd,EAeA,KAAM,CACJ,KAAM,gBACN,UAAW,YACX,iBAAkB,CAAC,sBAAsB,EACzC,OAAQR,EACR,WAAYQ,EACZ,WAAY,EACd,EAYA,KAAM,CACJ,KAAM,OACN,UAAW,YACX,OAAQP,EACR,WAAY,EACd,EAYA,MAAO,CACL,KAAM,OACN,UAAW,WACX,OAAQC,EACR,WAAY,EACd,EAYA,QAAS,CACP,KAAM,OACN,UAAW,WACX,OAAQC,EACR,WAAYM,EACZ,WAAY,EACd,EAYA,aAAc,CACZ,KAAM,OACN,UAAW,WACX,OAAQL,EACR,WAAYM,EACZ,WAAY,EACd,EAYA,aAAc,CACZ,KAAM,OACN,UAAW,WACX,OAAQL,EACR,WAAY,EACd,EACA,GAAGM,CACL,EAaA,SAASH,EAAeI,EAAuB,CAC7C,OAAKN,EAAa,QAAQ,OAA6B,SAASM,CAAK,EAC5DA,EAGFA,GAAO,MAAM,OAAO,EAAI,UAAUA,CAAK,oBAAsBA,CACtE,CAEA,SAASH,EAAkBG,EAAe,CACxC,OAAOA,IAAU,UAAY,gBAAkBA,CACjD,CAEA,SAASF,EAAuBE,EAAe,CAC7C,OAAOA,IAAU,UACb,gBACAA,IAAU,SACR,eACAA,IAAU,SACR,eACAA,CACV",
5
+ "mappings": "gFAKA,IAAMA,EAAK,CAAC,MAAO,MAAM,EACnBC,EAAgB,CAAC,OAAQ,cAAe,MAAM,EAC9CC,EAAgB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC5DC,EAAa,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EACzDC,EAAa,CAAC,MAAO,SAAU,QAAS,YAAa,cAAc,EACnEC,EAAc,CAAC,QAAS,SAAU,MAAO,WAAY,SAAS,EAC9DC,EAAgB,CAAC,QAAS,SAAU,MAAO,SAAS,EACpDC,EAAqB,CACzB,QACA,SACA,MACA,WACA,UACA,SACA,SACA,SACF,EACMC,EAAqB,CAAC,QAAS,SAAU,MAAO,WAAY,SAAS,EAErEC,EAAe,CAQnB,GAAI,CAAE,KAAM,OAAQ,OAAQT,EAAI,QAAS,KAAM,EAC/C,GAAGU,EAYH,QAAS,CACP,KAAM,OACN,UAAW,gBACX,OAAQT,EACR,WAAY,EACd,EAWA,MAAO,CACL,KAAM,SACN,UAAW,YACX,iBAAkB,CAAC,uBAAuB,EAC1C,WAAY,EACd,EAeA,QAAS,CACP,KAAM,gBACN,UAAW,YACX,iBAAkB,CAAC,yBAAyB,EAC5C,OAAQC,EACR,WAAYS,EACZ,WAAY,EACd,EAeA,KAAM,CACJ,KAAM,gBACN,UAAW,YACX,iBAAkB,CAAC,sBAAsB,EACzC,OAAQR,EACR,WAAYQ,EACZ,WAAY,EACd,EAYA,KAAM,CACJ,KAAM,OACN,UAAW,YACX,OAAQP,EACR,WAAY,EACd,EAYA,MAAO,CACL,KAAM,OACN,UAAW,WACX,OAAQC,EACR,WAAY,EACd,EAYA,QAAS,CACP,KAAM,OACN,UAAW,WACX,OAAQC,EACR,WAAYM,EACZ,WAAY,EACd,EAYA,aAAc,CACZ,KAAM,OACN,UAAW,WACX,OAAQL,EACR,WAAYM,EACZ,WAAY,EACd,EAYA,aAAc,CACZ,KAAM,OACN,UAAW,WACX,OAAQL,EACR,WAAY,EACd,EACA,GAAGM,CACL,EAaA,SAASH,EAAeI,EAAuB,CAC7C,OAAKN,EAAa,QAAQ,OAA6B,SAASM,CAAK,EAC5DA,EAGFA,GAAO,MAAM,OAAO,EAAI,UAAUA,CAAK,oBAAsBA,CACtE,CAEA,SAASH,EAAkBG,EAAe,CACxC,OAAOA,IAAU,UAAY,gBAAkBA,CACjD,CAEA,SAASF,EAAuBE,EAAe,CAC7C,OAAOA,IAAU,UACb,gBACAA,IAAU,SACR,eACAA,IAAU,SACR,eACAA,CACV",
6
6
  "names": ["as", "displayValues", "columnsValues", "rowsValues", "flowValues", "alignValues", "justifyValues", "alignContentValues", "justifyItemsValues", "gridPropDefs", "asChildPropDef", "parseGridValue", "parseJustifyValue", "parseAlignContentValue", "gapPropDefs", "value"]
7
7
  }
@@ -0,0 +1,6 @@
1
+ "use client";
2
+ import{a as pe}from"./chunk-YCLPURTD.js";import{c as re}from"./chunk-HBWBPBSA.js";import{a as j}from"./chunk-OAJ5DARR.js";import{c as fe}from"./chunk-5ON3XLRD.js";import{b as ce}from"./chunk-XU74PNM2.js";import{b as de,c as oe}from"./chunk-OKQAVYW4.js";import{a as Ce}from"./chunk-VQPANPMI.js";var Le={};Ce(Le,{Root:()=>Re,Slot:()=>Pe});import*as e from"react";import*as be from"react-dom";import se from"classnames";import{composeEventHandlers as U,composeRefs as xe,useLayoutEffect as ke}from"radix-ui/internal";var De=["1","2","3","4"],Ee=["raised","surface","soft","ghost","outline"],ne={size:{type:"enum",className:"kui-r-size",values:De,default:"2",responsive:!0},variant:{type:"enum",className:"kui-variant",values:Ee,default:"raised"},error:{type:"boolean",default:!1},errorMessage:{type:"string",default:void 0},required:{type:"boolean",default:!1},"aria-describedby":{type:"string",default:void 0},"aria-labelledby":{type:"string",default:void 0},...re,...ce},we=["left","right"],me={side:{type:"enum",values:we},...re,gap:pe.gap,px:j.px,pl:j.pl,pr:j.pr};var ye=e.createContext(null),ie="button, a, input, select, textarea, label, [tabindex], [contenteditable]",Re=e.forwardRef((R,v)=>{let{className:s,style:m,...k}=fe(R,ne.size),M=e.useRef(null),{children:L,className:I,color:N,radius:V,style:T,...d}=oe(k,ne),F=!!d.errorMessage,C=e.useId(),[z,D]=e.useState([]),E=e.useCallback(r=>(D(n=>n.includes(r)?n:[...n,r]),()=>D(n=>n.filter(i=>i!==r))),[]),H=e.useMemo(()=>({registerSlot:E}),[E]),{"aria-describedby":P,"aria-labelledby":g,"aria-invalid":h}=d,b=!!d.error||h===!0||h==="true",w=e.useMemo(()=>{let r=[];return d.errorMessage&&r.push(C),P&&r.push(P),r.push(...z),r.length>0?r.join(" "):void 0},[d.errorMessage,P,C,z]),x=e.useMemo(()=>({"aria-invalid":b?!0:h,"aria-describedby":w,"aria-labelledby":g}),[b,h,w,g]),{error:K,errorMessage:ae,required:a,"aria-describedby":O,"aria-labelledby":_,...G}=d,X=e.useCallback(r=>{let n=r.target;if(n.closest(ie))return;let i=M.current;if(!i)return;let p=n.closest(`
3
+ .kui-TextFieldSlot[data-side='right'],
4
+ .kui-TextFieldSlot:not([data-side='right']) ~ .kui-TextFieldSlot:not([data-side='left'])
5
+ `)?i.value.length:0;r.preventDefault(),i.focus();try{i.setSelectionRange(p,p)}catch{}},[]),S=e.createElement("div",{"data-accent-color":N,"data-radius":V,style:F?T:de(T,m),className:se("kui-TextFieldRoot",I,!F&&s,{"kui-error":b}),onMouseDown:X},e.createElement("input",{...G,required:a||void 0,...x,ref:xe(M,v),className:"kui-reset kui-TextFieldInput"}),e.createElement(ye.Provider,{value:H},L));return F?e.createElement("div",{className:se("kui-TextFieldWrapper",s),style:m},S,e.createElement("div",{id:C,className:"kui-TextFieldErrorMessage",role:"alert"},d.errorMessage)):S});Re.displayName="TextField.Root";var y=(()=>{if(typeof navigator>"u")return!1;let R=navigator.userAgent,v=/^((?!chrome|android).)*safari/i.test(R),s=/firefox/i.test(R);return v||s})(),Pe=e.forwardRef((R,v)=>{let{scrub:s,scrubValue:m,scrubStep:k=1,scrubSensitivity:M=1,scrubMin:L,scrubMax:I,scrubShiftMultiplier:N=10,scrubAltMultiplier:V=.1,onScrub:T,...d}=R,{className:F,color:C,side:z,onPointerDown:D,onPointerMove:E,onPointerUp:H,onLostPointerCapture:P,...g}=oe(d,me),h=e.useId(),b=g.id??h,w=e.useContext(ye)?.registerSlot,x=e.useRef(null),[K,ae]=e.useState(null);ke(()=>{let t=!!x.current?.querySelector(ie);ae(o=>o===t?o:t)}),e.useEffect(()=>K===!1?w?.(b):void 0,[w,b,K]);let[a,O]=e.useState(!1),[_,G]=e.useState({x:0,y:0}),X=e.useRef(null),S=e.useRef(0),r=e.useRef(!1),n=e.useRef(0),i=e.useRef(0),l=e.useRef(0),p=e.useRef(null),$=e.useRef(0),A=e.useRef({scrubValue:m,scrubStep:k,scrubSensitivity:M,scrubMin:L,scrubMax:I,scrubShiftMultiplier:N,scrubAltMultiplier:V,onScrub:T});A.current={scrubValue:m,scrubStep:k,scrubSensitivity:M,scrubMin:L,scrubMax:I,scrubShiftMultiplier:N,scrubAltMultiplier:V,onScrub:T};let ge=e.useCallback(t=>{if(!s||t.target.closest(ie))return;t.preventDefault(),n.current=0,i.current=m??0,l.current=t.clientX,S.current=t.clientY,G({x:t.clientX,y:t.clientY});let u=x.current;u&&(y?(p.current=t.pointerId,$.current=t.clientX,u.setPointerCapture(t.pointerId),O(!0)):(r.current=!0,u.requestPointerLock()))},[s,m]);e.useEffect(()=>{if(y||!s)return;let t=()=>{if(!r.current)return;let o=document.pointerLockElement===x.current;O(o),o||(r.current=!1,A.current.onScrub?.(0,!1),n.current=0,i.current=0)};return document.addEventListener("pointerlockchange",t),()=>{document.removeEventListener("pointerlockchange",t)}},[s]);let B=e.useCallback((t,o,u,Te)=>{let c=A.current,W=window.innerWidth,Y=window.innerHeight;l.current+=t,l.current>W?l.current=l.current%W:l.current<0&&(l.current=W+l.current%W);let f=S.current+o;f>Y?f=f%Y:f<0&&(f=Y+f%Y),S.current=f;let Z=X.current;Z&&(Z.style.left=`${l.current}px`,Z.style.top=`${f}px`),n.current+=t;let J=n.current/c.scrubSensitivity;if(Math.abs(J)>=1){let Q=1;u?Q=c.scrubShiftMultiplier:Te&&(Q=c.scrubAltMultiplier);let le=Math.trunc(J),ee=le*c.scrubStep*Q,te=ee;if(c.scrubMin!==void 0||c.scrubMax!==void 0){let Fe=i.current+ee,ue=Math.max(c.scrubMin??-1/0,Math.min(c.scrubMax??1/0,Fe));te=ue-i.current,i.current=ue}else i.current+=ee;te!==0&&c.onScrub?.(te,!0),n.current=(J-le)*c.scrubSensitivity}},[]),q=e.useCallback(()=>{A.current.onScrub?.(0,!1),n.current=0,i.current=0,p.current=null,O(!1)},[]),he=e.useCallback(t=>{if(!a||!y)return;let o=t.clientX-$.current;$.current=t.clientX,B(o,t.movementY,t.shiftKey,t.altKey)},[a,B]),Se=e.useCallback(t=>{if(!y||p.current!==t.pointerId)return;let o=x.current;o&&p.current!==null&&o.releasePointerCapture(p.current),q()},[q]),ve=e.useCallback(()=>{y&&a&&q()},[a,q]);e.useEffect(()=>{if(!a||y)return;let t=u=>{B(u.movementX,u.movementY,u.shiftKey,u.altKey)},o=()=>{document.exitPointerLock()};return document.addEventListener("mousemove",t),document.addEventListener("mouseup",o),document.body.style.userSelect="none",()=>{document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",o),document.body.style.userSelect=""}},[a,B]),e.useEffect(()=>{if(!a||!y)return;let t=document.createElement("style");return t.textContent="* { cursor: none !important; user-select: none !important; }",document.head.appendChild(t),()=>{document.head.removeChild(t)}},[a]);let Me=a?be.createPortal(e.createElement("img",{ref:X,className:"kui-TextFieldSlotScrubCursor",src:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='black' stroke='white' stroke-width='1' d='M0 12 L5 7 L5 10 L19 10 L19 7 L24 12 L19 17 L19 14 L5 14 L5 17 Z'/%3E%3C/svg%3E",alt:"",style:{position:"fixed",left:_.x,top:_.y,transform:"translate(-50%, -50%)",pointerEvents:"none",zIndex:99999,width:24,height:24},"aria-hidden":"true"}),document.body):null;return e.createElement("div",{"data-accent-color":C,"data-side":z,"data-scrub":s||void 0,"data-scrubbing":a||void 0,...g,id:b,ref:xe(x,v),className:se("kui-TextFieldSlot",F),onPointerDown:s?U(D,ge):D,onPointerMove:s?U(E,he):E,onPointerUp:s?U(H,Se):H,onLostPointerCapture:s?U(P,ve):P},g.children,Me)});Pe.displayName="TextField.Slot";export{Re as a,Pe as b,Le as c};
6
+ //# sourceMappingURL=chunk-DG2KIH54.js.map