@womp/kookie-ui 0.26.1 → 0.26.3

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 (707) hide show
  1. package/components.css +50 -2
  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 +15 -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/portal-theme.d.ts +9 -0
  24. package/dist/cjs/components/_internal/portal-theme.d.ts.map +1 -0
  25. package/dist/cjs/components/_internal/portal-theme.js +3 -0
  26. package/dist/cjs/components/_internal/portal-theme.js.map +7 -0
  27. package/dist/cjs/components/_internal/shell-bottom.d.ts.map +1 -1
  28. package/dist/cjs/components/_internal/shell-bottom.js +1 -1
  29. package/dist/cjs/components/_internal/shell-bottom.js.map +3 -3
  30. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  31. package/dist/cjs/components/_internal/shell-sidebar.js.map +4 -4
  32. package/dist/cjs/components/accordion.props.js +0 -1
  33. package/dist/cjs/components/accordion.props.js.map +1 -1
  34. package/dist/cjs/components/alert-dialog.js +1 -1
  35. package/dist/cjs/components/alert-dialog.js.map +4 -4
  36. package/dist/cjs/components/alert-dialog.props.js +0 -1
  37. package/dist/cjs/components/alert-dialog.props.js.map +1 -1
  38. package/dist/cjs/components/avatar.props.js +0 -1
  39. package/dist/cjs/components/avatar.props.js.map +1 -1
  40. package/dist/cjs/components/blockquote.props.js +0 -1
  41. package/dist/cjs/components/blockquote.props.js.map +1 -1
  42. package/dist/cjs/components/box.props.js +0 -1
  43. package/dist/cjs/components/box.props.js.map +1 -1
  44. package/dist/cjs/components/button.js +1 -1
  45. package/dist/cjs/components/button.js.map +4 -4
  46. package/dist/cjs/components/button.props.js +0 -1
  47. package/dist/cjs/components/button.props.js.map +1 -1
  48. package/dist/cjs/components/card.props.js +0 -1
  49. package/dist/cjs/components/card.props.js.map +1 -1
  50. package/dist/cjs/components/chatbar.js +1 -1
  51. package/dist/cjs/components/chatbar.js.map +4 -4
  52. package/dist/cjs/components/checkbox-group.props.js +0 -1
  53. package/dist/cjs/components/checkbox-group.props.js.map +1 -1
  54. package/dist/cjs/components/checkbox.props.js +0 -1
  55. package/dist/cjs/components/checkbox.props.js.map +1 -1
  56. package/dist/cjs/components/chip.js +1 -1
  57. package/dist/cjs/components/chip.js.map +4 -4
  58. package/dist/cjs/components/chip.props.js +0 -1
  59. package/dist/cjs/components/chip.props.js.map +1 -1
  60. package/dist/cjs/components/code.props.js +0 -1
  61. package/dist/cjs/components/code.props.js.map +1 -1
  62. package/dist/cjs/components/combobox.d.ts.map +1 -1
  63. package/dist/cjs/components/combobox.js +1 -1
  64. package/dist/cjs/components/combobox.js.map +4 -4
  65. package/dist/cjs/components/combobox.props.js +0 -1
  66. package/dist/cjs/components/combobox.props.js.map +1 -1
  67. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  68. package/dist/cjs/components/context-menu.js +1 -1
  69. package/dist/cjs/components/context-menu.js.map +4 -4
  70. package/dist/cjs/components/context-menu.props.js +0 -1
  71. package/dist/cjs/components/context-menu.props.js.map +1 -1
  72. package/dist/cjs/components/dialog.js +1 -1
  73. package/dist/cjs/components/dialog.js.map +4 -4
  74. package/dist/cjs/components/dialog.props.js +0 -1
  75. package/dist/cjs/components/dialog.props.js.map +1 -1
  76. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  77. package/dist/cjs/components/dropdown-menu.js +1 -1
  78. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  79. package/dist/cjs/components/dropdown-menu.props.js +0 -1
  80. package/dist/cjs/components/dropdown-menu.props.js.map +1 -1
  81. package/dist/cjs/components/flex.props.js +0 -1
  82. package/dist/cjs/components/flex.props.js.map +1 -1
  83. package/dist/cjs/components/grid.props.js +0 -1
  84. package/dist/cjs/components/grid.props.js.map +1 -1
  85. package/dist/cjs/components/heading.props.js +0 -1
  86. package/dist/cjs/components/heading.props.js.map +1 -1
  87. package/dist/cjs/components/image.props.js +0 -1
  88. package/dist/cjs/components/image.props.js.map +1 -1
  89. package/dist/cjs/components/index.js +2 -2
  90. package/dist/cjs/components/index.js.map +4 -4
  91. package/dist/cjs/components/kbd.props.js +0 -1
  92. package/dist/cjs/components/kbd.props.js.map +1 -1
  93. package/dist/cjs/components/link.props.js +0 -1
  94. package/dist/cjs/components/link.props.js.map +1 -1
  95. package/dist/cjs/components/message-scroller.js +1 -1
  96. package/dist/cjs/components/message-scroller.js.map +4 -4
  97. package/dist/cjs/components/navbar.props.js +0 -1
  98. package/dist/cjs/components/navbar.props.js.map +1 -1
  99. package/dist/cjs/components/notice.js +1 -1
  100. package/dist/cjs/components/notice.js.map +4 -4
  101. package/dist/cjs/components/popover.d.ts.map +1 -1
  102. package/dist/cjs/components/popover.js +1 -1
  103. package/dist/cjs/components/popover.js.map +4 -4
  104. package/dist/cjs/components/popover.props.js +0 -1
  105. package/dist/cjs/components/popover.props.js.map +1 -1
  106. package/dist/cjs/components/progress.props.js +0 -1
  107. package/dist/cjs/components/progress.props.js.map +1 -1
  108. package/dist/cjs/components/radio-group.props.js +0 -1
  109. package/dist/cjs/components/radio-group.props.js.map +1 -1
  110. package/dist/cjs/components/radio.props.js +0 -1
  111. package/dist/cjs/components/radio.props.js.map +1 -1
  112. package/dist/cjs/components/scroll-area.d.ts.map +1 -1
  113. package/dist/cjs/components/scroll-area.js +1 -1
  114. package/dist/cjs/components/scroll-area.js.map +3 -3
  115. package/dist/cjs/components/scroll-area.props.js +0 -1
  116. package/dist/cjs/components/scroll-area.props.js.map +1 -1
  117. package/dist/cjs/components/segmented-control.props.js +0 -1
  118. package/dist/cjs/components/segmented-control.props.js.map +1 -1
  119. package/dist/cjs/components/select.d.ts.map +1 -1
  120. package/dist/cjs/components/select.js +1 -1
  121. package/dist/cjs/components/select.js.map +4 -4
  122. package/dist/cjs/components/select.props.js +0 -1
  123. package/dist/cjs/components/select.props.js.map +1 -1
  124. package/dist/cjs/components/separator.props.js +0 -1
  125. package/dist/cjs/components/separator.props.js.map +1 -1
  126. package/dist/cjs/components/sheet.js +1 -1
  127. package/dist/cjs/components/sheet.js.map +4 -4
  128. package/dist/cjs/components/shell.d.ts.map +1 -1
  129. package/dist/cjs/components/shell.js +1 -1
  130. package/dist/cjs/components/shell.js.map +4 -4
  131. package/dist/cjs/components/sidebar.js +1 -1
  132. package/dist/cjs/components/sidebar.js.map +4 -4
  133. package/dist/cjs/components/slider.d.ts.map +1 -1
  134. package/dist/cjs/components/slider.js +1 -1
  135. package/dist/cjs/components/slider.js.map +3 -3
  136. package/dist/cjs/components/slider.props.js +0 -1
  137. package/dist/cjs/components/slider.props.js.map +1 -1
  138. package/dist/cjs/components/spinner.d.ts.map +1 -1
  139. package/dist/cjs/components/spinner.js +1 -1
  140. package/dist/cjs/components/spinner.js.map +2 -2
  141. package/dist/cjs/components/spinner.props.js +0 -1
  142. package/dist/cjs/components/spinner.props.js.map +1 -1
  143. package/dist/cjs/components/switch.props.js +0 -1
  144. package/dist/cjs/components/switch.props.js.map +1 -1
  145. package/dist/cjs/components/table.js +1 -1
  146. package/dist/cjs/components/table.js.map +3 -3
  147. package/dist/cjs/components/table.props.js +0 -1
  148. package/dist/cjs/components/table.props.js.map +1 -1
  149. package/dist/cjs/components/tabs.props.js +0 -1
  150. package/dist/cjs/components/tabs.props.js.map +1 -1
  151. package/dist/cjs/components/text-area.d.ts.map +1 -1
  152. package/dist/cjs/components/text-area.js +1 -1
  153. package/dist/cjs/components/text-area.js.map +3 -3
  154. package/dist/cjs/components/text-area.props.js +0 -1
  155. package/dist/cjs/components/text-area.props.js.map +1 -1
  156. package/dist/cjs/components/text-field.d.ts.map +1 -1
  157. package/dist/cjs/components/text-field.js +2 -2
  158. package/dist/cjs/components/text-field.js.map +3 -3
  159. package/dist/cjs/components/text-field.props.js +0 -1
  160. package/dist/cjs/components/text-field.props.js.map +1 -1
  161. package/dist/cjs/components/text.props.js +0 -1
  162. package/dist/cjs/components/text.props.js.map +1 -1
  163. package/dist/cjs/components/theme.props.js +0 -1
  164. package/dist/cjs/components/theme.props.js.map +1 -1
  165. package/dist/cjs/components/toggle.js +1 -1
  166. package/dist/cjs/components/toggle.js.map +4 -4
  167. package/dist/cjs/components/toolbar.js +1 -1
  168. package/dist/cjs/components/toolbar.js.map +4 -4
  169. package/dist/cjs/components/toolbar.props.d.ts +3 -2
  170. package/dist/cjs/components/toolbar.props.d.ts.map +1 -1
  171. package/dist/cjs/components/toolbar.props.js +0 -1
  172. package/dist/cjs/components/toolbar.props.js.map +2 -2
  173. package/dist/cjs/components/tooltip.js +1 -1
  174. package/dist/cjs/components/tooltip.js.map +4 -4
  175. package/dist/cjs/components/tooltip.props.js +0 -1
  176. package/dist/cjs/components/tooltip.props.js.map +1 -1
  177. package/dist/cjs/hooks/use-scroll-edges.d.ts +9 -0
  178. package/dist/cjs/hooks/use-scroll-edges.d.ts.map +1 -1
  179. package/dist/cjs/hooks/use-scroll-edges.js +1 -1
  180. package/dist/cjs/hooks/use-scroll-edges.js.map +3 -3
  181. package/dist/cjs/index.js +5 -5
  182. package/dist/cjs/index.js.map +4 -4
  183. package/dist/cjs/props/index.js +1 -1
  184. package/dist/cjs/props/index.js.map +4 -4
  185. package/dist/esm/chunk-27XQ5PN5.js +3 -0
  186. package/dist/esm/chunk-27XQ5PN5.js.map +7 -0
  187. package/dist/esm/chunk-2ACVWLFA.js +3 -0
  188. package/dist/esm/chunk-2NWHEGKZ.js +3 -0
  189. package/dist/esm/chunk-2NWHEGKZ.js.map +7 -0
  190. package/dist/esm/{chunk-W4MQ6TEK.js → chunk-2R7WQPXX.js} +2 -2
  191. package/dist/esm/chunk-2R7WQPXX.js.map +7 -0
  192. package/dist/esm/{chunk-I3SRUPUP.js → chunk-2ZLMWYJ6.js} +2 -3
  193. package/dist/esm/{chunk-I3SRUPUP.js.map → chunk-2ZLMWYJ6.js.map} +1 -1
  194. package/dist/esm/chunk-324VC67W.js +3 -0
  195. package/dist/esm/chunk-324VC67W.js.map +7 -0
  196. package/dist/esm/chunk-3UIODOPE.js +3 -0
  197. package/dist/esm/chunk-3UIODOPE.js.map +7 -0
  198. package/dist/esm/chunk-3W34KH33.js +2 -0
  199. package/dist/esm/{chunk-4S5L25RO.js.map → chunk-3W34KH33.js.map} +1 -1
  200. package/dist/esm/chunk-4CIQRUYW.js +6 -0
  201. package/dist/esm/chunk-4CIQRUYW.js.map +7 -0
  202. package/dist/esm/chunk-4E5XBM5Q.js +2 -0
  203. package/dist/esm/{chunk-IE5ACUZS.js.map → chunk-4E5XBM5Q.js.map} +1 -1
  204. package/dist/esm/{chunk-QH64BDXO.js → chunk-4G3FJUER.js} +2 -2
  205. package/dist/esm/{chunk-R7THBMND.js → chunk-4KIZRO52.js} +1 -1
  206. package/dist/esm/chunk-4MNRLB57.js +3 -0
  207. package/dist/esm/chunk-4MNRLB57.js.map +7 -0
  208. package/dist/esm/chunk-5KJIPH2N.js +3 -0
  209. package/dist/esm/chunk-5KJIPH2N.js.map +7 -0
  210. package/dist/esm/chunk-5XA2N2WR.js +2 -0
  211. package/dist/esm/{chunk-R7THBMND.js.map → chunk-5XA2N2WR.js.map} +1 -1
  212. package/dist/esm/{chunk-7B3XDZXZ.js → chunk-6C6EK2B5.js} +2 -2
  213. package/dist/esm/chunk-6DWDNKLS.js +1 -0
  214. package/dist/esm/chunk-6JGF6PQH.js +3 -0
  215. package/dist/esm/{chunk-JS23YQ4M.js.map → chunk-6JGF6PQH.js.map} +4 -4
  216. package/dist/esm/{chunk-CYTPMHSJ.js → chunk-7QBNXNEN.js} +2 -2
  217. package/dist/esm/{chunk-YOSCUA6Z.js → chunk-ACMANOVD.js} +2 -2
  218. package/dist/esm/{chunk-I6SMGWS5.js → chunk-AJWCSQIE.js} +2 -3
  219. package/dist/esm/chunk-AJWCSQIE.js.map +7 -0
  220. package/dist/esm/chunk-AKXBXLCP.js +2 -0
  221. package/dist/esm/chunk-AKXBXLCP.js.map +7 -0
  222. package/dist/esm/chunk-ANQLWGFN.js +3 -0
  223. package/dist/esm/chunk-ANQLWGFN.js.map +7 -0
  224. package/dist/esm/chunk-BF4WRYUX.js +2 -0
  225. package/dist/esm/{chunk-M3NI3D6R.js.map → chunk-BF4WRYUX.js.map} +1 -1
  226. package/dist/esm/{chunk-5WTSKXAE.js → chunk-BIITGC3Z.js} +2 -3
  227. package/dist/esm/{chunk-5WTSKXAE.js.map → chunk-BIITGC3Z.js.map} +1 -1
  228. package/dist/esm/{chunk-NBVCQQSY.js → chunk-BP64M73W.js} +2 -3
  229. package/dist/esm/{chunk-NBVCQQSY.js.map → chunk-BP64M73W.js.map} +1 -1
  230. package/dist/esm/chunk-BQC2P3SN.js +3 -0
  231. package/dist/esm/chunk-BQC2P3SN.js.map +7 -0
  232. package/dist/esm/chunk-BUXK5VGR.js +3 -0
  233. package/dist/esm/chunk-BUXK5VGR.js.map +7 -0
  234. package/dist/esm/chunk-C67MM24U.js +3 -0
  235. package/dist/esm/chunk-C67MM24U.js.map +7 -0
  236. package/dist/esm/{chunk-5TJH35TF.js → chunk-CGFLZ3DC.js} +2 -2
  237. package/dist/esm/chunk-CT543Q2V.js +2 -0
  238. package/dist/esm/{chunk-YZZMQ457.js.map → chunk-CT543Q2V.js.map} +1 -1
  239. package/dist/esm/chunk-D2C2A2ZK.js +3 -0
  240. package/dist/esm/{chunk-ZPWKWESI.js.map → chunk-D2C2A2ZK.js.map} +4 -4
  241. package/dist/esm/chunk-DFGY2NZB.js +2 -0
  242. package/dist/esm/{chunk-SGJKXIWG.js.map → chunk-DFGY2NZB.js.map} +1 -1
  243. package/dist/esm/{chunk-4J7QDLKI.js → chunk-DFLWZOQO.js} +2 -3
  244. package/dist/esm/{chunk-4J7QDLKI.js.map → chunk-DFLWZOQO.js.map} +1 -1
  245. package/dist/esm/chunk-DSM5SUH3.js +3 -0
  246. package/dist/esm/{chunk-FCKJD2PW.js.map → chunk-DSM5SUH3.js.map} +4 -4
  247. package/dist/esm/chunk-E2LSWNWZ.js +3 -0
  248. package/dist/esm/{chunk-CBWERXF4.js.map → chunk-E2LSWNWZ.js.map} +4 -4
  249. package/dist/esm/{chunk-XL5OHW6Z.js → chunk-EB4AG3OL.js} +2 -2
  250. package/dist/esm/chunk-EFXHBH3A.js +2 -0
  251. package/dist/esm/{chunk-XMHNOIPB.js.map → chunk-EFXHBH3A.js.map} +1 -1
  252. package/dist/esm/{chunk-6FLLFCBU.js → chunk-ELAW7ZUG.js} +2 -2
  253. package/dist/esm/chunk-ENQV6SEA.js +3 -0
  254. package/dist/esm/{chunk-YD2D73LF.js.map → chunk-ENQV6SEA.js.map} +4 -4
  255. package/dist/esm/chunk-EPGIYTFK.js +3 -0
  256. package/dist/esm/chunk-EPGIYTFK.js.map +7 -0
  257. package/dist/esm/{chunk-WT2SYGTU.js → chunk-ETQNRMHU.js} +2 -3
  258. package/dist/esm/{chunk-WT2SYGTU.js.map → chunk-ETQNRMHU.js.map} +1 -1
  259. package/dist/esm/{chunk-PT45Q47V.js → chunk-FATCGZZE.js} +1 -1
  260. package/dist/esm/{chunk-IZIDRDQW.js → chunk-FH6RT6XH.js} +2 -3
  261. package/dist/esm/{chunk-IZIDRDQW.js.map → chunk-FH6RT6XH.js.map} +1 -1
  262. package/dist/esm/chunk-FK434VPA.js +3 -0
  263. package/dist/esm/{chunk-PCLO3ZZY.js.map → chunk-FK434VPA.js.map} +4 -4
  264. package/dist/esm/chunk-FNAE6HUI.js +2 -0
  265. package/dist/esm/chunk-FNAE6HUI.js.map +7 -0
  266. package/dist/esm/chunk-FYTLUDL3.js +3 -0
  267. package/dist/esm/{chunk-37GC4A2O.js.map → chunk-FYTLUDL3.js.map} +4 -4
  268. package/dist/esm/chunk-GMWCTK5G.js +3 -0
  269. package/dist/esm/chunk-GMWCTK5G.js.map +7 -0
  270. package/dist/esm/chunk-H3IAGAEL.js +2 -0
  271. package/dist/esm/{chunk-WCGQ4IDE.js.map → chunk-H3IAGAEL.js.map} +1 -1
  272. package/dist/esm/{chunk-PT4KBXXP.js → chunk-HCBR74BW.js} +2 -3
  273. package/dist/esm/{chunk-PT4KBXXP.js.map → chunk-HCBR74BW.js.map} +1 -1
  274. package/dist/esm/{chunk-TGUWRU7N.js → chunk-HIEGLLY7.js} +1 -2
  275. package/dist/esm/{chunk-TGUWRU7N.js.map → chunk-HIEGLLY7.js.map} +1 -1
  276. package/dist/esm/chunk-HLIOHDEX.js +3 -0
  277. package/dist/esm/chunk-HLIOHDEX.js.map +7 -0
  278. package/dist/esm/chunk-HSWMHW37.js +2 -0
  279. package/dist/esm/{chunk-SV3CYQY5.js.map → chunk-HSWMHW37.js.map} +1 -1
  280. package/dist/esm/chunk-IDEDEPBM.js +3 -0
  281. package/dist/esm/chunk-IDEDEPBM.js.map +7 -0
  282. package/dist/esm/{chunk-CV7QQTI3.js → chunk-ISCZ57VL.js} +2 -2
  283. package/dist/esm/chunk-JD4KR6VZ.js +3 -0
  284. package/dist/esm/chunk-JP36JSNP.js +3 -0
  285. package/dist/esm/chunk-JP36JSNP.js.map +7 -0
  286. package/dist/esm/{chunk-IZXML75Y.js → chunk-JQVW4WNN.js} +2 -2
  287. package/dist/esm/{chunk-Z563IAE3.js → chunk-KLYI5E6F.js} +2 -2
  288. package/dist/esm/chunk-KVOWI6SN.js +2 -0
  289. package/dist/esm/{chunk-HV7USGHD.js.map → chunk-KVOWI6SN.js.map} +1 -1
  290. package/dist/esm/{chunk-WZKSLTBH.js → chunk-KVVRFWGQ.js} +2 -2
  291. package/dist/esm/{chunk-VVBSYWUA.js → chunk-LTUW36HM.js} +2 -2
  292. package/dist/esm/{chunk-QQY4WFJL.js → chunk-LUNWI377.js} +2 -3
  293. package/dist/esm/{chunk-QQY4WFJL.js.map → chunk-LUNWI377.js.map} +1 -1
  294. package/dist/esm/chunk-MCHK36NI.js +3 -0
  295. package/dist/esm/chunk-MCHK36NI.js.map +7 -0
  296. package/dist/esm/chunk-MGWGD6KI.js +3 -0
  297. package/dist/esm/chunk-MGWGD6KI.js.map +7 -0
  298. package/dist/esm/chunk-MPCCYR7L.js +3 -0
  299. package/dist/esm/chunk-MPCCYR7L.js.map +7 -0
  300. package/dist/esm/{chunk-PZ6Z7WTR.js → chunk-NNE3KNH4.js} +2 -3
  301. package/dist/esm/{chunk-PZ6Z7WTR.js.map → chunk-NNE3KNH4.js.map} +1 -1
  302. package/dist/esm/{chunk-CKJXTEVO.js → chunk-NR5FQCMU.js} +2 -3
  303. package/dist/esm/{chunk-CKJXTEVO.js.map → chunk-NR5FQCMU.js.map} +1 -1
  304. package/dist/esm/chunk-NWXODCTD.js +3 -0
  305. package/dist/esm/{chunk-BXZSJKWA.js.map → chunk-NWXODCTD.js.map} +4 -4
  306. package/dist/esm/chunk-OA7C34MJ.js +1 -0
  307. package/dist/esm/{chunk-65KD6WS6.js → chunk-OEPVYHSS.js} +2 -3
  308. package/dist/esm/{chunk-65KD6WS6.js.map → chunk-OEPVYHSS.js.map} +1 -1
  309. package/dist/esm/chunk-OLTRWCQK.js +3 -0
  310. package/dist/esm/chunk-OLTRWCQK.js.map +7 -0
  311. package/dist/esm/chunk-OLWUS7PC.js +3 -0
  312. package/dist/esm/chunk-OLWUS7PC.js.map +7 -0
  313. package/dist/esm/{chunk-647DRBXQ.js → chunk-OSSNMF5U.js} +2 -3
  314. package/dist/esm/{chunk-647DRBXQ.js.map → chunk-OSSNMF5U.js.map} +1 -1
  315. package/dist/esm/chunk-OUOP6Q3Z.js +3 -0
  316. package/dist/esm/chunk-OUOP6Q3Z.js.map +7 -0
  317. package/dist/esm/{chunk-TDT2CNES.js → chunk-P6UX6FFY.js} +2 -2
  318. package/dist/esm/{chunk-JUY7CBSL.js → chunk-PBFSBHBS.js} +2 -2
  319. package/dist/esm/chunk-PEMFIU3B.js +2 -0
  320. package/dist/esm/{chunk-BOLSK63X.js.map → chunk-PEMFIU3B.js.map} +1 -1
  321. package/dist/esm/{chunk-3B25RLWX.js → chunk-Q2TLWILH.js} +2 -2
  322. package/dist/esm/chunk-Q5SANVIW.js +3 -0
  323. package/dist/esm/chunk-Q5SANVIW.js.map +7 -0
  324. package/dist/esm/chunk-QPRUTOLI.js +3 -0
  325. package/dist/esm/chunk-QPRUTOLI.js.map +7 -0
  326. package/dist/esm/chunk-QRV32INS.js +3 -0
  327. package/dist/esm/chunk-QRV32INS.js.map +7 -0
  328. package/dist/esm/chunk-R7YHDIFM.js +3 -0
  329. package/dist/esm/chunk-R7YHDIFM.js.map +7 -0
  330. package/dist/esm/{chunk-EY6TCYGG.js → chunk-RAVZ7F5L.js} +2 -3
  331. package/dist/esm/{chunk-EY6TCYGG.js.map → chunk-RAVZ7F5L.js.map} +1 -1
  332. package/dist/esm/chunk-RP5ORPPH.js +3 -0
  333. package/dist/esm/{chunk-BVFHJP5E.js.map → chunk-RP5ORPPH.js.map} +4 -4
  334. package/dist/esm/chunk-SKOYHBIE.js +2 -0
  335. package/dist/esm/{chunk-5RFDCAKC.js.map → chunk-SKOYHBIE.js.map} +1 -1
  336. package/dist/esm/chunk-STPMPY3X.js +1 -0
  337. package/dist/esm/chunk-T2DZDW5Y.js +3 -0
  338. package/dist/esm/chunk-T2DZDW5Y.js.map +7 -0
  339. package/dist/esm/chunk-TZTUPQYK.js +2 -0
  340. package/dist/esm/{chunk-XVDT6DQZ.js.map → chunk-TZTUPQYK.js.map} +1 -1
  341. package/dist/esm/chunk-UICSVJ3B.js +1 -0
  342. package/dist/esm/chunk-UJ7JERJ5.js +3 -0
  343. package/dist/esm/chunk-UJ7JERJ5.js.map +7 -0
  344. package/dist/esm/{chunk-6RJQ5LLP.js → chunk-UMR4AF35.js} +2 -2
  345. package/dist/esm/chunk-UMYPLUG3.js +2 -0
  346. package/dist/esm/chunk-UMYPLUG3.js.map +7 -0
  347. package/dist/esm/chunk-UONSKZQT.js +2 -0
  348. package/dist/esm/{chunk-M37GE2TE.js.map → chunk-UONSKZQT.js.map} +1 -1
  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-VPP5IDW7.js +3 -0
  354. package/dist/esm/chunk-VPP5IDW7.js.map +7 -0
  355. package/dist/esm/{chunk-L4NF3Q2T.js → chunk-VW46DG7H.js} +2 -3
  356. package/dist/esm/{chunk-L4NF3Q2T.js.map → chunk-VW46DG7H.js.map} +1 -1
  357. package/dist/esm/chunk-W3ES2XSB.js +3 -0
  358. package/dist/esm/chunk-W3ES2XSB.js.map +7 -0
  359. package/dist/esm/chunk-W4Z6ORYO.js +3 -0
  360. package/dist/esm/{chunk-MQEWEAH5.js.map → chunk-W4Z6ORYO.js.map} +4 -4
  361. package/dist/esm/chunk-WD66RYF6.js +3 -0
  362. package/dist/esm/chunk-WD66RYF6.js.map +7 -0
  363. package/dist/esm/chunk-WOR3JCLX.js +1 -0
  364. package/dist/esm/chunk-WOR3JCLX.js.map +7 -0
  365. package/dist/esm/{chunk-HHSFAOIO.js → chunk-WYKNBNM5.js} +2 -2
  366. package/dist/esm/chunk-WYKNBNM5.js.map +7 -0
  367. package/dist/esm/chunk-X7JHZ3HA.js +3 -0
  368. package/dist/esm/{chunk-OQWD63AI.js.map → chunk-X7JHZ3HA.js.map} +4 -4
  369. package/dist/esm/chunk-XD3C3GVF.js +3 -0
  370. package/dist/esm/chunk-XD3C3GVF.js.map +7 -0
  371. package/dist/esm/{chunk-FI32HA4X.js → chunk-XDVTHL3S.js} +2 -3
  372. package/dist/esm/{chunk-FI32HA4X.js.map → chunk-XDVTHL3S.js.map} +1 -1
  373. package/dist/esm/chunk-XGES2VBG.js +3 -0
  374. package/dist/esm/chunk-XGES2VBG.js.map +7 -0
  375. package/dist/esm/{chunk-64EFWPHI.js → chunk-YCLPURTD.js} +1 -1
  376. package/dist/esm/chunk-YHQTFDGN.js +2 -0
  377. package/dist/esm/{chunk-PHWT772P.js.map → chunk-YHQTFDGN.js.map} +1 -1
  378. package/dist/esm/{chunk-AQ7VUGQQ.js → chunk-YMUERC2J.js} +2 -2
  379. package/dist/esm/chunk-YOZXIUZY.js +3 -0
  380. package/dist/esm/{chunk-N3QLHFHB.js.map → chunk-YOZXIUZY.js.map} +4 -4
  381. package/dist/esm/{chunk-R4PGFURL.js → chunk-Z5W4ACO2.js} +2 -2
  382. package/dist/esm/chunk-ZG2XQUOH.js +3 -0
  383. package/dist/esm/chunk-ZIAA2C4H.js +3 -0
  384. package/dist/esm/{chunk-5EBJOOXE.js.map → chunk-ZIAA2C4H.js.map} +4 -4
  385. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  386. package/dist/esm/components/_internal/base-button.js +1 -1
  387. package/dist/esm/components/_internal/base-button.props.js +1 -2
  388. package/dist/esm/components/_internal/base-checkbox.props.js +1 -2
  389. package/dist/esm/components/_internal/base-menu.props.js +1 -2
  390. package/dist/esm/components/_internal/base-menu.utils.js +1 -1
  391. package/dist/esm/components/_internal/base-radio.props.js +1 -2
  392. package/dist/esm/components/_internal/base-tab-list.props.js +1 -2
  393. package/dist/esm/components/_internal/menu-context.js +1 -1
  394. package/dist/esm/components/_internal/pane-band-context.d.ts +15 -0
  395. package/dist/esm/components/_internal/pane-band-context.d.ts.map +1 -0
  396. package/dist/esm/components/_internal/pane-band-context.js +3 -0
  397. package/dist/esm/components/_internal/pane-band-context.js.map +7 -0
  398. package/dist/esm/components/_internal/pane-chrome.d.ts +1 -1
  399. package/dist/esm/components/_internal/pane-chrome.d.ts.map +1 -1
  400. package/dist/esm/components/_internal/pane-chrome.js +1 -1
  401. package/dist/esm/components/_internal/portal-theme.d.ts +9 -0
  402. package/dist/esm/components/_internal/portal-theme.d.ts.map +1 -0
  403. package/dist/esm/components/_internal/portal-theme.js +3 -0
  404. package/dist/esm/components/_internal/portal-theme.js.map +7 -0
  405. package/dist/esm/components/_internal/shell-bottom.d.ts.map +1 -1
  406. package/dist/esm/components/_internal/shell-bottom.js +1 -1
  407. package/dist/esm/components/_internal/shell-inspector.js +1 -1
  408. package/dist/esm/components/_internal/shell-pane.js +1 -1
  409. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  410. package/dist/esm/components/accordion.js +1 -1
  411. package/dist/esm/components/accordion.props.js +1 -2
  412. package/dist/esm/components/accordion.props.js.map +4 -4
  413. package/dist/esm/components/alert-dialog.js +1 -1
  414. package/dist/esm/components/alert-dialog.props.js +1 -2
  415. package/dist/esm/components/avatar.js +1 -1
  416. package/dist/esm/components/avatar.props.js +1 -2
  417. package/dist/esm/components/blockquote.js +1 -1
  418. package/dist/esm/components/blockquote.props.js +1 -2
  419. package/dist/esm/components/box.js +1 -1
  420. package/dist/esm/components/box.props.js +1 -2
  421. package/dist/esm/components/button.js +1 -1
  422. package/dist/esm/components/button.props.js +1 -2
  423. package/dist/esm/components/card.js +1 -1
  424. package/dist/esm/components/card.props.js +1 -2
  425. package/dist/esm/components/chatbar.js +1 -1
  426. package/dist/esm/components/checkbox-group.js +1 -1
  427. package/dist/esm/components/checkbox-group.props.js +1 -2
  428. package/dist/esm/components/checkbox.js +1 -1
  429. package/dist/esm/components/checkbox.props.js +1 -2
  430. package/dist/esm/components/chip.js +1 -1
  431. package/dist/esm/components/chip.props.js +1 -2
  432. package/dist/esm/components/code.js +1 -1
  433. package/dist/esm/components/code.props.js +1 -2
  434. package/dist/esm/components/combobox.d.ts.map +1 -1
  435. package/dist/esm/components/combobox.js +1 -1
  436. package/dist/esm/components/combobox.props.js +1 -2
  437. package/dist/esm/components/combobox.props.js.map +4 -4
  438. package/dist/esm/components/context-menu.d.ts.map +1 -1
  439. package/dist/esm/components/context-menu.js +1 -1
  440. package/dist/esm/components/context-menu.props.js +1 -2
  441. package/dist/esm/components/dialog.js +1 -1
  442. package/dist/esm/components/dialog.props.js +1 -2
  443. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  444. package/dist/esm/components/dropdown-menu.js +1 -1
  445. package/dist/esm/components/dropdown-menu.props.js +1 -2
  446. package/dist/esm/components/flex.js +1 -1
  447. package/dist/esm/components/flex.props.js +1 -2
  448. package/dist/esm/components/grid.js +1 -1
  449. package/dist/esm/components/grid.props.js +1 -2
  450. package/dist/esm/components/heading.js +1 -1
  451. package/dist/esm/components/heading.props.js +1 -2
  452. package/dist/esm/components/image.js +1 -1
  453. package/dist/esm/components/image.props.js +1 -2
  454. package/dist/esm/components/image.props.js.map +4 -4
  455. package/dist/esm/components/index.js +1 -1
  456. package/dist/esm/components/kbd.js +1 -1
  457. package/dist/esm/components/kbd.props.js +1 -2
  458. package/dist/esm/components/link.js +1 -1
  459. package/dist/esm/components/link.props.js +1 -2
  460. package/dist/esm/components/message-scroller.js +1 -1
  461. package/dist/esm/components/navbar.js +1 -1
  462. package/dist/esm/components/navbar.props.js +1 -2
  463. package/dist/esm/components/navbar.props.js.map +4 -4
  464. package/dist/esm/components/notice.js +1 -1
  465. package/dist/esm/components/popover.d.ts.map +1 -1
  466. package/dist/esm/components/popover.js +1 -1
  467. package/dist/esm/components/popover.props.js +1 -2
  468. package/dist/esm/components/progress.js +1 -1
  469. package/dist/esm/components/progress.props.js +1 -2
  470. package/dist/esm/components/radio-group.js +1 -1
  471. package/dist/esm/components/radio-group.props.js +1 -2
  472. package/dist/esm/components/radio.js +1 -1
  473. package/dist/esm/components/radio.props.js +1 -2
  474. package/dist/esm/components/scroll-area.d.ts.map +1 -1
  475. package/dist/esm/components/scroll-area.js +1 -1
  476. package/dist/esm/components/scroll-area.props.js +1 -2
  477. package/dist/esm/components/segmented-control.js +1 -1
  478. package/dist/esm/components/segmented-control.props.js +1 -2
  479. package/dist/esm/components/select.d.ts.map +1 -1
  480. package/dist/esm/components/select.js +1 -1
  481. package/dist/esm/components/select.props.js +1 -2
  482. package/dist/esm/components/separator.js +1 -1
  483. package/dist/esm/components/separator.props.js +1 -2
  484. package/dist/esm/components/sheet.js +1 -1
  485. package/dist/esm/components/shell.context.js +1 -1
  486. package/dist/esm/components/shell.d.ts.map +1 -1
  487. package/dist/esm/components/shell.hooks.js +1 -1
  488. package/dist/esm/components/shell.js +1 -1
  489. package/dist/esm/components/sidebar.js +1 -1
  490. package/dist/esm/components/slider.d.ts.map +1 -1
  491. package/dist/esm/components/slider.js +1 -1
  492. package/dist/esm/components/slider.props.js +1 -2
  493. package/dist/esm/components/spinner.d.ts.map +1 -1
  494. package/dist/esm/components/spinner.js +1 -1
  495. package/dist/esm/components/spinner.props.js +1 -2
  496. package/dist/esm/components/switch.js +1 -1
  497. package/dist/esm/components/switch.props.js +1 -2
  498. package/dist/esm/components/table.js +1 -1
  499. package/dist/esm/components/table.props.js +1 -2
  500. package/dist/esm/components/tabs.js +1 -1
  501. package/dist/esm/components/tabs.props.js +1 -2
  502. package/dist/esm/components/text-area.d.ts.map +1 -1
  503. package/dist/esm/components/text-area.js +1 -1
  504. package/dist/esm/components/text-area.props.js +1 -2
  505. package/dist/esm/components/text-field.d.ts.map +1 -1
  506. package/dist/esm/components/text-field.js +1 -1
  507. package/dist/esm/components/text-field.props.js +1 -2
  508. package/dist/esm/components/text.js +1 -1
  509. package/dist/esm/components/text.props.js +1 -2
  510. package/dist/esm/components/theme.js +1 -1
  511. package/dist/esm/components/theme.props.js +1 -2
  512. package/dist/esm/components/toggle.js +1 -1
  513. package/dist/esm/components/toolbar.js +1 -1
  514. package/dist/esm/components/toolbar.props.d.ts +3 -2
  515. package/dist/esm/components/toolbar.props.d.ts.map +1 -1
  516. package/dist/esm/components/toolbar.props.js +1 -2
  517. package/dist/esm/components/toolbar.props.js.map +4 -4
  518. package/dist/esm/components/tooltip.js +1 -1
  519. package/dist/esm/components/tooltip.props.js +1 -2
  520. package/dist/esm/components/virtual-menu.js +1 -1
  521. package/dist/esm/helpers/extract-props.js +1 -1
  522. package/dist/esm/helpers/get-margin-styles.js +1 -1
  523. package/dist/esm/helpers/get-responsive-styles.js +1 -1
  524. package/dist/esm/helpers/index.js +1 -1
  525. package/dist/esm/hooks/index.js +1 -1
  526. package/dist/esm/hooks/use-scroll-edges.d.ts +9 -0
  527. package/dist/esm/hooks/use-scroll-edges.d.ts.map +1 -1
  528. package/dist/esm/hooks/use-scroll-edges.js +1 -1
  529. package/dist/esm/index.js +1 -1
  530. package/dist/esm/props/font-family.prop.js +1 -1
  531. package/dist/esm/props/font-family.prop.js.map +4 -4
  532. package/dist/esm/props/index.js +1 -1
  533. package/dist/esm/props/index.js.map +3 -3
  534. package/dist/esm/props/layout.props.js +1 -1
  535. package/package.json +1 -1
  536. package/src/components/_internal/base-button.tsx +8 -2
  537. package/src/components/_internal/pane-band-context.ts +17 -0
  538. package/src/components/_internal/pane-chrome.tsx +1 -8
  539. package/src/components/_internal/portal-theme.tsx +18 -0
  540. package/src/components/_internal/shell-bottom.tsx +4 -1
  541. package/src/components/alert-dialog.tsx +3 -3
  542. package/src/components/combobox.tsx +4 -3
  543. package/src/components/context-menu.tsx +6 -5
  544. package/src/components/dialog.tsx +3 -3
  545. package/src/components/dropdown-menu.tsx +6 -5
  546. package/src/components/popover.tsx +10 -64
  547. package/src/components/scroll-area.tsx +3 -2
  548. package/src/components/select.css +1 -1
  549. package/src/components/select.tsx +4 -3
  550. package/src/components/sheet.tsx +3 -3
  551. package/src/components/shell.css +11 -3
  552. package/src/components/shell.tsx +8 -1
  553. package/src/components/slider.tsx +19 -1
  554. package/src/components/spinner.css +16 -1
  555. package/src/components/spinner.tsx +14 -13
  556. package/src/components/text-area.css +19 -2
  557. package/src/components/text-area.tsx +34 -24
  558. package/src/components/text-field.css +14 -2
  559. package/src/components/text-field.tsx +44 -26
  560. package/src/components/toolbar.props.tsx +3 -2
  561. package/src/components/tooltip.tsx +3 -3
  562. package/src/hooks/use-scroll-edges.ts +16 -2
  563. package/src/styles/tokens/color.css +6 -5
  564. package/src/styles/tokens/shadow.css +2 -2
  565. package/styles.css +51 -4
  566. package/tokens/base.css +1 -2
  567. package/tokens.css +1 -2
  568. package/dist/esm/chunk-2IU5XPR2.js +0 -3
  569. package/dist/esm/chunk-2IU5XPR2.js.map +0 -7
  570. package/dist/esm/chunk-37GC4A2O.js +0 -3
  571. package/dist/esm/chunk-3H23GRNQ.js +0 -3
  572. package/dist/esm/chunk-3H23GRNQ.js.map +0 -7
  573. package/dist/esm/chunk-3L2MDOYC.js +0 -3
  574. package/dist/esm/chunk-3L2MDOYC.js.map +0 -7
  575. package/dist/esm/chunk-4S5L25RO.js +0 -3
  576. package/dist/esm/chunk-5CFSNNYS.js +0 -3
  577. package/dist/esm/chunk-5CFSNNYS.js.map +0 -7
  578. package/dist/esm/chunk-5EBJOOXE.js +0 -3
  579. package/dist/esm/chunk-5EP3UTM7.js +0 -3
  580. package/dist/esm/chunk-5EP3UTM7.js.map +0 -7
  581. package/dist/esm/chunk-5L4DZ2D3.js +0 -3
  582. package/dist/esm/chunk-5L4DZ2D3.js.map +0 -7
  583. package/dist/esm/chunk-5RFDCAKC.js +0 -3
  584. package/dist/esm/chunk-5XR5PTDR.js +0 -3
  585. package/dist/esm/chunk-5XR5PTDR.js.map +0 -7
  586. package/dist/esm/chunk-63MUJFVF.js +0 -3
  587. package/dist/esm/chunk-63MUJFVF.js.map +0 -7
  588. package/dist/esm/chunk-6AMWYEM7.js +0 -3
  589. package/dist/esm/chunk-6AMWYEM7.js.map +0 -7
  590. package/dist/esm/chunk-6BB2A6VU.js +0 -3
  591. package/dist/esm/chunk-6UZT3ZLO.js +0 -3
  592. package/dist/esm/chunk-6UZT3ZLO.js.map +0 -7
  593. package/dist/esm/chunk-7ROKZHH2.js +0 -3
  594. package/dist/esm/chunk-7ROKZHH2.js.map +0 -7
  595. package/dist/esm/chunk-7X7VWR3F.js +0 -3
  596. package/dist/esm/chunk-7X7VWR3F.js.map +0 -7
  597. package/dist/esm/chunk-7XHE6TOA.js +0 -6
  598. package/dist/esm/chunk-7XHE6TOA.js.map +0 -7
  599. package/dist/esm/chunk-A2OMWZI7.js +0 -2
  600. package/dist/esm/chunk-BOLSK63X.js +0 -3
  601. package/dist/esm/chunk-BVFHJP5E.js +0 -3
  602. package/dist/esm/chunk-BXZSJKWA.js +0 -3
  603. package/dist/esm/chunk-CBWERXF4.js +0 -3
  604. package/dist/esm/chunk-CQG4U5BR.js +0 -3
  605. package/dist/esm/chunk-CQG4U5BR.js.map +0 -7
  606. package/dist/esm/chunk-D4P7332M.js +0 -3
  607. package/dist/esm/chunk-D4P7332M.js.map +0 -7
  608. package/dist/esm/chunk-DVXDFCCV.js +0 -3
  609. package/dist/esm/chunk-DVXDFCCV.js.map +0 -7
  610. package/dist/esm/chunk-EAIQIW23.js +0 -3
  611. package/dist/esm/chunk-EAIQIW23.js.map +0 -7
  612. package/dist/esm/chunk-FCKJD2PW.js +0 -3
  613. package/dist/esm/chunk-FPGBCCML.js +0 -3
  614. package/dist/esm/chunk-FPGBCCML.js.map +0 -7
  615. package/dist/esm/chunk-GNPTPIL7.js +0 -3
  616. package/dist/esm/chunk-GNPTPIL7.js.map +0 -7
  617. package/dist/esm/chunk-HHSFAOIO.js.map +0 -7
  618. package/dist/esm/chunk-HV7USGHD.js +0 -3
  619. package/dist/esm/chunk-IE5ACUZS.js +0 -3
  620. package/dist/esm/chunk-ILWS2JUE.js +0 -3
  621. package/dist/esm/chunk-ILWS2JUE.js.map +0 -7
  622. package/dist/esm/chunk-IO43RGNR.js +0 -3
  623. package/dist/esm/chunk-IO43RGNR.js.map +0 -7
  624. package/dist/esm/chunk-J3QIUJ6F.js +0 -2
  625. package/dist/esm/chunk-JS23YQ4M.js +0 -3
  626. package/dist/esm/chunk-JZ5Z53MN.js +0 -2
  627. package/dist/esm/chunk-KRFXTPEW.js +0 -3
  628. package/dist/esm/chunk-KRFXTPEW.js.map +0 -7
  629. package/dist/esm/chunk-KSYHZCLD.js +0 -3
  630. package/dist/esm/chunk-KSYHZCLD.js.map +0 -7
  631. package/dist/esm/chunk-M37GE2TE.js +0 -3
  632. package/dist/esm/chunk-M3NI3D6R.js +0 -3
  633. package/dist/esm/chunk-MQEWEAH5.js +0 -3
  634. package/dist/esm/chunk-MXIVYALY.js +0 -3
  635. package/dist/esm/chunk-MXIVYALY.js.map +0 -7
  636. package/dist/esm/chunk-N3QLHFHB.js +0 -3
  637. package/dist/esm/chunk-NZCAGHCL.js +0 -3
  638. package/dist/esm/chunk-OQWD63AI.js +0 -3
  639. package/dist/esm/chunk-PCLO3ZZY.js +0 -3
  640. package/dist/esm/chunk-PHWT772P.js +0 -3
  641. package/dist/esm/chunk-PZCQDZVJ.js +0 -3
  642. package/dist/esm/chunk-PZCQDZVJ.js.map +0 -7
  643. package/dist/esm/chunk-RVPLXLRA.js +0 -3
  644. package/dist/esm/chunk-RVPLXLRA.js.map +0 -7
  645. package/dist/esm/chunk-SGJKXIWG.js +0 -3
  646. package/dist/esm/chunk-SHLERRO3.js +0 -3
  647. package/dist/esm/chunk-SHLERRO3.js.map +0 -7
  648. package/dist/esm/chunk-SV3CYQY5.js +0 -3
  649. package/dist/esm/chunk-U5GQ3IFS.js +0 -3
  650. package/dist/esm/chunk-U5GQ3IFS.js.map +0 -7
  651. package/dist/esm/chunk-VPRAXHLL.js +0 -3
  652. package/dist/esm/chunk-VPRAXHLL.js.map +0 -7
  653. package/dist/esm/chunk-VRQEWMC6.js +0 -3
  654. package/dist/esm/chunk-VRQEWMC6.js.map +0 -7
  655. package/dist/esm/chunk-W4MQ6TEK.js.map +0 -7
  656. package/dist/esm/chunk-WCGQ4IDE.js +0 -3
  657. package/dist/esm/chunk-WH7PQSSG.js +0 -2
  658. package/dist/esm/chunk-WJ4H2O2G.js +0 -3
  659. package/dist/esm/chunk-WJ4H2O2G.js.map +0 -7
  660. package/dist/esm/chunk-WMODMXEU.js +0 -3
  661. package/dist/esm/chunk-WMODMXEU.js.map +0 -7
  662. package/dist/esm/chunk-WMZLMZHB.js +0 -3
  663. package/dist/esm/chunk-WMZLMZHB.js.map +0 -7
  664. package/dist/esm/chunk-XH2CRCXR.js +0 -3
  665. package/dist/esm/chunk-XH2CRCXR.js.map +0 -7
  666. package/dist/esm/chunk-XMHNOIPB.js +0 -3
  667. package/dist/esm/chunk-XVDT6DQZ.js +0 -3
  668. package/dist/esm/chunk-Y2BTPKK6.js +0 -3
  669. package/dist/esm/chunk-Y2BTPKK6.js.map +0 -7
  670. package/dist/esm/chunk-YD2D73LF.js +0 -3
  671. package/dist/esm/chunk-YDBFIJHB.js +0 -3
  672. package/dist/esm/chunk-YDBFIJHB.js.map +0 -7
  673. package/dist/esm/chunk-YWG476GC.js +0 -3
  674. package/dist/esm/chunk-YZZMQ457.js +0 -3
  675. package/dist/esm/chunk-Z27REN6T.js +0 -3
  676. package/dist/esm/chunk-Z27REN6T.js.map +0 -7
  677. package/dist/esm/chunk-ZPWKWESI.js +0 -3
  678. package/dist/esm/chunk-ZYKJTNAT.js +0 -3
  679. package/dist/esm/chunk-ZYKJTNAT.js.map +0 -7
  680. /package/dist/esm/{chunk-I6SMGWS5.js.map → chunk-2ACVWLFA.js.map} +0 -0
  681. /package/dist/esm/{chunk-QH64BDXO.js.map → chunk-4G3FJUER.js.map} +0 -0
  682. /package/dist/esm/{chunk-6BB2A6VU.js.map → chunk-4KIZRO52.js.map} +0 -0
  683. /package/dist/esm/{chunk-7B3XDZXZ.js.map → chunk-6C6EK2B5.js.map} +0 -0
  684. /package/dist/esm/{chunk-A2OMWZI7.js.map → chunk-6DWDNKLS.js.map} +0 -0
  685. /package/dist/esm/{chunk-CYTPMHSJ.js.map → chunk-7QBNXNEN.js.map} +0 -0
  686. /package/dist/esm/{chunk-YOSCUA6Z.js.map → chunk-ACMANOVD.js.map} +0 -0
  687. /package/dist/esm/{chunk-5TJH35TF.js.map → chunk-CGFLZ3DC.js.map} +0 -0
  688. /package/dist/esm/{chunk-XL5OHW6Z.js.map → chunk-EB4AG3OL.js.map} +0 -0
  689. /package/dist/esm/{chunk-6FLLFCBU.js.map → chunk-ELAW7ZUG.js.map} +0 -0
  690. /package/dist/esm/{chunk-PT45Q47V.js.map → chunk-FATCGZZE.js.map} +0 -0
  691. /package/dist/esm/{chunk-CV7QQTI3.js.map → chunk-ISCZ57VL.js.map} +0 -0
  692. /package/dist/esm/{chunk-NZCAGHCL.js.map → chunk-JD4KR6VZ.js.map} +0 -0
  693. /package/dist/esm/{chunk-IZXML75Y.js.map → chunk-JQVW4WNN.js.map} +0 -0
  694. /package/dist/esm/{chunk-Z563IAE3.js.map → chunk-KLYI5E6F.js.map} +0 -0
  695. /package/dist/esm/{chunk-WZKSLTBH.js.map → chunk-KVVRFWGQ.js.map} +0 -0
  696. /package/dist/esm/{chunk-VVBSYWUA.js.map → chunk-LTUW36HM.js.map} +0 -0
  697. /package/dist/esm/{chunk-J3QIUJ6F.js.map → chunk-OA7C34MJ.js.map} +0 -0
  698. /package/dist/esm/{chunk-TDT2CNES.js.map → chunk-P6UX6FFY.js.map} +0 -0
  699. /package/dist/esm/{chunk-JUY7CBSL.js.map → chunk-PBFSBHBS.js.map} +0 -0
  700. /package/dist/esm/{chunk-3B25RLWX.js.map → chunk-Q2TLWILH.js.map} +0 -0
  701. /package/dist/esm/{chunk-JZ5Z53MN.js.map → chunk-STPMPY3X.js.map} +0 -0
  702. /package/dist/esm/{chunk-WH7PQSSG.js.map → chunk-UICSVJ3B.js.map} +0 -0
  703. /package/dist/esm/{chunk-6RJQ5LLP.js.map → chunk-UMR4AF35.js.map} +0 -0
  704. /package/dist/esm/{chunk-64EFWPHI.js.map → chunk-YCLPURTD.js.map} +0 -0
  705. /package/dist/esm/{chunk-AQ7VUGQQ.js.map → chunk-YMUERC2J.js.map} +0 -0
  706. /package/dist/esm/{chunk-R4PGFURL.js.map → chunk-Z5W4ACO2.js.map} +0 -0
  707. /package/dist/esm/{chunk-YWG476GC.js.map → chunk-ZG2XQUOH.js.map} +0 -0
@@ -3,10 +3,11 @@
3
3
  import * as React from 'react';
4
4
  import * as ReactDOM from 'react-dom';
5
5
  import classNames from 'classnames';
6
- import { composeEventHandlers, composeRefs } from 'radix-ui/internal';
6
+ import { composeEventHandlers, composeRefs, useLayoutEffect } from 'radix-ui/internal';
7
7
 
8
8
  import { textFieldRootPropDefs, textFieldSlotPropDefs, type TextFieldSlotScrubProps } from './text-field.props.js';
9
9
  import { extractProps } from '../helpers/extract-props.js';
10
+ import { mergeStyles } from '../helpers/merge-styles.js';
10
11
  import { useThemeSizeProps } from '../hooks/theme-size.js';
11
12
 
12
13
  import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
@@ -31,9 +32,12 @@ const TextFieldContext = React.createContext<TextFieldContextValue | null>(null)
31
32
  const FOCUSABLE_IN_SLOT = 'button, a, input, select, textarea, label, [tabindex], [contenteditable]';
32
33
 
33
34
  const TextFieldRoot = React.forwardRef<TextFieldRootElement, TextFieldRootProps>((ownProps, forwardedRef) => {
34
- const props = useThemeSizeProps(ownProps, textFieldRootPropDefs.size);
35
+ // The caller's className and style are kept apart from the size and variant classes: with an
36
+ // error message they go on the wrapper, which is then the one box the parent lays out.
37
+ const { className: ownClassName, style: ownStyle, ...themedProps } = useThemeSizeProps(ownProps, textFieldRootPropDefs.size);
35
38
  const inputRef = React.useRef<HTMLInputElement>(null);
36
- const { children, className, color, radius, style, ...inputProps } = extractProps(props, textFieldRootPropDefs);
39
+ const { children, className, color, radius, style, ...inputProps } = extractProps(themedProps, textFieldRootPropDefs);
40
+ const wrapped = Boolean(inputProps.errorMessage);
37
41
 
38
42
  // Generate unique IDs for accessibility
39
43
  const errorId = React.useId();
@@ -99,30 +103,36 @@ const TextFieldRoot = React.forwardRef<TextFieldRootElement, TextFieldRootProps>
99
103
  } catch {}
100
104
  }, []);
101
105
 
102
- // The message is a sibling of the painted root, so it sits below the field rather than inside it.
106
+ // A pointer-only hit-target redirect to the input; keyboard users reach the input directly.
107
+ const field = (
108
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions
109
+ <div
110
+ data-accent-color={color}
111
+ data-radius={radius}
112
+ style={wrapped ? style : mergeStyles(style, ownStyle)}
113
+ className={classNames('kui-TextFieldRoot', className, !wrapped && ownClassName, {
114
+ // Not used by the library's CSS (invalid styling keys on aria-invalid); kept as a hook for app styles.
115
+ 'kui-error': isInvalid,
116
+ })}
117
+ onMouseDown={handleMouseDown}
118
+ >
119
+ <input {...nativeInputProps} required={required || undefined} {...ariaProps} ref={composeRefs(inputRef, forwardedRef)} className="kui-reset kui-TextFieldInput" />
120
+ <TextFieldContext.Provider value={contextValue}>{children}</TextFieldContext.Provider>
121
+ </div>
122
+ );
123
+ // The wrapper is always there, so a message coming or going never moves the field in the tree:
124
+ // moving it would remount the input, dropping focus, the caret and an uncontrolled value. With
125
+ // no message it is `display: contents` and the field is the box the parent lays out; with one
126
+ // it holds the field and the message below it, and the caller's className and style size the pair.
103
127
  return (
104
- <>
105
- {/* A pointer-only hit-target redirect to the input; keyboard users reach the input directly. */}
106
- {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}
107
- <div
108
- data-accent-color={color}
109
- data-radius={radius}
110
- style={style}
111
- className={classNames('kui-TextFieldRoot', className, {
112
- // Not used by the library's CSS (invalid styling keys on aria-invalid); kept as a hook for app styles.
113
- 'kui-error': isInvalid,
114
- })}
115
- onMouseDown={handleMouseDown}
116
- >
117
- <input {...nativeInputProps} required={required || undefined} {...ariaProps} ref={composeRefs(inputRef, forwardedRef)} className="kui-reset kui-TextFieldInput" />
118
- <TextFieldContext.Provider value={contextValue}>{children}</TextFieldContext.Provider>
119
- </div>
120
- {inputProps.errorMessage && (
128
+ <div className={classNames('kui-TextFieldWrapper', wrapped && ownClassName)} style={wrapped ? ownStyle : undefined} data-message={wrapped || undefined}>
129
+ {field}
130
+ {wrapped ? (
121
131
  <div id={errorId} className="kui-TextFieldErrorMessage" role="alert">
122
132
  {inputProps.errorMessage}
123
133
  </div>
124
- )}
125
- </>
134
+ ) : null}
135
+ </div>
126
136
  );
127
137
  });
128
138
  TextFieldRoot.displayName = 'TextField.Root';
@@ -151,13 +161,21 @@ const TextFieldSlot = React.forwardRef<TextFieldSlotElement, TextFieldSlotProps>
151
161
  textFieldSlotPropDefs,
152
162
  );
153
163
 
154
- // The slot describes the input (see TextFieldRoot); a caller's own id is kept.
164
+ // A slot of text describes the input (see TextFieldRoot); a caller's own id is kept. A slot
165
+ // holding a control, such as a show-password button, does not: the input would be described
166
+ // by the button's name.
155
167
  const generatedId = React.useId();
156
168
  const slotId = slotProps.id ?? generatedId;
157
169
  const registerSlot = React.useContext(TextFieldContext)?.registerSlot;
158
- React.useEffect(() => registerSlot?.(slotId), [registerSlot, slotId]);
159
-
160
170
  const slotRef = React.useRef<HTMLDivElement>(null);
171
+ // Unknown until the slot has rendered; it registers once it is known to hold only text.
172
+ const [holdsControl, setHoldsControl] = React.useState<boolean | null>(null);
173
+ useLayoutEffect(() => {
174
+ const next = Boolean(slotRef.current?.querySelector(FOCUSABLE_IN_SLOT));
175
+ setHoldsControl((prev) => (prev === next ? prev : next));
176
+ });
177
+ React.useEffect(() => (holdsControl === false ? registerSlot?.(slotId) : undefined), [registerSlot, slotId, holdsControl]);
178
+
161
179
  const [isScrubbing, setIsScrubbing] = React.useState(false);
162
180
  // Where the virtual cursor starts. Movement is written straight to the cursor element, so a
163
181
  // scrub does not re-render the slot on every mouse move.
@@ -12,8 +12,9 @@ const orientations = ['horizontal', 'vertical'] as const;
12
12
  const toolbarRootPropDefs = {
13
13
  /**
14
14
  * Size step of the row and of every control in it that doesn't set its own `size`.
15
- * Matches Button's sizes: 1 (28px) to 4 (48px). Unset inside `Shell.PaneHeader` or
16
- * `Shell.PaneFooter`, it rests one step above the Shell's `size`.
15
+ * Matches Button's sizes: 1 (28px) to 4 (48px). Unset inside a Shell, it rests one step above
16
+ * the Shell's `size`, except in a pane's `Shell.Scroll` list and in a Popover, Dialog, Sheet or
17
+ * menu. Elsewhere it takes Theme size, else 2.
17
18
  */
18
19
  size: { type: 'enum', className: 'kui-r-size', values: sizes, default: '2' },
19
20
  /**
@@ -3,7 +3,7 @@ import classNames from 'classnames';
3
3
  import { Tooltip as TooltipPrimitive } from 'radix-ui';
4
4
 
5
5
  import { Text } from './text.js';
6
- import { Theme } from './theme.js';
6
+ import { PortalTheme } from './_internal/portal-theme.js';
7
7
  import { extractProps } from '../helpers/extract-props.js';
8
8
  import { tooltipPropDefs } from './tooltip.props.js';
9
9
 
@@ -63,7 +63,7 @@ const Tooltip = React.forwardRef<TooltipElement, TooltipProps>((props, forwarded
63
63
  <TooltipPrimitive.Root {...rootProps}>
64
64
  <TooltipPrimitive.Trigger asChild>{children}</TooltipPrimitive.Trigger>
65
65
  <TooltipPrimitive.Portal container={container} forceMount={forceMount}>
66
- <Theme asChild>
66
+ <PortalTheme asChild>
67
67
  <TooltipPrimitive.Content
68
68
  sideOffset={4}
69
69
  collisionPadding={10}
@@ -77,7 +77,7 @@ const Tooltip = React.forwardRef<TooltipElement, TooltipProps>((props, forwarded
77
77
  </Text>
78
78
  <TooltipPrimitive.Arrow className="kui-TooltipArrow" />
79
79
  </TooltipPrimitive.Content>
80
- </Theme>
80
+ </PortalTheme>
81
81
  </TooltipPrimitive.Portal>
82
82
  </TooltipPrimitive.Root>
83
83
  );
@@ -1,5 +1,18 @@
1
1
  import * as React from 'react';
2
2
 
3
+ /**
4
+ * How far content runs past the element on each axis, in px. An axis whose overflow is hidden
5
+ * cannot be scrolled (a ScrollArea with `scrollbars="vertical"` hides the inline axis), so it
6
+ * counts as 0, however wide the content.
7
+ */
8
+ export function scrollableOverflow(element: HTMLElement) {
9
+ const style = getComputedStyle(element);
10
+ return {
11
+ x: style.overflowX === 'hidden' ? 0 : Math.max(0, element.scrollWidth - element.clientWidth),
12
+ y: style.overflowY === 'hidden' ? 0 : Math.max(0, element.scrollHeight - element.clientHeight),
13
+ };
14
+ }
15
+
3
16
  /**
4
17
  * Publishes how much content is hidden past each edge of a scroller, as
5
18
  * `--scroll-overflow-start` and `--scroll-overflow-end` (block axis) and
@@ -19,13 +32,14 @@ export function useScrollEdges<T extends HTMLElement>(enabled: boolean) {
19
32
  let frame = 0;
20
33
  const write = () => {
21
34
  frame = 0;
35
+ const overflow = scrollableOverflow(element);
22
36
  const start = Math.max(0, element.scrollTop);
23
- const end = Math.max(0, element.scrollHeight - element.clientHeight - element.scrollTop);
37
+ const end = Math.max(0, overflow.y - element.scrollTop);
24
38
  element.style.setProperty('--scroll-overflow-start', `${start}px`);
25
39
  element.style.setProperty('--scroll-overflow-end', `${end}px`);
26
40
  // scrollLeft runs negative in right-to-left, so its size is the distance from the inline start.
27
41
  const xStart = Math.abs(element.scrollLeft);
28
- const xEnd = Math.max(0, element.scrollWidth - element.clientWidth - xStart);
42
+ const xEnd = Math.max(0, overflow.x - xStart);
29
43
  element.style.setProperty('--scroll-overflow-x-start', `${xStart}px`);
30
44
  element.style.setProperty('--scroll-overflow-x-end', `${xEnd}px`);
31
45
  };
@@ -8,17 +8,17 @@
8
8
  --color-page: white;
9
9
  --color-overlay: var(--black-a6);
10
10
  --color-surface: white;
11
- /* The ground a raised surface sits on: one step below it, so a white card reads as lifted. */
11
+ /* A background for an app page that holds raised surfaces. No component reads it. */
12
12
  --color-ground: var(--neutral-1, var(--gray-1));
13
13
 
14
14
  /*
15
- * A field (text field, text area, select trigger) is a flat soft fill with a faint edge, as in v2.
16
- * It casts no shadow. Hover moves the fill one step; disabled drops it one step and fades the edge.
15
+ * A field (text field, text area, select trigger) is the surface colour with --control-chrome,
16
+ * the same hairline and small shadow as a raised button. Hover moves the fill one step.
17
+ * Disabled drops the shadow for a faint edge.
17
18
  */
18
19
  --field-fill: var(--color-surface);
19
20
  --field-fill-hover: var(--neutral-2);
20
21
  --field-fill-disabled: var(--neutral-2);
21
- --field-edge: var(--neutral-a3);
22
22
  --field-edge-disabled: var(--neutral-a2);
23
23
 
24
24
  /*
@@ -76,7 +76,8 @@
76
76
  --color-overlay: var(--black-a8);
77
77
  --color-surface: var(--neutral-2, var(--gray-2));
78
78
  --color-ground: var(--neutral-1, var(--gray-1));
79
- --field-edge: var(--neutral-a4);
79
+ /* The surface is neutral 2 in dark, so hover takes the next step. */
80
+ --field-fill-hover: var(--neutral-3, var(--gray-3));
80
81
  --color-thumb: var(--neutral-12, var(--gray-12));
81
82
  --color-mark: var(--neutral-5, var(--gray-5));
82
83
  --color-mark-hover: var(--neutral-6, var(--gray-6));
@@ -11,10 +11,10 @@
11
11
  * --control-chrome-active: the same control while pressed. The drop tightens toward the surface.
12
12
  * --grip-chrome: the thumb of a switch or slider.
13
13
  * --control-light: an optional light across a raised control's top half (a background image); none by default.
14
- * --floating-chrome: a popover, menu, select list, hover card or tooltip.
14
+ * --floating-chrome: a popover, menu, combobox or select list.
15
15
  * --dialog-chrome: a dialog. Like v2, a dialog is a surface that covers the page.
16
16
  *
17
- * Fields (text field, text area, select trigger) cast nothing. They are a flat soft fill.
17
+ * Fields (text field, text area, select trigger) read --control-chrome, like a raised button.
18
18
  */
19
19
 
20
20
  /* prettier-ignore */
package/styles.css CHANGED
@@ -3381,7 +3381,6 @@
3381
3381
  --field-fill: var(--color-surface);
3382
3382
  --field-fill-hover: var(--neutral-2);
3383
3383
  --field-fill-disabled: var(--neutral-2);
3384
- --field-edge: var(--neutral-a3);
3385
3384
  --field-edge-disabled: var(--neutral-a2);
3386
3385
  --color-track: var(--neutral-4);
3387
3386
  --color-track-hover: var(--neutral-5);
@@ -3479,7 +3478,7 @@
3479
3478
  --color-overlay: var(--black-a8);
3480
3479
  --color-surface: var(--neutral-2, var(--gray-2));
3481
3480
  --color-ground: var(--neutral-1, var(--gray-1));
3482
- --field-edge: var(--neutral-a4);
3481
+ --field-fill-hover: var(--neutral-3, var(--gray-3));
3483
3482
  --color-thumb: var(--neutral-12, var(--gray-12));
3484
3483
  --color-mark: var(--neutral-5, var(--gray-5));
3485
3484
  --color-mark-hover: var(--neutral-6, var(--gray-6));
@@ -11322,6 +11321,19 @@
11322
11321
  box-shadow: inset 0 0 0 1px var(--red-7);
11323
11322
  }
11324
11323
  }
11324
+ .kui-TextFieldWrapper:where(:not([data-message])) {
11325
+ display: contents;
11326
+ }
11327
+ .kui-TextFieldWrapper:where([data-message]) {
11328
+ display: -webkit-box;
11329
+ display: -ms-flexbox;
11330
+ display: flex;
11331
+ -webkit-box-orient: vertical;
11332
+ -webkit-box-direction: normal;
11333
+ -ms-flex-direction: column;
11334
+ flex-direction: column;
11335
+ min-width: 0;
11336
+ }
11325
11337
  .kui-TextFieldErrorMessage {
11326
11338
  font-family: var(--default-font-family);
11327
11339
  font-weight: var(--font-weight-regular);
@@ -16899,7 +16911,7 @@
16899
16911
  :is(.kui-ShellPaneHeader[data-float],.kui-ShellPaneFooter[data-float]) > :where(.kui-Toolbar) {
16900
16912
  pointer-events: none;
16901
16913
  }
16902
- :is(.kui-ShellPaneHeader[data-float],.kui-ShellPaneFooter[data-float]) > :where(.kui-Toolbar) :where(.kui-ToolbarGroup,.kui-BaseButton,.kui-TextFieldRoot,.kui-SelectTrigger,.kui-SegmentedControlRoot,[href],[tabindex]) {
16914
+ :is(.kui-ShellPaneHeader[data-float],.kui-ShellPaneFooter[data-float]) > :where(.kui-Toolbar) :where(button,a[href],input,select,textarea,label,summary,[tabindex],[contenteditable]:not([contenteditable='false']),[role='button'],[role='link'],[role='checkbox'],[role='switch'],[role='radio'],[role='radiogroup'],[role='slider'],[role='combobox'],[role='tab'],[role='tablist'],[role='menuitem'],[aria-haspopup],.kui-ToolbarGroup,.kui-TextFieldRoot) {
16903
16915
  pointer-events: auto;
16904
16916
  }
16905
16917
  .kui-ShellPaneHeader[data-float] {
@@ -18142,8 +18154,25 @@
18142
18154
  background-color: CanvasText;
18143
18155
  }
18144
18156
  }
18145
- .kui-SpinnerHiddenChildren {
18157
+ .kui-SpinnerHost:where(:not([data-loading])) {
18158
+ display: contents;
18159
+ }
18160
+ .kui-SpinnerHost:where([data-loading]) {
18161
+ position: relative;
18162
+ display: -webkit-box;
18163
+ display: -ms-flexbox;
18164
+ display: flex;
18165
+ -webkit-box-align: center;
18166
+ -ms-flex-align: center;
18167
+ align-items: center;
18168
+ -webkit-box-pack: center;
18169
+ -ms-flex-pack: center;
18170
+ justify-content: center;
18171
+ }
18172
+ .kui-SpinnerChildren {
18146
18173
  display: contents;
18174
+ }
18175
+ .kui-SpinnerHiddenChildren {
18147
18176
  visibility: hidden;
18148
18177
  }
18149
18178
  .kui-SwitchRoot {
@@ -19890,6 +19919,24 @@
19890
19919
  box-shadow: inset 0 0 0 1px var(--red-7);
19891
19920
  }
19892
19921
  }
19922
+ .kui-TextAreaWrapper:where(:not([data-message])) {
19923
+ display: contents;
19924
+ }
19925
+ .kui-TextAreaWrapper:where([data-message]) {
19926
+ display: -webkit-box;
19927
+ display: -ms-flexbox;
19928
+ display: flex;
19929
+ -webkit-box-orient: vertical;
19930
+ -webkit-box-direction: normal;
19931
+ -ms-flex-direction: column;
19932
+ flex-direction: column;
19933
+ min-width: 0;
19934
+ }
19935
+ .kui-TextAreaWrapper:where([data-message]) > :where(.kui-TextAreaRoot) {
19936
+ -webkit-box-flex: 1;
19937
+ -ms-flex: 1 1 auto;
19938
+ flex: 1 1 auto;
19939
+ }
19893
19940
  .kui-TextAreaErrorMessage {
19894
19941
  font-family: var(--default-font-family);
19895
19942
  font-weight: var(--font-weight-regular);
package/tokens/base.css CHANGED
@@ -65,7 +65,6 @@
65
65
  --field-fill: var(--color-surface);
66
66
  --field-fill-hover: var(--neutral-2);
67
67
  --field-fill-disabled: var(--neutral-2);
68
- --field-edge: var(--neutral-a3);
69
68
  --field-edge-disabled: var(--neutral-a2);
70
69
  --color-track: var(--neutral-4);
71
70
  --color-track-hover: var(--neutral-5);
@@ -130,7 +129,7 @@
130
129
  --color-overlay: var(--black-a8);
131
130
  --color-surface: var(--neutral-2, var(--gray-2));
132
131
  --color-ground: var(--neutral-1, var(--gray-1));
133
- --field-edge: var(--neutral-a4);
132
+ --field-fill-hover: var(--neutral-3, var(--gray-3));
134
133
  --color-thumb: var(--neutral-12, var(--gray-12));
135
134
  --color-mark: var(--neutral-5, var(--gray-5));
136
135
  --color-mark-hover: var(--neutral-6, var(--gray-6));
package/tokens.css CHANGED
@@ -3381,7 +3381,6 @@
3381
3381
  --field-fill: var(--color-surface);
3382
3382
  --field-fill-hover: var(--neutral-2);
3383
3383
  --field-fill-disabled: var(--neutral-2);
3384
- --field-edge: var(--neutral-a3);
3385
3384
  --field-edge-disabled: var(--neutral-a2);
3386
3385
  --color-track: var(--neutral-4);
3387
3386
  --color-track-hover: var(--neutral-5);
@@ -3476,7 +3475,7 @@
3476
3475
  --color-overlay: var(--black-a8);
3477
3476
  --color-surface: var(--neutral-2, var(--gray-2));
3478
3477
  --color-ground: var(--neutral-1, var(--gray-1));
3479
- --field-edge: var(--neutral-a4);
3478
+ --field-fill-hover: var(--neutral-3, var(--gray-3));
3480
3479
  --color-thumb: var(--neutral-12, var(--gray-12));
3481
3480
  --color-mark: var(--neutral-5, var(--gray-5));
3482
3481
  --color-mark-hover: var(--neutral-6, var(--gray-6));
@@ -1,3 +0,0 @@
1
- "use client";
2
- import{a as m}from"./chunk-CKJXTEVO.js";import{b as f}from"./chunk-G66WDIIV.js";import{b as s}from"./chunk-MAA6LEE2.js";import{c as i}from"./chunk-OKQAVYW4.js";import*as o from"react";import u from"classnames";var y=o.forwardRef((e,c)=>{let{className:l,color:P,decorative:a,...d}=i(e,m),p=typeof e.orientation=="object"&&e.orientation!==null,{breakpoint:S}=f(p),r="horizontal";if(p){let n=e.orientation;for(let t of s)if(n[t]!==void 0&&(r=n[t]),t===S)break}else e.orientation==="vertical"&&(r="vertical");return o.createElement("span",{"data-accent-color":P,role:a?void 0:"separator","aria-orientation":a?void 0:r,...d,ref:c,className:u("kui-Separator",l)})});y.displayName="Separator";export{y as a};
3
- //# sourceMappingURL=chunk-2IU5XPR2.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/separator.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\n\nimport { separatorPropDefs } from './separator.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useBreakpoint } from '../hooks/use-breakpoint.js';\nimport { SHELL_BREAKPOINTS } from './shell.types.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype SeparatorElement = React.ElementRef<'span'>;\ntype SeparatorOwnProps = GetPropDefTypes<typeof separatorPropDefs>;\ninterface SeparatorProps extends ComponentPropsWithout<'span', RemovedProps>, SeparatorOwnProps {}\ntype Orientation = 'horizontal' | 'vertical';\n\nconst Separator = React.forwardRef<SeparatorElement, SeparatorProps>((props, forwardedRef) => {\n const { className, color, decorative, ...separatorProps } = extractProps(props, separatorPropDefs);\n const responsive = typeof props.orientation === 'object' && props.orientation !== null;\n const { breakpoint } = useBreakpoint(responsive);\n\n // A responsive orientation announces the one drawn at the current breakpoint.\n let orientation: Orientation = 'horizontal';\n if (responsive) {\n const values = props.orientation as Partial<Record<string, Orientation>>;\n for (const bp of SHELL_BREAKPOINTS) {\n if (values[bp] !== undefined) orientation = values[bp]!;\n if (bp === breakpoint) break;\n }\n } else if (props.orientation === 'vertical') {\n orientation = 'vertical';\n }\n\n return (\n <span\n data-accent-color={color}\n role={decorative ? undefined : 'separator'}\n aria-orientation={decorative ? undefined : orientation}\n {...separatorProps}\n ref={forwardedRef}\n className={classNames('kui-Separator', className)}\n />\n );\n});\nSeparator.displayName = 'Separator';\n\nexport { Separator };\nexport type { SeparatorProps };\n"],
5
- "mappings": ";gKAEA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aAevB,IAAMC,EAAkB,aAA6C,CAACC,EAAOC,IAAiB,CAC5F,GAAM,CAAE,UAAAC,EAAW,MAAAC,EAAO,WAAAC,EAAY,GAAGC,CAAe,EAAIC,EAAaN,EAAOO,CAAiB,EAC3FC,EAAa,OAAOR,EAAM,aAAgB,UAAYA,EAAM,cAAgB,KAC5E,CAAE,WAAAS,CAAW,EAAIC,EAAcF,CAAU,EAG3CG,EAA2B,aAC/B,GAAIH,EAAY,CACd,IAAMI,EAASZ,EAAM,YACrB,QAAWa,KAAMC,EAEf,GADIF,EAAOC,CAAE,IAAM,SAAWF,EAAcC,EAAOC,CAAE,GACjDA,IAAOJ,EAAY,KAE3B,MAAWT,EAAM,cAAgB,aAC/BW,EAAc,YAGhB,OACE,gBAAC,QACC,oBAAmBR,EACnB,KAAMC,EAAa,OAAY,YAC/B,mBAAkBA,EAAa,OAAYO,EAC1C,GAAGN,EACJ,IAAKJ,EACL,UAAWc,EAAW,gBAAiBb,CAAS,EAClD,CAEJ,CAAC,EACDH,EAAU,YAAc",
6
- "names": ["React", "classNames", "Separator", "props", "forwardedRef", "className", "color", "decorative", "separatorProps", "extractProps", "separatorPropDefs", "responsive", "breakpoint", "useBreakpoint", "orientation", "values", "bp", "SHELL_BREAKPOINTS", "classNames"]
7
- }
@@ -1,3 +0,0 @@
1
- "use client";
2
- import{a as u,e as G,f as P,g as f}from"./chunk-2VSRZ4IT.js";import{a as x}from"./chunk-IE5ACUZS.js";import{a as n}from"./chunk-6UZT3ZLO.js";import{b}from"./chunk-GKDGNPBD.js";import{b as a}from"./chunk-5ON3XLRD.js";import{c as k}from"./chunk-OKQAVYW4.js";import{a as N}from"./chunk-VQPANPMI.js";var z={};N(z,{Item:()=>y,Root:()=>d});import*as o from"react";import h from"classnames";import{Context as E}from"radix-ui/internal";var l="CheckboxGroup",[S]=E.createContextScope(l,[u]),R=u(),[_,I]=S(l),d=o.forwardRef(({color:s=x.color.default,size:e,...t},r)=>{let p=a(e,x.size),{__scopeCheckboxGroup:c,className:m,...i}=t,v=R(c);return o.createElement(_,{scope:c,color:s,size:p},o.createElement(G,{...v,...i,ref:r,className:h("kui-CheckboxGroupRoot",m)}))});d.displayName="CheckboxGroup.Root";var y=o.forwardRef((s,e)=>{let{__scopeCheckboxGroup:t,children:r,className:p,style:c,...m}=s,{size:i}=I("CheckboxGroupItem",t);return r?o.createElement(n,{as:"label",size:i,className:h("kui-CheckboxGroupItem",p),style:c},o.createElement(C,{__scopeCheckboxGroup:t,...m,ref:e}),r&&o.createElement("span",{className:"kui-CheckboxGroupItemInner"},r)):o.createElement(C,{__scopeCheckboxGroup:t,...m,ref:e,className:p,style:c})});y.displayName="CheckboxGroup.Item";var C=o.forwardRef(({__scopeCheckboxGroup:s,...e},t)=>{let r=I("CheckboxGroupItemCheckbox",s),p=R(s),{color:c,className:m}=k({...e,...r},x);return o.createElement(P,{...p,"data-accent-color":c,...e,ref:t,className:h("kui-reset","kui-BaseCheckboxRoot","kui-CheckboxGroupItemCheckbox",m)},o.createElement(f,{...p,asChild:!0,className:"kui-BaseCheckboxIndicator"},o.createElement(b,null)))});C.displayName="CheckboxGroup.ItemCheckbox";export{d as a,y as b,z as c};
3
- //# sourceMappingURL=chunk-37GC4A2O.js.map
@@ -1,3 +0,0 @@
1
- "use client";
2
- import{a as i}from"./chunk-SV3CYQY5.js";import{c as n}from"./chunk-OKQAVYW4.js";import*as e from"react";import{Slot as P}from"radix-ui";var g=e.memo(e.forwardRef((d,o)=>{let{children:p,className:t,asChild:m,as:H="h2",color:r,...s}=n(d,i),a=t?`kui-Heading ${t}`:"kui-Heading";return m?e.createElement(P.Root,{"data-accent-color":r,...s,ref:o,className:a},p):e.createElement(H,{"data-accent-color":r,...s,ref:o,className:a},p)}));g.displayName="Heading";export{g as a};
3
- //# sourceMappingURL=chunk-3H23GRNQ.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/heading.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nimport { Slot } from 'radix-ui';\n\nimport { headingPropDefs } from './heading.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype HeadingElement = React.ElementRef<'h2'>;\ntype HeadingOwnProps = GetPropDefTypes<typeof headingPropDefs>;\ninterface CommonHeadingProps extends HeadingOwnProps {}\ntype HeadingH1Props = { as: 'h1' } & ComponentPropsWithout<'h1', RemovedProps>;\ntype HeadingH2Props = { as?: 'h2' } & ComponentPropsWithout<'h2', RemovedProps>;\ntype HeadingH3Props = { as: 'h3' } & ComponentPropsWithout<'h3', RemovedProps>;\ntype HeadingH4Props = { as: 'h4' } & ComponentPropsWithout<'h4', RemovedProps>;\ntype HeadingH5Props = { as: 'h5' } & ComponentPropsWithout<'h5', RemovedProps>;\ntype HeadingH6Props = { as: 'h6' } & ComponentPropsWithout<'h6', RemovedProps>;\ntype HeadingProps = CommonHeadingProps &\n (HeadingH1Props | HeadingH2Props | HeadingH3Props | HeadingH4Props | HeadingH5Props | HeadingH6Props);\n\n// Pre-merge prop definitions at module level to avoid per-render allocation\n\nconst Heading = React.memo(\n React.forwardRef<HeadingElement, HeadingProps>((props, forwardedRef) => {\n const {\n children,\n className,\n asChild,\n as: Tag = 'h2',\n color,\n ...headingProps\n } = extractProps(props, headingPropDefs);\n\n const combinedClassName = className ? `kui-Heading ${className}` : 'kui-Heading';\n\n if (asChild) {\n return (\n <Slot.Root\n data-accent-color={color}\n {...headingProps}\n ref={forwardedRef}\n className={combinedClassName}\n >\n {children}\n </Slot.Root>\n );\n }\n\n return (\n <Tag\n data-accent-color={color}\n {...(headingProps as React.HTMLAttributes<HTMLHeadingElement>)}\n ref={forwardedRef as any}\n className={combinedClassName}\n >\n {children}\n </Tag>\n );\n })\n);\nHeading.displayName = 'Heading';\n\nexport { Heading };\nexport type { HeadingProps };\n"],
5
- "mappings": ";gFAAA,UAAYA,MAAW,QACvB,OAAS,QAAAC,MAAY,WAsBrB,IAAMC,EAAgB,OACd,aAAyC,CAACC,EAAOC,IAAiB,CACtE,GAAM,CACJ,SAAAC,EACA,UAAAC,EACA,QAAAC,EACA,GAAIC,EAAM,KACV,MAAAC,EACA,GAAGC,CACL,EAAIC,EAAaR,EAAOS,CAAe,EAEjCC,EAAoBP,EAAY,eAAeA,CAAS,GAAK,cAEnE,OAAIC,EAEA,gBAACO,EAAK,KAAL,CACC,oBAAmBL,EAClB,GAAGC,EACJ,IAAKN,EACL,UAAWS,GAEVR,CACH,EAKF,gBAACG,EAAA,CACC,oBAAmBC,EAClB,GAAIC,EACL,IAAKN,EACL,UAAWS,GAEVR,CACH,CAEJ,CAAC,CACH,EACAH,EAAQ,YAAc",
6
- "names": ["React", "Slot", "Heading", "props", "forwardedRef", "children", "className", "asChild", "Tag", "color", "headingProps", "extractProps", "headingPropDefs", "combinedClassName", "Slot"]
7
- }
@@ -1,3 +0,0 @@
1
- "use client";
2
- import{a as v,b as G,c as O}from"./chunk-PT4KBXXP.js";import{b as D,c as L}from"./chunk-N3QLHFHB.js";import{a as x}from"./chunk-KOAWATCI.js";import{a as b}from"./chunk-ILWS2JUE.js";import{b as N,c as E}from"./chunk-GKDGNPBD.js";import{b as w}from"./chunk-5ON3XLRD.js";import{c as y}from"./chunk-OKQAVYW4.js";import{a as F}from"./chunk-VQPANPMI.js";var J={};F(J,{Content:()=>z,Group:()=>W,Item:()=>V,Label:()=>K,Root:()=>A,Separator:()=>H,Trigger:()=>B});import*as e from"react";import S from"classnames";import{Select as r,ScrollArea as C}from"radix-ui";var M={size:v.size},_=[" ","Enter","ArrowUp","ArrowDown"],g=e.createContext({}),A=o=>{let{children:t,size:a,open:n,defaultOpen:c,onOpenChange:s,...P}=o,p=w(a,v.size),[u,i]=e.useState(c??!1),m=n??u,f=e.useCallback(d=>{i(d),s?.(d)},[s]);return e.createElement(r.Root,{...P,open:m,onOpenChange:f},e.createElement(g.Provider,{value:e.useMemo(()=>({size:p,open:m}),[p,m])},t))};A.displayName="Select.Root";var B=e.forwardRef((o,t)=>{let a=e.useContext(g),{children:n,className:c,color:s,radius:P,placeholder:p,error:u,loading:i,disabled:m,readOnly:f,...d}=y({size:a?.size,...o},M,G),{"aria-invalid":R,"aria-busy":h,"aria-disabled":T,"aria-readonly":I}=d,k=!!u||R===!0||R==="true",j=e.useMemo(()=>({"aria-invalid":k?!0:R,"aria-busy":i||h,"aria-disabled":m||T,"aria-readonly":f||I}),[k,R,i,h,m,T,f,I]),U=!!(f||i)?{onPointerDown:l=>l.preventDefault(),onClick:l=>{l.preventDefault(),l.currentTarget.focus()},onKeyDown:l=>{let Y=l.ctrlKey||l.altKey||l.metaKey;(_.includes(l.key)||!Y&&l.key.length===1)&&l.preventDefault()}}:void 0;return e.createElement(r.Trigger,{asChild:!0,disabled:m,...U},e.createElement("button",{"data-accent-color":s,"data-radius":P,"data-error":u,"data-loading":i,...d,...j,ref:t,className:S("kui-reset","kui-SelectTrigger",c)},e.createElement("span",{className:"kui-SelectTriggerInner"},e.createElement(r.Value,{placeholder:p},n)),e.createElement(r.Icon,{asChild:!0},i?e.createElement("span",{className:"kui-SelectIcon kui-SelectLoadingIcon","aria-hidden":"true"},e.createElement(b,null)):e.createElement(E,{className:"kui-SelectIcon"}))))});B.displayName="Select.Trigger";var z=e.forwardRef((o,t)=>{let a=e.useContext(g),{className:n,children:c,color:s,container:P,...p}=y({size:a?.size,...o},M,O),u=D();if(a.open===!1&&!p.forceMount)return e.createElement(r.Portal,{container:P},e.createElement(r.Content,{...p,asChild:!1,ref:t},c));let i=s||u.accentColor;return e.createElement(r.Portal,{container:P},e.createElement(L,{asChild:!0},e.createElement(r.Content,{"data-accent-color":i,sideOffset:4,...p,asChild:!1,ref:t,className:S("kui-PopperContent","kui-BaseMenuContent","kui-variant-soft","kui-SelectContent",n)},e.createElement(q,null,c))))});z.displayName="Select.Content";function q({children:o}){let t=x();return e.createElement(C.Root,{type:"auto",className:"kui-ScrollAreaRoot"},e.createElement(r.Viewport,{asChild:!0,className:S("kui-BaseMenuViewport","kui-SelectViewport")},e.createElement(C.Viewport,{ref:t,className:"kui-ScrollAreaViewport",style:{overflowY:void 0}},o)),e.createElement(C.Scrollbar,{className:"kui-ScrollAreaScrollbar",orientation:"vertical"},e.createElement(C.Thumb,{className:"kui-ScrollAreaThumb"})))}var V=e.forwardRef((o,t)=>{let{className:a,children:n,...c}=o,s=typeof n!="string";return e.createElement(r.Item,{...c,asChild:!1,ref:t,className:S("kui-reset","kui-BaseMenuItem","kui-SelectItem",{"kui-SelectItemRich":s},a)},e.createElement(r.ItemIndicator,{className:"kui-SelectItemIndicator"},e.createElement(N,{className:"kui-SelectItemIndicatorIcon"})),e.createElement(r.ItemText,null,n))});V.displayName="Select.Item";var W=e.forwardRef(({className:o,...t},a)=>e.createElement(r.Group,{...t,asChild:!1,ref:a,className:S("kui-SelectGroup",o)}));W.displayName="Select.Group";var K=e.forwardRef(({className:o,...t},a)=>e.createElement(r.Label,{...t,asChild:!1,ref:a,className:S("kui-BaseMenuLabel","kui-SelectLabel",o)}));K.displayName="Select.Label";var H=e.forwardRef(({className:o,...t},a)=>e.createElement(r.Separator,{...t,asChild:!1,ref:a,className:S("kui-BaseMenuSeparator","kui-SelectSeparator",o)}));H.displayName="Select.Separator";export{A as a,B as b,z as c,V as d,W as e,K as f,H as g,J as h};
3
- //# sourceMappingURL=chunk-3L2MDOYC.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/select.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Select as SelectPrimitive, ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\n\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSize } from '../hooks/theme-size.js';\nimport { ChevronDownIcon, ThickCheckIcon } from './icons.js';\nimport { Spinner } from './spinner.js';\nimport {\n selectRootPropDefs,\n selectTriggerPropDefs,\n selectContentPropDefs,\n} from './select.props.js';\nimport { useThemeContext, Theme } from './theme.js';\nimport { useThumbSync } from '../hooks/use-thumb-sync.js';\n\nimport type { GetPropDefTypes } from '../props/prop-def.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\ntype SelectRootOwnProps = GetPropDefTypes<typeof selectRootPropDefs>;\n\n// Trigger and Content pass the size prop def as its own record. It is hoisted because\n// extractProps caches its compiled prop defs on the identity of each record it is given:\n// a literal written at the call site would be a new object, and a recompile, every render.\nconst selectSizePropDefs = { size: selectRootPropDefs.size };\n\n// Keys that open the list from the trigger, as in Radix.\nconst OPEN_KEYS = [' ', 'Enter', 'ArrowUp', 'ArrowDown'];\n\ninterface SelectContextValue extends SelectRootOwnProps {\n /** Whether the list is open. Undefined when Content is rendered outside a Kookie Select.Root. */\n open?: boolean;\n}\nconst SelectContext = React.createContext<SelectContextValue>({});\n\ninterface SelectRootProps extends SelectPrimitive.SelectProps, SelectRootOwnProps {}\nconst SelectRoot: React.FC<SelectRootProps> = (props) => {\n const {\n children,\n size: sizeProp,\n open: openProp,\n defaultOpen,\n onOpenChange,\n ...rootProps\n } = props;\n const size = useThemeSize(sizeProp, selectRootPropDefs.size);\n\n // Root owns the open state and hands Radix a controlled `open`, so Content learns of a\n // change in the same render Radix does. Radix's uncontrolled state reports changes from an\n // effect, a render late, which would mount the open list once without its wrappers.\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen ?? false);\n const open = openProp ?? uncontrolledOpen;\n const handleOpenChange = React.useCallback(\n (next: boolean) => {\n setUncontrolledOpen(next);\n onOpenChange?.(next);\n },\n [onOpenChange],\n );\n\n return (\n <SelectPrimitive.Root {...rootProps} open={open} onOpenChange={handleOpenChange}>\n <SelectContext.Provider value={React.useMemo(() => ({ size, open }), [size, open])}>\n {children}\n </SelectContext.Provider>\n </SelectPrimitive.Root>\n );\n};\nSelectRoot.displayName = 'Select.Root';\n\ntype SelectTriggerElement = React.ElementRef<typeof SelectPrimitive.Trigger>;\ntype SelectTriggerOwnProps = GetPropDefTypes<typeof selectTriggerPropDefs>;\ninterface SelectTriggerProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Trigger, RemovedProps>,\n SelectTriggerOwnProps {}\nconst SelectTrigger = React.forwardRef<SelectTriggerElement, SelectTriggerProps>(\n (props, forwardedRef) => {\n const context = React.useContext(SelectContext);\n const {\n children,\n className,\n color,\n radius,\n placeholder,\n error,\n loading,\n disabled,\n readOnly,\n ...triggerProps\n } = extractProps(\n // Pass size value from the context to generate styles\n { size: context?.size, ...props },\n // Pass size prop def to allow it to be extracted\n selectSizePropDefs,\n selectTriggerPropDefs,\n );\n\n // The props win when set; otherwise a caller's own aria-* (a form library's aria-invalid)\n // stays, so both paths reach the accessibility tree and the CSS, as on TextField.\n const {\n 'aria-invalid': ariaInvalid,\n 'aria-busy': ariaBusy,\n 'aria-disabled': ariaDisabled,\n 'aria-readonly': ariaReadOnly,\n } = triggerProps;\n const isInvalid = Boolean(error) || ariaInvalid === true || ariaInvalid === 'true';\n const ariaProps = React.useMemo(\n () => ({\n 'aria-invalid': isInvalid ? true : ariaInvalid,\n 'aria-busy': loading || ariaBusy,\n 'aria-disabled': disabled || ariaDisabled,\n 'aria-readonly': readOnly || ariaReadOnly,\n }),\n [isInvalid, ariaInvalid, loading, ariaBusy, disabled, ariaDisabled, readOnly, ariaReadOnly],\n );\n\n // Read-only and loading triggers stay focusable but do not open or take typeahead,\n // as on Combobox. Radix skips its own handler when the event is default-prevented.\n const isBlocked = Boolean(readOnly || loading);\n const blockedHandlers = isBlocked\n ? {\n onPointerDown: (event: React.PointerEvent<HTMLButtonElement>) => event.preventDefault(),\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n event.currentTarget.focus();\n },\n onKeyDown: (event: React.KeyboardEvent<HTMLButtonElement>) => {\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (OPEN_KEYS.includes(event.key) || (!isModifierKey && event.key.length === 1)) {\n event.preventDefault();\n }\n },\n }\n : undefined;\n\n return (\n // `disabled` goes to Radix, which merges it with Root's and sets the native attribute.\n <SelectPrimitive.Trigger asChild disabled={disabled} {...blockedHandlers}>\n <button\n data-accent-color={color}\n data-radius={radius}\n data-error={error}\n data-loading={loading}\n {...triggerProps}\n {...ariaProps}\n ref={forwardedRef}\n className={classNames('kui-reset', 'kui-SelectTrigger', className)}\n >\n <span className=\"kui-SelectTriggerInner\">\n <SelectPrimitive.Value placeholder={placeholder}>{children}</SelectPrimitive.Value>\n </span>\n <SelectPrimitive.Icon asChild>\n {loading ? (\n <span className=\"kui-SelectIcon kui-SelectLoadingIcon\" aria-hidden=\"true\">\n <Spinner />\n </span>\n ) : (\n <ChevronDownIcon className=\"kui-SelectIcon\" />\n )}\n </SelectPrimitive.Icon>\n </button>\n </SelectPrimitive.Trigger>\n );\n },\n);\nSelectTrigger.displayName = 'Select.Trigger';\n\ntype SelectContentElement = React.ElementRef<typeof SelectPrimitive.Content>;\ntype SelectContentOwnProps = GetPropDefTypes<typeof selectContentPropDefs>;\ninterface SelectContentProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Content, RemovedProps>,\n SelectContentOwnProps {\n container?: React.ComponentPropsWithoutRef<typeof SelectPrimitive.Portal>['container'];\n}\nconst SelectContent = React.forwardRef<SelectContentElement, SelectContentProps>(\n (props, forwardedRef) => {\n const context = React.useContext(SelectContext);\n const { className, children, color, container, ...contentProps } = extractProps(\n // Pass size value from the context to generate styles\n { size: context?.size, ...props },\n // Pass size prop def to allow it to be extracted\n selectSizePropDefs,\n selectContentPropDefs,\n );\n const themeContext = useThemeContext();\n\n // While closed, Radix still renders Content's children, into a detached fragment: the\n // items must exist for the trigger's value label, typeahead and the native form select.\n // Nothing in that fragment is ever shown, so the theme wrapper and the scroll area, with\n // its two resize observers, are left out until the list opens.\n if (context.open === false && !contentProps.forceMount) {\n return (\n <SelectPrimitive.Portal container={container}>\n <SelectPrimitive.Content {...contentProps} asChild={false} ref={forwardedRef}>\n {children}\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n }\n\n const resolvedColor = color || themeContext.accentColor;\n return (\n <SelectPrimitive.Portal container={container}>\n <Theme asChild>\n <SelectPrimitive.Content\n data-accent-color={resolvedColor}\n sideOffset={4}\n {...contentProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'kui-PopperContent',\n 'kui-BaseMenuContent',\n 'kui-variant-soft',\n 'kui-SelectContent',\n className,\n )}\n >\n <SelectScrollArea>{children}</SelectScrollArea>\n </SelectPrimitive.Content>\n </Theme>\n </SelectPrimitive.Portal>\n );\n },\n);\nSelectContent.displayName = 'Select.Content';\n\n/** The open list's scroll area. Its own component so the thumb sync hook runs only while open. */\nfunction SelectScrollArea({ children }: { children: React.ReactNode }) {\n const setThumbViewport = useThumbSync<HTMLDivElement>();\n return (\n <ScrollAreaPrimitive.Root type=\"auto\" className=\"kui-ScrollAreaRoot\">\n <SelectPrimitive.Viewport\n asChild\n className={classNames('kui-BaseMenuViewport', 'kui-SelectViewport')}\n >\n <ScrollAreaPrimitive.Viewport\n ref={setThumbViewport}\n className=\"kui-ScrollAreaViewport\"\n style={{ overflowY: undefined }}\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n </SelectPrimitive.Viewport>\n <ScrollAreaPrimitive.Scrollbar className=\"kui-ScrollAreaScrollbar\" orientation=\"vertical\">\n <ScrollAreaPrimitive.Thumb className=\"kui-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n </ScrollAreaPrimitive.Root>\n );\n}\n\ntype SelectItemElement = React.ElementRef<typeof SelectPrimitive.Item>;\ninterface SelectItemProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Item, RemovedProps> {}\nconst SelectItem = React.forwardRef<SelectItemElement, SelectItemProps>((props, forwardedRef) => {\n const { className, children, ...itemProps } = props;\n\n // Detect if this is rich content (not just a string)\n const isRichContent = typeof children !== 'string';\n\n return (\n <SelectPrimitive.Item\n {...itemProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'kui-reset',\n 'kui-BaseMenuItem',\n 'kui-SelectItem',\n { 'kui-SelectItemRich': isRichContent },\n className,\n )}\n >\n <SelectPrimitive.ItemIndicator className=\"kui-SelectItemIndicator\">\n <ThickCheckIcon className=\"kui-SelectItemIndicatorIcon\" />\n </SelectPrimitive.ItemIndicator>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n});\nSelectItem.displayName = 'Select.Item';\n\ntype SelectGroupElement = React.ElementRef<typeof SelectPrimitive.Group>;\ninterface SelectGroupProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Group, RemovedProps> {}\nconst SelectGroup = React.forwardRef<SelectGroupElement, SelectGroupProps>(\n ({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.Group\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-SelectGroup', className)}\n />\n ),\n);\nSelectGroup.displayName = 'Select.Group';\n\ntype SelectLabelElement = React.ElementRef<typeof SelectPrimitive.Label>;\ninterface SelectLabelProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Label, RemovedProps> {}\nconst SelectLabel = React.forwardRef<SelectLabelElement, SelectLabelProps>(\n ({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.Label\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-BaseMenuLabel', 'kui-SelectLabel', className)}\n />\n ),\n);\nSelectLabel.displayName = 'Select.Label';\n\ntype SelectSeparatorElement = React.ElementRef<typeof SelectPrimitive.Separator>;\ninterface SelectSeparatorProps\n extends ComponentPropsWithout<typeof SelectPrimitive.Separator, RemovedProps> {}\nconst SelectSeparator = React.forwardRef<SelectSeparatorElement, SelectSeparatorProps>(\n ({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.Separator\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-BaseMenuSeparator', 'kui-SelectSeparator', className)}\n />\n ),\n);\nSelectSeparator.displayName = 'Select.Separator';\n\nexport {\n SelectRoot as Root,\n SelectTrigger as Trigger,\n SelectContent as Content,\n SelectItem as Item,\n SelectGroup as Group,\n SelectLabel as Label,\n SelectSeparator as Separator,\n};\n\nexport type {\n SelectRootProps as RootProps,\n SelectTriggerProps as TriggerProps,\n SelectContentProps as ContentProps,\n SelectItemProps as ItemProps,\n SelectGroupProps as GroupProps,\n SelectLabelProps as LabelProps,\n SelectSeparatorProps as SeparatorProps,\n};\n"],
5
- "mappings": "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",
6
- "names": ["select_exports", "__export", "SelectContent", "SelectGroup", "SelectItem", "SelectLabel", "SelectRoot", "SelectSeparator", "SelectTrigger", "React", "classNames", "SelectPrimitive", "ScrollAreaPrimitive", "selectSizePropDefs", "selectRootPropDefs", "OPEN_KEYS", "SelectContext", "SelectRoot", "props", "children", "sizeProp", "openProp", "defaultOpen", "onOpenChange", "rootProps", "size", "useThemeSize", "uncontrolledOpen", "setUncontrolledOpen", "open", "handleOpenChange", "next", "SelectPrimitive", "SelectTrigger", "forwardedRef", "context", "className", "color", "radius", "placeholder", "error", "loading", "disabled", "readOnly", "triggerProps", "extractProps", "selectTriggerPropDefs", "ariaInvalid", "ariaBusy", "ariaDisabled", "ariaReadOnly", "isInvalid", "ariaProps", "blockedHandlers", "event", "isModifierKey", "classNames", "Spinner", "ChevronDownIcon", "SelectContent", "container", "contentProps", "selectContentPropDefs", "themeContext", "useThemeContext", "resolvedColor", "Theme", "SelectScrollArea", "setThumbViewport", "useThumbSync", "ScrollAreaPrimitive", "SelectItem", "itemProps", "isRichContent", "ThickCheckIcon", "SelectGroup", "SelectLabel", "SelectSeparator"]
7
- }
@@ -1,3 +0,0 @@
1
- "use client";
2
- import{b as o}from"./chunk-XU74PNM2.js";import{c as e}from"./chunk-HBWBPBSA.js";var s=["1","2","3","4"],i={size:{type:"enum",className:"kui-r-size",values:s,default:"2",responsive:!0},showTickLabels:{type:"boolean"},snapToTicks:{type:"boolean"},...e,...o};export{i as a};
3
- //# sourceMappingURL=chunk-4S5L25RO.js.map
@@ -1,3 +0,0 @@
1
- "use client";
2
- import{a as re,b as ae}from"./chunk-FPGBCCML.js";import{a as B,b as te,c as D}from"./chunk-7ROKZHH2.js";import{a as oe}from"./chunk-WUCBFB25.js";import{a as ee}from"./chunk-TGRHRMQI.js";import{b as Y,c as Z}from"./chunk-N3QLHFHB.js";import{a as U}from"./chunk-ILWS2JUE.js";import{b as J,c as Q}from"./chunk-GKDGNPBD.js";import{c as _}from"./chunk-5KMEUZWN.js";import{b as X}from"./chunk-5ON3XLRD.js";import{c as O}from"./chunk-OKQAVYW4.js";import{a as Ie}from"./chunk-VQPANPMI.js";var Fe={};Ie(Fe,{Content:()=>xe,Empty:()=>Re,Group:()=>ye,Input:()=>Pe,Item:()=>Se,Label:()=>he,List:()=>ge,Root:()=>de,Separator:()=>ve,Trigger:()=>Ce,Value:()=>fe});import*as e from"react";import d from"classnames";import{Popover as ne}from"radix-ui";import{useCallbackRef as A,useComposedRefs as le,useControllableState as G,useLayoutEffect as W}from"radix-ui/internal";import{Command as T,useCommandState as se}from"cmdk";var we={size:B.size},Ne={size:D.size},ie=new Set;function Le(o){ie.has(o)||(ie.add(o),console.warn(o))}function Oe(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 me=e.createContext(null),M=o=>{let r=e.useContext(me);if(!r)throw new Error(`Combobox.${o} must be used within Combobox.Root`);return r},ce=e.createContext(null),be=e.createContext(null),ue=e.createContext(null),pe=()=>e.useContext(ue);function De(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 de=o=>{let{children:r,size:t,value:a,defaultValue:n=null,onValueChange:s,open:m,defaultOpen:C=!1,onOpenChange:l,placeholder:c="Select an option",searchPlaceholder:P="Search...",searchValue:g,defaultSearchValue:R="",onSearchValueChange:y,filter:f,shouldFilter:i=!0,loop:b=!0,disabled:h,resetSearchOnSelect:x=!0,resetSearchOnClose:S=!0,color:V,displayValue:v,...k}=o,p=X(t,B.size),[E,I]=G({prop:m,defaultProp:C,onChange:l}),[u,Ve]=G({prop:a,defaultProp:n,onChange:s}),[j,w]=G({prop:g,defaultProp:R,onChange:y}),K=typeof v=="function"?v(u):v,[N]=e.useState(()=>Oe(u));W(()=>{N.set(u)},[N,u]);let F=A(L=>{I(L),!L&&S&&w("")}),q=A(L=>{Ve(L),I(!1),x&&w("")}),z=e.useRef(null),$=e.useCallback(()=>z.current?De(z.current):void 0,[]),Ee=e.useMemo(()=>({value:u,displayValue:K,setOpen:F,size:p,placeholder:c,searchPlaceholder:P,disabled:h,color:V,loop:b,shouldFilter:i,filter:f,triggerRef:z,getTriggerLabel:$}),[u,K,F,p,c,P,h,V,b,i,f,$]),ke=e.useMemo(()=>({value:j,setValue:w}),[j,w]),Te=e.useMemo(()=>({store:N,onSelect:q,disabled:h}),[N,q,h]);return e.createElement(me.Provider,{value:Ee},e.createElement(ce.Provider,{value:ke},e.createElement(be.Provider,{value:Te},e.createElement(re,{open:E,onOpenChange:F,...k},r))))};de.displayName="Combobox.Root";var Ce=e.forwardRef((o,r)=>{let t=M("Trigger"),{children:a,className:n,placeholder:s,disabled:m,readOnly:C,error:l,loading:c,color:P,radius:g,onClick:R,onKeyDown:y,type:f,...i}=O({size:t.size,...o},we,te),b=m??t.disabled,h=P??t.color,x=!!(C||c),S=t.value==null&&t.displayValue==null,V=le(r,t.triggerRef),{getTriggerLabel:v}=t;e.useEffect(()=>{},[v]);let k=u=>{R?.(u),x&&u.preventDefault()},p=u=>{y?.(u),!(u.defaultPrevented||x||b)&&(u.key==="ArrowDown"||u.key==="ArrowUp")&&(u.preventDefault(),t.setOpen(!0))},E=e.createElement("span",{className:"kui-SelectIcon kui-SelectLoadingIcon","aria-hidden":"true"},e.createElement(U,null)),I=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(Q,{className:"kui-SelectIcon"}));return e.createElement(ae,{disabled:b},e.createElement("button",{"data-accent-color":h,"data-radius":g,"data-error":l,"data-loading":c,"data-disabled":b||void 0,"data-read-only":C||void 0,"data-placeholder":S?"":void 0,...i,role:"combobox","aria-disabled":b||i["aria-disabled"],"aria-readonly":C||i["aria-readonly"],"aria-invalid":l||i["aria-invalid"],"aria-busy":c||i["aria-busy"],type:f??"button",disabled:b,onClick:k,onKeyDown:p,ref:V,className:d("kui-reset","kui-SelectTrigger","kui-ComboboxTrigger",n)},a?e.createElement(e.Fragment,null,ee(a),c?E:null):I))});Ce.displayName="Combobox.Trigger";var fe=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)});fe.displayName="Combobox.Value";function Me(){let o=se(n=>n.filtered.count),r=se(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(oe,{role:"status","aria-live":"polite","aria-atomic":"true"},t)}var xe=e.forwardRef((o,r)=>{let t=M("Content"),a=Y(),n=o.size??t.size??D.size.default,{className:s,children:m,color:C,forceMount:l,container:c,onOpenAutoFocus:P,"aria-label":g,"aria-labelledby":R,...y}=O({...o,size:n},D),f=C||t.color||a.accentColor,{getTriggerLabel:i}=t,[b,h]=e.useState(i);W(()=>{if(b!==void 0)return;let p=i();p!==void 0&&h(p)},[i,b]);let x=o["aria-label"]??b,S=e.useMemo(()=>({sizeClassName:O({size:n},Ne).className||void 0,color:f,label:x}),[n,f,x]),V=e.useRef(null),v=p=>{if(P?.(p),p.defaultPrevented)return;let E=V.current;if(!E||E.querySelector("[cmdk-input]"))return;p.preventDefault(),(E.querySelector("[cmdk-list]")??E).focus({preventScroll:!0})},k=t.value?.trim()||void 0;return e.createElement(ne.Portal,{container:c,forceMount:l?!0:void 0},e.createElement(Z,{asChild:!0},e.createElement(ne.Content,{"data-accent-color":f,align:"start",sideOffset:4,collisionPadding:10,"aria-label":R?void 0:x,"aria-labelledby":R,...y,forceMount:l?!0:void 0,onOpenAutoFocus:v,ref:r,className:d("kui-PopperContent","kui-BaseMenuContent","kui-variant-soft","kui-ComboboxContent",s)},e.createElement(ue.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(Me,null))))))});xe.displayName="Combobox.Content";var Pe=e.forwardRef(({className:o,startAdornment:r,endAdornment:t,placeholder:a,variant:n,value:s,onValueChange:m,...C},l)=>{let c=M("Input"),P=e.useContext(ce),g=pe(),R=n??"soft",y=s??P?.value??"",f=m??P?.setValue,i=e.createElement("div",{className:d("kui-TextFieldRoot","kui-ComboboxInputRoot",g?.sizeClassName,`kui-variant-${R}`),"data-accent-color":g?.color},r?e.createElement("div",{className:"kui-TextFieldSlot"},r):null,e.createElement(T.Input,{...C,ref:l,value:y,onValueChange:f,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});Pe.displayName="Combobox.Input";var ge=e.forwardRef(({className:o,children:r,label:t,...a},n)=>{let s=pe();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)))});ge.displayName="Combobox.List";var Re=e.forwardRef(({className:o,...r},t)=>e.createElement(T.Empty,{...r,ref:t,className:d("kui-ComboboxEmpty",o)}));Re.displayName="Combobox.Empty";var ye=e.forwardRef(({className:o,...r},t)=>e.createElement(T.Group,{...r,ref:t,className:d("kui-BaseMenuGroup","kui-ComboboxGroup",o)}));ye.displayName="Combobox.Group";var he=e.forwardRef(({className:o,id:r,...t},a)=>{let n=e.useId(),s=r??n,m=e.useRef(null),C=le(a,m);return W(()=>{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:C,className:d("kui-BaseMenuLabel","kui-ComboboxLabel",o)})});he.displayName="Combobox.Label";var ve=e.forwardRef(({className:o,...r},t)=>e.createElement(T.Separator,{...r,ref:t,className:d("kui-BaseMenuSeparator","kui-ComboboxSeparator",o)}));ve.displayName="Combobox.Separator";function H(o){return o==null||typeof o=="boolean"?"":typeof o=="string"||typeof o=="number"?String(o):Array.isArray(o)?o.map(H).join(""):e.isValidElement(o)?H(o.props.children):""}var Se=e.forwardRef(({className:o,children:r,label:t,value:a,disabled:n,onSelect:s,keywords:m,...C},l)=>{let c=e.useContext(be);if(!c)throw new Error("Combobox.Item must be used within Combobox.Root");let{store:P,onSelect:g,disabled:R}=c,y=a??(typeof r=="string"?r.trim():void 0),f=()=>y!==void 0&&P.get()===y,i=e.useSyncExternalStore(P.subscribe,f,f),b=A(s),h=e.useCallback(k=>{let p=a??k;g(p),b(p)},[a,g,b]),x=(t??H(r)).replace(/\s+/g," ").trim(),S=x?m?[x,...m]:[x]:m,V=S?S.join("\0"):"",v=n??R??!1;return e.createElement(T.Item,{key:V,...C,value:a,keywords:S,"aria-checked":i,disabled:v||void 0,ref:l,onSelect:h,className:d("kui-reset","kui-BaseMenuItem","kui-ComboboxItem",o)},i?e.createElement("span",{className:d("kui-BaseMenuItemIndicator","kui-ComboboxItemIndicator")},e.createElement(J,{className:d("kui-BaseMenuItemIndicatorIcon","kui-ComboboxItemIndicatorIcon")})):null,e.createElement(_,null,r))});Se.displayName="Combobox.Item";export{de as a,Ce as b,fe as c,xe as d,Pe as e,ge as f,Re as g,ye as h,he as i,ve as j,Se as k,Fe as l};
3
- //# sourceMappingURL=chunk-5CFSNNYS.js.map