@womp/kookie-ui 0.21.0 → 0.22.1

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 (1009) hide show
  1. package/README.md +7 -6
  2. package/codemods/_shared.py +314 -0
  3. package/codemods/components-0.21.py +98 -42
  4. package/codemods/names-0.22.py +65 -0
  5. package/codemods/space-0.17.py +47 -23
  6. package/codemods/test_codemods.py +220 -0
  7. package/codemods/type-0.20.py +60 -31
  8. package/components.css +3527 -3516
  9. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  10. package/dist/cjs/components/_internal/base-button.js +1 -1
  11. package/dist/cjs/components/_internal/base-button.js.map +3 -3
  12. package/dist/cjs/components/_internal/base-button.props.js +1 -1
  13. package/dist/cjs/components/_internal/base-button.props.js.map +2 -2
  14. package/dist/cjs/components/_internal/base-checkbox.props.js +1 -1
  15. package/dist/cjs/components/_internal/base-checkbox.props.js.map +2 -2
  16. package/dist/cjs/components/_internal/base-menu.props.js +1 -1
  17. package/dist/cjs/components/_internal/base-menu.props.js.map +2 -2
  18. package/dist/cjs/components/_internal/base-menu.utils.js +1 -1
  19. package/dist/cjs/components/_internal/base-menu.utils.js.map +2 -2
  20. package/dist/cjs/components/_internal/base-radio.props.js +1 -1
  21. package/dist/cjs/components/_internal/base-radio.props.js.map +2 -2
  22. package/dist/cjs/components/_internal/base-tab-list.props.js +1 -1
  23. package/dist/cjs/components/_internal/base-tab-list.props.js.map +2 -2
  24. package/dist/cjs/components/_internal/dropdown-menu-drill-down.js +1 -1
  25. package/dist/cjs/components/_internal/dropdown-menu-drill-down.js.map +2 -2
  26. package/dist/cjs/components/_internal/menu-context.js.map +1 -1
  27. package/dist/cjs/components/_internal/pane-chrome.js +1 -1
  28. package/dist/cjs/components/_internal/pane-chrome.js.map +2 -2
  29. package/dist/cjs/components/_internal/shell-bottom.js +1 -1
  30. package/dist/cjs/components/_internal/shell-bottom.js.map +2 -2
  31. package/dist/cjs/components/_internal/shell-handles.js +1 -1
  32. package/dist/cjs/components/_internal/shell-handles.js.map +2 -2
  33. package/dist/cjs/components/_internal/shell-inspector.js +1 -1
  34. package/dist/cjs/components/_internal/shell-inspector.js.map +2 -2
  35. package/dist/cjs/components/_internal/shell-resizable.js +1 -1
  36. package/dist/cjs/components/_internal/shell-resizable.js.map +2 -2
  37. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  38. package/dist/cjs/components/_internal/shell-sidebar.js.map +2 -2
  39. package/dist/cjs/components/accordion.js +1 -1
  40. package/dist/cjs/components/accordion.js.map +2 -2
  41. package/dist/cjs/components/accordion.props.js +1 -1
  42. package/dist/cjs/components/accordion.props.js.map +2 -2
  43. package/dist/cjs/components/alert-dialog.js +1 -1
  44. package/dist/cjs/components/alert-dialog.js.map +2 -2
  45. package/dist/cjs/components/alert-dialog.props.js +1 -1
  46. package/dist/cjs/components/alert-dialog.props.js.map +2 -2
  47. package/dist/cjs/components/avatar.d.ts.map +1 -1
  48. package/dist/cjs/components/avatar.js +1 -1
  49. package/dist/cjs/components/avatar.js.map +4 -4
  50. package/dist/cjs/components/avatar.props.d.ts +1 -1
  51. package/dist/cjs/components/avatar.props.d.ts.map +1 -1
  52. package/dist/cjs/components/avatar.props.js +1 -1
  53. package/dist/cjs/components/avatar.props.js.map +2 -2
  54. package/dist/cjs/components/blockquote.js +1 -1
  55. package/dist/cjs/components/blockquote.js.map +2 -2
  56. package/dist/cjs/components/blockquote.props.js +1 -1
  57. package/dist/cjs/components/blockquote.props.js.map +2 -2
  58. package/dist/cjs/components/box.js +1 -1
  59. package/dist/cjs/components/box.js.map +2 -2
  60. package/dist/cjs/components/box.props.js +1 -1
  61. package/dist/cjs/components/box.props.js.map +2 -2
  62. package/dist/cjs/components/button.js +1 -1
  63. package/dist/cjs/components/button.js.map +3 -3
  64. package/dist/cjs/components/button.props.js +1 -1
  65. package/dist/cjs/components/button.props.js.map +2 -2
  66. package/dist/cjs/components/card.js +1 -1
  67. package/dist/cjs/components/card.js.map +2 -2
  68. package/dist/cjs/components/card.props.js +1 -1
  69. package/dist/cjs/components/card.props.js.map +2 -2
  70. package/dist/cjs/components/chatbar.js +1 -1
  71. package/dist/cjs/components/chatbar.js.map +3 -3
  72. package/dist/cjs/components/checkbox-group.js +1 -1
  73. package/dist/cjs/components/checkbox-group.js.map +2 -2
  74. package/dist/cjs/components/checkbox-group.props.js +1 -1
  75. package/dist/cjs/components/checkbox-group.props.js.map +2 -2
  76. package/dist/cjs/components/checkbox.js +1 -1
  77. package/dist/cjs/components/checkbox.js.map +3 -3
  78. package/dist/cjs/components/checkbox.props.js +1 -1
  79. package/dist/cjs/components/checkbox.props.js.map +2 -2
  80. package/dist/cjs/components/chip.js +1 -1
  81. package/dist/cjs/components/chip.js.map +2 -2
  82. package/dist/cjs/components/chip.props.js +1 -1
  83. package/dist/cjs/components/chip.props.js.map +2 -2
  84. package/dist/cjs/components/code.js +1 -1
  85. package/dist/cjs/components/code.js.map +2 -2
  86. package/dist/cjs/components/code.props.js +1 -1
  87. package/dist/cjs/components/code.props.js.map +2 -2
  88. package/dist/cjs/components/combobox.d.ts.map +1 -1
  89. package/dist/cjs/components/combobox.js +1 -1
  90. package/dist/cjs/components/combobox.js.map +3 -3
  91. package/dist/cjs/components/combobox.props.js +1 -1
  92. package/dist/cjs/components/combobox.props.js.map +2 -2
  93. package/dist/cjs/components/context-menu.js +1 -1
  94. package/dist/cjs/components/context-menu.js.map +2 -2
  95. package/dist/cjs/components/context-menu.props.js +1 -1
  96. package/dist/cjs/components/context-menu.props.js.map +2 -2
  97. package/dist/cjs/components/dialog.js +1 -1
  98. package/dist/cjs/components/dialog.js.map +2 -2
  99. package/dist/cjs/components/dialog.props.js +1 -1
  100. package/dist/cjs/components/dialog.props.js.map +2 -2
  101. package/dist/cjs/components/dropdown-menu.js +1 -1
  102. package/dist/cjs/components/dropdown-menu.js.map +3 -3
  103. package/dist/cjs/components/dropdown-menu.props.js +1 -1
  104. package/dist/cjs/components/dropdown-menu.props.js.map +2 -2
  105. package/dist/cjs/components/flex.js +1 -1
  106. package/dist/cjs/components/flex.js.map +2 -2
  107. package/dist/cjs/components/flex.props.js +1 -1
  108. package/dist/cjs/components/flex.props.js.map +2 -2
  109. package/dist/cjs/components/grid.js +1 -1
  110. package/dist/cjs/components/grid.js.map +2 -2
  111. package/dist/cjs/components/grid.props.js +1 -1
  112. package/dist/cjs/components/grid.props.js.map +2 -2
  113. package/dist/cjs/components/heading.js +1 -1
  114. package/dist/cjs/components/heading.js.map +2 -2
  115. package/dist/cjs/components/heading.props.js +1 -1
  116. package/dist/cjs/components/heading.props.js.map +2 -2
  117. package/dist/cjs/components/index.js +5 -5
  118. package/dist/cjs/components/index.js.map +3 -3
  119. package/dist/cjs/components/kbd.js +1 -1
  120. package/dist/cjs/components/kbd.js.map +2 -2
  121. package/dist/cjs/components/kbd.props.js +1 -1
  122. package/dist/cjs/components/kbd.props.js.map +2 -2
  123. package/dist/cjs/components/link.js +1 -1
  124. package/dist/cjs/components/link.js.map +2 -2
  125. package/dist/cjs/components/link.props.js +1 -1
  126. package/dist/cjs/components/link.props.js.map +2 -2
  127. package/dist/cjs/components/message-scroller.js +1 -1
  128. package/dist/cjs/components/message-scroller.js.map +3 -3
  129. package/dist/cjs/components/navbar.js +1 -1
  130. package/dist/cjs/components/navbar.js.map +2 -2
  131. package/dist/cjs/components/notice.js +1 -1
  132. package/dist/cjs/components/notice.js.map +3 -3
  133. package/dist/cjs/components/popover.js +1 -1
  134. package/dist/cjs/components/popover.js.map +2 -2
  135. package/dist/cjs/components/popover.props.js +1 -1
  136. package/dist/cjs/components/popover.props.js.map +2 -2
  137. package/dist/cjs/components/progress.js +1 -1
  138. package/dist/cjs/components/progress.js.map +2 -2
  139. package/dist/cjs/components/progress.props.js +1 -1
  140. package/dist/cjs/components/progress.props.js.map +2 -2
  141. package/dist/cjs/components/radio-group.js +1 -1
  142. package/dist/cjs/components/radio-group.js.map +2 -2
  143. package/dist/cjs/components/radio-group.props.js +1 -1
  144. package/dist/cjs/components/radio-group.props.js.map +2 -2
  145. package/dist/cjs/components/radio.js +1 -1
  146. package/dist/cjs/components/radio.js.map +2 -2
  147. package/dist/cjs/components/radio.props.js +1 -1
  148. package/dist/cjs/components/radio.props.js.map +2 -2
  149. package/dist/cjs/components/reset.js +1 -1
  150. package/dist/cjs/components/reset.js.map +2 -2
  151. package/dist/cjs/components/schemas/button.schema.d.ts +146 -0
  152. package/dist/cjs/components/schemas/button.schema.d.ts.map +1 -1
  153. package/dist/cjs/components/schemas/button.schema.js +1 -1
  154. package/dist/cjs/components/schemas/button.schema.js.map +3 -3
  155. package/dist/cjs/components/schemas/index.js +1 -1
  156. package/dist/cjs/components/schemas/index.js.map +3 -3
  157. package/dist/cjs/components/schemas/toggle.schema.js +1 -1
  158. package/dist/cjs/components/schemas/toggle.schema.js.map +3 -3
  159. package/dist/cjs/components/scroll-area.js +1 -1
  160. package/dist/cjs/components/scroll-area.js.map +2 -2
  161. package/dist/cjs/components/segmented-control.js +1 -1
  162. package/dist/cjs/components/segmented-control.js.map +2 -2
  163. package/dist/cjs/components/segmented-control.props.js +1 -1
  164. package/dist/cjs/components/segmented-control.props.js.map +2 -2
  165. package/dist/cjs/components/select.d.ts.map +1 -1
  166. package/dist/cjs/components/select.js +1 -1
  167. package/dist/cjs/components/select.js.map +3 -3
  168. package/dist/cjs/components/select.props.js +1 -1
  169. package/dist/cjs/components/select.props.js.map +2 -2
  170. package/dist/cjs/components/separator.js +1 -1
  171. package/dist/cjs/components/separator.js.map +2 -2
  172. package/dist/cjs/components/separator.props.js +1 -1
  173. package/dist/cjs/components/separator.props.js.map +2 -2
  174. package/dist/cjs/components/sheet.js +1 -1
  175. package/dist/cjs/components/sheet.js.map +2 -2
  176. package/dist/cjs/components/shell.js +1 -1
  177. package/dist/cjs/components/shell.js.map +2 -2
  178. package/dist/cjs/components/sidebar.js +1 -1
  179. package/dist/cjs/components/sidebar.js.map +2 -2
  180. package/dist/cjs/components/slider.js +1 -1
  181. package/dist/cjs/components/slider.js.map +2 -2
  182. package/dist/cjs/components/slider.props.js +1 -1
  183. package/dist/cjs/components/slider.props.js.map +2 -2
  184. package/dist/cjs/components/spinner.js +1 -1
  185. package/dist/cjs/components/spinner.js.map +2 -2
  186. package/dist/cjs/components/switch.js +1 -1
  187. package/dist/cjs/components/switch.js.map +2 -2
  188. package/dist/cjs/components/switch.props.js +1 -1
  189. package/dist/cjs/components/switch.props.js.map +2 -2
  190. package/dist/cjs/components/table.js +1 -1
  191. package/dist/cjs/components/table.js.map +3 -3
  192. package/dist/cjs/components/table.props.js +1 -1
  193. package/dist/cjs/components/table.props.js.map +2 -2
  194. package/dist/cjs/components/tabs.js +1 -1
  195. package/dist/cjs/components/tabs.js.map +2 -2
  196. package/dist/cjs/components/tabs.props.js +1 -1
  197. package/dist/cjs/components/tabs.props.js.map +2 -2
  198. package/dist/cjs/components/text-area.js +1 -1
  199. package/dist/cjs/components/text-area.js.map +2 -2
  200. package/dist/cjs/components/text-area.props.js +1 -1
  201. package/dist/cjs/components/text-area.props.js.map +2 -2
  202. package/dist/cjs/components/text-field.js +4 -4
  203. package/dist/cjs/components/text-field.js.map +2 -2
  204. package/dist/cjs/components/text-field.props.js +1 -1
  205. package/dist/cjs/components/text-field.props.js.map +2 -2
  206. package/dist/cjs/components/text.js +1 -1
  207. package/dist/cjs/components/text.js.map +2 -2
  208. package/dist/cjs/components/text.props.js +1 -1
  209. package/dist/cjs/components/text.props.js.map +2 -2
  210. package/dist/cjs/components/theme.js +1 -1
  211. package/dist/cjs/components/theme.js.map +2 -2
  212. package/dist/cjs/components/toggle.js +2 -2
  213. package/dist/cjs/components/toggle.js.map +3 -3
  214. package/dist/cjs/components/toolbar.js +1 -1
  215. package/dist/cjs/components/toolbar.js.map +3 -3
  216. package/dist/cjs/components/toolbar.props.js +1 -1
  217. package/dist/cjs/components/toolbar.props.js.map +2 -2
  218. package/dist/cjs/components/tooltip.js +1 -1
  219. package/dist/cjs/components/tooltip.js.map +2 -2
  220. package/dist/cjs/components/tooltip.props.js +1 -1
  221. package/dist/cjs/components/tooltip.props.js.map +2 -2
  222. package/dist/cjs/components/virtual-menu.js +1 -1
  223. package/dist/cjs/components/virtual-menu.js.map +2 -2
  224. package/dist/cjs/helpers/font-config.d.ts.map +1 -1
  225. package/dist/cjs/helpers/font-config.js +3 -3
  226. package/dist/cjs/helpers/font-config.js.map +2 -2
  227. package/dist/cjs/helpers/get-margin-styles.js +1 -1
  228. package/dist/cjs/helpers/get-margin-styles.js.map +2 -2
  229. package/dist/cjs/helpers/index.js +3 -3
  230. package/dist/cjs/helpers/index.js.map +2 -2
  231. package/dist/cjs/hooks/index.js +2 -2
  232. package/dist/cjs/hooks/index.js.map +2 -2
  233. package/dist/cjs/hooks/use-live-announcer.js +2 -2
  234. package/dist/cjs/hooks/use-live-announcer.js.map +2 -2
  235. package/dist/cjs/hooks/use-thumb-sync.js +1 -1
  236. package/dist/cjs/hooks/use-thumb-sync.js.map +2 -2
  237. package/dist/cjs/hooks/use-toggle-state.js +2 -2
  238. package/dist/cjs/hooks/use-toggle-state.js.map +2 -2
  239. package/dist/cjs/index.js +6 -6
  240. package/dist/cjs/index.js.map +3 -3
  241. package/dist/cjs/props/emphasis.prop.js +1 -1
  242. package/dist/cjs/props/emphasis.prop.js.map +2 -2
  243. package/dist/cjs/props/font-family.prop.js +1 -1
  244. package/dist/cjs/props/font-family.prop.js.map +2 -2
  245. package/dist/cjs/props/gap.props.js +1 -1
  246. package/dist/cjs/props/gap.props.js.map +2 -2
  247. package/dist/cjs/props/height.props.js +1 -1
  248. package/dist/cjs/props/height.props.js.map +2 -2
  249. package/dist/cjs/props/index.js +1 -1
  250. package/dist/cjs/props/index.js.map +2 -2
  251. package/dist/cjs/props/layout.props.d.ts +5 -5
  252. package/dist/cjs/props/layout.props.js +1 -1
  253. package/dist/cjs/props/layout.props.js.map +2 -2
  254. package/dist/cjs/props/leading-trim.prop.js +1 -1
  255. package/dist/cjs/props/leading-trim.prop.js.map +2 -2
  256. package/dist/cjs/props/margin.props.js +1 -1
  257. package/dist/cjs/props/margin.props.js.map +2 -2
  258. package/dist/cjs/props/padding.props.js +1 -1
  259. package/dist/cjs/props/padding.props.js.map +2 -2
  260. package/dist/cjs/props/shadow.props.js +1 -1
  261. package/dist/cjs/props/shadow.props.js.map +2 -2
  262. package/dist/cjs/props/text-align.prop.js +1 -1
  263. package/dist/cjs/props/text-align.prop.js.map +2 -2
  264. package/dist/cjs/props/text-wrap.prop.js +1 -1
  265. package/dist/cjs/props/text-wrap.prop.js.map +2 -2
  266. package/dist/cjs/props/truncate.prop.js +1 -1
  267. package/dist/cjs/props/truncate.prop.js.map +2 -2
  268. package/dist/cjs/props/weight.prop.js +1 -1
  269. package/dist/cjs/props/weight.prop.js.map +2 -2
  270. package/dist/cjs/props/width.props.js +1 -1
  271. package/dist/cjs/props/width.props.js.map +2 -2
  272. package/dist/esm/chunk-23KT3D2Z.js +2 -0
  273. package/dist/esm/{chunk-DL6F2TIU.js.map → chunk-23KT3D2Z.js.map} +2 -2
  274. package/dist/esm/chunk-25FNCKUM.js +2 -0
  275. package/dist/esm/chunk-25FNCKUM.js.map +7 -0
  276. package/dist/esm/chunk-2E4P5XQL.js +2 -0
  277. package/dist/esm/chunk-2E4P5XQL.js.map +7 -0
  278. package/dist/esm/chunk-3BUQ7ADW.js +2 -0
  279. package/dist/esm/{chunk-OA2BZDKL.js.map → chunk-3BUQ7ADW.js.map} +2 -2
  280. package/dist/esm/chunk-3JA7SJDT.js +2 -0
  281. package/dist/esm/chunk-3JA7SJDT.js.map +7 -0
  282. package/dist/esm/{chunk-PEP6MQJ2.js → chunk-3KQE2PSJ.js} +2 -2
  283. package/dist/esm/chunk-3QZBWH2A.js +2 -0
  284. package/dist/esm/chunk-3QZBWH2A.js.map +7 -0
  285. package/dist/esm/chunk-3XHTJZNP.js +2 -0
  286. package/dist/esm/chunk-3XHTJZNP.js.map +7 -0
  287. package/dist/esm/chunk-3YWVE5GL.js +2 -0
  288. package/dist/esm/chunk-3YWVE5GL.js.map +7 -0
  289. package/dist/esm/chunk-4BU4R7UM.js +2 -0
  290. package/dist/esm/{chunk-XEW4BRIL.js.map → chunk-4BU4R7UM.js.map} +2 -2
  291. package/dist/esm/chunk-4P6TKZCA.js +2 -0
  292. package/dist/esm/{chunk-P3WB3K2M.js.map → chunk-4P6TKZCA.js.map} +2 -2
  293. package/dist/esm/{chunk-HZNOHY6O.js → chunk-63PQNLFJ.js} +2 -2
  294. package/dist/esm/{chunk-HZNOHY6O.js.map → chunk-63PQNLFJ.js.map} +2 -2
  295. package/dist/esm/chunk-677CX2QF.js +2 -0
  296. package/dist/esm/{chunk-MQWH2IFO.js.map → chunk-677CX2QF.js.map} +2 -2
  297. package/dist/esm/chunk-6CK7UTNH.js +2 -0
  298. package/dist/esm/{chunk-TCSPZ27B.js.map → chunk-6CK7UTNH.js.map} +2 -2
  299. package/dist/esm/chunk-6RK26HIY.js +2 -0
  300. package/dist/esm/chunk-6RK26HIY.js.map +7 -0
  301. package/dist/esm/chunk-7CUQMU3T.js +2 -0
  302. package/dist/esm/chunk-7CUQMU3T.js.map +7 -0
  303. package/dist/esm/chunk-7ESWH773.js +2 -0
  304. package/dist/esm/{chunk-7QPXLSVR.js.map → chunk-7ESWH773.js.map} +2 -2
  305. package/dist/esm/chunk-7FTUTUMD.js +2 -0
  306. package/dist/esm/chunk-7FTUTUMD.js.map +7 -0
  307. package/dist/esm/chunk-7SS4UUJH.js +2 -0
  308. package/dist/esm/{chunk-T4L4QDBG.js.map → chunk-7SS4UUJH.js.map} +2 -2
  309. package/dist/esm/chunk-A3YQIJDA.js +2 -0
  310. package/dist/esm/{chunk-MC3GY6ET.js.map → chunk-A3YQIJDA.js.map} +2 -2
  311. package/dist/esm/chunk-AB3QCCUM.js +2 -0
  312. package/dist/esm/chunk-AB3QCCUM.js.map +7 -0
  313. package/dist/esm/{chunk-GBFGUOFS.js → chunk-BE7LMBBC.js} +2 -2
  314. package/dist/esm/chunk-BEP4AH5V.js +2 -0
  315. package/dist/esm/chunk-BEP4AH5V.js.map +7 -0
  316. package/dist/esm/{chunk-FGORMEAO.js → chunk-BIITGC3Z.js} +2 -2
  317. package/dist/esm/{chunk-FGORMEAO.js.map → chunk-BIITGC3Z.js.map} +2 -2
  318. package/dist/esm/{chunk-4VBH3W2S.js → chunk-BJUCBOGU.js} +2 -2
  319. package/dist/esm/{chunk-4VBH3W2S.js.map → chunk-BJUCBOGU.js.map} +2 -2
  320. package/dist/esm/chunk-BWLCTTTN.js +2 -0
  321. package/dist/esm/{chunk-5P4JTWBK.js.map → chunk-BWLCTTTN.js.map} +2 -2
  322. package/dist/esm/chunk-CLZW2IDD.js +2 -0
  323. package/dist/esm/{chunk-R2FUNQTI.js.map → chunk-CLZW2IDD.js.map} +2 -2
  324. package/dist/esm/chunk-DBROSD2J.js +2 -0
  325. package/dist/esm/chunk-DBROSD2J.js.map +7 -0
  326. package/dist/esm/chunk-DFGY2NZB.js +2 -0
  327. package/dist/esm/chunk-DNOQ6E3W.js +2 -0
  328. package/dist/esm/{chunk-24CVW6P7.js.map → chunk-DNOQ6E3W.js.map} +2 -2
  329. package/dist/esm/chunk-DSPYHO3L.js +2 -0
  330. package/dist/esm/{chunk-ZCWDURKJ.js.map → chunk-DSPYHO3L.js.map} +2 -2
  331. package/dist/esm/chunk-E2D2VWUI.js +2 -0
  332. package/dist/esm/chunk-E2D2VWUI.js.map +7 -0
  333. package/dist/esm/chunk-EKTVL6SS.js +2 -0
  334. package/dist/esm/chunk-EKTVL6SS.js.map +7 -0
  335. package/dist/esm/chunk-EMNSA65L.js +2 -0
  336. package/dist/esm/chunk-EMNSA65L.js.map +7 -0
  337. package/dist/esm/chunk-ETQNRMHU.js +2 -0
  338. package/dist/esm/chunk-ETQNRMHU.js.map +7 -0
  339. package/dist/esm/chunk-FDHWAC6W.js +2 -0
  340. package/dist/esm/{chunk-HGG3ULNK.js.map → chunk-FDHWAC6W.js.map} +2 -2
  341. package/dist/esm/chunk-FFG32ERA.js +5 -0
  342. package/dist/esm/chunk-FFG32ERA.js.map +7 -0
  343. package/dist/esm/chunk-FHPHEIYJ.js +2 -0
  344. package/dist/esm/chunk-FHPHEIYJ.js.map +7 -0
  345. package/dist/esm/chunk-FJFBM7HW.js +2 -0
  346. package/dist/esm/{chunk-IQBSUN5B.js.map → chunk-FJFBM7HW.js.map} +2 -2
  347. package/dist/esm/chunk-FNAE6HUI.js +2 -0
  348. package/dist/esm/chunk-FNAE6HUI.js.map +7 -0
  349. package/dist/esm/{chunk-VA5A4MHU.js → chunk-FQ3QJOYE.js} +4 -4
  350. package/dist/esm/{chunk-VA5A4MHU.js.map → chunk-FQ3QJOYE.js.map} +2 -2
  351. package/dist/esm/chunk-FVY44PTM.js +2 -0
  352. package/dist/esm/{chunk-KRDRQU4G.js.map → chunk-FVY44PTM.js.map} +2 -2
  353. package/dist/esm/chunk-GBQZ4Z2H.js +2 -0
  354. package/dist/esm/chunk-GBQZ4Z2H.js.map +7 -0
  355. package/dist/esm/chunk-GNTNGLYR.js +2 -0
  356. package/dist/esm/{chunk-IZPDJN6O.js.map → chunk-GNTNGLYR.js.map} +2 -2
  357. package/dist/esm/{chunk-BPVVFHYD.js → chunk-H3IAGAEL.js} +2 -2
  358. package/dist/esm/chunk-HCBR74BW.js +2 -0
  359. package/dist/esm/chunk-HCBR74BW.js.map +7 -0
  360. package/dist/esm/chunk-HIKMKGPT.js +2 -0
  361. package/dist/esm/{chunk-EGSMLRSO.js.map → chunk-HIKMKGPT.js.map} +2 -2
  362. package/dist/esm/chunk-HKPXDQ2B.js +2 -0
  363. package/dist/esm/{chunk-5WLSAUNJ.js.map → chunk-HKPXDQ2B.js.map} +2 -2
  364. package/dist/esm/chunk-IAEAXIBI.js +2 -0
  365. package/dist/esm/chunk-IAEAXIBI.js.map +7 -0
  366. package/dist/esm/chunk-IDOZJVO6.js +2 -0
  367. package/dist/esm/{chunk-VCU6VCPH.js.map → chunk-IDOZJVO6.js.map} +2 -2
  368. package/dist/esm/chunk-IJRBX6EV.js +2 -0
  369. package/dist/esm/chunk-IJRBX6EV.js.map +7 -0
  370. package/dist/esm/chunk-IVQHRM33.js +2 -0
  371. package/dist/esm/chunk-IVQHRM33.js.map +7 -0
  372. package/dist/esm/chunk-IWCFJJBI.js +2 -0
  373. package/dist/esm/{chunk-DDFONGSM.js.map → chunk-IWCFJJBI.js.map} +2 -2
  374. package/dist/esm/chunk-JBHRV364.js +2 -0
  375. package/dist/esm/{chunk-A2NG5NRN.js.map → chunk-JBHRV364.js.map} +2 -2
  376. package/dist/esm/chunk-KEWNXANF.js +2 -0
  377. package/dist/esm/{chunk-KNQBAOMV.js.map → chunk-KEWNXANF.js.map} +2 -2
  378. package/dist/esm/chunk-KKMOGHIY.js +2 -0
  379. package/dist/esm/chunk-KKMOGHIY.js.map +7 -0
  380. package/dist/esm/chunk-KL73COYX.js +2 -0
  381. package/dist/esm/{chunk-K7VO7TND.js.map → chunk-KL73COYX.js.map} +2 -2
  382. package/dist/esm/chunk-KMDXIZAG.js +2 -0
  383. package/dist/esm/{chunk-YB7CENHH.js.map → chunk-KMDXIZAG.js.map} +2 -2
  384. package/dist/esm/chunk-KS4U4VPH.js +2 -0
  385. package/dist/esm/chunk-KS4U4VPH.js.map +7 -0
  386. package/dist/esm/chunk-KT2CMUS5.js +2 -0
  387. package/dist/esm/{chunk-LNFN35ZE.js.map → chunk-KT2CMUS5.js.map} +2 -2
  388. package/dist/esm/{chunk-EOWG5SIY.js → chunk-KZEZDBE7.js} +2 -2
  389. package/dist/esm/{chunk-EOWG5SIY.js.map → chunk-KZEZDBE7.js.map} +2 -2
  390. package/dist/esm/{chunk-4I4NJNYO.js → chunk-LC5AK2ZD.js} +2 -2
  391. package/dist/esm/{chunk-4I4NJNYO.js.map → chunk-LC5AK2ZD.js.map} +2 -2
  392. package/dist/esm/chunk-LHIS3UKQ.js +2 -0
  393. package/dist/esm/{chunk-36GV4H3C.js.map → chunk-LHIS3UKQ.js.map} +2 -2
  394. package/dist/esm/chunk-LUNWI377.js +2 -0
  395. package/dist/esm/chunk-LUNWI377.js.map +7 -0
  396. package/dist/esm/chunk-LVCUY2OS.js +2 -0
  397. package/dist/esm/{chunk-LVCP5WGX.js.map → chunk-LVCUY2OS.js.map} +2 -2
  398. package/dist/esm/chunk-LXTGEI62.js +2 -0
  399. package/dist/esm/chunk-LXTGEI62.js.map +7 -0
  400. package/dist/esm/chunk-MPTTUBFU.js +2 -0
  401. package/dist/esm/{chunk-7MPFZIZX.js.map → chunk-MPTTUBFU.js.map} +2 -2
  402. package/dist/esm/chunk-N6KH2EOU.js +2 -0
  403. package/dist/esm/{chunk-2WSD2H23.js.map → chunk-N6KH2EOU.js.map} +2 -2
  404. package/dist/esm/chunk-NA237RHQ.js +2 -0
  405. package/dist/esm/chunk-NA237RHQ.js.map +7 -0
  406. package/dist/esm/chunk-NLXJZJNN.js +2 -0
  407. package/dist/esm/{chunk-DSV3XBHM.js.map → chunk-NLXJZJNN.js.map} +2 -2
  408. package/dist/esm/chunk-NNZTSXKH.js +2 -0
  409. package/dist/esm/{chunk-UEHCCJYY.js.map → chunk-NNZTSXKH.js.map} +2 -2
  410. package/dist/esm/chunk-NUVUXNHF.js +2 -0
  411. package/dist/esm/chunk-NUVUXNHF.js.map +7 -0
  412. package/dist/esm/{chunk-672FI4OH.js → chunk-OJQNLROL.js} +2 -2
  413. package/dist/esm/{chunk-672FI4OH.js.map → chunk-OJQNLROL.js.map} +2 -2
  414. package/dist/esm/chunk-OSSNMF5U.js +2 -0
  415. package/dist/esm/{chunk-E4KCVRBQ.js.map → chunk-OSSNMF5U.js.map} +2 -2
  416. package/dist/esm/chunk-OY5NT7VT.js +2 -0
  417. package/dist/esm/chunk-OY5NT7VT.js.map +7 -0
  418. package/dist/esm/chunk-P7VSZYG3.js +2 -0
  419. package/dist/esm/chunk-P7VSZYG3.js.map +7 -0
  420. package/dist/esm/chunk-PJR6GRZC.js +2 -0
  421. package/dist/esm/chunk-PJR6GRZC.js.map +7 -0
  422. package/dist/esm/chunk-PNAB6KCN.js +2 -0
  423. package/dist/esm/chunk-PNAB6KCN.js.map +7 -0
  424. package/dist/esm/{chunk-RGZKWVJC.js → chunk-PPZY7PJA.js} +2 -2
  425. package/dist/esm/{chunk-RGZKWVJC.js.map → chunk-PPZY7PJA.js.map} +2 -2
  426. package/dist/esm/chunk-PSPENFPH.js +2 -0
  427. package/dist/esm/{chunk-VOEZ5HJL.js.map → chunk-PSPENFPH.js.map} +2 -2
  428. package/dist/esm/{chunk-AYZRLA7F.js → chunk-Q4IA622Q.js} +2 -2
  429. package/dist/esm/{chunk-AYZRLA7F.js.map → chunk-Q4IA622Q.js.map} +2 -2
  430. package/dist/esm/chunk-QOHJIF25.js +2 -0
  431. package/dist/esm/{chunk-MYO2E46Z.js.map → chunk-QOHJIF25.js.map} +2 -2
  432. package/dist/esm/{chunk-RBTTIDON.js → chunk-QWDCLL6R.js} +2 -2
  433. package/dist/esm/chunk-QWDCLL6R.js.map +7 -0
  434. package/dist/esm/chunk-R4XJNQX5.js +2 -0
  435. package/dist/esm/{chunk-7XWAXYZD.js.map → chunk-R4XJNQX5.js.map} +2 -2
  436. package/dist/esm/chunk-RAVZ7F5L.js +2 -0
  437. package/dist/esm/{chunk-RDS3AJWW.js.map → chunk-RAVZ7F5L.js.map} +2 -2
  438. package/dist/esm/chunk-RWTSGUVJ.js +2 -0
  439. package/dist/esm/{chunk-LHYX53XA.js.map → chunk-RWTSGUVJ.js.map} +2 -2
  440. package/dist/esm/chunk-S6GWR6EZ.js +2 -0
  441. package/dist/esm/{chunk-4ZAJVYU6.js.map → chunk-S6GWR6EZ.js.map} +2 -2
  442. package/dist/esm/chunk-SBRPXQWH.js +2 -0
  443. package/dist/esm/{chunk-WYADYDPN.js.map → chunk-SBRPXQWH.js.map} +2 -2
  444. package/dist/esm/chunk-SJXV4BWZ.js +2 -0
  445. package/dist/esm/{chunk-ZE2KAVXW.js.map → chunk-SJXV4BWZ.js.map} +2 -2
  446. package/dist/esm/chunk-SKOYHBIE.js +2 -0
  447. package/dist/esm/{chunk-TKSG7KBZ.js.map → chunk-SKOYHBIE.js.map} +2 -2
  448. package/dist/esm/chunk-SUPFDIJL.js +10 -0
  449. package/dist/esm/chunk-SUPFDIJL.js.map +7 -0
  450. package/dist/esm/{chunk-IN6ZEGDK.js → chunk-T62PRLPN.js} +2 -2
  451. package/dist/esm/{chunk-IN6ZEGDK.js.map → chunk-T62PRLPN.js.map} +2 -2
  452. package/dist/esm/chunk-THUBY6L2.js +2 -0
  453. package/dist/esm/{chunk-UMIDPKFZ.js.map → chunk-THUBY6L2.js.map} +2 -2
  454. package/dist/esm/chunk-TJL47GIO.js +2 -0
  455. package/dist/esm/chunk-TJL47GIO.js.map +7 -0
  456. package/dist/esm/chunk-VCV7RACK.js +2 -0
  457. package/dist/esm/{chunk-AXUDFYLY.js.map → chunk-VCV7RACK.js.map} +2 -2
  458. package/dist/esm/chunk-VPSMETY2.js +2 -0
  459. package/dist/esm/chunk-VS2ZWRGO.js +2 -0
  460. package/dist/esm/{chunk-WWF3IU3P.js.map → chunk-VS2ZWRGO.js.map} +2 -2
  461. package/dist/esm/chunk-VVWYAVHM.js +2 -0
  462. package/dist/esm/{chunk-IAC5IOPN.js.map → chunk-VVWYAVHM.js.map} +2 -2
  463. package/dist/esm/chunk-VW46DG7H.js +2 -0
  464. package/dist/esm/chunk-VW46DG7H.js.map +7 -0
  465. package/dist/esm/chunk-VXQQ6KXI.js +2 -0
  466. package/dist/esm/{chunk-BZZXXZ3O.js.map → chunk-VXQQ6KXI.js.map} +2 -2
  467. package/dist/esm/chunk-WKSXMFFF.js +2 -0
  468. package/dist/esm/{chunk-5B6JDZ3S.js.map → chunk-WKSXMFFF.js.map} +2 -2
  469. package/dist/esm/chunk-WTCZAUFY.js +2 -0
  470. package/dist/esm/{chunk-G2CKYO2I.js.map → chunk-WTCZAUFY.js.map} +2 -2
  471. package/dist/esm/chunk-X4A3XRBY.js +2 -0
  472. package/dist/esm/{chunk-K6QKUX3C.js.map → chunk-X4A3XRBY.js.map} +2 -2
  473. package/dist/esm/chunk-XKSU3NLG.js +2 -0
  474. package/dist/esm/{chunk-TDQTMR5T.js.map → chunk-XKSU3NLG.js.map} +2 -2
  475. package/dist/esm/{chunk-FHEHX7CE.js → chunk-XTDXXQTB.js} +2 -2
  476. package/dist/esm/{chunk-FHEHX7CE.js.map → chunk-XTDXXQTB.js.map} +2 -2
  477. package/dist/esm/chunk-XZQSSRTG.js +2 -0
  478. package/dist/esm/{chunk-M4M4OZTS.js.map → chunk-XZQSSRTG.js.map} +2 -2
  479. package/dist/esm/chunk-Y3JYEEFB.js +2 -0
  480. package/dist/esm/chunk-Y3JYEEFB.js.map +7 -0
  481. package/dist/esm/chunk-YEHM3FZN.js +2 -0
  482. package/dist/esm/{chunk-JMBCX5XR.js.map → chunk-YEHM3FZN.js.map} +2 -2
  483. package/dist/esm/chunk-YHYPIJCR.js +2 -0
  484. package/dist/esm/{chunk-K4BDLRCC.js.map → chunk-YHYPIJCR.js.map} +2 -2
  485. package/dist/esm/chunk-YK3ZUMRQ.js +2 -0
  486. package/dist/esm/chunk-YK3ZUMRQ.js.map +7 -0
  487. package/dist/esm/chunk-YLDV2HKZ.js +2 -0
  488. package/dist/esm/chunk-YLDV2HKZ.js.map +7 -0
  489. package/dist/esm/chunk-YXLDRDHW.js +2 -0
  490. package/dist/esm/chunk-YXLDRDHW.js.map +7 -0
  491. package/dist/esm/chunk-YZM54IJE.js +2 -0
  492. package/dist/esm/{chunk-LPVDR7V3.js.map → chunk-YZM54IJE.js.map} +2 -2
  493. package/dist/esm/chunk-ZJI2IK7C.js +2 -0
  494. package/dist/esm/chunk-ZJI2IK7C.js.map +7 -0
  495. package/dist/esm/chunk-ZNDCZM5A.js +2 -0
  496. package/dist/esm/{chunk-W7YHNMAO.js.map → chunk-ZNDCZM5A.js.map} +2 -2
  497. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  498. package/dist/esm/components/_internal/base-button.js +1 -1
  499. package/dist/esm/components/_internal/base-button.props.js +1 -1
  500. package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
  501. package/dist/esm/components/_internal/base-menu.props.js +1 -1
  502. package/dist/esm/components/_internal/base-menu.utils.js +1 -1
  503. package/dist/esm/components/_internal/base-radio.props.js +1 -1
  504. package/dist/esm/components/_internal/base-tab-list.props.js +1 -1
  505. package/dist/esm/components/_internal/dropdown-menu-drill-down.js +1 -1
  506. package/dist/esm/components/_internal/menu-context.js +1 -1
  507. package/dist/esm/components/_internal/pane-chrome.js +1 -1
  508. package/dist/esm/components/_internal/shell-bottom.js +1 -1
  509. package/dist/esm/components/_internal/shell-handles.js +1 -1
  510. package/dist/esm/components/_internal/shell-inspector.js +1 -1
  511. package/dist/esm/components/_internal/shell-resizable.js +1 -1
  512. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  513. package/dist/esm/components/accordion.js +1 -1
  514. package/dist/esm/components/accordion.props.js +1 -1
  515. package/dist/esm/components/alert-dialog.js +1 -1
  516. package/dist/esm/components/alert-dialog.props.js +1 -1
  517. package/dist/esm/components/avatar.d.ts.map +1 -1
  518. package/dist/esm/components/avatar.js +1 -1
  519. package/dist/esm/components/avatar.props.d.ts +1 -1
  520. package/dist/esm/components/avatar.props.d.ts.map +1 -1
  521. package/dist/esm/components/avatar.props.js +1 -1
  522. package/dist/esm/components/blockquote.js +1 -1
  523. package/dist/esm/components/blockquote.props.js +1 -1
  524. package/dist/esm/components/box.js +1 -1
  525. package/dist/esm/components/box.props.js +1 -1
  526. package/dist/esm/components/button.js +1 -1
  527. package/dist/esm/components/button.props.js +1 -1
  528. package/dist/esm/components/card.js +1 -1
  529. package/dist/esm/components/card.props.js +1 -1
  530. package/dist/esm/components/chatbar.js +1 -1
  531. package/dist/esm/components/checkbox-group.js +1 -1
  532. package/dist/esm/components/checkbox-group.props.js +1 -1
  533. package/dist/esm/components/checkbox.js +1 -1
  534. package/dist/esm/components/checkbox.props.js +1 -1
  535. package/dist/esm/components/chip.js +1 -1
  536. package/dist/esm/components/chip.props.js +1 -1
  537. package/dist/esm/components/code.js +1 -1
  538. package/dist/esm/components/code.props.js +1 -1
  539. package/dist/esm/components/combobox.d.ts.map +1 -1
  540. package/dist/esm/components/combobox.js +1 -1
  541. package/dist/esm/components/combobox.props.js +1 -1
  542. package/dist/esm/components/context-menu.js +1 -1
  543. package/dist/esm/components/context-menu.props.js +1 -1
  544. package/dist/esm/components/dialog.js +1 -1
  545. package/dist/esm/components/dialog.props.js +1 -1
  546. package/dist/esm/components/dropdown-menu.js +1 -1
  547. package/dist/esm/components/dropdown-menu.props.js +1 -1
  548. package/dist/esm/components/flex.js +1 -1
  549. package/dist/esm/components/flex.props.js +1 -1
  550. package/dist/esm/components/grid.js +1 -1
  551. package/dist/esm/components/grid.props.js +1 -1
  552. package/dist/esm/components/heading.js +1 -1
  553. package/dist/esm/components/heading.props.js +1 -1
  554. package/dist/esm/components/index.js +1 -1
  555. package/dist/esm/components/kbd.js +1 -1
  556. package/dist/esm/components/kbd.props.js +1 -1
  557. package/dist/esm/components/link.js +1 -1
  558. package/dist/esm/components/link.props.js +1 -1
  559. package/dist/esm/components/message-scroller.js +1 -1
  560. package/dist/esm/components/navbar.js +1 -1
  561. package/dist/esm/components/notice.js +1 -1
  562. package/dist/esm/components/popover.js +1 -1
  563. package/dist/esm/components/popover.props.js +1 -1
  564. package/dist/esm/components/progress.js +1 -1
  565. package/dist/esm/components/progress.props.js +1 -1
  566. package/dist/esm/components/radio-group.js +1 -1
  567. package/dist/esm/components/radio-group.props.js +1 -1
  568. package/dist/esm/components/radio.js +1 -1
  569. package/dist/esm/components/radio.props.js +1 -1
  570. package/dist/esm/components/reset.js +1 -1
  571. package/dist/esm/components/schemas/button.schema.d.ts +146 -0
  572. package/dist/esm/components/schemas/button.schema.d.ts.map +1 -1
  573. package/dist/esm/components/schemas/button.schema.js +1 -1
  574. package/dist/esm/components/schemas/index.js +1 -1
  575. package/dist/esm/components/schemas/toggle.schema.js +1 -1
  576. package/dist/esm/components/scroll-area.js +1 -1
  577. package/dist/esm/components/segmented-control.js +1 -1
  578. package/dist/esm/components/segmented-control.props.js +1 -1
  579. package/dist/esm/components/select.d.ts.map +1 -1
  580. package/dist/esm/components/select.js +1 -1
  581. package/dist/esm/components/select.props.js +1 -1
  582. package/dist/esm/components/separator.js +1 -1
  583. package/dist/esm/components/separator.props.js +1 -1
  584. package/dist/esm/components/sheet.js +1 -1
  585. package/dist/esm/components/shell.js +1 -1
  586. package/dist/esm/components/sidebar.js +1 -1
  587. package/dist/esm/components/slider.js +1 -1
  588. package/dist/esm/components/slider.props.js +1 -1
  589. package/dist/esm/components/spinner.js +1 -1
  590. package/dist/esm/components/switch.js +1 -1
  591. package/dist/esm/components/switch.props.js +1 -1
  592. package/dist/esm/components/table.js +1 -1
  593. package/dist/esm/components/table.props.js +1 -1
  594. package/dist/esm/components/tabs.js +1 -1
  595. package/dist/esm/components/tabs.props.js +1 -1
  596. package/dist/esm/components/text-area.js +1 -1
  597. package/dist/esm/components/text-area.props.js +1 -1
  598. package/dist/esm/components/text-field.js +1 -1
  599. package/dist/esm/components/text-field.props.js +1 -1
  600. package/dist/esm/components/text.js +1 -1
  601. package/dist/esm/components/text.props.js +1 -1
  602. package/dist/esm/components/theme.js +1 -1
  603. package/dist/esm/components/toggle.js +1 -1
  604. package/dist/esm/components/toolbar.js +1 -1
  605. package/dist/esm/components/toolbar.props.js +1 -1
  606. package/dist/esm/components/tooltip.js +1 -1
  607. package/dist/esm/components/tooltip.props.js +1 -1
  608. package/dist/esm/components/virtual-menu.js +1 -1
  609. package/dist/esm/helpers/font-config.d.ts.map +1 -1
  610. package/dist/esm/helpers/font-config.js +1 -1
  611. package/dist/esm/helpers/get-margin-styles.js +1 -1
  612. package/dist/esm/helpers/index.js +1 -1
  613. package/dist/esm/hooks/index.js +1 -1
  614. package/dist/esm/hooks/use-live-announcer.js +1 -1
  615. package/dist/esm/hooks/use-thumb-sync.js +1 -1
  616. package/dist/esm/hooks/use-toggle-state.js +1 -1
  617. package/dist/esm/index.js +1 -1
  618. package/dist/esm/props/emphasis.prop.js +1 -1
  619. package/dist/esm/props/font-family.prop.js +1 -1
  620. package/dist/esm/props/gap.props.js +1 -1
  621. package/dist/esm/props/height.props.js +1 -1
  622. package/dist/esm/props/index.js +1 -1
  623. package/dist/esm/props/layout.props.d.ts +5 -5
  624. package/dist/esm/props/layout.props.js +1 -1
  625. package/dist/esm/props/leading-trim.prop.js +1 -1
  626. package/dist/esm/props/margin.props.js +1 -1
  627. package/dist/esm/props/padding.props.js +1 -1
  628. package/dist/esm/props/shadow.props.js +1 -1
  629. package/dist/esm/props/text-align.prop.js +1 -1
  630. package/dist/esm/props/text-wrap.prop.js +1 -1
  631. package/dist/esm/props/truncate.prop.js +1 -1
  632. package/dist/esm/props/weight.prop.js +1 -1
  633. package/dist/esm/props/width.props.js +1 -1
  634. package/layout/components.css +3 -3
  635. package/layout/tokens.css +1 -1
  636. package/layout/utilities.css +4716 -4446
  637. package/layout.css +4720 -4450
  638. package/package.json +1 -1
  639. package/postcss-breakpoints.cjs +10 -10
  640. package/src/components/_internal/base-button.css +36 -36
  641. package/src/components/_internal/base-button.props.ts +4 -4
  642. package/src/components/_internal/base-button.tsx +54 -27
  643. package/src/components/_internal/base-card.css +44 -44
  644. package/src/components/_internal/base-checkbox.css +45 -45
  645. package/src/components/_internal/base-checkbox.props.ts +2 -2
  646. package/src/components/_internal/base-dialog.css +17 -15
  647. package/src/components/_internal/base-menu.css +54 -54
  648. package/src/components/_internal/base-menu.props.ts +1 -1
  649. package/src/components/_internal/base-menu.utils.tsx +1 -1
  650. package/src/components/_internal/base-radio.css +33 -33
  651. package/src/components/_internal/base-radio.props.ts +2 -2
  652. package/src/components/_internal/base-sidebar-menu.css +25 -25
  653. package/src/components/_internal/base-sidebar.css +9 -12
  654. package/src/components/_internal/base-tab-list.css +37 -37
  655. package/src/components/_internal/base-tab-list.props.ts +3 -3
  656. package/src/components/_internal/dropdown-menu-drill-down.tsx +4 -4
  657. package/src/components/_internal/pane-chrome.tsx +6 -6
  658. package/src/components/_internal/shell-bottom.tsx +2 -2
  659. package/src/components/_internal/shell-handles.tsx +2 -2
  660. package/src/components/_internal/shell-inspector.tsx +2 -2
  661. package/src/components/_internal/shell-resizable.tsx +1 -1
  662. package/src/components/_internal/shell-sidebar.tsx +2 -2
  663. package/src/components/accordion.css +55 -55
  664. package/src/components/accordion.props.tsx +2 -2
  665. package/src/components/accordion.tsx +6 -6
  666. package/src/components/alert-dialog.css +1 -1
  667. package/src/components/alert-dialog.tsx +5 -5
  668. package/src/components/avatar.css +84 -84
  669. package/src/components/avatar.props.tsx +3 -3
  670. package/src/components/avatar.tsx +12 -9
  671. package/src/components/blockquote.css +1 -1
  672. package/src/components/blockquote.props.tsx +1 -1
  673. package/src/components/blockquote.tsx +1 -1
  674. package/src/components/box.css +1 -1
  675. package/src/components/box.props.tsx +1 -1
  676. package/src/components/box.tsx +1 -1
  677. package/src/components/button.css +6 -6
  678. package/src/components/button.tsx +1 -1
  679. package/src/components/card.css +16 -2
  680. package/src/components/card.props.tsx +2 -2
  681. package/src/components/card.tsx +1 -1
  682. package/src/components/chatbar.css +94 -94
  683. package/src/components/chatbar.tsx +26 -26
  684. package/src/components/checkbox-group.css +5 -5
  685. package/src/components/checkbox-group.tsx +7 -7
  686. package/src/components/checkbox.css +2 -2
  687. package/src/components/checkbox.tsx +2 -2
  688. package/src/components/chip.css +23 -23
  689. package/src/components/chip.props.tsx +2 -2
  690. package/src/components/chip.tsx +1 -1
  691. package/src/components/code.css +29 -29
  692. package/src/components/code.props.tsx +2 -2
  693. package/src/components/code.tsx +1 -1
  694. package/src/components/combobox.css +22 -22
  695. package/src/components/combobox.props.tsx +4 -4
  696. package/src/components/combobox.tsx +27 -28
  697. package/src/components/context-menu.css +1 -1
  698. package/src/components/context-menu.tsx +39 -39
  699. package/src/components/dialog.css +1 -1
  700. package/src/components/dialog.props.tsx +2 -2
  701. package/src/components/dialog.tsx +5 -5
  702. package/src/components/dropdown-menu.css +18 -18
  703. package/src/components/dropdown-menu.tsx +56 -56
  704. package/src/components/flex.css +1 -1
  705. package/src/components/flex.props.tsx +5 -5
  706. package/src/components/flex.tsx +1 -1
  707. package/src/components/grid.css +1 -1
  708. package/src/components/grid.props.tsx +9 -9
  709. package/src/components/grid.tsx +1 -1
  710. package/src/components/heading.css +22 -22
  711. package/src/components/heading.props.tsx +1 -1
  712. package/src/components/heading.tsx +1 -1
  713. package/src/components/index.css +1 -1
  714. package/src/components/kbd.css +39 -39
  715. package/src/components/kbd.props.tsx +2 -2
  716. package/src/components/kbd.tsx +1 -1
  717. package/src/components/link.css +11 -11
  718. package/src/components/link.props.tsx +2 -2
  719. package/src/components/link.tsx +1 -1
  720. package/src/components/message-scroller.css +7 -7
  721. package/src/components/message-scroller.tsx +5 -5
  722. package/src/components/navbar.css +14 -14
  723. package/src/components/navbar.tsx +8 -8
  724. package/src/components/notice.css +16 -14
  725. package/src/components/notice.tsx +6 -6
  726. package/src/components/popover.css +16 -14
  727. package/src/components/popover.props.tsx +1 -1
  728. package/src/components/popover.tsx +7 -7
  729. package/src/components/progress.css +15 -15
  730. package/src/components/progress.props.tsx +1 -1
  731. package/src/components/progress.tsx +2 -2
  732. package/src/components/radio-group.css +3 -3
  733. package/src/components/radio-group.props.tsx +2 -2
  734. package/src/components/radio-group.tsx +4 -4
  735. package/src/components/radio.tsx +1 -1
  736. package/src/components/reset.css +1 -1
  737. package/src/components/reset.tsx +1 -1
  738. package/src/components/schemas/button.schema.ts +13 -1
  739. package/src/components/schemas/toggle.schema.ts +2 -2
  740. package/src/components/scroll-area.css +16 -16
  741. package/src/components/scroll-area.tsx +8 -8
  742. package/src/components/segmented-control.css +97 -97
  743. package/src/components/segmented-control.props.tsx +2 -2
  744. package/src/components/segmented-control.tsx +7 -7
  745. package/src/components/select.css +78 -78
  746. package/src/components/select.props.tsx +2 -2
  747. package/src/components/select.tsx +39 -29
  748. package/src/components/separator.css +5 -5
  749. package/src/components/separator.props.tsx +2 -2
  750. package/src/components/separator.tsx +1 -1
  751. package/src/components/sheet.css +6 -6
  752. package/src/components/sheet.tsx +3 -3
  753. package/src/components/shell.css +456 -456
  754. package/src/components/shell.tsx +12 -12
  755. package/src/components/sidebar.css +199 -199
  756. package/src/components/sidebar.tsx +37 -37
  757. package/src/components/slider.css +50 -50
  758. package/src/components/slider.props.tsx +4 -4
  759. package/src/components/slider.tsx +9 -9
  760. package/src/components/spinner.css +6 -6
  761. package/src/components/spinner.tsx +9 -9
  762. package/src/components/switch.css +28 -28
  763. package/src/components/switch.props.tsx +2 -2
  764. package/src/components/switch.tsx +2 -2
  765. package/src/components/table.css +28 -28
  766. package/src/components/table.props.tsx +5 -5
  767. package/src/components/table.tsx +8 -8
  768. package/src/components/tabs.css +2 -2
  769. package/src/components/tabs.tsx +6 -6
  770. package/src/components/text-area.css +84 -84
  771. package/src/components/text-area.props.tsx +3 -3
  772. package/src/components/text-area.tsx +4 -4
  773. package/src/components/text-field.css +112 -107
  774. package/src/components/text-field.props.tsx +2 -2
  775. package/src/components/text-field.tsx +8 -8
  776. package/src/components/text.css +23 -23
  777. package/src/components/text.props.tsx +1 -1
  778. package/src/components/text.tsx +1 -1
  779. package/src/components/theme.tsx +1 -1
  780. package/src/components/toggle.tsx +1 -1
  781. package/src/components/toolbar.css +15 -15
  782. package/src/components/toolbar.props.tsx +1 -1
  783. package/src/components/toolbar.tsx +4 -4
  784. package/src/components/tooltip.css +6 -6
  785. package/src/components/tooltip.tsx +3 -3
  786. package/src/components/virtual-menu.css +6 -6
  787. package/src/components/virtual-menu.tsx +4 -4
  788. package/src/helpers/font-config.ts +4 -4
  789. package/src/helpers/get-margin-styles.ts +7 -7
  790. package/src/hooks/use-live-announcer.ts +4 -4
  791. package/src/hooks/use-thumb-sync.ts +1 -1
  792. package/src/props/emphasis.prop.ts +1 -1
  793. package/src/props/font-family.prop.ts +1 -1
  794. package/src/props/gap.props.ts +3 -3
  795. package/src/props/height.props.ts +3 -3
  796. package/src/props/layout.props.ts +22 -22
  797. package/src/props/leading-trim.prop.ts +1 -1
  798. package/src/props/margin.props.ts +7 -7
  799. package/src/props/padding.props.ts +7 -7
  800. package/src/props/shadow.props.ts +1 -1
  801. package/src/props/text-align.prop.ts +1 -1
  802. package/src/props/text-wrap.prop.ts +1 -1
  803. package/src/props/truncate.prop.ts +1 -1
  804. package/src/props/weight.prop.ts +1 -1
  805. package/src/props/width.props.ts +3 -3
  806. package/src/styles/scrollbar.css +3 -3
  807. package/src/styles/tokens/color.css +241 -235
  808. package/src/styles/tokens/constants.css +1 -1
  809. package/src/styles/tokens/cursor.css +1 -1
  810. package/src/styles/tokens/font-family.css +4 -4
  811. package/src/styles/tokens/radius.css +20 -20
  812. package/src/styles/tokens/shadow.css +28 -28
  813. package/src/styles/tokens/space.css +1 -1
  814. package/src/styles/tokens/typography.css +2 -2
  815. package/src/styles/utilities/align-content.css +8 -8
  816. package/src/styles/utilities/align-items.css +5 -5
  817. package/src/styles/utilities/align-self.css +5 -5
  818. package/src/styles/utilities/display.css +9 -9
  819. package/src/styles/utilities/flex-basis.css +6 -6
  820. package/src/styles/utilities/flex-direction.css +4 -4
  821. package/src/styles/utilities/flex-grow.css +9 -9
  822. package/src/styles/utilities/flex-shrink.css +9 -9
  823. package/src/styles/utilities/flex-wrap.css +3 -3
  824. package/src/styles/utilities/font-weight.css +3 -3
  825. package/src/styles/utilities/gap.css +60 -60
  826. package/src/styles/utilities/grid-area.css +6 -6
  827. package/src/styles/utilities/grid-auto-flow.css +5 -5
  828. package/src/styles/utilities/grid-column-end.css +16 -16
  829. package/src/styles/utilities/grid-column-start.css +16 -16
  830. package/src/styles/utilities/grid-column.css +16 -16
  831. package/src/styles/utilities/grid-row-end.css +16 -16
  832. package/src/styles/utilities/grid-row-start.css +16 -16
  833. package/src/styles/utilities/grid-row.css +16 -16
  834. package/src/styles/utilities/grid-template-areas.css +6 -6
  835. package/src/styles/utilities/grid-template-columns.css +16 -16
  836. package/src/styles/utilities/grid-template-rows.css +16 -16
  837. package/src/styles/utilities/height.css +6 -6
  838. package/src/styles/utilities/inset.css +130 -85
  839. package/src/styles/utilities/justify-content.css +4 -4
  840. package/src/styles/utilities/justify-items.css +5 -5
  841. package/src/styles/utilities/justify-self.css +5 -5
  842. package/src/styles/utilities/leading-trim.css +12 -12
  843. package/src/styles/utilities/margin.css +420 -420
  844. package/src/styles/utilities/max-height.css +6 -6
  845. package/src/styles/utilities/max-width.css +6 -6
  846. package/src/styles/utilities/min-height.css +6 -6
  847. package/src/styles/utilities/min-width.css +6 -6
  848. package/src/styles/utilities/overflow.css +15 -15
  849. package/src/styles/utilities/padding.css +140 -140
  850. package/src/styles/utilities/position.css +5 -5
  851. package/src/styles/utilities/resize.css +4 -4
  852. package/src/styles/utilities/table-layout.css +2 -2
  853. package/src/styles/utilities/text-align.css +3 -3
  854. package/src/styles/utilities/text-wrap.css +4 -4
  855. package/src/styles/utilities/truncate.css +1 -1
  856. package/src/styles/utilities/vertical-align.css +4 -4
  857. package/src/styles/utilities/width.css +6 -6
  858. package/styles.css +8945 -8656
  859. package/tokens/base.css +498 -490
  860. package/tokens.css +493 -485
  861. package/utilities.css +4909 -4639
  862. package/dist/esm/chunk-24CVW6P7.js +0 -2
  863. package/dist/esm/chunk-2FPJ6Q2N.js +0 -2
  864. package/dist/esm/chunk-2FPJ6Q2N.js.map +0 -7
  865. package/dist/esm/chunk-2KZ44I6T.js +0 -2
  866. package/dist/esm/chunk-2KZ44I6T.js.map +0 -7
  867. package/dist/esm/chunk-2WSD2H23.js +0 -2
  868. package/dist/esm/chunk-36GV4H3C.js +0 -2
  869. package/dist/esm/chunk-4ITIXBIP.js +0 -2
  870. package/dist/esm/chunk-4ITIXBIP.js.map +0 -7
  871. package/dist/esm/chunk-4YQXYWDQ.js +0 -2
  872. package/dist/esm/chunk-4YQXYWDQ.js.map +0 -7
  873. package/dist/esm/chunk-4ZAJVYU6.js +0 -2
  874. package/dist/esm/chunk-5B6JDZ3S.js +0 -2
  875. package/dist/esm/chunk-5P4JTWBK.js +0 -2
  876. package/dist/esm/chunk-5WLSAUNJ.js +0 -2
  877. package/dist/esm/chunk-6WANXT2G.js +0 -2
  878. package/dist/esm/chunk-6WANXT2G.js.map +0 -7
  879. package/dist/esm/chunk-72FU5FEC.js +0 -2
  880. package/dist/esm/chunk-7AXEPJYF.js +0 -2
  881. package/dist/esm/chunk-7AXEPJYF.js.map +0 -7
  882. package/dist/esm/chunk-7FPLWHMT.js +0 -2
  883. package/dist/esm/chunk-7FPLWHMT.js.map +0 -7
  884. package/dist/esm/chunk-7MPFZIZX.js +0 -2
  885. package/dist/esm/chunk-7OQXCYCW.js +0 -2
  886. package/dist/esm/chunk-7OQXCYCW.js.map +0 -7
  887. package/dist/esm/chunk-7QPXLSVR.js +0 -2
  888. package/dist/esm/chunk-7XWAXYZD.js +0 -2
  889. package/dist/esm/chunk-A2NG5NRN.js +0 -2
  890. package/dist/esm/chunk-AXUDFYLY.js +0 -2
  891. package/dist/esm/chunk-BHGES72S.js +0 -2
  892. package/dist/esm/chunk-BHGES72S.js.map +0 -7
  893. package/dist/esm/chunk-BQD7XS4K.js +0 -2
  894. package/dist/esm/chunk-BQD7XS4K.js.map +0 -7
  895. package/dist/esm/chunk-BZZXXZ3O.js +0 -2
  896. package/dist/esm/chunk-CTZ467AB.js +0 -2
  897. package/dist/esm/chunk-CTZ467AB.js.map +0 -7
  898. package/dist/esm/chunk-CYO6CRMQ.js +0 -2
  899. package/dist/esm/chunk-CYO6CRMQ.js.map +0 -7
  900. package/dist/esm/chunk-DDFONGSM.js +0 -2
  901. package/dist/esm/chunk-DL6F2TIU.js +0 -2
  902. package/dist/esm/chunk-DSV3XBHM.js +0 -2
  903. package/dist/esm/chunk-E4KCVRBQ.js +0 -2
  904. package/dist/esm/chunk-EDEYYJ3Q.js +0 -2
  905. package/dist/esm/chunk-EDEYYJ3Q.js.map +0 -7
  906. package/dist/esm/chunk-EDP2TJVB.js +0 -2
  907. package/dist/esm/chunk-EDP2TJVB.js.map +0 -7
  908. package/dist/esm/chunk-EE54S7YV.js +0 -10
  909. package/dist/esm/chunk-EE54S7YV.js.map +0 -7
  910. package/dist/esm/chunk-EGSMLRSO.js +0 -2
  911. package/dist/esm/chunk-ENPQJYXZ.js +0 -2
  912. package/dist/esm/chunk-ENPQJYXZ.js.map +0 -7
  913. package/dist/esm/chunk-ERGJN7FJ.js +0 -2
  914. package/dist/esm/chunk-ERGJN7FJ.js.map +0 -7
  915. package/dist/esm/chunk-FSMUCDLI.js +0 -2
  916. package/dist/esm/chunk-FSMUCDLI.js.map +0 -7
  917. package/dist/esm/chunk-G2CKYO2I.js +0 -2
  918. package/dist/esm/chunk-G46OLCM2.js +0 -2
  919. package/dist/esm/chunk-G46OLCM2.js.map +0 -7
  920. package/dist/esm/chunk-GOV5I7I2.js +0 -2
  921. package/dist/esm/chunk-GOV5I7I2.js.map +0 -7
  922. package/dist/esm/chunk-GWGQ73PU.js +0 -2
  923. package/dist/esm/chunk-GWGQ73PU.js.map +0 -7
  924. package/dist/esm/chunk-HAGKI7NA.js +0 -2
  925. package/dist/esm/chunk-HAGKI7NA.js.map +0 -7
  926. package/dist/esm/chunk-HCNO7PX6.js +0 -2
  927. package/dist/esm/chunk-HCNO7PX6.js.map +0 -7
  928. package/dist/esm/chunk-HELY5CSU.js +0 -2
  929. package/dist/esm/chunk-HELY5CSU.js.map +0 -7
  930. package/dist/esm/chunk-HGG3ULNK.js +0 -2
  931. package/dist/esm/chunk-IAC5IOPN.js +0 -2
  932. package/dist/esm/chunk-IQBSUN5B.js +0 -2
  933. package/dist/esm/chunk-IZPDJN6O.js +0 -2
  934. package/dist/esm/chunk-JMBCX5XR.js +0 -2
  935. package/dist/esm/chunk-JSW6J6RS.js +0 -2
  936. package/dist/esm/chunk-JSW6J6RS.js.map +0 -7
  937. package/dist/esm/chunk-K4BDLRCC.js +0 -2
  938. package/dist/esm/chunk-K53W3ELO.js +0 -2
  939. package/dist/esm/chunk-K53W3ELO.js.map +0 -7
  940. package/dist/esm/chunk-K6QKUX3C.js +0 -2
  941. package/dist/esm/chunk-K6WT5ZEA.js +0 -2
  942. package/dist/esm/chunk-K6WT5ZEA.js.map +0 -7
  943. package/dist/esm/chunk-K7VO7TND.js +0 -2
  944. package/dist/esm/chunk-KIYCILXL.js +0 -2
  945. package/dist/esm/chunk-KIYCILXL.js.map +0 -7
  946. package/dist/esm/chunk-KNQBAOMV.js +0 -2
  947. package/dist/esm/chunk-KRDRQU4G.js +0 -2
  948. package/dist/esm/chunk-KRZL245C.js +0 -2
  949. package/dist/esm/chunk-KRZL245C.js.map +0 -7
  950. package/dist/esm/chunk-LHYX53XA.js +0 -2
  951. package/dist/esm/chunk-LNFN35ZE.js +0 -2
  952. package/dist/esm/chunk-LPVDR7V3.js +0 -2
  953. package/dist/esm/chunk-LVCP5WGX.js +0 -2
  954. package/dist/esm/chunk-M4M4OZTS.js +0 -2
  955. package/dist/esm/chunk-MC3GY6ET.js +0 -2
  956. package/dist/esm/chunk-MKY2IRPO.js +0 -2
  957. package/dist/esm/chunk-MKY2IRPO.js.map +0 -7
  958. package/dist/esm/chunk-MQWH2IFO.js +0 -2
  959. package/dist/esm/chunk-MYO2E46Z.js +0 -2
  960. package/dist/esm/chunk-OA2BZDKL.js +0 -2
  961. package/dist/esm/chunk-P3WB3K2M.js +0 -2
  962. package/dist/esm/chunk-QQVA2PJ3.js +0 -2
  963. package/dist/esm/chunk-QQVA2PJ3.js.map +0 -7
  964. package/dist/esm/chunk-QWLKMVZY.js +0 -2
  965. package/dist/esm/chunk-QZ6OCMH4.js +0 -2
  966. package/dist/esm/chunk-QZ6OCMH4.js.map +0 -7
  967. package/dist/esm/chunk-R2FUNQTI.js +0 -2
  968. package/dist/esm/chunk-RBTTIDON.js.map +0 -7
  969. package/dist/esm/chunk-RDS3AJWW.js +0 -2
  970. package/dist/esm/chunk-SMGDH54W.js +0 -2
  971. package/dist/esm/chunk-SMGDH54W.js.map +0 -7
  972. package/dist/esm/chunk-SNR5VFWG.js +0 -2
  973. package/dist/esm/chunk-SNR5VFWG.js.map +0 -7
  974. package/dist/esm/chunk-T4L4QDBG.js +0 -2
  975. package/dist/esm/chunk-TCSPZ27B.js +0 -2
  976. package/dist/esm/chunk-TDQTMR5T.js +0 -2
  977. package/dist/esm/chunk-TKSG7KBZ.js +0 -2
  978. package/dist/esm/chunk-TTFUM47A.js +0 -2
  979. package/dist/esm/chunk-TTFUM47A.js.map +0 -7
  980. package/dist/esm/chunk-UEHCCJYY.js +0 -2
  981. package/dist/esm/chunk-UMIDPKFZ.js +0 -2
  982. package/dist/esm/chunk-UW5IJ64A.js +0 -5
  983. package/dist/esm/chunk-UW5IJ64A.js.map +0 -7
  984. package/dist/esm/chunk-VCU6VCPH.js +0 -2
  985. package/dist/esm/chunk-VJOJGAGA.js +0 -2
  986. package/dist/esm/chunk-VJOJGAGA.js.map +0 -7
  987. package/dist/esm/chunk-VNONKPH7.js +0 -2
  988. package/dist/esm/chunk-VNONKPH7.js.map +0 -7
  989. package/dist/esm/chunk-VOEZ5HJL.js +0 -2
  990. package/dist/esm/chunk-VX44UTQ5.js +0 -2
  991. package/dist/esm/chunk-VX44UTQ5.js.map +0 -7
  992. package/dist/esm/chunk-W7YHNMAO.js +0 -2
  993. package/dist/esm/chunk-WQT6UULR.js +0 -2
  994. package/dist/esm/chunk-WQT6UULR.js.map +0 -7
  995. package/dist/esm/chunk-WW7WTPM6.js +0 -2
  996. package/dist/esm/chunk-WW7WTPM6.js.map +0 -7
  997. package/dist/esm/chunk-WWF3IU3P.js +0 -2
  998. package/dist/esm/chunk-WYADYDPN.js +0 -2
  999. package/dist/esm/chunk-XEW4BRIL.js +0 -2
  1000. package/dist/esm/chunk-YB7CENHH.js +0 -2
  1001. package/dist/esm/chunk-YEIZ43KW.js +0 -2
  1002. package/dist/esm/chunk-YEIZ43KW.js.map +0 -7
  1003. package/dist/esm/chunk-ZCWDURKJ.js +0 -2
  1004. package/dist/esm/chunk-ZE2KAVXW.js +0 -2
  1005. /package/dist/esm/{chunk-PEP6MQJ2.js.map → chunk-3KQE2PSJ.js.map} +0 -0
  1006. /package/dist/esm/{chunk-GBFGUOFS.js.map → chunk-BE7LMBBC.js.map} +0 -0
  1007. /package/dist/esm/{chunk-QWLKMVZY.js.map → chunk-DFGY2NZB.js.map} +0 -0
  1008. /package/dist/esm/{chunk-BPVVFHYD.js.map → chunk-H3IAGAEL.js.map} +0 -0
  1009. /package/dist/esm/{chunk-72FU5FEC.js.map → chunk-VPSMETY2.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/theme.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Direction, Slot, Tooltip as TooltipPrimitive } from 'radix-ui';\nimport { useComposedRefs, useLayoutEffect } from 'radix-ui/internal';\n\nimport { getMatchingGrayColor } from '../helpers/get-matching-gray-color.js';\nimport { ThemeSizeContext } from '../helpers/theme-size.js';\nimport { usePropSyncedState } from '../hooks/use-prop-synced-state.js';\nimport { themePropDefs } from './theme.props.js';\n\nimport type { ThemeOwnProps } from './theme.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\nconst noop = () => {};\n\ntype ThemeAppearance = (typeof themePropDefs.appearance.values)[number];\ntype ThemeAccentColor = (typeof themePropDefs.accentColor.values)[number];\ntype ThemeGrayColor = (typeof themePropDefs.grayColor.values)[number];\ntype ThemeRadius = (typeof themePropDefs.radius.values)[number];\ntype ThemeFontFamily = (typeof themePropDefs.fontFamily.values)[number];\ntype ThemeSize = (typeof themePropDefs.size.values)[number];\n// Headings follow the body font until something sets this, so `undefined` is a\n// meaningful value here rather than a missing one.\ntype ThemeHeadingFontFamily = ThemeFontFamily | undefined;\n\ninterface ThemeChangeHandlers {\n onAppearanceChange: (appearance: ThemeAppearance) => void;\n onAccentColorChange: (accentColor: ThemeAccentColor) => void;\n onGrayColorChange: (grayColor: ThemeGrayColor) => void;\n onRadiusChange: (radius: ThemeRadius) => void;\n onFontFamilyChange: (fontFamily: ThemeFontFamily) => void;\n onHeadingFontFamilyChange: (headingFontFamily: ThemeHeadingFontFamily) => void;\n onSizeChange: (size: ThemeSize) => void;\n}\n\ninterface ThemeContextValue extends ThemeChangeHandlers {\n appearance: ThemeAppearance;\n accentColor: ThemeAccentColor;\n grayColor: ThemeGrayColor;\n resolvedGrayColor: ThemeGrayColor;\n radius: ThemeRadius;\n fontFamily: ThemeFontFamily;\n headingFontFamily: ThemeHeadingFontFamily;\n size: ThemeSize;\n}\n// Default theme values used when components render outside a Theme provider\nconst defaultThemeContext: ThemeContextValue = {\n appearance: themePropDefs.appearance.default,\n accentColor: themePropDefs.accentColor.default,\n grayColor: themePropDefs.grayColor.default,\n resolvedGrayColor: themePropDefs.grayColor.default,\n radius: themePropDefs.radius.default,\n fontFamily: themePropDefs.fontFamily.default,\n headingFontFamily: undefined,\n size: themePropDefs.size.default,\n onAppearanceChange: noop,\n onAccentColorChange: noop,\n onGrayColorChange: noop,\n onRadiusChange: noop,\n onFontFamilyChange: noop,\n onHeadingFontFamilyChange: noop,\n onSizeChange: noop,\n};\n\nconst ThemeContext = React.createContext<ThemeContextValue | undefined>(undefined);\n\nfunction useThemeContext() {\n const context = React.useContext(ThemeContext);\n // Return default context if used outside Theme provider (e.g., during SSR)\n return context ?? defaultThemeContext;\n}\n\ninterface ThemeProps extends ThemeImplPublicProps {}\nconst Theme = React.forwardRef<ThemeImplElement, ThemeProps>((props, forwardedRef) => {\n const context = React.useContext(ThemeContext);\n // Direction is inherited: a Radix DirectionProvider above the Theme (for a right-to-left app)\n // wins, and left-to-right stays the default when there is none.\n const dir = Direction.useDirection();\n const isRoot = context === undefined;\n if (isRoot) {\n return (\n <TooltipPrimitive.Provider delayDuration={200}>\n <Direction.Provider dir={dir}>\n <ThemeRoot {...props} ref={forwardedRef} />\n </Direction.Provider>\n </TooltipPrimitive.Provider>\n );\n }\n return <ThemeImpl {...props} ref={forwardedRef} />;\n});\nTheme.displayName = 'Theme';\n\nconst ThemeRoot = React.forwardRef<ThemeImplElement, ThemeImplPublicProps>((props, forwardedRef) => {\n const {\n appearance: appearanceProp = themePropDefs.appearance.default,\n accentColor: accentColorProp = themePropDefs.accentColor.default,\n grayColor: grayColorProp = themePropDefs.grayColor.default,\n radius: radiusProp = themePropDefs.radius.default,\n fontFamily: fontFamilyProp = themePropDefs.fontFamily.default,\n headingFontFamily: headingFontFamilyProp,\n size: sizeProp = themePropDefs.size.default,\n hasBackground = themePropDefs.hasBackground.default,\n ...rootProps\n } = props;\n\n // Each of these follows its prop but stays independently settable, so\n // the context setters can change the theme at runtime. Syncing during render\n // rather than in an effect matters here: an effect would commit the old\n // theme first and re-render every consumer of the context a second time.\n const [appearance, setAppearance] = usePropSyncedState(appearanceProp);\n const [accentColor, setAccentColor] = usePropSyncedState(accentColorProp);\n const [grayColor, setGrayColor] = usePropSyncedState(grayColorProp);\n const [radius, setRadius] = usePropSyncedState(radiusProp);\n const [fontFamily, setFontFamily] = usePropSyncedState(fontFamilyProp);\n const [headingFontFamily, setHeadingFontFamily] = usePropSyncedState(headingFontFamilyProp);\n const [size, setSize] = usePropSyncedState(sizeProp);\n\n return (\n <ThemeImpl\n {...rootProps}\n ref={forwardedRef}\n isRoot\n hasBackground={hasBackground}\n //\n appearance={appearance}\n accentColor={accentColor}\n grayColor={grayColor}\n radius={radius}\n fontFamily={fontFamily}\n headingFontFamily={headingFontFamily}\n size={size}\n //\n onAppearanceChange={setAppearance}\n onAccentColorChange={setAccentColor}\n onGrayColorChange={setGrayColor}\n onRadiusChange={setRadius}\n onFontFamilyChange={setFontFamily}\n onHeadingFontFamilyChange={setHeadingFontFamily}\n onSizeChange={setSize}\n />\n );\n});\nThemeRoot.displayName = 'ThemeRoot';\n\ntype ThemeImplElement = React.ElementRef<'div'>;\ninterface ThemeImplProps extends ThemeImplPublicProps, ThemeImplPrivateProps {}\ninterface ThemeImplPublicProps extends ComponentPropsWithout<'div', RemovedProps | 'dir'>, ThemeOwnProps {}\ninterface ThemeImplPrivateProps extends Partial<ThemeChangeHandlers> {\n isRoot?: boolean;\n}\nfunction getClientOS(): 'windows' | 'macos' | 'linux' | undefined {\n if (typeof navigator === 'undefined') return undefined;\n const ua = navigator.userAgent;\n if (ua.includes('Win')) return 'windows';\n if (ua.includes('Mac')) return 'macos';\n if (ua.includes('Linux')) return 'linux';\n return undefined;\n}\n\nconst ThemeImpl = React.forwardRef<ThemeImplElement, ThemeImplProps>((props, forwardedRef) => {\n const context = React.useContext(ThemeContext);\n const {\n asChild,\n isRoot,\n hasBackground: hasBackgroundProp,\n //\n appearance = props.appearance ?? context?.appearance ?? themePropDefs.appearance.default,\n accentColor = props.accentColor ?? context?.accentColor ?? themePropDefs.accentColor.default,\n grayColor = props.grayColor ?? context?.resolvedGrayColor ?? themePropDefs.grayColor.default,\n radius = props.radius ?? context?.radius ?? themePropDefs.radius.default,\n fontFamily = props.fontFamily ?? context?.fontFamily ?? themePropDefs.fontFamily.default,\n headingFontFamily = props.headingFontFamily ?? context?.headingFontFamily,\n size = props.size ?? context?.size ?? themePropDefs.size.default,\n //\n onAppearanceChange = noop,\n onAccentColorChange = noop,\n onGrayColorChange = noop,\n onRadiusChange = noop,\n onFontFamilyChange = noop,\n onHeadingFontFamilyChange = noop,\n onSizeChange = noop,\n //\n ...themeProps\n } = props;\n const Comp = asChild ? Slot.Root : 'div';\n const resolvedGrayColor = grayColor === 'auto' ? getMatchingGrayColor(accentColor) : grayColor;\n const isExplicitAppearance = props.appearance === 'light' || props.appearance === 'dark';\n const hasBackground = hasBackgroundProp === undefined ? isRoot || isExplicitAppearance : hasBackgroundProp;\n\n // `data-os` can only be resolved on the client. Writing it straight to the\n // DOM keeps it out of the server markup \u2014 so hydration still matches \u2014 without\n // spending a render pass, and a state update here would re-render the whole\n // application on mount.\n const rootRef = React.useRef<ThemeImplElement>(null);\n const composedRef = useComposedRefs(forwardedRef, rootRef);\n const hasExplicitOS = 'data-os' in themeProps;\n\n useLayoutEffect(() => {\n if (!isRoot || hasExplicitOS) return;\n const node = rootRef.current;\n if (!node) return;\n\n const os = getClientOS();\n if (!os) return;\n node.setAttribute('data-os', os);\n return () => node.removeAttribute('data-os');\n }, [isRoot, hasExplicitOS]);\n\n return (\n <ThemeContext.Provider\n value={React.useMemo(\n () => ({\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n radius,\n fontFamily,\n headingFontFamily,\n size,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onRadiusChange,\n onFontFamilyChange,\n onHeadingFontFamilyChange,\n onSizeChange,\n }),\n [\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n radius,\n fontFamily,\n headingFontFamily,\n size,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onRadiusChange,\n onFontFamilyChange,\n onHeadingFontFamilyChange,\n onSizeChange,\n ],\n )}\n >\n {/* Size travels on its own context as a bare string, so the components\n that read it do not re-render when another theme value changes. */}\n <ThemeSizeContext.Provider value={size}>\n <Comp\n data-is-root-theme={isRoot ? 'true' : 'false'}\n data-accent-color={accentColor}\n data-gray-color={resolvedGrayColor}\n // for nested `Theme` background\n data-has-background={hasBackground ? 'true' : 'false'}\n data-radius={radius}\n data-font-family={fontFamily}\n data-heading-font-family={headingFontFamily}\n ref={composedRef}\n {...themeProps}\n className={classNames(\n 'radix-themes',\n {\n light: appearance === 'light',\n dark: appearance === 'dark',\n },\n themeProps.className,\n )}\n />\n </ThemeSizeContext.Provider>\n </ThemeContext.Provider>\n );\n});\nThemeImpl.displayName = 'ThemeImpl';\n\nexport { Theme, ThemeContext, useThemeContext };\nexport type { ThemeProps, ThemeContextValue };\n"],
5
- "mappings": "gKAEA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,aAAAC,EAAW,QAAAC,EAAM,WAAWC,MAAwB,WAC7D,OAAS,mBAAAC,EAAiB,mBAAAC,MAAuB,oBAUjD,IAAMC,EAAO,IAAM,CAAC,EAiCdC,EAAyC,CAC7C,WAAYC,EAAc,WAAW,QACrC,YAAaA,EAAc,YAAY,QACvC,UAAWA,EAAc,UAAU,QACnC,kBAAmBA,EAAc,UAAU,QAC3C,OAAQA,EAAc,OAAO,QAC7B,WAAYA,EAAc,WAAW,QACrC,kBAAmB,OACnB,KAAMA,EAAc,KAAK,QACzB,mBAAoBF,EACpB,oBAAqBA,EACrB,kBAAmBA,EACnB,eAAgBA,EAChB,mBAAoBA,EACpB,0BAA2BA,EAC3B,aAAcA,CAChB,EAEMG,EAAqB,gBAA6C,MAAS,EAEjF,SAASC,IAAkB,CAGzB,OAFsB,aAAWD,CAAY,GAE3BF,CACpB,CAGA,IAAMI,EAAc,aAAyC,CAACC,EAAOC,IAAiB,CACpF,IAAMC,EAAgB,aAAWL,CAAY,EAGvCM,EAAMC,EAAU,aAAa,EAEnC,OADeF,IAAY,OAGvB,gBAACG,EAAiB,SAAjB,CAA0B,cAAe,KACxC,gBAACD,EAAU,SAAV,CAAmB,IAAKD,GACvB,gBAACG,EAAA,CAAW,GAAGN,EAAO,IAAKC,EAAc,CAC3C,CACF,EAGG,gBAACM,EAAA,CAAW,GAAGP,EAAO,IAAKC,EAAc,CAClD,CAAC,EACDF,EAAM,YAAc,QAEpB,IAAMO,EAAkB,aAAmD,CAACN,EAAOC,IAAiB,CAClG,GAAM,CACJ,WAAYO,EAAiBZ,EAAc,WAAW,QACtD,YAAaa,EAAkBb,EAAc,YAAY,QACzD,UAAWc,EAAgBd,EAAc,UAAU,QACnD,OAAQe,EAAaf,EAAc,OAAO,QAC1C,WAAYgB,EAAiBhB,EAAc,WAAW,QACtD,kBAAmBiB,EACnB,KAAMC,EAAWlB,EAAc,KAAK,QACpC,cAAAmB,EAAgBnB,EAAc,cAAc,QAC5C,GAAGoB,CACL,EAAIhB,EAME,CAACiB,EAAYC,CAAa,EAAIC,EAAmBX,CAAc,EAC/D,CAACY,EAAaC,CAAc,EAAIF,EAAmBV,CAAe,EAClE,CAACa,EAAWC,CAAY,EAAIJ,EAAmBT,CAAa,EAC5D,CAACc,EAAQC,CAAS,EAAIN,EAAmBR,CAAU,EACnD,CAACe,EAAYC,CAAa,EAAIR,EAAmBP,CAAc,EAC/D,CAACgB,EAAmBC,CAAoB,EAAIV,EAAmBN,CAAqB,EACpF,CAACiB,EAAMC,CAAO,EAAIZ,EAAmBL,CAAQ,EAEnD,OACE,gBAACP,EAAA,CACE,GAAGS,EACJ,IAAKf,EACL,OAAM,GACN,cAAec,EAEf,WAAYE,EACZ,YAAaG,EACb,UAAWE,EACX,OAAQE,EACR,WAAYE,EACZ,kBAAmBE,EACnB,KAAME,EAEN,mBAAoBZ,EACpB,oBAAqBG,EACrB,kBAAmBE,EACnB,eAAgBE,EAChB,mBAAoBE,EACpB,0BAA2BE,EAC3B,aAAcE,EAChB,CAEJ,CAAC,EACDzB,EAAU,YAAc,YAQxB,SAAS0B,GAAyD,CAChE,GAAI,OAAO,UAAc,IAAa,OACtC,IAAMC,EAAK,UAAU,UACrB,GAAIA,EAAG,SAAS,KAAK,EAAG,MAAO,UAC/B,GAAIA,EAAG,SAAS,KAAK,EAAG,MAAO,QAC/B,GAAIA,EAAG,SAAS,OAAO,EAAG,MAAO,OAEnC,CAEA,IAAM1B,EAAkB,aAA6C,CAACP,EAAOC,IAAiB,CAC5F,IAAMC,EAAgB,aAAWL,CAAY,EACvC,CACJ,QAAAqC,EACA,OAAAC,EACA,cAAeC,EAEf,WAAAnB,EAAajB,EAAM,YAAcE,GAAS,YAAcN,EAAc,WAAW,QACjF,YAAAwB,EAAcpB,EAAM,aAAeE,GAAS,aAAeN,EAAc,YAAY,QACrF,UAAA0B,EAAYtB,EAAM,WAAaE,GAAS,mBAAqBN,EAAc,UAAU,QACrF,OAAA4B,EAASxB,EAAM,QAAUE,GAAS,QAAUN,EAAc,OAAO,QACjE,WAAA8B,EAAa1B,EAAM,YAAcE,GAAS,YAAcN,EAAc,WAAW,QACjF,kBAAAgC,EAAoB5B,EAAM,mBAAqBE,GAAS,kBACxD,KAAA4B,EAAO9B,EAAM,MAAQE,GAAS,MAAQN,EAAc,KAAK,QAEzD,mBAAAyC,EAAqB3C,EACrB,oBAAA4C,EAAsB5C,EACtB,kBAAA6C,EAAoB7C,EACpB,eAAA8C,EAAiB9C,EACjB,mBAAA+C,EAAqB/C,EACrB,0BAAAgD,EAA4BhD,EAC5B,aAAAiD,EAAejD,EAEf,GAAGkD,CACL,EAAI5C,EACE6C,EAAOX,EAAUY,EAAK,KAAO,MAC7BC,EAAoBzB,IAAc,OAAS0B,EAAqB5B,CAAW,EAAIE,EAC/E2B,EAAuBjD,EAAM,aAAe,SAAWA,EAAM,aAAe,OAC5Ee,EAAgBqB,IAAsB,OAAYD,GAAUc,EAAuBb,EAMnFc,EAAgB,SAAyB,IAAI,EAC7CC,EAAcC,EAAgBnD,EAAciD,CAAO,EACnDG,EAAgB,YAAaT,EAEnC,OAAAU,EAAgB,IAAM,CACpB,GAAI,CAACnB,GAAUkB,EAAe,OAC9B,IAAME,EAAOL,EAAQ,QACrB,GAAI,CAACK,EAAM,OAEX,IAAMC,EAAKxB,EAAY,EACvB,GAAKwB,EACL,OAAAD,EAAK,aAAa,UAAWC,CAAE,EACxB,IAAMD,EAAK,gBAAgB,SAAS,CAC7C,EAAG,CAACpB,EAAQkB,CAAa,CAAC,EAGxB,gBAACxD,EAAa,SAAb,CACC,MAAa,UACX,KAAO,CACL,WAAAoB,EACA,YAAAG,EACA,UAAAE,EACA,kBAAAyB,EACA,OAAAvB,EACA,WAAAE,EACA,kBAAAE,EACA,KAAAE,EAEA,mBAAAO,EACA,oBAAAC,EACA,kBAAAC,EACA,eAAAC,EACA,mBAAAC,EACA,0BAAAC,EACA,aAAAC,CACF,GACA,CACE1B,EACAG,EACAE,EACAyB,EACAvB,EACAE,EACAE,EACAE,EAEAO,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,CACF,CACF,GAIA,gBAACc,EAAiB,SAAjB,CAA0B,MAAO3B,GAChC,gBAACe,EAAA,CACC,qBAAoBV,EAAS,OAAS,QACtC,oBAAmBf,EACnB,kBAAiB2B,EAEjB,sBAAqBhC,EAAgB,OAAS,QAC9C,cAAaS,EACb,mBAAkBE,EAClB,2BAA0BE,EAC1B,IAAKuB,EACJ,GAAGP,EACJ,UAAWc,EACT,eACA,CACE,MAAOzC,IAAe,QACtB,KAAMA,IAAe,MACvB,EACA2B,EAAW,SACb,EACF,CACF,CACF,CAEJ,CAAC,EACDrC,EAAU,YAAc",
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Direction, Slot, Tooltip as TooltipPrimitive } from 'radix-ui';\nimport { useComposedRefs, useLayoutEffect } from 'radix-ui/internal';\n\nimport { getMatchingGrayColor } from '../helpers/get-matching-gray-color.js';\nimport { ThemeSizeContext } from '../helpers/theme-size.js';\nimport { usePropSyncedState } from '../hooks/use-prop-synced-state.js';\nimport { themePropDefs } from './theme.props.js';\n\nimport type { ThemeOwnProps } from './theme.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\nconst noop = () => {};\n\ntype ThemeAppearance = (typeof themePropDefs.appearance.values)[number];\ntype ThemeAccentColor = (typeof themePropDefs.accentColor.values)[number];\ntype ThemeGrayColor = (typeof themePropDefs.grayColor.values)[number];\ntype ThemeRadius = (typeof themePropDefs.radius.values)[number];\ntype ThemeFontFamily = (typeof themePropDefs.fontFamily.values)[number];\ntype ThemeSize = (typeof themePropDefs.size.values)[number];\n// Headings follow the body font until something sets this, so `undefined` is a\n// meaningful value here rather than a missing one.\ntype ThemeHeadingFontFamily = ThemeFontFamily | undefined;\n\ninterface ThemeChangeHandlers {\n onAppearanceChange: (appearance: ThemeAppearance) => void;\n onAccentColorChange: (accentColor: ThemeAccentColor) => void;\n onGrayColorChange: (grayColor: ThemeGrayColor) => void;\n onRadiusChange: (radius: ThemeRadius) => void;\n onFontFamilyChange: (fontFamily: ThemeFontFamily) => void;\n onHeadingFontFamilyChange: (headingFontFamily: ThemeHeadingFontFamily) => void;\n onSizeChange: (size: ThemeSize) => void;\n}\n\ninterface ThemeContextValue extends ThemeChangeHandlers {\n appearance: ThemeAppearance;\n accentColor: ThemeAccentColor;\n grayColor: ThemeGrayColor;\n resolvedGrayColor: ThemeGrayColor;\n radius: ThemeRadius;\n fontFamily: ThemeFontFamily;\n headingFontFamily: ThemeHeadingFontFamily;\n size: ThemeSize;\n}\n// Default theme values used when components render outside a Theme provider\nconst defaultThemeContext: ThemeContextValue = {\n appearance: themePropDefs.appearance.default,\n accentColor: themePropDefs.accentColor.default,\n grayColor: themePropDefs.grayColor.default,\n resolvedGrayColor: themePropDefs.grayColor.default,\n radius: themePropDefs.radius.default,\n fontFamily: themePropDefs.fontFamily.default,\n headingFontFamily: undefined,\n size: themePropDefs.size.default,\n onAppearanceChange: noop,\n onAccentColorChange: noop,\n onGrayColorChange: noop,\n onRadiusChange: noop,\n onFontFamilyChange: noop,\n onHeadingFontFamilyChange: noop,\n onSizeChange: noop,\n};\n\nconst ThemeContext = React.createContext<ThemeContextValue | undefined>(undefined);\n\nfunction useThemeContext() {\n const context = React.useContext(ThemeContext);\n // Return default context if used outside Theme provider (e.g., during SSR)\n return context ?? defaultThemeContext;\n}\n\ninterface ThemeProps extends ThemeImplPublicProps {}\nconst Theme = React.forwardRef<ThemeImplElement, ThemeProps>((props, forwardedRef) => {\n const context = React.useContext(ThemeContext);\n // Direction is inherited: a Radix DirectionProvider above the Theme (for a right-to-left app)\n // wins, and left-to-right stays the default when there is none.\n const dir = Direction.useDirection();\n const isRoot = context === undefined;\n if (isRoot) {\n return (\n <TooltipPrimitive.Provider delayDuration={200}>\n <Direction.Provider dir={dir}>\n <ThemeRoot {...props} ref={forwardedRef} />\n </Direction.Provider>\n </TooltipPrimitive.Provider>\n );\n }\n return <ThemeImpl {...props} ref={forwardedRef} />;\n});\nTheme.displayName = 'Theme';\n\nconst ThemeRoot = React.forwardRef<ThemeImplElement, ThemeImplPublicProps>((props, forwardedRef) => {\n const {\n appearance: appearanceProp = themePropDefs.appearance.default,\n accentColor: accentColorProp = themePropDefs.accentColor.default,\n grayColor: grayColorProp = themePropDefs.grayColor.default,\n radius: radiusProp = themePropDefs.radius.default,\n fontFamily: fontFamilyProp = themePropDefs.fontFamily.default,\n headingFontFamily: headingFontFamilyProp,\n size: sizeProp = themePropDefs.size.default,\n hasBackground = themePropDefs.hasBackground.default,\n ...rootProps\n } = props;\n\n // Each of these follows its prop but stays independently settable, so\n // the context setters can change the theme at runtime. Syncing during render\n // rather than in an effect matters here: an effect would commit the old\n // theme first and re-render every consumer of the context a second time.\n const [appearance, setAppearance] = usePropSyncedState(appearanceProp);\n const [accentColor, setAccentColor] = usePropSyncedState(accentColorProp);\n const [grayColor, setGrayColor] = usePropSyncedState(grayColorProp);\n const [radius, setRadius] = usePropSyncedState(radiusProp);\n const [fontFamily, setFontFamily] = usePropSyncedState(fontFamilyProp);\n const [headingFontFamily, setHeadingFontFamily] = usePropSyncedState(headingFontFamilyProp);\n const [size, setSize] = usePropSyncedState(sizeProp);\n\n return (\n <ThemeImpl\n {...rootProps}\n ref={forwardedRef}\n isRoot\n hasBackground={hasBackground}\n //\n appearance={appearance}\n accentColor={accentColor}\n grayColor={grayColor}\n radius={radius}\n fontFamily={fontFamily}\n headingFontFamily={headingFontFamily}\n size={size}\n //\n onAppearanceChange={setAppearance}\n onAccentColorChange={setAccentColor}\n onGrayColorChange={setGrayColor}\n onRadiusChange={setRadius}\n onFontFamilyChange={setFontFamily}\n onHeadingFontFamilyChange={setHeadingFontFamily}\n onSizeChange={setSize}\n />\n );\n});\nThemeRoot.displayName = 'ThemeRoot';\n\ntype ThemeImplElement = React.ElementRef<'div'>;\ninterface ThemeImplProps extends ThemeImplPublicProps, ThemeImplPrivateProps {}\ninterface ThemeImplPublicProps extends ComponentPropsWithout<'div', RemovedProps | 'dir'>, ThemeOwnProps {}\ninterface ThemeImplPrivateProps extends Partial<ThemeChangeHandlers> {\n isRoot?: boolean;\n}\nfunction getClientOS(): 'windows' | 'macos' | 'linux' | undefined {\n if (typeof navigator === 'undefined') return undefined;\n const ua = navigator.userAgent;\n if (ua.includes('Win')) return 'windows';\n if (ua.includes('Mac')) return 'macos';\n if (ua.includes('Linux')) return 'linux';\n return undefined;\n}\n\nconst ThemeImpl = React.forwardRef<ThemeImplElement, ThemeImplProps>((props, forwardedRef) => {\n const context = React.useContext(ThemeContext);\n const {\n asChild,\n isRoot,\n hasBackground: hasBackgroundProp,\n //\n appearance = props.appearance ?? context?.appearance ?? themePropDefs.appearance.default,\n accentColor = props.accentColor ?? context?.accentColor ?? themePropDefs.accentColor.default,\n grayColor = props.grayColor ?? context?.resolvedGrayColor ?? themePropDefs.grayColor.default,\n radius = props.radius ?? context?.radius ?? themePropDefs.radius.default,\n fontFamily = props.fontFamily ?? context?.fontFamily ?? themePropDefs.fontFamily.default,\n headingFontFamily = props.headingFontFamily ?? context?.headingFontFamily,\n size = props.size ?? context?.size ?? themePropDefs.size.default,\n //\n onAppearanceChange = noop,\n onAccentColorChange = noop,\n onGrayColorChange = noop,\n onRadiusChange = noop,\n onFontFamilyChange = noop,\n onHeadingFontFamilyChange = noop,\n onSizeChange = noop,\n //\n ...themeProps\n } = props;\n const Comp = asChild ? Slot.Root : 'div';\n const resolvedGrayColor = grayColor === 'auto' ? getMatchingGrayColor(accentColor) : grayColor;\n const isExplicitAppearance = props.appearance === 'light' || props.appearance === 'dark';\n const hasBackground = hasBackgroundProp === undefined ? isRoot || isExplicitAppearance : hasBackgroundProp;\n\n // `data-os` can only be resolved on the client. Writing it straight to the\n // DOM keeps it out of the server markup \u2014 so hydration still matches \u2014 without\n // spending a render pass, and a state update here would re-render the whole\n // application on mount.\n const rootRef = React.useRef<ThemeImplElement>(null);\n const composedRef = useComposedRefs(forwardedRef, rootRef);\n const hasExplicitOS = 'data-os' in themeProps;\n\n useLayoutEffect(() => {\n if (!isRoot || hasExplicitOS) return;\n const node = rootRef.current;\n if (!node) return;\n\n const os = getClientOS();\n if (!os) return;\n node.setAttribute('data-os', os);\n return () => node.removeAttribute('data-os');\n }, [isRoot, hasExplicitOS]);\n\n return (\n <ThemeContext.Provider\n value={React.useMemo(\n () => ({\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n radius,\n fontFamily,\n headingFontFamily,\n size,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onRadiusChange,\n onFontFamilyChange,\n onHeadingFontFamilyChange,\n onSizeChange,\n }),\n [\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n radius,\n fontFamily,\n headingFontFamily,\n size,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onRadiusChange,\n onFontFamilyChange,\n onHeadingFontFamilyChange,\n onSizeChange,\n ],\n )}\n >\n {/* Size travels on its own context as a bare string, so the components\n that read it do not re-render when another theme value changes. */}\n <ThemeSizeContext.Provider value={size}>\n <Comp\n data-is-root-theme={isRoot ? 'true' : 'false'}\n data-accent-color={accentColor}\n data-gray-color={resolvedGrayColor}\n // for nested `Theme` background\n data-has-background={hasBackground ? 'true' : 'false'}\n data-radius={radius}\n data-font-family={fontFamily}\n data-heading-font-family={headingFontFamily}\n ref={composedRef}\n {...themeProps}\n className={classNames(\n 'kui-theme',\n {\n light: appearance === 'light',\n dark: appearance === 'dark',\n },\n themeProps.className,\n )}\n />\n </ThemeSizeContext.Provider>\n </ThemeContext.Provider>\n );\n});\nThemeImpl.displayName = 'ThemeImpl';\n\nexport { Theme, ThemeContext, useThemeContext };\nexport type { ThemeProps, ThemeContextValue };\n"],
5
+ "mappings": "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",
6
6
  "names": ["React", "classNames", "Direction", "Slot", "TooltipPrimitive", "useComposedRefs", "useLayoutEffect", "noop", "defaultThemeContext", "themePropDefs", "ThemeContext", "useThemeContext", "Theme", "props", "forwardedRef", "context", "dir", "Direction", "TooltipPrimitive", "ThemeRoot", "ThemeImpl", "appearanceProp", "accentColorProp", "grayColorProp", "radiusProp", "fontFamilyProp", "headingFontFamilyProp", "sizeProp", "hasBackground", "rootProps", "appearance", "setAppearance", "usePropSyncedState", "accentColor", "setAccentColor", "grayColor", "setGrayColor", "radius", "setRadius", "fontFamily", "setFontFamily", "headingFontFamily", "setHeadingFontFamily", "size", "setSize", "getClientOS", "ua", "asChild", "isRoot", "hasBackgroundProp", "onAppearanceChange", "onAccentColorChange", "onGrayColorChange", "onRadiusChange", "onFontFamilyChange", "onHeadingFontFamilyChange", "onSizeChange", "themeProps", "Comp", "Slot", "resolvedGrayColor", "getMatchingGrayColor", "isExplicitAppearance", "rootRef", "composedRef", "useComposedRefs", "hasExplicitOS", "useLayoutEffect", "node", "os", "ThemeSizeContext", "classNames"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import{a as t}from"./chunk-3BUQ7ADW.js";import{a as p}from"./chunk-4P6TKZCA.js";import{a as r}from"./chunk-ELAW7ZUG.js";import*as e from"react";import c from"classnames";var l=e.forwardRef((s,n)=>{let{children:o,className:i,color:m,asChild:a,...f}=r(s,t);return e.createElement(p,{...f,"data-accent-color":m,ref:n,asChild:!0,className:c("kui-reset","kui-Link",i)},a?o:e.createElement("a",null,o))});l.displayName="Link";export{l as a};
2
+ //# sourceMappingURL=chunk-PSPENFPH.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/link.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\n\nimport { Text } from './text.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { linkPropDefs } from './link.props.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype LinkElement = React.ElementRef<'a'>;\ntype LinkOwnProps = GetPropDefTypes<typeof linkPropDefs>;\ninterface LinkProps extends ComponentPropsWithout<'a', RemovedProps>, LinkOwnProps {}\nconst Link = React.forwardRef<LinkElement, LinkProps>((props, forwardedRef) => {\n const { children, className, color, asChild, ...linkProps } = extractProps(props, linkPropDefs);\n return (\n <Text\n {...linkProps}\n data-accent-color={color}\n ref={forwardedRef}\n asChild\n className={classNames('rt-reset', 'rt-Link', className)}\n >\n {asChild ? (\n children\n ) : (\n // eslint-disable-next-line jsx-a11y/anchor-is-valid\n <a>{children}</a>\n )}\n </Text>\n );\n});\nLink.displayName = 'Link';\n\nexport { Link };\nexport type { LinkProps };\n"],
5
- "mappings": "wHAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aAYvB,IAAMC,EAAa,aAAmC,CAACC,EAAOC,IAAiB,CAC7E,GAAM,CAAE,SAAAC,EAAU,UAAAC,EAAW,MAAAC,EAAO,QAAAC,EAAS,GAAGC,CAAU,EAAIC,EAAaP,EAAOQ,CAAY,EAC9F,OACE,gBAACC,EAAA,CACE,GAAGH,EACJ,oBAAmBF,EACnB,IAAKH,EACL,QAAO,GACP,UAAWS,EAAW,WAAY,UAAWP,CAAS,GAErDE,EACCH,EAGA,gBAAC,SAAGA,CAAS,CAEjB,CAEJ,CAAC,EACDH,EAAK,YAAc",
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\n\nimport { Text } from './text.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { linkPropDefs } from './link.props.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype LinkElement = React.ElementRef<'a'>;\ntype LinkOwnProps = GetPropDefTypes<typeof linkPropDefs>;\ninterface LinkProps extends ComponentPropsWithout<'a', RemovedProps>, LinkOwnProps {}\nconst Link = React.forwardRef<LinkElement, LinkProps>((props, forwardedRef) => {\n const { children, className, color, asChild, ...linkProps } = extractProps(props, linkPropDefs);\n return (\n <Text\n {...linkProps}\n data-accent-color={color}\n ref={forwardedRef}\n asChild\n className={classNames('kui-reset', 'kui-Link', className)}\n >\n {asChild ? (\n children\n ) : (\n // eslint-disable-next-line jsx-a11y/anchor-is-valid\n <a>{children}</a>\n )}\n </Text>\n );\n});\nLink.displayName = 'Link';\n\nexport { Link };\nexport type { LinkProps };\n"],
5
+ "mappings": "wHAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aAYvB,IAAMC,EAAa,aAAmC,CAACC,EAAOC,IAAiB,CAC7E,GAAM,CAAE,SAAAC,EAAU,UAAAC,EAAW,MAAAC,EAAO,QAAAC,EAAS,GAAGC,CAAU,EAAIC,EAAaP,EAAOQ,CAAY,EAC9F,OACE,gBAACC,EAAA,CACE,GAAGH,EACJ,oBAAmBF,EACnB,IAAKH,EACL,QAAO,GACP,UAAWS,EAAW,YAAa,WAAYP,CAAS,GAEvDE,EACCH,EAGA,gBAAC,SAAGA,CAAS,CAEjB,CAEJ,CAAC,EACDH,EAAK,YAAc",
6
6
  "names": ["React", "classNames", "Link", "props", "forwardedRef", "children", "className", "color", "asChild", "linkProps", "extractProps", "linkPropDefs", "Text", "classNames"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{a as e}from"./chunk-FGORMEAO.js";import{a as r}from"./chunk-K53W3ELO.js";import{a as s}from"./chunk-2FPJ6Q2N.js";import{b as t}from"./chunk-FWB47YCH.js";import{a as p}from"./chunk-ELAW7ZUG.js";import*as o from"react";import f from"classnames";var B=o.forwardRef((m,a)=>{let{className:n,asChild:i,as:P="div",...x}=p(m,e,r,s);return o.createElement(i?t:P,{...x,ref:a,className:f("rt-Box",n)})});B.displayName="Box";export{B as a};
2
- //# sourceMappingURL=chunk-AYZRLA7F.js.map
1
+ import{a as e}from"./chunk-BIITGC3Z.js";import{a as r}from"./chunk-7FTUTUMD.js";import{a as s}from"./chunk-YLDV2HKZ.js";import{b as t}from"./chunk-FWB47YCH.js";import{a as p}from"./chunk-ELAW7ZUG.js";import*as o from"react";import f from"classnames";var B=o.forwardRef((m,a)=>{let{className:n,asChild:i,as:P="div",...x}=p(m,e,r,s);return o.createElement(i?t:P,{...x,ref:a,className:f("kui-Box",n)})});B.displayName="Box";export{B as a};
2
+ //# sourceMappingURL=chunk-Q4IA622Q.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/box.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\n\nimport { Slot } from './slot.js';\nimport { boxPropDefs } from './box.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { layoutPropDefs } from '../props/layout.props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\n\nimport type { LayoutProps } from '../props/layout.props.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { BoxOwnProps } from './box.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\ntype BoxElement = React.ElementRef<'div'>;\ninterface CommonBoxProps extends MarginProps, LayoutProps, BoxOwnProps {}\ntype BoxDivProps = { as?: 'div' } & ComponentPropsWithout<'div', RemovedProps>;\ntype BoxSpanProps = { as: 'span' } & ComponentPropsWithout<'span', RemovedProps>;\ntype BoxProps = CommonBoxProps & (BoxSpanProps | BoxDivProps);\n\nconst Box = React.forwardRef<BoxElement, BoxProps>((props, forwardedRef) => {\n const {\n className,\n asChild,\n as: Tag = 'div',\n ...boxProps\n } = extractProps(props, boxPropDefs, layoutPropDefs, marginPropDefs);\n const Comp = asChild ? Slot : Tag;\n return <Comp {...boxProps} ref={forwardedRef} className={classNames('rt-Box', className)} />;\n});\nBox.displayName = 'Box';\n\nexport { Box };\nexport type { BoxProps };\n"],
5
- "mappings": "wMAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aAmBvB,IAAMC,EAAY,aAAiC,CAACC,EAAOC,IAAiB,CAC1E,GAAM,CACJ,UAAAC,EACA,QAAAC,EACA,GAAIC,EAAM,MACV,GAAGC,CACL,EAAIC,EAAaN,EAAOO,EAAaC,EAAgBC,CAAc,EAEnE,OAAO,gBADMN,EAAUO,EAAON,EACtB,CAAM,GAAGC,EAAU,IAAKJ,EAAc,UAAWU,EAAW,SAAUT,CAAS,EAAG,CAC5F,CAAC,EACDH,EAAI,YAAc",
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\n\nimport { Slot } from './slot.js';\nimport { boxPropDefs } from './box.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { layoutPropDefs } from '../props/layout.props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\n\nimport type { LayoutProps } from '../props/layout.props.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { BoxOwnProps } from './box.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\ntype BoxElement = React.ElementRef<'div'>;\ninterface CommonBoxProps extends MarginProps, LayoutProps, BoxOwnProps {}\ntype BoxDivProps = { as?: 'div' } & ComponentPropsWithout<'div', RemovedProps>;\ntype BoxSpanProps = { as: 'span' } & ComponentPropsWithout<'span', RemovedProps>;\ntype BoxProps = CommonBoxProps & (BoxSpanProps | BoxDivProps);\n\nconst Box = React.forwardRef<BoxElement, BoxProps>((props, forwardedRef) => {\n const {\n className,\n asChild,\n as: Tag = 'div',\n ...boxProps\n } = extractProps(props, boxPropDefs, layoutPropDefs, marginPropDefs);\n const Comp = asChild ? Slot : Tag;\n return <Comp {...boxProps} ref={forwardedRef} className={classNames('kui-Box', className)} />;\n});\nBox.displayName = 'Box';\n\nexport { Box };\nexport type { BoxProps };\n"],
5
+ "mappings": "wMAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aAmBvB,IAAMC,EAAY,aAAiC,CAACC,EAAOC,IAAiB,CAC1E,GAAM,CACJ,UAAAC,EACA,QAAAC,EACA,GAAIC,EAAM,MACV,GAAGC,CACL,EAAIC,EAAaN,EAAOO,EAAaC,EAAgBC,CAAc,EAEnE,OAAO,gBADMN,EAAUO,EAAON,EACtB,CAAM,GAAGC,EAAU,IAAKJ,EAAc,UAAWU,EAAW,UAAWT,CAAS,EAAG,CAC7F,CAAC,EACDH,EAAI,YAAc",
6
6
  "names": ["React", "classNames", "Box", "props", "forwardedRef", "className", "asChild", "Tag", "boxProps", "extractProps", "boxPropDefs", "layoutPropDefs", "marginPropDefs", "Slot", "classNames"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import{a as y}from"./chunk-MHANZINI.js";import{a as d}from"./chunk-MPTTUBFU.js";import{a as m}from"./chunk-MJJ7XDIP.js";import{c as C}from"./chunk-PPZY7PJA.js";import{a as u}from"./chunk-4P6TKZCA.js";import{a as P}from"./chunk-FNAE6HUI.js";import{e as f}from"./chunk-3YLYGKFB.js";import{a as p}from"./chunk-ELAW7ZUG.js";import{a as O}from"./chunk-OS3FCYZY.js";var A={};O(A,{Close:()=>x,Content:()=>E,Description:()=>N,Root:()=>R,Title:()=>h,Trigger:()=>T});import*as e from"react";import S from"classnames";import{Dialog as r}from"radix-ui";var R=o=>e.createElement(r.Root,{...o,modal:!0});R.displayName="Dialog.Root";var T=e.forwardRef(({children:o,...i},a)=>e.createElement(r.Trigger,{...i,ref:a,asChild:!0},m(o)));T.displayName="Dialog.Trigger";var{align:B,...v}=P,z={align:B},E=e.forwardRef(({align:o,...i},a)=>{let k=f(i,v.size),{className:b}=p({align:o},z),{className:w,forceMount:H,container:M,...L}=p(k,v),g=e.useRef(null),W=e.useMemo(()=>t=>{g.current=t,typeof a=="function"?a(t):a&&(a.current=t)},[a]);return y(),e.useEffect(()=>{if(typeof window>"u")return;let t=g.current;if(!t)return;let l=t.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(l.length===0)return;let s=l[0],c=l[l.length-1],D=n=>{n.key==="Tab"&&(n.shiftKey?document.activeElement===s&&(n.preventDefault(),c.focus()):document.activeElement===c&&(n.preventDefault(),s.focus()))};return t.addEventListener("keydown",D),s.focus(),()=>{t.removeEventListener("keydown",D)}},[]),e.createElement(r.Portal,{container:M,forceMount:H},e.createElement(C,{asChild:!0},e.createElement(r.Overlay,{className:"kui-BaseDialogOverlay kui-DialogOverlay"},e.createElement("div",{className:"kui-BaseDialogScroll kui-DialogScroll"},e.createElement("div",{className:`kui-BaseDialogScrollPadding kui-DialogScrollPadding ${b}`},e.createElement(r.Content,{...L,ref:W,className:S("kui-BaseDialogContent","kui-DialogContent",w),tabIndex:-1,role:"dialog","aria-modal":"true",onCloseAutoFocus:t=>{t.preventDefault(),document.body.style.pointerEvents=""}}),e.createElement("div",{"aria-live":"polite","aria-atomic":"true",className:"kui-sr-only",id:"dialog-announcement"}))))))});E.displayName="Dialog.Content";var h=e.forwardRef((o,i)=>e.createElement(r.Title,{asChild:!0},e.createElement(d,{size:"5",trim:"start",...o,asChild:!1,ref:i})));h.displayName="Dialog.Title";var N=e.forwardRef((o,i)=>e.createElement(r.Description,{asChild:!0},e.createElement(u,{as:"p",size:"3",...o,asChild:!1,ref:i})));N.displayName="Dialog.Description";var x=e.forwardRef(({children:o,...i},a)=>e.createElement(r.Close,{...i,ref:a,asChild:!0},m(o)));x.displayName="Dialog.Close";export{R as a,T as b,E as c,h as d,N as e,x as f,A as g};
2
+ //# sourceMappingURL=chunk-QOHJIF25.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/dialog.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Dialog as DialogPrimitive } from 'radix-ui';\n\nimport { dialogContentPropDefs } from './dialog.props.js';\nimport { Heading } from './heading.js';\nimport { Text } from './text.js';\nimport { Theme } from './theme.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\nimport { useBodyPointerEventsCleanup } from '../hooks/use-body-pointer-events-cleanup.js';\n\nimport type { DialogContentOwnProps } from './dialog.props.js';\nimport type {\n ComponentPropsWithout,\n RemovedProps,\n ComponentPropsAs,\n} from '../helpers/component-props.js';\n\ninterface DialogRootProps extends ComponentPropsWithout<typeof DialogPrimitive.Root, 'modal'> {}\nconst DialogRoot: React.FC<DialogRootProps> = (props) => <DialogPrimitive.Root {...props} modal />;\nDialogRoot.displayName = 'Dialog.Root';\n\ntype DialogTriggerElement = React.ElementRef<typeof DialogPrimitive.Trigger>;\ninterface DialogTriggerProps\n extends ComponentPropsWithout<typeof DialogPrimitive.Trigger, RemovedProps> {}\nconst DialogTrigger = React.forwardRef<DialogTriggerElement, DialogTriggerProps>(\n ({ children, ...props }, forwardedRef) => (\n <DialogPrimitive.Trigger {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </DialogPrimitive.Trigger>\n ),\n);\nDialogTrigger.displayName = 'Dialog.Trigger';\n\n// Split once at module scope. `extractProps` memoises on the identity of the\n// prop def objects it is handed, so rebuilding these per render would recompile\n// them on every render.\nconst {\n align: alignPropDef,\n ...contentPropDefs\n} = dialogContentPropDefs;\nconst alignPropDefs = { align: alignPropDef };\n\ntype DialogContentElement = React.ElementRef<typeof DialogPrimitive.Content>;\ninterface DialogContentProps\n extends ComponentPropsWithout<typeof DialogPrimitive.Content, RemovedProps>,\n DialogContentOwnProps {\n container?: React.ComponentPropsWithoutRef<typeof DialogPrimitive.Portal>['container'];\n}\nconst DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>(\n ({ align, ...ownProps }, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, contentPropDefs.size);\n const { className: alignClassName } = extractProps({ align }, alignPropDefs);\n\n const {\n className,\n forceMount,\n container,\n ...contentProps\n } = extractProps(props, contentPropDefs);\n\n // Focus management\n const contentRef = React.useRef<HTMLDivElement>(null);\n const combinedRef = React.useMemo(\n () => (node: HTMLDivElement | null) => {\n contentRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n },\n [forwardedRef],\n );\n\n // Cleanup stuck pointer-events on body\n useBodyPointerEventsCleanup();\n\n // Focus trap effect\n React.useEffect(() => {\n // SSR safety - only run on client\n if (typeof window === 'undefined') return;\n\n const content = contentRef.current;\n if (!content) return;\n\n const focusableElements = content.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n );\n\n if (focusableElements.length === 0) return;\n\n const firstElement = focusableElements[0] as HTMLElement;\n const lastElement = focusableElements[focusableElements.length - 1] as HTMLElement;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n if (event.shiftKey) {\n if (document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n }\n } else {\n if (document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n }\n }\n };\n\n content.addEventListener('keydown', handleKeyDown);\n\n // Focus first element when dialog opens\n firstElement.focus();\n\n return () => {\n content.removeEventListener('keydown', handleKeyDown);\n };\n }, []);\n\n return (\n <DialogPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <DialogPrimitive.Overlay className=\"rt-BaseDialogOverlay rt-DialogOverlay\">\n <div className=\"rt-BaseDialogScroll rt-DialogScroll\">\n <div\n className={`rt-BaseDialogScrollPadding rt-DialogScrollPadding ${alignClassName}`}\n >\n <DialogPrimitive.Content\n {...contentProps}\n ref={combinedRef}\n className={classNames('rt-BaseDialogContent', 'rt-DialogContent', className)}\n tabIndex={-1}\n role=\"dialog\"\n aria-modal=\"true\"\n onCloseAutoFocus={(event) => {\n // Prevent default focus behavior\n event.preventDefault();\n // Restore pointer-events to body (Radix UI fix for issue #1241)\n document.body.style.pointerEvents = '';\n }}\n />\n {/* ARIA live region for screen reader announcements */}\n <div\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className=\"rt-sr-only\"\n id=\"dialog-announcement\"\n />\n </div>\n </div>\n </DialogPrimitive.Overlay>\n </Theme>\n </DialogPrimitive.Portal>\n );\n },\n);\nDialogContent.displayName = 'Dialog.Content';\n\ntype DialogTitleElement = React.ElementRef<typeof Heading>;\ntype DialogTitleProps = ComponentPropsWithout<typeof Heading, 'asChild'>;\nconst DialogTitle = React.forwardRef<DialogTitleElement, DialogTitleProps>(\n (props, forwardedRef) => (\n <DialogPrimitive.Title asChild>\n <Heading size=\"5\" trim=\"start\" {...props} asChild={false} ref={forwardedRef} />\n </DialogPrimitive.Title>\n ),\n);\nDialogTitle.displayName = 'Dialog.Title';\n\ntype DialogDescriptionElement = HTMLParagraphElement;\ntype DialogDescriptionProps = ComponentPropsAs<typeof Text, 'p'>;\nconst DialogDescription = React.forwardRef<DialogDescriptionElement, DialogDescriptionProps>(\n (props, forwardedRef) => (\n <DialogPrimitive.Description asChild>\n <Text as=\"p\" size=\"3\" {...props} asChild={false} ref={forwardedRef} />\n </DialogPrimitive.Description>\n ),\n);\nDialogDescription.displayName = 'Dialog.Description';\n\ntype DialogCloseElement = React.ElementRef<typeof DialogPrimitive.Close>;\ninterface DialogCloseProps\n extends ComponentPropsWithout<typeof DialogPrimitive.Close, RemovedProps> {}\nconst DialogClose = React.forwardRef<DialogCloseElement, DialogCloseProps>(\n ({ children, ...props }, forwardedRef) => (\n <DialogPrimitive.Close {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </DialogPrimitive.Close>\n ),\n);\nDialogClose.displayName = 'Dialog.Close';\n\nexport {\n DialogRoot as Root,\n DialogTrigger as Trigger,\n DialogContent as Content,\n DialogTitle as Title,\n DialogDescription as Description,\n DialogClose as Close,\n};\n\nexport type {\n DialogRootProps as RootProps,\n DialogTriggerProps as TriggerProps,\n DialogContentProps as ContentProps,\n DialogTitleProps as TitleProps,\n DialogDescriptionProps as DescriptionProps,\n DialogCloseProps as CloseProps,\n};\n"],
5
- "mappings": "wWAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,WAAAE,EAAA,YAAAC,EAAA,gBAAAC,EAAA,SAAAC,EAAA,UAAAC,EAAA,YAAAC,IAAA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,UAAUC,MAAuB,WAmB1C,IAAMC,EAAyCC,GAAU,gBAACC,EAAgB,KAAhB,CAAsB,GAAGD,EAAO,MAAK,GAAC,EAChGD,EAAW,YAAc,cAKzB,IAAMG,EAAsB,aAC1B,CAAC,CAAE,SAAAC,EAAU,GAAGH,CAAM,EAAGI,IACvB,gBAACH,EAAgB,QAAhB,CAAyB,GAAGD,EAAO,IAAKI,EAAc,QAAO,IAC3DC,EAAoBF,CAAQ,CAC/B,CAEJ,EACAD,EAAc,YAAc,iBAK5B,GAAM,CACJ,MAAOI,EACP,GAAGC,CACL,EAAIC,EACEC,EAAgB,CAAE,MAAOH,CAAa,EAQtCI,EAAsB,aAC1B,CAAC,CAAE,MAAAC,EAAO,GAAGC,CAAS,EAAGR,IAAiB,CACxC,IAAMJ,EAAQa,EAAkBD,EAAUL,EAAgB,IAAI,EACxD,CAAE,UAAWO,CAAe,EAAIC,EAAa,CAAE,MAAAJ,CAAM,EAAGF,CAAa,EAErE,CACJ,UAAAO,EACA,WAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAAIJ,EAAaf,EAAOO,CAAe,EAGjCa,EAAmB,SAAuB,IAAI,EAC9CC,EAAoB,UACxB,IAAOC,GAAgC,CACrCF,EAAW,QAAUE,EACjB,OAAOlB,GAAiB,WAC1BA,EAAakB,CAAI,EACRlB,IACTA,EAAa,QAAUkB,EAE3B,EACA,CAAClB,CAAY,CACf,EAGA,OAAAmB,EAA4B,EAGtB,YAAU,IAAM,CAEpB,GAAI,OAAO,OAAW,IAAa,OAEnC,IAAMC,EAAUJ,EAAW,QAC3B,GAAI,CAACI,EAAS,OAEd,IAAMC,EAAoBD,EAAQ,iBAChC,0EACF,EAEA,GAAIC,EAAkB,SAAW,EAAG,OAEpC,IAAMC,EAAeD,EAAkB,CAAC,EAClCE,EAAcF,EAAkBA,EAAkB,OAAS,CAAC,EAE5DG,EAAiBC,GAAyB,CAC1CA,EAAM,MAAQ,QACZA,EAAM,SACJ,SAAS,gBAAkBH,IAC7BG,EAAM,eAAe,EACrBF,EAAY,MAAM,GAGhB,SAAS,gBAAkBA,IAC7BE,EAAM,eAAe,EACrBH,EAAa,MAAM,GAI3B,EAEA,OAAAF,EAAQ,iBAAiB,UAAWI,CAAa,EAGjDF,EAAa,MAAM,EAEZ,IAAM,CACXF,EAAQ,oBAAoB,UAAWI,CAAa,CACtD,CACF,EAAG,CAAC,CAAC,EAGH,gBAAC3B,EAAgB,OAAhB,CAAuB,UAAWiB,EAAW,WAAYD,GACxD,gBAACa,EAAA,CAAM,QAAO,IACZ,gBAAC7B,EAAgB,QAAhB,CAAwB,UAAU,yCACjC,gBAAC,OAAI,UAAU,uCACb,gBAAC,OACC,UAAW,qDAAqDa,CAAc,IAE9E,gBAACb,EAAgB,QAAhB,CACE,GAAGkB,EACJ,IAAKE,EACL,UAAWU,EAAW,uBAAwB,mBAAoBf,CAAS,EAC3E,SAAU,GACV,KAAK,SACL,aAAW,OACX,iBAAmBa,GAAU,CAE3BA,EAAM,eAAe,EAErB,SAAS,KAAK,MAAM,cAAgB,EACtC,EACF,EAEA,gBAAC,OACC,YAAU,SACV,cAAY,OACZ,UAAU,aACV,GAAG,sBACL,CACF,CACF,CACF,CACF,CACF,CAEJ,CACF,EACAnB,EAAc,YAAc,iBAI5B,IAAMsB,EAAoB,aACxB,CAAChC,EAAOI,IACN,gBAACH,EAAgB,MAAhB,CAAsB,QAAO,IAC5B,gBAACgC,EAAA,CAAQ,KAAK,IAAI,KAAK,QAAS,GAAGjC,EAAO,QAAS,GAAO,IAAKI,EAAc,CAC/E,CAEJ,EACA4B,EAAY,YAAc,eAI1B,IAAME,EAA0B,aAC9B,CAAClC,EAAOI,IACN,gBAACH,EAAgB,YAAhB,CAA4B,QAAO,IAClC,gBAACkC,EAAA,CAAK,GAAG,IAAI,KAAK,IAAK,GAAGnC,EAAO,QAAS,GAAO,IAAKI,EAAc,CACtE,CAEJ,EACA8B,EAAkB,YAAc,qBAKhC,IAAME,EAAoB,aACxB,CAAC,CAAE,SAAAjC,EAAU,GAAGH,CAAM,EAAGI,IACvB,gBAACH,EAAgB,MAAhB,CAAuB,GAAGD,EAAO,IAAKI,EAAc,QAAO,IACzDC,EAAoBF,CAAQ,CAC/B,CAEJ,EACAiC,EAAY,YAAc",
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Dialog as DialogPrimitive } from 'radix-ui';\n\nimport { dialogContentPropDefs } from './dialog.props.js';\nimport { Heading } from './heading.js';\nimport { Text } from './text.js';\nimport { Theme } from './theme.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\nimport { useBodyPointerEventsCleanup } from '../hooks/use-body-pointer-events-cleanup.js';\n\nimport type { DialogContentOwnProps } from './dialog.props.js';\nimport type {\n ComponentPropsWithout,\n RemovedProps,\n ComponentPropsAs,\n} from '../helpers/component-props.js';\n\ninterface DialogRootProps extends ComponentPropsWithout<typeof DialogPrimitive.Root, 'modal'> {}\nconst DialogRoot: React.FC<DialogRootProps> = (props) => <DialogPrimitive.Root {...props} modal />;\nDialogRoot.displayName = 'Dialog.Root';\n\ntype DialogTriggerElement = React.ElementRef<typeof DialogPrimitive.Trigger>;\ninterface DialogTriggerProps\n extends ComponentPropsWithout<typeof DialogPrimitive.Trigger, RemovedProps> {}\nconst DialogTrigger = React.forwardRef<DialogTriggerElement, DialogTriggerProps>(\n ({ children, ...props }, forwardedRef) => (\n <DialogPrimitive.Trigger {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </DialogPrimitive.Trigger>\n ),\n);\nDialogTrigger.displayName = 'Dialog.Trigger';\n\n// Split once at module scope. `extractProps` memoises on the identity of the\n// prop def objects it is handed, so rebuilding these per render would recompile\n// them on every render.\nconst {\n align: alignPropDef,\n ...contentPropDefs\n} = dialogContentPropDefs;\nconst alignPropDefs = { align: alignPropDef };\n\ntype DialogContentElement = React.ElementRef<typeof DialogPrimitive.Content>;\ninterface DialogContentProps\n extends ComponentPropsWithout<typeof DialogPrimitive.Content, RemovedProps>,\n DialogContentOwnProps {\n container?: React.ComponentPropsWithoutRef<typeof DialogPrimitive.Portal>['container'];\n}\nconst DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>(\n ({ align, ...ownProps }, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, contentPropDefs.size);\n const { className: alignClassName } = extractProps({ align }, alignPropDefs);\n\n const {\n className,\n forceMount,\n container,\n ...contentProps\n } = extractProps(props, contentPropDefs);\n\n // Focus management\n const contentRef = React.useRef<HTMLDivElement>(null);\n const combinedRef = React.useMemo(\n () => (node: HTMLDivElement | null) => {\n contentRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n },\n [forwardedRef],\n );\n\n // Cleanup stuck pointer-events on body\n useBodyPointerEventsCleanup();\n\n // Focus trap effect\n React.useEffect(() => {\n // SSR safety - only run on client\n if (typeof window === 'undefined') return;\n\n const content = contentRef.current;\n if (!content) return;\n\n const focusableElements = content.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n );\n\n if (focusableElements.length === 0) return;\n\n const firstElement = focusableElements[0] as HTMLElement;\n const lastElement = focusableElements[focusableElements.length - 1] as HTMLElement;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n if (event.shiftKey) {\n if (document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n }\n } else {\n if (document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n }\n }\n };\n\n content.addEventListener('keydown', handleKeyDown);\n\n // Focus first element when dialog opens\n firstElement.focus();\n\n return () => {\n content.removeEventListener('keydown', handleKeyDown);\n };\n }, []);\n\n return (\n <DialogPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <DialogPrimitive.Overlay className=\"kui-BaseDialogOverlay kui-DialogOverlay\">\n <div className=\"kui-BaseDialogScroll kui-DialogScroll\">\n <div\n className={`kui-BaseDialogScrollPadding kui-DialogScrollPadding ${alignClassName}`}\n >\n <DialogPrimitive.Content\n {...contentProps}\n ref={combinedRef}\n className={classNames('kui-BaseDialogContent', 'kui-DialogContent', className)}\n tabIndex={-1}\n role=\"dialog\"\n aria-modal=\"true\"\n onCloseAutoFocus={(event) => {\n // Prevent default focus behavior\n event.preventDefault();\n // Restore pointer-events to body (Radix UI fix for issue #1241)\n document.body.style.pointerEvents = '';\n }}\n />\n {/* ARIA live region for screen reader announcements */}\n <div\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className=\"kui-sr-only\"\n id=\"dialog-announcement\"\n />\n </div>\n </div>\n </DialogPrimitive.Overlay>\n </Theme>\n </DialogPrimitive.Portal>\n );\n },\n);\nDialogContent.displayName = 'Dialog.Content';\n\ntype DialogTitleElement = React.ElementRef<typeof Heading>;\ntype DialogTitleProps = ComponentPropsWithout<typeof Heading, 'asChild'>;\nconst DialogTitle = React.forwardRef<DialogTitleElement, DialogTitleProps>(\n (props, forwardedRef) => (\n <DialogPrimitive.Title asChild>\n <Heading size=\"5\" trim=\"start\" {...props} asChild={false} ref={forwardedRef} />\n </DialogPrimitive.Title>\n ),\n);\nDialogTitle.displayName = 'Dialog.Title';\n\ntype DialogDescriptionElement = HTMLParagraphElement;\ntype DialogDescriptionProps = ComponentPropsAs<typeof Text, 'p'>;\nconst DialogDescription = React.forwardRef<DialogDescriptionElement, DialogDescriptionProps>(\n (props, forwardedRef) => (\n <DialogPrimitive.Description asChild>\n <Text as=\"p\" size=\"3\" {...props} asChild={false} ref={forwardedRef} />\n </DialogPrimitive.Description>\n ),\n);\nDialogDescription.displayName = 'Dialog.Description';\n\ntype DialogCloseElement = React.ElementRef<typeof DialogPrimitive.Close>;\ninterface DialogCloseProps\n extends ComponentPropsWithout<typeof DialogPrimitive.Close, RemovedProps> {}\nconst DialogClose = React.forwardRef<DialogCloseElement, DialogCloseProps>(\n ({ children, ...props }, forwardedRef) => (\n <DialogPrimitive.Close {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </DialogPrimitive.Close>\n ),\n);\nDialogClose.displayName = 'Dialog.Close';\n\nexport {\n DialogRoot as Root,\n DialogTrigger as Trigger,\n DialogContent as Content,\n DialogTitle as Title,\n DialogDescription as Description,\n DialogClose as Close,\n};\n\nexport type {\n DialogRootProps as RootProps,\n DialogTriggerProps as TriggerProps,\n DialogContentProps as ContentProps,\n DialogTitleProps as TitleProps,\n DialogDescriptionProps as DescriptionProps,\n DialogCloseProps as CloseProps,\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["dialog_exports", "__export", "DialogClose", "DialogContent", "DialogDescription", "DialogRoot", "DialogTitle", "DialogTrigger", "React", "classNames", "DialogPrimitive", "DialogRoot", "props", "DialogPrimitive", "DialogTrigger", "children", "forwardedRef", "requireReactElement", "alignPropDef", "contentPropDefs", "dialogContentPropDefs", "alignPropDefs", "DialogContent", "align", "ownProps", "useThemeSizeProps", "alignClassName", "extractProps", "className", "forceMount", "container", "contentProps", "contentRef", "combinedRef", "node", "useBodyPointerEventsCleanup", "content", "focusableElements", "firstElement", "lastElement", "handleKeyDown", "event", "Theme", "classNames", "DialogTitle", "Heading", "DialogDescription", "Text", "DialogClose"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-QZ6OCMH4.js";import{z as r}from"zod";var l=s.extend({pressed:r.boolean().optional().describe("Controlled pressed state"),onPressedChange:r.function().optional().describe("Callback when pressed state changes"),defaultPressed:r.boolean().optional().describe("Default pressed state for uncontrolled usage")}).refine(e=>!e.iconOnly||!!(e["aria-label"]||e["aria-labelledby"]),{message:"An iconOnly Toggle must have either 'aria-label' or 'aria-labelledby' for accessibility",path:["aria-label"]}).refine(e=>!(e.pressed!==void 0&&e.onPressedChange===void 0),{message:"When using controlled mode (pressed prop), onPressedChange must also be provided",path:["onPressedChange"]}).refine(e=>!(e.pressed!==void 0&&e.defaultPressed!==void 0),{message:"Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together",path:["pressed","defaultPressed"]});function a(e){return e}export{l as a,a as b};
2
- //# sourceMappingURL=chunk-RBTTIDON.js.map
1
+ import{a as s}from"./chunk-GBQZ4Z2H.js";import{z as r}from"zod";var l=s.extend({pressed:r.boolean().optional().describe("Controlled pressed state"),onPressedChange:r.function().optional().describe("Callback when pressed state changes"),defaultPressed:r.boolean().optional().describe("Default pressed state for uncontrolled usage")}).refine(e=>!e.iconOnly||!!(e["aria-label"]||e["aria-labelledby"]),{message:"An iconOnly Toggle must have either 'aria-label' or 'aria-labelledby' for accessibility",path:["aria-label"]}).refine(e=>!(e.pressed!==void 0&&e.onPressedChange===void 0),{message:"When using controlled mode (pressed prop), onPressedChange must also be provided",path:["onPressedChange"]}).refine(e=>!(e.pressed!==void 0&&e.defaultPressed!==void 0),{message:"Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together",path:["pressed","defaultPressed"]});function a(e){return e}export{l as a,a as b};
2
+ //# sourceMappingURL=chunk-QWDCLL6R.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/schemas/toggle.schema.ts"],
4
+ "sourcesContent": ["import { z } from 'zod';\nimport { ButtonObjectSchema } from './button.schema.js';\n\n/**\n * Toggle Zod schema - Single source of truth for Toggle component props\n *\n * Toggle is a Button that stays pressed, built on Radix UI's Toggle primitive. Set `iconOnly`\n * for a square toggle holding only an icon; it then needs `aria-label` or `aria-labelledby`.\n *\n * @example\n * ```tsx\n * const props = ToggleSchema.parse({ defaultPressed: false, variant: 'outline' });\n *\n * const iconProps = ToggleSchema.parse({ iconOnly: true, 'aria-label': 'Bold' });\n * ```\n */\nexport const ToggleSchema = ButtonObjectSchema.extend({\n /**\n * Controlled pressed state\n * When provided, the component is controlled and the pressed state is managed externally\n */\n pressed: z.boolean().optional().describe('Controlled pressed state'),\n\n /**\n * Callback when pressed state changes\n * Called with the new pressed state when the toggle is activated\n */\n onPressedChange: z.function().optional().describe('Callback when pressed state changes'),\n\n /**\n * Default pressed state for uncontrolled usage\n * Used as the initial pressed state when the component is uncontrolled\n */\n defaultPressed: z.boolean().optional().describe('Default pressed state for uncontrolled usage'),\n})\n .refine((data) => !data.iconOnly || Boolean(data['aria-label'] || data['aria-labelledby']), {\n message: \"An iconOnly Toggle must have either 'aria-label' or 'aria-labelledby' for accessibility\",\n path: ['aria-label'],\n })\n .refine(\n (data) => {\n // If pressed is provided, onPressedChange should also be provided for controlled usage\n if (data.pressed !== undefined && data.onPressedChange === undefined) {\n return false;\n }\n return true;\n },\n {\n message: 'When using controlled mode (pressed prop), onPressedChange must also be provided',\n path: ['onPressedChange'],\n },\n )\n .refine(\n (data) => {\n // Cannot have both controlled and uncontrolled props\n if (data.pressed !== undefined && data.defaultPressed !== undefined) {\n return false;\n }\n return true;\n },\n {\n message:\n 'Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together',\n path: ['pressed', 'defaultPressed'],\n },\n );\n\n/**\n * Type derived from Toggle Zod schema\n * This ensures type safety and consistency with the schema\n */\nexport type ToggleProps = z.infer<typeof ToggleSchema>;\n\n/**\n * Development-only helper to validate and normalize Toggle props\n * This function should only be used in development mode\n *\n * @param props - Props to validate and normalize\n * @returns Validated and normalized props\n *\n * @example\n * ```tsx\n * // In development, this will validate props and show helpful errors\n * const invalidProps = parseToggleProps({\n * pressed: true,\n * defaultPressed: false\n * // Missing onPressedChange and conflicting controlled/uncontrolled\n * });\n * // Throws: \"Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together\"\n *\n * const validProps = parseToggleProps({\n * pressed: true,\n * onPressedChange: (pressed) => setPressed(pressed)\n * });\n * ```\n */\nexport function parseToggleProps(props: unknown): ToggleProps {\n if (process.env.NODE_ENV === 'development') {\n return ToggleSchema.parse(props);\n }\n return props as ToggleProps;\n}\n"],
5
+ "mappings": "wCAAA,OAAS,KAAAA,MAAS,MAgBX,IAAMC,EAAeC,EAAmB,OAAO,CAKpD,QAASC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,0BAA0B,EAMnE,gBAAiBA,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,qCAAqC,EAMvF,eAAgBA,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,8CAA8C,CAChG,CAAC,EACE,OAAQC,GAAS,CAACA,EAAK,UAAY,GAAQA,EAAK,YAAY,GAAKA,EAAK,iBAAiB,GAAI,CAC1F,QAAS,0FACT,KAAM,CAAC,YAAY,CACrB,CAAC,EACA,OACEA,GAEK,EAAAA,EAAK,UAAY,QAAaA,EAAK,kBAAoB,QAK7D,CACE,QAAS,mFACT,KAAM,CAAC,iBAAiB,CAC1B,CACF,EACC,OACEA,GAEK,EAAAA,EAAK,UAAY,QAAaA,EAAK,iBAAmB,QAK5D,CACE,QACE,wFACF,KAAM,CAAC,UAAW,gBAAgB,CACpC,CACF,EA+BK,SAASC,EAAiBC,EAA6B,CAI5D,OAAOA,CACT",
6
+ "names": ["z", "ToggleSchema", "ButtonObjectSchema", "z", "data", "parseToggleProps", "props"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{a as p}from"./chunk-IWCFJJBI.js";import{a as o}from"./chunk-UONSKZQT.js";import{a as c}from"./chunk-5BWLY27A.js";import{a as m}from"./chunk-PS6NEG5A.js";import*as r from"react";import R from"classnames";import{ScrollArea as e}from"radix-ui";import{useComposedRefs as w}from"radix-ui/internal";var N=r.forwardRef((n,d)=>{let{asChild:t,children:u,className:S,style:f,type:a,scrollHideDelay:A=a!=="scroll"?0:void 0,dir:T,radius:i=o.radius.default,scrollbars:l=o.scrollbars.default,fade:s=o.fade.default,...P}=n,y=c(s),v=p(),b=w(d,y,v);return r.createElement(e.Root,{type:a,scrollHideDelay:A,className:R("kui-ScrollAreaRoot",S),"data-fade":s?"":void 0,style:f,asChild:t},m({asChild:t,children:u},h=>r.createElement(r.Fragment,null,r.createElement(e.Viewport,{...P,ref:b,className:"kui-ScrollAreaViewport"},h),r.createElement("div",{className:"kui-ScrollAreaViewportFocusRing"}),l!=="vertical"?r.createElement(e.Scrollbar,{"data-radius":i,orientation:"horizontal",className:"kui-ScrollAreaScrollbar"},r.createElement(e.Thumb,{className:"kui-ScrollAreaThumb"})):null,l!=="horizontal"?r.createElement(e.Scrollbar,{"data-radius":i,orientation:"vertical",className:"kui-ScrollAreaScrollbar"},r.createElement(e.Thumb,{className:"kui-ScrollAreaThumb"})):null,l==="both"?r.createElement(e.Corner,{className:"kui-ScrollAreaCorner"}):null)))});N.displayName="ScrollArea";export{N as a};
2
+ //# sourceMappingURL=chunk-R4XJNQX5.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/scroll-area.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\nimport { useComposedRefs } from 'radix-ui/internal';\n\nimport { scrollAreaPropDefs } from './scroll-area.props.js';\nimport { useScrollEdges } from '../hooks/use-scroll-edges.js';\nimport { useThumbSync } from '../hooks/use-thumb-sync.js';\nimport { getSubtree } from '../helpers/get-subtree.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype ScrollAreaElement = React.ElementRef<typeof ScrollAreaPrimitive.Viewport>;\ntype ScrollAreaOwnProps = GetPropDefTypes<typeof scrollAreaPropDefs>;\ninterface ScrollAreaProps\n extends ComponentPropsWithout<typeof ScrollAreaPrimitive.Root, RemovedProps>,\n ComponentPropsWithout<typeof ScrollAreaPrimitive.Viewport, RemovedProps | 'dir'>,\n ScrollAreaOwnProps {}\nconst ScrollArea = React.forwardRef<ScrollAreaElement, ScrollAreaProps>((props, forwardedRef) => {\n const {\n asChild,\n children,\n className,\n style,\n type,\n scrollHideDelay = type !== 'scroll' ? 0 : undefined,\n dir,\n radius = scrollAreaPropDefs.radius.default,\n scrollbars = scrollAreaPropDefs.scrollbars.default,\n fade = scrollAreaPropDefs.fade.default,\n ...viewportProps\n } = props;\n const setEdgesElement = useScrollEdges<HTMLDivElement>(fade);\n const setThumbViewport = useThumbSync<HTMLDivElement>();\n const viewportRef = useComposedRefs(forwardedRef, setEdgesElement, setThumbViewport);\n\n return (\n <ScrollAreaPrimitive.Root\n type={type}\n scrollHideDelay={scrollHideDelay}\n className={classNames('rt-ScrollAreaRoot', className)}\n data-fade={fade ? '' : undefined}\n style={style}\n asChild={asChild}\n >\n {getSubtree({ asChild, children }, (children) => (\n <>\n <ScrollAreaPrimitive.Viewport\n {...viewportProps}\n ref={viewportRef}\n className=\"rt-ScrollAreaViewport\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n\n <div className=\"rt-ScrollAreaViewportFocusRing\" />\n\n {scrollbars !== 'vertical' ? (\n <ScrollAreaPrimitive.Scrollbar\n data-radius={radius}\n orientation=\"horizontal\"\n className=\"rt-ScrollAreaScrollbar\"\n >\n <ScrollAreaPrimitive.Thumb className=\"rt-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n ) : null}\n\n {scrollbars !== 'horizontal' ? (\n <ScrollAreaPrimitive.Scrollbar\n data-radius={radius}\n orientation=\"vertical\"\n className=\"rt-ScrollAreaScrollbar\"\n >\n <ScrollAreaPrimitive.Thumb className=\"rt-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n ) : null}\n\n {scrollbars === 'both' ? (\n <ScrollAreaPrimitive.Corner className=\"rt-ScrollAreaCorner\" />\n ) : null}\n </>\n ))}\n </ScrollAreaPrimitive.Root>\n );\n});\nScrollArea.displayName = 'ScrollArea';\n\nexport { ScrollArea };\nexport type { ScrollAreaProps };\n"],
5
- "mappings": "gKAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,cAAcC,MAA2B,WAClD,OAAS,mBAAAC,MAAuB,oBAgBhC,IAAMC,EAAmB,aAA+C,CAACC,EAAOC,IAAiB,CAC/F,GAAM,CACJ,QAAAC,EACA,SAAAC,EACA,UAAAC,EACA,MAAAC,EACA,KAAAC,EACA,gBAAAC,EAAkBD,IAAS,SAAW,EAAI,OAC1C,IAAAE,EACA,OAAAC,EAASC,EAAmB,OAAO,QACnC,WAAAC,EAAaD,EAAmB,WAAW,QAC3C,KAAAE,EAAOF,EAAmB,KAAK,QAC/B,GAAGG,CACL,EAAIb,EACEc,EAAkBC,EAA+BH,CAAI,EACrDI,EAAmBC,EAA6B,EAChDC,EAAcC,EAAgBlB,EAAca,EAAiBE,CAAgB,EAEnF,OACE,gBAACI,EAAoB,KAApB,CACC,KAAMd,EACN,gBAAiBC,EACjB,UAAWc,EAAW,oBAAqBjB,CAAS,EACpD,YAAWQ,EAAO,GAAK,OACvB,MAAOP,EACP,QAASH,GAERoB,EAAW,CAAE,QAAApB,EAAS,SAAAC,CAAS,EAAIA,GAClC,gCACE,gBAACiB,EAAoB,SAApB,CACE,GAAGP,EACJ,IAAKK,EACL,UAAU,yBAETf,CACH,EAEA,gBAAC,OAAI,UAAU,iCAAiC,EAE/CQ,IAAe,WACd,gBAACS,EAAoB,UAApB,CACC,cAAaX,EACb,YAAY,aACZ,UAAU,0BAEV,gBAACW,EAAoB,MAApB,CAA0B,UAAU,qBAAqB,CAC5D,EACE,KAEHT,IAAe,aACd,gBAACS,EAAoB,UAApB,CACC,cAAaX,EACb,YAAY,WACZ,UAAU,0BAEV,gBAACW,EAAoB,MAApB,CAA0B,UAAU,qBAAqB,CAC5D,EACE,KAEHT,IAAe,OACd,gBAACS,EAAoB,OAApB,CAA2B,UAAU,sBAAsB,EAC1D,IACN,CACD,CACH,CAEJ,CAAC,EACDrB,EAAW,YAAc",
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\nimport { useComposedRefs } from 'radix-ui/internal';\n\nimport { scrollAreaPropDefs } from './scroll-area.props.js';\nimport { useScrollEdges } from '../hooks/use-scroll-edges.js';\nimport { useThumbSync } from '../hooks/use-thumb-sync.js';\nimport { getSubtree } from '../helpers/get-subtree.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype ScrollAreaElement = React.ElementRef<typeof ScrollAreaPrimitive.Viewport>;\ntype ScrollAreaOwnProps = GetPropDefTypes<typeof scrollAreaPropDefs>;\ninterface ScrollAreaProps\n extends ComponentPropsWithout<typeof ScrollAreaPrimitive.Root, RemovedProps>,\n ComponentPropsWithout<typeof ScrollAreaPrimitive.Viewport, RemovedProps | 'dir'>,\n ScrollAreaOwnProps {}\nconst ScrollArea = React.forwardRef<ScrollAreaElement, ScrollAreaProps>((props, forwardedRef) => {\n const {\n asChild,\n children,\n className,\n style,\n type,\n scrollHideDelay = type !== 'scroll' ? 0 : undefined,\n dir,\n radius = scrollAreaPropDefs.radius.default,\n scrollbars = scrollAreaPropDefs.scrollbars.default,\n fade = scrollAreaPropDefs.fade.default,\n ...viewportProps\n } = props;\n const setEdgesElement = useScrollEdges<HTMLDivElement>(fade);\n const setThumbViewport = useThumbSync<HTMLDivElement>();\n const viewportRef = useComposedRefs(forwardedRef, setEdgesElement, setThumbViewport);\n\n return (\n <ScrollAreaPrimitive.Root\n type={type}\n scrollHideDelay={scrollHideDelay}\n className={classNames('kui-ScrollAreaRoot', className)}\n data-fade={fade ? '' : undefined}\n style={style}\n asChild={asChild}\n >\n {getSubtree({ asChild, children }, (children) => (\n <>\n <ScrollAreaPrimitive.Viewport\n {...viewportProps}\n ref={viewportRef}\n className=\"kui-ScrollAreaViewport\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n\n <div className=\"kui-ScrollAreaViewportFocusRing\" />\n\n {scrollbars !== 'vertical' ? (\n <ScrollAreaPrimitive.Scrollbar\n data-radius={radius}\n orientation=\"horizontal\"\n className=\"kui-ScrollAreaScrollbar\"\n >\n <ScrollAreaPrimitive.Thumb className=\"kui-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n ) : null}\n\n {scrollbars !== 'horizontal' ? (\n <ScrollAreaPrimitive.Scrollbar\n data-radius={radius}\n orientation=\"vertical\"\n className=\"kui-ScrollAreaScrollbar\"\n >\n <ScrollAreaPrimitive.Thumb className=\"kui-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n ) : null}\n\n {scrollbars === 'both' ? (\n <ScrollAreaPrimitive.Corner className=\"kui-ScrollAreaCorner\" />\n ) : null}\n </>\n ))}\n </ScrollAreaPrimitive.Root>\n );\n});\nScrollArea.displayName = 'ScrollArea';\n\nexport { ScrollArea };\nexport type { ScrollAreaProps };\n"],
5
+ "mappings": "gKAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,cAAcC,MAA2B,WAClD,OAAS,mBAAAC,MAAuB,oBAgBhC,IAAMC,EAAmB,aAA+C,CAACC,EAAOC,IAAiB,CAC/F,GAAM,CACJ,QAAAC,EACA,SAAAC,EACA,UAAAC,EACA,MAAAC,EACA,KAAAC,EACA,gBAAAC,EAAkBD,IAAS,SAAW,EAAI,OAC1C,IAAAE,EACA,OAAAC,EAASC,EAAmB,OAAO,QACnC,WAAAC,EAAaD,EAAmB,WAAW,QAC3C,KAAAE,EAAOF,EAAmB,KAAK,QAC/B,GAAGG,CACL,EAAIb,EACEc,EAAkBC,EAA+BH,CAAI,EACrDI,EAAmBC,EAA6B,EAChDC,EAAcC,EAAgBlB,EAAca,EAAiBE,CAAgB,EAEnF,OACE,gBAACI,EAAoB,KAApB,CACC,KAAMd,EACN,gBAAiBC,EACjB,UAAWc,EAAW,qBAAsBjB,CAAS,EACrD,YAAWQ,EAAO,GAAK,OACvB,MAAOP,EACP,QAASH,GAERoB,EAAW,CAAE,QAAApB,EAAS,SAAAC,CAAS,EAAIA,GAClC,gCACE,gBAACiB,EAAoB,SAApB,CACE,GAAGP,EACJ,IAAKK,EACL,UAAU,0BAETf,CACH,EAEA,gBAAC,OAAI,UAAU,kCAAkC,EAEhDQ,IAAe,WACd,gBAACS,EAAoB,UAApB,CACC,cAAaX,EACb,YAAY,aACZ,UAAU,2BAEV,gBAACW,EAAoB,MAApB,CAA0B,UAAU,sBAAsB,CAC7D,EACE,KAEHT,IAAe,aACd,gBAACS,EAAoB,UAApB,CACC,cAAaX,EACb,YAAY,WACZ,UAAU,2BAEV,gBAACW,EAAoB,MAApB,CAA0B,UAAU,sBAAsB,CAC7D,EACE,KAEHT,IAAe,OACd,gBAACS,EAAoB,OAApB,CAA2B,UAAU,uBAAuB,EAC3D,IACN,CACD,CACH,CAEJ,CAAC,EACDrB,EAAW,YAAc",
6
6
  "names": ["React", "classNames", "ScrollAreaPrimitive", "useComposedRefs", "ScrollArea", "props", "forwardedRef", "asChild", "children", "className", "style", "type", "scrollHideDelay", "dir", "radius", "scrollAreaPropDefs", "scrollbars", "fade", "viewportProps", "setEdgesElement", "useScrollEdges", "setThumbViewport", "useThumbSync", "viewportRef", "useComposedRefs", "ScrollAreaPrimitive", "classNames", "getSubtree"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import{a as s}from"./chunk-NZJGC6ZW.js";var e=["1","2","3","4","5","6","7","8","9"],r=["raised","soft"],t={...s,size:{type:"enum",className:"kui-r-size",values:e,responsive:!0},variant:{type:"enum",className:"kui-variant",values:r,default:"raised"}};export{t as a};
2
+ //# sourceMappingURL=chunk-RAVZ7F5L.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/kbd.props.tsx"],
4
- "sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] as const;\nconst variants = ['raised', 'soft'] as const;\n\nconst kbdPropDefs = {\n ...asChildPropDef,\n size: {\n type: 'enum',\n className: 'rt-r-size',\n values: sizes,\n responsive: true,\n },\n variant: {\n type: 'enum',\n className: 'rt-variant',\n values: variants,\n default: 'raised',\n },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n};\n\nexport { kbdPropDefs };\n"],
5
- "mappings": "wCAIA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EACpDC,EAAW,CAAC,SAAU,MAAM,EAE5BC,EAAc,CAClB,GAAGC,EACH,KAAM,CACJ,KAAM,OACN,UAAW,YACX,OAAQH,EACR,WAAY,EACd,EACA,QAAS,CACP,KAAM,OACN,UAAW,aACX,OAAQC,EACR,QAAS,QACX,CACF",
4
+ "sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] as const;\nconst variants = ['raised', 'soft'] as const;\n\nconst kbdPropDefs = {\n ...asChildPropDef,\n size: {\n type: 'enum',\n className: 'kui-r-size',\n values: sizes,\n responsive: true,\n },\n variant: {\n type: 'enum',\n className: 'kui-variant',\n values: variants,\n default: 'raised',\n },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n};\n\nexport { kbdPropDefs };\n"],
5
+ "mappings": "wCAIA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EACpDC,EAAW,CAAC,SAAU,MAAM,EAE5BC,EAAc,CAClB,GAAGC,EACH,KAAM,CACJ,KAAM,OACN,UAAW,aACX,OAAQH,EACR,WAAY,EACd,EACA,QAAS,CACP,KAAM,OACN,UAAW,cACX,OAAQC,EACR,QAAS,QACX,CACF",
6
6
  "names": ["sizes", "variants", "kbdPropDefs", "asChildPropDef"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import{a as p}from"./chunk-RAVZ7F5L.js";import{a as e}from"./chunk-ELAW7ZUG.js";import*as o from"react";import n from"classnames";import{Slot as a}from"radix-ui";var b=o.forwardRef((r,t)=>{let{asChild:s,className:m,...d}=e(r,p),f=s?a.Root:"kbd";return o.createElement(f,{...d,ref:t,className:n("kui-reset","kui-Kbd",m)})});b.displayName="Kbd";export{b as a};
2
+ //# sourceMappingURL=chunk-RWTSGUVJ.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/kbd.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from 'radix-ui';\n\nimport { kbdPropDefs } from './kbd.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 KbdElement = React.ElementRef<'kbd'>;\ntype KbdOwnProps = GetPropDefTypes<typeof kbdPropDefs>;\ninterface KbdProps extends ComponentPropsWithout<'kbd', RemovedProps>, KbdOwnProps {}\nconst Kbd = React.forwardRef<KbdElement, KbdProps>((props, forwardedRef) => {\n const { asChild, className, ...kbdProps } = extractProps(props, kbdPropDefs);\n const Comp = asChild ? Slot.Root : 'kbd';\n return (\n <Comp\n {...kbdProps}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-Kbd', className)}\n />\n );\n});\nKbd.displayName = 'Kbd';\n\nexport { Kbd };\nexport type { KbdProps };\n"],
5
- "mappings": "gFAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,QAAAC,MAAY,WAWrB,IAAMC,EAAY,aAAiC,CAACC,EAAOC,IAAiB,CAC1E,GAAM,CAAE,QAAAC,EAAS,UAAAC,EAAW,GAAGC,CAAS,EAAIC,EAAaL,EAAOM,CAAW,EACrEC,EAAOL,EAAUM,EAAK,KAAO,MACnC,OACE,gBAACD,EAAA,CACE,GAAGH,EACJ,IAAKH,EACL,UAAWQ,EAAW,WAAY,SAAUN,CAAS,EACvD,CAEJ,CAAC,EACDJ,EAAI,YAAc",
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from 'radix-ui';\n\nimport { kbdPropDefs } from './kbd.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 KbdElement = React.ElementRef<'kbd'>;\ntype KbdOwnProps = GetPropDefTypes<typeof kbdPropDefs>;\ninterface KbdProps extends ComponentPropsWithout<'kbd', RemovedProps>, KbdOwnProps {}\nconst Kbd = React.forwardRef<KbdElement, KbdProps>((props, forwardedRef) => {\n const { asChild, className, ...kbdProps } = extractProps(props, kbdPropDefs);\n const Comp = asChild ? Slot.Root : 'kbd';\n return (\n <Comp\n {...kbdProps}\n ref={forwardedRef}\n className={classNames('kui-reset', 'kui-Kbd', className)}\n />\n );\n});\nKbd.displayName = 'Kbd';\n\nexport { Kbd };\nexport type { KbdProps };\n"],
5
+ "mappings": "gFAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,QAAAC,MAAY,WAWrB,IAAMC,EAAY,aAAiC,CAACC,EAAOC,IAAiB,CAC1E,GAAM,CAAE,QAAAC,EAAS,UAAAC,EAAW,GAAGC,CAAS,EAAIC,EAAaL,EAAOM,CAAW,EACrEC,EAAOL,EAAUM,EAAK,KAAO,MACnC,OACE,gBAACD,EAAA,CACE,GAAGH,EACJ,IAAKH,EACL,UAAWQ,EAAW,YAAa,UAAWN,CAAS,EACzD,CAEJ,CAAC,EACDJ,EAAI,YAAc",
6
6
  "names": ["React", "classNames", "Slot", "Kbd", "props", "forwardedRef", "asChild", "className", "kbdProps", "extractProps", "kbdPropDefs", "Comp", "Slot", "classNames"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import{b as e}from"./chunk-VS2ZWRGO.js";import{a as p}from"./chunk-SBRPXQWH.js";import{a as s}from"./chunk-SJXV4BWZ.js";import{a as t}from"./chunk-N6KH2EOU.js";import{a as o}from"./chunk-NZJGC6ZW.js";import{c as r}from"./chunk-CUNKWFKA.js";var f=["1","2","3","4","5","6","7","8","9"],n={...o,size:{type:"enum",className:"kui-r-size",values:f,responsive:!0},...t,...r,...e,...s,...p};export{n as a};
2
+ //# sourceMappingURL=chunk-S6GWR6EZ.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/blockquote.props.tsx"],
4
- "sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\nimport { colorPropDef } from '../props/color.prop.js';\nimport { emphasisPropDef } from '../props/emphasis.prop.js';\nimport { textWrapPropDef } from '../props/text-wrap.prop.js';\nimport { truncatePropDef } from '../props/truncate.prop.js';\nimport { weightPropDef } from '../props/weight.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] as const;\n\nconst blockquotePropDefs = {\n ...asChildPropDef,\n size: {\n type: 'enum',\n className: 'rt-r-size',\n values: sizes,\n responsive: true,\n },\n ...weightPropDef,\n ...colorPropDef,\n ...emphasisPropDef,\n ...truncatePropDef,\n ...textWrapPropDef,\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n};\n\nexport { blockquotePropDefs };\n"],
5
- "mappings": "gPASA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAEpDC,EAAqB,CACzB,GAAGC,EACH,KAAM,CACJ,KAAM,OACN,UAAW,YACX,OAAQF,EACR,WAAY,EACd,EACA,GAAGG,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,CACL",
4
+ "sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\nimport { colorPropDef } from '../props/color.prop.js';\nimport { emphasisPropDef } from '../props/emphasis.prop.js';\nimport { textWrapPropDef } from '../props/text-wrap.prop.js';\nimport { truncatePropDef } from '../props/truncate.prop.js';\nimport { weightPropDef } from '../props/weight.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] as const;\n\nconst blockquotePropDefs = {\n ...asChildPropDef,\n size: {\n type: 'enum',\n className: 'kui-r-size',\n values: sizes,\n responsive: true,\n },\n ...weightPropDef,\n ...colorPropDef,\n ...emphasisPropDef,\n ...truncatePropDef,\n ...textWrapPropDef,\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n};\n\nexport { blockquotePropDefs };\n"],
5
+ "mappings": "gPASA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAEpDC,EAAqB,CACzB,GAAGC,EACH,KAAM,CACJ,KAAM,OACN,UAAW,aACX,OAAQF,EACR,WAAY,EACd,EACA,GAAGG,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,CACL",
6
6
  "names": ["sizes", "blockquotePropDefs", "asChildPropDef", "weightPropDef", "colorPropDef", "emphasisPropDef", "truncatePropDef", "textWrapPropDef"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ var e=["wrap","nowrap","pretty","balance"],p={wrap:{type:"enum",className:"kui-r-tw",values:e,responsive:!0}};export{p as a};
2
+ //# sourceMappingURL=chunk-SBRPXQWH.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/props/text-wrap.prop.ts"],
4
- "sourcesContent": ["import type { PropDef } from './prop-def.js';\n\nconst textWrapValues = ['wrap', 'nowrap', 'pretty', 'balance'] as const;\n\nconst textWrapPropDef = {\n wrap: {\n type: 'enum',\n className: 'rt-r-tw',\n values: textWrapValues,\n responsive: true,\n },\n} satisfies {\n wrap: PropDef<(typeof textWrapValues)[number]>;\n};\n\nexport { textWrapPropDef };\n"],
5
- "mappings": "AAEA,IAAMA,EAAiB,CAAC,OAAQ,SAAU,SAAU,SAAS,EAEvDC,EAAkB,CACtB,KAAM,CACJ,KAAM,OACN,UAAW,UACX,OAAQD,EACR,WAAY,EACd,CACF",
4
+ "sourcesContent": ["import type { PropDef } from './prop-def.js';\n\nconst textWrapValues = ['wrap', 'nowrap', 'pretty', 'balance'] as const;\n\nconst textWrapPropDef = {\n wrap: {\n type: 'enum',\n className: 'kui-r-tw',\n values: textWrapValues,\n responsive: true,\n },\n} satisfies {\n wrap: PropDef<(typeof textWrapValues)[number]>;\n};\n\nexport { textWrapPropDef };\n"],
5
+ "mappings": "AAEA,IAAMA,EAAiB,CAAC,OAAQ,SAAU,SAAU,SAAS,EAEvDC,EAAkB,CACtB,KAAM,CACJ,KAAM,OACN,UAAW,WACX,OAAQD,EACR,WAAY,EACd,CACF",
6
6
  "names": ["textWrapValues", "textWrapPropDef"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ var e={truncate:{type:"boolean",className:"kui-truncate"}};export{e as a};
2
+ //# sourceMappingURL=chunk-SJXV4BWZ.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/props/truncate.prop.ts"],
4
- "sourcesContent": ["import type { PropDef } from './prop-def.js';\n\nconst truncatePropDef = {\n truncate: {\n type: 'boolean',\n className: 'rt-truncate',\n },\n} satisfies {\n truncate: PropDef<boolean>;\n};\n\nexport { truncatePropDef };\n"],
5
- "mappings": "AAEA,IAAMA,EAAkB,CACtB,SAAU,CACR,KAAM,UACN,UAAW,aACb,CACF",
4
+ "sourcesContent": ["import type { PropDef } from './prop-def.js';\n\nconst truncatePropDef = {\n truncate: {\n type: 'boolean',\n className: 'kui-truncate',\n },\n} satisfies {\n truncate: PropDef<boolean>;\n};\n\nexport { truncatePropDef };\n"],
5
+ "mappings": "AAEA,IAAMA,EAAkB,CACtB,SAAU,CACR,KAAM,UACN,UAAW,cACb,CACF",
6
6
  "names": ["truncatePropDef"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import{b as o}from"./chunk-KRJTW535.js";import{c as r}from"./chunk-CUNKWFKA.js";var t=["surface","soft","outline"],a={variant:{type:"enum",className:"kui-variant",values:t,default:"surface"},...r,...o,duration:{type:"string"}};export{a};
2
+ //# sourceMappingURL=chunk-SKOYHBIE.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/progress.props.tsx"],
4
- "sourcesContent": ["import { colorPropDef } from '../props/color.prop.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst variants = ['surface', 'soft', 'outline'] as const;\n\nconst progressPropDefs = {\n variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'surface' },\n ...colorPropDef,\n ...radiusPropDef,\n duration: { type: 'string' },\n} satisfies {\n variant: PropDef<(typeof variants)[number]>;\n duration: PropDef<string>;\n};\n\nexport { progressPropDefs };\n"],
5
- "mappings": "gFAKA,IAAMA,EAAW,CAAC,UAAW,OAAQ,SAAS,EAExCC,EAAmB,CACvB,QAAS,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQD,EAAU,QAAS,SAAU,EACvF,GAAGE,EACH,GAAGC,EACH,SAAU,CAAE,KAAM,QAAS,CAC7B",
4
+ "sourcesContent": ["import { colorPropDef } from '../props/color.prop.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst variants = ['surface', 'soft', 'outline'] as const;\n\nconst progressPropDefs = {\n variant: { type: 'enum', className: 'kui-variant', values: variants, default: 'surface' },\n ...colorPropDef,\n ...radiusPropDef,\n duration: { type: 'string' },\n} satisfies {\n variant: PropDef<(typeof variants)[number]>;\n duration: PropDef<string>;\n};\n\nexport { progressPropDefs };\n"],
5
+ "mappings": "gFAKA,IAAMA,EAAW,CAAC,UAAW,OAAQ,SAAS,EAExCC,EAAmB,CACvB,QAAS,CAAE,KAAM,OAAQ,UAAW,cAAe,OAAQD,EAAU,QAAS,SAAU,EACxF,GAAGE,EACH,GAAGC,EACH,SAAU,CAAE,KAAM,QAAS,CAC7B",
6
6
  "names": ["variants", "progressPropDefs", "colorPropDef", "radiusPropDef"]
7
7
  }
@@ -0,0 +1,10 @@
1
+ import*as n from"react";var o=0;function r(){let i=n.useRef(void 0);return n.useEffect(()=>{let e=document.getElementById("kui-live-announcer");return e||(e=document.createElement("div"),e.id="kui-live-announcer",e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true"),e.style.cssText=`
2
+ position: absolute;
3
+ left: -10000px;
4
+ width: 1px;
5
+ height: 1px;
6
+ overflow: hidden;
7
+ clip: rect(0, 0, 0, 0);
8
+ white-space: nowrap;
9
+ `,document.body.appendChild(e)),o++,()=>{if(o--,i.current&&clearTimeout(i.current),o===0){let t=document.getElementById("kui-live-announcer");t&&t.remove()}}},[]),n.useCallback(e=>{let t=document.getElementById("kui-live-announcer");t&&(i.current&&clearTimeout(i.current),t.textContent="",i.current=setTimeout(()=>{t.textContent=e},100))},[])}export{r as a};
10
+ //# sourceMappingURL=chunk-SUPFDIJL.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/hooks/use-live-announcer.ts"],
4
+ "sourcesContent": ["import * as React from 'react';\n\n/**\n * Reference counter to track how many components are using the live region.\n * Only remove the live region when no components are using it.\n */\nlet liveRegionRefCount = 0;\n\n/**\n * Hook for making live announcements to screen readers\n * Creates a hidden aria-live region for announcing dynamic content changes\n */\nexport function useLiveAnnouncer() {\n // Track the timeout so we can clean it up on unmount\n const timeoutRef = React.useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n\n // Create aria-live region if it doesn't exist\n React.useEffect(() => {\n let liveRegion = document.getElementById('kui-live-announcer');\n\n if (!liveRegion) {\n liveRegion = document.createElement('div');\n liveRegion.id = 'kui-live-announcer';\n liveRegion.setAttribute('aria-live', 'polite');\n liveRegion.setAttribute('aria-atomic', 'true');\n liveRegion.style.cssText = `\n position: absolute;\n left: -10000px;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n `;\n document.body.appendChild(liveRegion);\n }\n\n // Increment ref count when component mounts\n liveRegionRefCount++;\n\n return () => {\n // Decrement ref count when component unmounts\n liveRegionRefCount--;\n\n // Clean up timeout on unmount\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n // Only remove the live region if no components are using it\n if (liveRegionRefCount === 0) {\n const region = document.getElementById('kui-live-announcer');\n if (region) {\n region.remove();\n }\n }\n };\n }, []);\n\n const announce = React.useCallback((message: string) => {\n const liveRegion = document.getElementById('kui-live-announcer');\n if (liveRegion) {\n // Clear any pending timeout\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n // Clear previous announcements\n liveRegion.textContent = '';\n\n // Add new announcement with a small delay to ensure it's announced\n timeoutRef.current = setTimeout(() => {\n liveRegion.textContent = message;\n }, 100);\n }\n }, []);\n\n return announce;\n}\n"],
5
+ "mappings": "AAAA,UAAYA,MAAW,QAMvB,IAAIC,EAAqB,EAMlB,SAASC,GAAmB,CAEjC,IAAMC,EAAmB,SAAkD,MAAS,EAGpF,OAAM,YAAU,IAAM,CACpB,IAAIC,EAAa,SAAS,eAAe,oBAAoB,EAE7D,OAAKA,IACHA,EAAa,SAAS,cAAc,KAAK,EACzCA,EAAW,GAAK,qBAChBA,EAAW,aAAa,YAAa,QAAQ,EAC7CA,EAAW,aAAa,cAAe,MAAM,EAC7CA,EAAW,MAAM,QAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAS3B,SAAS,KAAK,YAAYA,CAAU,GAItCH,IAEO,IAAM,CAUX,GARAA,IAGIE,EAAW,SACb,aAAaA,EAAW,OAAO,EAI7BF,IAAuB,EAAG,CAC5B,IAAMI,EAAS,SAAS,eAAe,oBAAoB,EACvDA,GACFA,EAAO,OAAO,CAElB,CACF,CACF,EAAG,CAAC,CAAC,EAEkB,cAAaC,GAAoB,CACtD,IAAMF,EAAa,SAAS,eAAe,oBAAoB,EAC3DA,IAEED,EAAW,SACb,aAAaA,EAAW,OAAO,EAIjCC,EAAW,YAAc,GAGzBD,EAAW,QAAU,WAAW,IAAM,CACpCC,EAAW,YAAcE,CAC3B,EAAG,GAAG,EAEV,EAAG,CAAC,CAAC,CAGP",
6
+ "names": ["React", "liveRegionRefCount", "useLiveAnnouncer", "timeoutRef", "liveRegion", "region", "message"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{a as c}from"./chunk-2N2AQNJH.js";import{a as p}from"./chunk-LNFN35ZE.js";import{a as u}from"./chunk-6WANXT2G.js";import*as t from"react";import v from"classnames";var E={loud:"solid",medium:"raised",quiet:"ghost"};function g(e){if(e["aria-label"]||e["aria-labelledby"])return;console.error("Button: an `iconOnly` button must have an accessible name. Pass `aria-label`, or `aria-labelledby` referencing a label element.")}var w=t.forwardRef(({className:e,style:r,tooltip:a,tooltipSide:d="top",tooltipAlign:m="center",tooltipDelayDuration:B,tooltipDisableHoverableContent:f,iconOnly:s=!1,emphasis:o,variant:i,...n},y)=>{let{tooltipId:b,hasTooltip:P,accessibilityProps:R}=c(a);if(s&&(g(n),n.fullWidth=!1),o!==void 0&&i!==void 0)throw new Error("Button: pass `emphasis` or `variant`, not both. They set the same thing.");let h=o!==void 0?E[o]:i,l=t.createElement(u,{...n,variant:h,...R,ref:y,"data-icon-only":s||void 0,className:v("rt-Button",e),style:r});return P?t.createElement(p,{content:a,side:d,align:m,delayDuration:B,disableHoverableContent:f,id:b},l):l});w.displayName="Button";export{w as a};
2
- //# sourceMappingURL=chunk-IN6ZEGDK.js.map
1
+ import{a as c}from"./chunk-2N2AQNJH.js";import{a as p}from"./chunk-KT2CMUS5.js";import{a as u}from"./chunk-3YWVE5GL.js";import*as t from"react";import v from"classnames";var E={loud:"solid",medium:"raised",quiet:"ghost"};function g(e){if(e["aria-label"]||e["aria-labelledby"])return;console.error("Button: an `iconOnly` button must have an accessible name. Pass `aria-label`, or `aria-labelledby` referencing a label element.")}var w=t.forwardRef(({className:e,style:r,tooltip:a,tooltipSide:d="top",tooltipAlign:m="center",tooltipDelayDuration:B,tooltipDisableHoverableContent:f,iconOnly:s=!1,emphasis:o,variant:i,...n},y)=>{let{tooltipId:b,hasTooltip:P,accessibilityProps:R}=c(a);if(s&&(g(n),n.fullWidth=!1),o!==void 0&&i!==void 0)throw new Error("Button: pass `emphasis` or `variant`, not both. They set the same thing.");let h=o!==void 0?E[o]:i,l=t.createElement(u,{...n,variant:h,...R,ref:y,"data-icon-only":s||void 0,className:v("kui-Button",e),style:r});return P?t.createElement(p,{content:a,side:d,align:m,delayDuration:B,disableHoverableContent:f,id:b},l):l});w.displayName="Button";export{w as a};
2
+ //# sourceMappingURL=chunk-T62PRLPN.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/button.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\n\nimport { BaseButton } from './_internal/base-button.js';\nimport { Tooltip } from './tooltip.js';\nimport { useTooltipWrapper } from '../hooks/use-tooltip-wrapper.js';\nimport type { BaseButtonProps } from './_internal/base-button.js';\n\ntype ButtonElement = React.ElementRef<typeof BaseButton>;\n\n/**\n * Tooltip configuration props that can be passed to Button\n * These props are forwarded to the underlying Tooltip component\n */\nexport interface ButtonTooltipProps {\n /** Content to display in the tooltip on hover/focus */\n tooltip?: React.ReactNode;\n /** Side of the button where the tooltip should appear */\n tooltipSide?: 'top' | 'right' | 'bottom' | 'left';\n /** Alignment of the tooltip relative to the button */\n tooltipAlign?: 'start' | 'center' | 'end';\n /** Delay before showing the tooltip (in milliseconds) */\n tooltipDelayDuration?: number;\n /** Whether to disable hoverable content behavior */\n tooltipDisableHoverableContent?: boolean;\n}\n\n/**\n * Core Button props excluding the 'as' prop for polymorphic behavior\n * Combines BaseButton props with tooltip functionality\n */\ntype ButtonEmphasis = 'loud' | 'medium' | 'quiet';\n\n/** `emphasis` is a button's rank: loud is `solid`, medium is `raised`, quiet is `ghost`. */\nconst EMPHASIS_VARIANT = { loud: 'solid', medium: 'raised', quiet: 'ghost' } as const;\n\n/**\n * A button states its rank with `emphasis` or its look with `variant`, never both.\n */\ntype ButtonRankProps =\n | {\n /** The button's look. `outline` and `surface` have no emphasis of their own. */\n variant?: BaseButtonProps['variant'];\n emphasis?: never;\n }\n | {\n /** The button's rank: `loud` (solid, the default), `medium` (raised) or `quiet` (ghost). */\n emphasis?: ButtonEmphasis;\n variant?: never;\n };\n\n/**\n * An icon-only button is square and holds only its icon, so it has no visible text: the type\n * requires `aria-label` or `aria-labelledby`. It never takes the full width.\n */\ntype ButtonIconOnlyProps =\n | {\n /** Makes the button square and shows only the icon in `children`. Requires `aria-label` or `aria-labelledby`. */\n iconOnly: true;\n /** The button's name for screen readers. Required with `iconOnly` unless `aria-labelledby` is set. */\n 'aria-label': string;\n fullWidth?: never;\n }\n | {\n /** Makes the button square and shows only the icon in `children`. Requires `aria-label` or `aria-labelledby`. */\n iconOnly: true;\n /** The id of an element that names this button. Use it instead of `aria-label`. */\n 'aria-labelledby': string;\n fullWidth?: never;\n }\n | { iconOnly?: false };\n\ntype ButtonOwnProps = Omit<BaseButtonProps, 'as' | 'variant'> & ButtonRankProps & ButtonTooltipProps & ButtonIconOnlyProps;\n\n/**\n * Polymorphic Button props that support rendering as different HTML elements\n * @template C - The element type to render as (defaults to 'button')\n */\ntype ButtonProps<C extends React.ElementType = 'button'> = ButtonOwnProps & {\n /** Element type to render as (e.g., 'a', 'span', etc.) */\n as?: C;\n} & Omit<React.ComponentPropsWithoutRef<C>, keyof ButtonOwnProps>;\n\n/**\n * Button component type that supports polymorphic rendering\n * @template C - The element type to render as\n */\ntype ButtonComponent = <C extends React.ElementType = 'button'>(props: ButtonProps<C> & { ref?: React.ForwardedRef<ButtonElement> }) => React.ReactElement | null;\n\n/**\n * An icon-only button must have an accessible name. Throws in development, logs otherwise.\n */\nfunction validateIconButtonName(props: Record<string, unknown>) {\n if (props['aria-label'] || props['aria-labelledby']) return;\n const errorMessage =\n 'Button: an `iconOnly` button must have an accessible name. Pass `aria-label`, or ' +\n '`aria-labelledby` referencing a label element.';\n if (process.env.NODE_ENV === 'development') throw new Error(errorMessage);\n console.error(errorMessage);\n}\n\n/**\n * Button component for triggering actions throughout your interface\n *\n * The Button component is the primary interactive element in the Kookie User Interface.\n * It provides six visual variants, four sizes, comprehensive color options, and built-in\n * tooltip support. The component automatically handles icon sizing, supports responsive\n * layouts, and provides accessibility compliance out of the box.\n *\n * @example\n * ```tsx\n * // Basic button\n * <Button>Click me</Button>\n *\n * // Button with variant and size\n * <Button variant=\"solid\" size=\"3\">Primary Action</Button>\n *\n * // Button with tooltip\n * <Button tooltip=\"Save your progress\">Save</Button>\n *\n * // Polymorphic button as link\n * <Button as=\"a\" href=\"/dashboard\">Go to Dashboard</Button>\n *\n * // Square, icon-only button: needs an accessible name\n * <Button iconOnly aria-label=\"Settings\"><Settings /></Button>\n * ```\n */\nconst Button = React.forwardRef(\n (\n {\n className,\n style,\n tooltip,\n tooltipSide = 'top',\n tooltipAlign = 'center',\n tooltipDelayDuration,\n tooltipDisableHoverableContent,\n iconOnly = false,\n emphasis,\n variant,\n ...props\n }: ButtonProps,\n forwardedRef: React.ForwardedRef<ButtonElement>,\n ) => {\n // Use shared tooltip wrapper hook for accessibility props\n const { tooltipId, hasTooltip, accessibilityProps: tooltipAccessibilityProps } = useTooltipWrapper(tooltip);\n\n // An icon-only button is square, so it never takes the full width.\n if (iconOnly) {\n validateIconButtonName(props as Record<string, unknown>);\n (props as { fullWidth?: boolean }).fullWidth = false;\n }\n\n if (emphasis !== undefined && variant !== undefined) {\n throw new Error('Button: pass `emphasis` or `variant`, not both. They set the same thing.');\n }\n const resolvedVariant = emphasis !== undefined ? EMPHASIS_VARIANT[emphasis] : variant;\n\n const button = (\n <BaseButton\n {...props}\n variant={resolvedVariant}\n {...tooltipAccessibilityProps}\n ref={forwardedRef}\n data-icon-only={iconOnly || undefined}\n className={classNames('rt-Button', className)}\n style={style}\n />\n );\n\n // If no tooltip is provided, return the button as-is for better performance\n if (!hasTooltip) {\n return button;\n }\n\n // Wrap with Tooltip when tooltip content is provided\n // This creates a compound component that handles both button and tooltip functionality\n return (\n <Tooltip content={tooltip} side={tooltipSide} align={tooltipAlign} delayDuration={tooltipDelayDuration} disableHoverableContent={tooltipDisableHoverableContent} id={tooltipId}>\n {button}\n </Tooltip>\n );\n },\n) as ButtonComponent & { displayName?: string };\n\nButton.displayName = 'Button';\n\nexport { Button };\nexport type { ButtonProps, ButtonEmphasis, ButtonRankProps, ButtonIconOnlyProps };\n"],
5
- "mappings": "wHAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aAiCvB,IAAMC,EAAmB,CAAE,KAAM,QAAS,OAAQ,SAAU,MAAO,OAAQ,EA0D3E,SAASC,EAAuBC,EAAgC,CAC9D,GAAIA,EAAM,YAAY,GAAKA,EAAM,iBAAiB,EAAG,OAKrD,QAAQ,MAHN,iIAGwB,CAC5B,CA4BA,IAAMC,EAAe,aACnB,CACE,CACE,UAAAC,EACA,MAAAC,EACA,QAAAC,EACA,YAAAC,EAAc,MACd,aAAAC,EAAe,SACf,qBAAAC,EACA,+BAAAC,EACA,SAAAC,EAAW,GACX,SAAAC,EACA,QAAAC,EACA,GAAGX,CACL,EACAY,IACG,CAEH,GAAM,CAAE,UAAAC,EAAW,WAAAC,EAAY,mBAAoBC,CAA0B,EAAIC,EAAkBZ,CAAO,EAQ1G,GALIK,IACFV,EAAuBC,CAAgC,EACtDA,EAAkC,UAAY,IAG7CU,IAAa,QAAaC,IAAY,OACxC,MAAM,IAAI,MAAM,0EAA0E,EAE5F,IAAMM,EAAkBP,IAAa,OAAYZ,EAAiBY,CAAQ,EAAIC,EAExEO,EACJ,gBAACC,EAAA,CACE,GAAGnB,EACJ,QAASiB,EACR,GAAGF,EACJ,IAAKH,EACL,iBAAgBH,GAAY,OAC5B,UAAWW,EAAW,YAAalB,CAAS,EAC5C,MAAOC,EACT,EAIF,OAAKW,EAOH,gBAACO,EAAA,CAAQ,QAASjB,EAAS,KAAMC,EAAa,MAAOC,EAAc,cAAeC,EAAsB,wBAAyBC,EAAgC,GAAIK,GAClKK,CACH,EAROA,CAUX,CACF,EAEAjB,EAAO,YAAc",
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\n\nimport { BaseButton } from './_internal/base-button.js';\nimport { Tooltip } from './tooltip.js';\nimport { useTooltipWrapper } from '../hooks/use-tooltip-wrapper.js';\nimport type { BaseButtonProps } from './_internal/base-button.js';\n\ntype ButtonElement = React.ElementRef<typeof BaseButton>;\n\n/**\n * Tooltip configuration props that can be passed to Button\n * These props are forwarded to the underlying Tooltip component\n */\nexport interface ButtonTooltipProps {\n /** Content to display in the tooltip on hover/focus */\n tooltip?: React.ReactNode;\n /** Side of the button where the tooltip should appear */\n tooltipSide?: 'top' | 'right' | 'bottom' | 'left';\n /** Alignment of the tooltip relative to the button */\n tooltipAlign?: 'start' | 'center' | 'end';\n /** Delay before showing the tooltip (in milliseconds) */\n tooltipDelayDuration?: number;\n /** Whether to disable hoverable content behavior */\n tooltipDisableHoverableContent?: boolean;\n}\n\n/**\n * Core Button props excluding the 'as' prop for polymorphic behavior\n * Combines BaseButton props with tooltip functionality\n */\ntype ButtonEmphasis = 'loud' | 'medium' | 'quiet';\n\n/** `emphasis` is a button's rank: loud is `solid`, medium is `raised`, quiet is `ghost`. */\nconst EMPHASIS_VARIANT = { loud: 'solid', medium: 'raised', quiet: 'ghost' } as const;\n\n/**\n * A button states its rank with `emphasis` or its look with `variant`, never both.\n */\ntype ButtonRankProps =\n | {\n /** The button's look. `outline` and `surface` have no emphasis of their own. */\n variant?: BaseButtonProps['variant'];\n emphasis?: never;\n }\n | {\n /** The button's rank: `loud` (solid, the default), `medium` (raised) or `quiet` (ghost). */\n emphasis?: ButtonEmphasis;\n variant?: never;\n };\n\n/**\n * An icon-only button is square and holds only its icon, so it has no visible text: the type\n * requires `aria-label` or `aria-labelledby`. It never takes the full width.\n */\ntype ButtonIconOnlyProps =\n | {\n /** Makes the button square and shows only the icon in `children`. Requires `aria-label` or `aria-labelledby`. */\n iconOnly: true;\n /** The button's name for screen readers. Required with `iconOnly` unless `aria-labelledby` is set. */\n 'aria-label': string;\n fullWidth?: never;\n }\n | {\n /** Makes the button square and shows only the icon in `children`. Requires `aria-label` or `aria-labelledby`. */\n iconOnly: true;\n /** The id of an element that names this button. Use it instead of `aria-label`. */\n 'aria-labelledby': string;\n fullWidth?: never;\n }\n | { iconOnly?: false };\n\ntype ButtonOwnProps = Omit<BaseButtonProps, 'as' | 'variant'> & ButtonRankProps & ButtonTooltipProps & ButtonIconOnlyProps;\n\n/**\n * Polymorphic Button props that support rendering as different HTML elements\n * @template C - The element type to render as (defaults to 'button')\n */\ntype ButtonProps<C extends React.ElementType = 'button'> = ButtonOwnProps & {\n /** Element type to render as (e.g., 'a', 'span', etc.) */\n as?: C;\n} & Omit<React.ComponentPropsWithoutRef<C>, keyof ButtonOwnProps>;\n\n/**\n * Button component type that supports polymorphic rendering\n * @template C - The element type to render as\n */\ntype ButtonComponent = <C extends React.ElementType = 'button'>(props: ButtonProps<C> & { ref?: React.ForwardedRef<ButtonElement> }) => React.ReactElement | null;\n\n/**\n * An icon-only button must have an accessible name. Throws in development, logs otherwise.\n */\nfunction validateIconButtonName(props: Record<string, unknown>) {\n if (props['aria-label'] || props['aria-labelledby']) return;\n const errorMessage =\n 'Button: an `iconOnly` button must have an accessible name. Pass `aria-label`, or ' +\n '`aria-labelledby` referencing a label element.';\n if (process.env.NODE_ENV === 'development') throw new Error(errorMessage);\n console.error(errorMessage);\n}\n\n/**\n * Button component for triggering actions throughout your interface\n *\n * The Button component is the primary interactive element in the Kookie User Interface.\n * It provides six visual variants, four sizes, comprehensive color options, and built-in\n * tooltip support. The component automatically handles icon sizing, supports responsive\n * layouts, and provides accessibility compliance out of the box.\n *\n * @example\n * ```tsx\n * // Basic button\n * <Button>Click me</Button>\n *\n * // Button with variant and size\n * <Button variant=\"solid\" size=\"3\">Primary Action</Button>\n *\n * // Button with tooltip\n * <Button tooltip=\"Save your progress\">Save</Button>\n *\n * // Polymorphic button as link\n * <Button as=\"a\" href=\"/dashboard\">Go to Dashboard</Button>\n *\n * // Square, icon-only button: needs an accessible name\n * <Button iconOnly aria-label=\"Settings\"><Settings /></Button>\n * ```\n */\nconst Button = React.forwardRef(\n (\n {\n className,\n style,\n tooltip,\n tooltipSide = 'top',\n tooltipAlign = 'center',\n tooltipDelayDuration,\n tooltipDisableHoverableContent,\n iconOnly = false,\n emphasis,\n variant,\n ...props\n }: ButtonProps,\n forwardedRef: React.ForwardedRef<ButtonElement>,\n ) => {\n // Use shared tooltip wrapper hook for accessibility props\n const { tooltipId, hasTooltip, accessibilityProps: tooltipAccessibilityProps } = useTooltipWrapper(tooltip);\n\n // An icon-only button is square, so it never takes the full width.\n if (iconOnly) {\n validateIconButtonName(props as Record<string, unknown>);\n (props as { fullWidth?: boolean }).fullWidth = false;\n }\n\n if (emphasis !== undefined && variant !== undefined) {\n throw new Error('Button: pass `emphasis` or `variant`, not both. They set the same thing.');\n }\n const resolvedVariant = emphasis !== undefined ? EMPHASIS_VARIANT[emphasis] : variant;\n\n const button = (\n <BaseButton\n {...props}\n variant={resolvedVariant}\n {...tooltipAccessibilityProps}\n ref={forwardedRef}\n data-icon-only={iconOnly || undefined}\n className={classNames('kui-Button', className)}\n style={style}\n />\n );\n\n // If no tooltip is provided, return the button as-is for better performance\n if (!hasTooltip) {\n return button;\n }\n\n // Wrap with Tooltip when tooltip content is provided\n // This creates a compound component that handles both button and tooltip functionality\n return (\n <Tooltip content={tooltip} side={tooltipSide} align={tooltipAlign} delayDuration={tooltipDelayDuration} disableHoverableContent={tooltipDisableHoverableContent} id={tooltipId}>\n {button}\n </Tooltip>\n );\n },\n) as ButtonComponent & { displayName?: string };\n\nButton.displayName = 'Button';\n\nexport { Button };\nexport type { ButtonProps, ButtonEmphasis, ButtonRankProps, ButtonIconOnlyProps };\n"],
5
+ "mappings": "wHAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aAiCvB,IAAMC,EAAmB,CAAE,KAAM,QAAS,OAAQ,SAAU,MAAO,OAAQ,EA0D3E,SAASC,EAAuBC,EAAgC,CAC9D,GAAIA,EAAM,YAAY,GAAKA,EAAM,iBAAiB,EAAG,OAKrD,QAAQ,MAHN,iIAGwB,CAC5B,CA4BA,IAAMC,EAAe,aACnB,CACE,CACE,UAAAC,EACA,MAAAC,EACA,QAAAC,EACA,YAAAC,EAAc,MACd,aAAAC,EAAe,SACf,qBAAAC,EACA,+BAAAC,EACA,SAAAC,EAAW,GACX,SAAAC,EACA,QAAAC,EACA,GAAGX,CACL,EACAY,IACG,CAEH,GAAM,CAAE,UAAAC,EAAW,WAAAC,EAAY,mBAAoBC,CAA0B,EAAIC,EAAkBZ,CAAO,EAQ1G,GALIK,IACFV,EAAuBC,CAAgC,EACtDA,EAAkC,UAAY,IAG7CU,IAAa,QAAaC,IAAY,OACxC,MAAM,IAAI,MAAM,0EAA0E,EAE5F,IAAMM,EAAkBP,IAAa,OAAYZ,EAAiBY,CAAQ,EAAIC,EAExEO,EACJ,gBAACC,EAAA,CACE,GAAGnB,EACJ,QAASiB,EACR,GAAGF,EACJ,IAAKH,EACL,iBAAgBH,GAAY,OAC5B,UAAWW,EAAW,aAAclB,CAAS,EAC7C,MAAOC,EACT,EAIF,OAAKW,EAOH,gBAACO,EAAA,CAAQ,QAASjB,EAAS,KAAMC,EAAa,MAAOC,EAAc,cAAeC,EAAsB,wBAAyBC,EAAgC,GAAIK,GAClKK,CACH,EAROA,CAUX,CACF,EAEAjB,EAAO,YAAc",
6
6
  "names": ["React", "classNames", "EMPHASIS_VARIANT", "validateIconButtonName", "props", "Button", "className", "style", "tooltip", "tooltipSide", "tooltipAlign", "tooltipDelayDuration", "tooltipDisableHoverableContent", "iconOnly", "emphasis", "variant", "forwardedRef", "tooltipId", "hasTooltip", "tooltipAccessibilityProps", "useTooltipWrapper", "resolvedVariant", "button", "BaseButton", "classNames", "Tooltip"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import{e as r}from"./chunk-3YLYGKFB.js";import{a as t}from"./chunk-ELAW7ZUG.js";import{a as e}from"./chunk-GNTNGLYR.js";import*as o from"react";import R from"classnames";import{composeEventHandlers as f}from"radix-ui/internal";var c=o.forwardRef((p,a)=>{let s=r(p,e.size),{className:i,color:n,onChange:m,onValueChange:u,...d}=t(s,e);return o.createElement("input",{type:"radio","data-accent-color":n,...d,onChange:f(m,l=>u?.(l.currentTarget.value)),ref:a,className:R("kui-reset","kui-BaseRadioRoot","kui-RadioRoot",i)})});c.displayName="Radio";export{c as a};
2
+ //# sourceMappingURL=chunk-THUBY6L2.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/radio.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { composeEventHandlers } from 'radix-ui/internal';\n\nimport { radioPropDefs } from './radio.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\n\nimport type { ComponentPropsWithout } from '../helpers/component-props.js';\nimport type { NotInputRadioAttributes } from '../helpers/input-attributes.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype RadioElement = React.ElementRef<'input'>;\ntype RadioOwnProps = GetPropDefTypes<typeof radioPropDefs> & {\n value: string;\n onValueChange?: (value: string) => void;\n};\ntype RadioInputProps = ComponentPropsWithout<\n 'input',\n NotInputRadioAttributes | 'color' | 'defaultValue' | 'value'\n>;\ninterface RadioProps extends RadioInputProps, RadioOwnProps {}\n\nconst Radio = React.forwardRef<RadioElement, RadioProps>((ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, radioPropDefs.size);\n const { className, color, onChange, onValueChange, ...radioProps } = extractProps(\n props,\n radioPropDefs,\n );\n return (\n <input\n type=\"radio\"\n data-accent-color={color}\n {...radioProps}\n onChange={composeEventHandlers(onChange, (event) =>\n onValueChange?.(event.currentTarget.value),\n )}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-BaseRadioRoot', 'rt-RadioRoot', className)}\n />\n );\n});\nRadio.displayName = 'Radio';\n\nexport { Radio };\nexport type { RadioProps };\n"],
5
- "mappings": "wHAEA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,wBAAAC,MAA4B,oBAqBrC,IAAMC,EAAc,aAAqC,CAACC,EAAUC,IAAiB,CACnF,IAAMC,EAAQC,EAAkBH,EAAUI,EAAc,IAAI,EACtD,CAAE,UAAAC,EAAW,MAAAC,EAAO,SAAAC,EAAU,cAAAC,EAAe,GAAGC,CAAW,EAAIC,EACnER,EACAE,CACF,EACA,OACE,gBAAC,SACC,KAAK,QACL,oBAAmBE,EAClB,GAAGG,EACJ,SAAUE,EAAqBJ,EAAWK,GACxCJ,IAAgBI,EAAM,cAAc,KAAK,CAC3C,EACA,IAAKX,EACL,UAAWY,EAAW,WAAY,mBAAoB,eAAgBR,CAAS,EACjF,CAEJ,CAAC,EACDN,EAAM,YAAc",
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { composeEventHandlers } from 'radix-ui/internal';\n\nimport { radioPropDefs } from './radio.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\n\nimport type { ComponentPropsWithout } from '../helpers/component-props.js';\nimport type { NotInputRadioAttributes } from '../helpers/input-attributes.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype RadioElement = React.ElementRef<'input'>;\ntype RadioOwnProps = GetPropDefTypes<typeof radioPropDefs> & {\n value: string;\n onValueChange?: (value: string) => void;\n};\ntype RadioInputProps = ComponentPropsWithout<\n 'input',\n NotInputRadioAttributes | 'color' | 'defaultValue' | 'value'\n>;\ninterface RadioProps extends RadioInputProps, RadioOwnProps {}\n\nconst Radio = React.forwardRef<RadioElement, RadioProps>((ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, radioPropDefs.size);\n const { className, color, onChange, onValueChange, ...radioProps } = extractProps(\n props,\n radioPropDefs,\n );\n return (\n <input\n type=\"radio\"\n data-accent-color={color}\n {...radioProps}\n onChange={composeEventHandlers(onChange, (event) =>\n onValueChange?.(event.currentTarget.value),\n )}\n ref={forwardedRef}\n className={classNames('kui-reset', 'kui-BaseRadioRoot', 'kui-RadioRoot', className)}\n />\n );\n});\nRadio.displayName = 'Radio';\n\nexport { Radio };\nexport type { RadioProps };\n"],
5
+ "mappings": "wHAEA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,wBAAAC,MAA4B,oBAqBrC,IAAMC,EAAc,aAAqC,CAACC,EAAUC,IAAiB,CACnF,IAAMC,EAAQC,EAAkBH,EAAUI,EAAc,IAAI,EACtD,CAAE,UAAAC,EAAW,MAAAC,EAAO,SAAAC,EAAU,cAAAC,EAAe,GAAGC,CAAW,EAAIC,EACnER,EACAE,CACF,EACA,OACE,gBAAC,SACC,KAAK,QACL,oBAAmBE,EAClB,GAAGG,EACJ,SAAUE,EAAqBJ,EAAWK,GACxCJ,IAAgBI,EAAM,cAAc,KAAK,CAC3C,EACA,IAAKX,EACL,UAAWY,EAAW,YAAa,oBAAqB,gBAAiBR,CAAS,EACpF,CAEJ,CAAC,EACDN,EAAM,YAAc",
6
6
  "names": ["React", "classNames", "composeEventHandlers", "Radio", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "baseRadioPropDefs", "className", "color", "onChange", "onValueChange", "radioProps", "extractProps", "composeEventHandlers", "event", "classNames"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ import{a as m}from"./chunk-T62PRLPN.js";import{a as u}from"./chunk-5BWLY27A.js";import{a as y}from"./chunk-OS3FCYZY.js";var k={};y(k,{Button:()=>g,Content:()=>S,Item:()=>P,Root:()=>d,Viewport:()=>f,useMessageScroller:()=>B,useMessageScrollerScrollable:()=>h,useMessageScrollerVisibility:()=>w});import*as e from"react";import c from"classnames";import{MessageScroller as a,useMessageScroller as B,useMessageScrollerScrollable as h,useMessageScrollerVisibility as w}from"@shadcn/react/message-scroller";import{useComposedRefs as C}from"radix-ui/internal";var d=e.forwardRef(({autoScroll:o=!0,defaultScrollPosition:r="end",scrollEdgeThreshold:t,scrollMargin:s,className:i,children:n,...l},p)=>e.createElement(a.Provider,{autoScroll:o,defaultScrollPosition:r,...t!=null?{scrollEdgeThreshold:t}:{},...s!=null?{scrollMargin:s}:{}},e.createElement(a.Root,{...l,ref:p,className:c("kui-MessageScrollerRoot",i)},n)));d.displayName="MessageScroller.Root";var f=e.forwardRef(({className:o,"aria-label":r,fade:t=!0,...s},i)=>{let n=u(t),l=C(i,n);return e.createElement(a.Viewport,{"aria-label":r??"",...s,ref:l,"data-fade":t?"":void 0,className:c("kui-MessageScrollerViewport",o)})});f.displayName="MessageScroller.Viewport";var S=e.forwardRef(({className:o,...r},t)=>e.createElement(a.Content,{...r,ref:t,className:c("kui-MessageScrollerContent",o)}));S.displayName="MessageScroller.Content";var P=e.forwardRef(({className:o,...r},t)=>e.createElement(a.Item,{...r,ref:t,className:c("kui-MessageScrollerItem",o)}));P.displayName="MessageScroller.Item";var g=e.forwardRef(({direction:o="end",behavior:r,className:t,children:s,size:i,variant:n="surface",emphasis:l,color:p="gray",radius:M="full","aria-label":R,...b},v)=>e.createElement(a.Button,{direction:o,...r?{behavior:r}:{},render:e.createElement(m,{iconOnly:!0,...b,ref:v,size:i,...l?{emphasis:l}:{variant:n},color:p,radius:M,"aria-label":R??(o==="end"?"Jump to the latest":"Jump to the first"),className:c("kui-MessageScrollerButton",t),"data-direction":o},s??e.createElement("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none","aria-hidden":!0,style:o==="start"?{transform:"rotate(180deg)"}:void 0},e.createElement("path",{d:"M7.5 2.5v10M3.5 8.5l4 4 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})))}));g.displayName="MessageScroller.Button";export{B as a,h as b,w as c,d,f as e,S as f,P as g,g as h,k as i};
2
+ //# sourceMappingURL=chunk-TJL47GIO.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/message-scroller.tsx"],
4
+ "sourcesContent": ["'use client';\n\n/**\n * MessageScroller \u2014 a transcript that follows a conversation.\n *\n * The behaviour is shadcn/ui's Message Scroller primitive (`@shadcn/react/message-scroller`,\n * MIT, https://ui.shadcn.com). Streaming, anchoring a new turn, keeping your place when history\n * loads above, and jumping back to the latest are a body of edge cases nobody should rewrite, so\n * Kookie takes the primitive and adds only the surface: the parts, the class names, the button.\n *\n * Anatomy\n * ```tsx\n * <MessageScroller.Root>\n * <MessageScroller.Viewport aria-label=\"Conversation\">\n * <MessageScroller.Content>\n * <MessageScroller.Item messageId=\"u1\" scrollAnchor>\u2026</MessageScroller.Item>\n * <MessageScroller.Item messageId=\"a1\">\u2026</MessageScroller.Item>\n * </MessageScroller.Content>\n * </MessageScroller.Viewport>\n * <MessageScroller.Button aria-label=\"Jump to the latest\" />\n * </MessageScroller.Root>\n * ```\n *\n * The viewport is its own scroller. Kookie's `ScrollArea` is Radix's, and Radix cannot hand its\n * viewport element to another library, so the transcript scrolls natively with a thin scrollbar.\n *\n * Requires React 19, which the primitive needs.\n */\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport {\n MessageScroller as Primitive,\n useMessageScroller,\n useMessageScrollerScrollable,\n useMessageScrollerVisibility,\n type MessageScrollerDefaultScrollPosition,\n type MessageScrollerScrollOptions,\n type MessageScrollerScrollable,\n type MessageScrollerVisibilityState,\n} from '@shadcn/react/message-scroller';\n\nimport { useComposedRefs } from 'radix-ui/internal';\n\nimport { Button as KuiButton } from './button.js';\nimport { useScrollEdges } from '../hooks/use-scroll-edges.js';\nimport type { ButtonProps as KuiButtonProps, ButtonRankProps } from './button.js';\n\ninterface RootProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Keeps the newest content in view while the reader is at the end. Default `true`.\n * Once the reader scrolls up, the transcript stays where they are until they return.\n */\n autoScroll?: boolean;\n /** Where the transcript opens: `end` (default), `start`, or the last anchored message. */\n defaultScrollPosition?: MessageScrollerDefaultScrollPosition;\n /** Distance in pixels from the end that still counts as \"at the end\". */\n scrollEdgeThreshold?: number;\n /** Space in pixels kept above a message when one is scrolled to or anchored. */\n scrollMargin?: number;\n}\n\n/** Holds the scroll state. Everything else goes inside it. */\nconst Root = React.forwardRef<HTMLDivElement, RootProps>(\n ({ autoScroll = true, defaultScrollPosition = 'end', scrollEdgeThreshold, scrollMargin, className, children, ...props }, forwardedRef) => (\n <Primitive.Provider\n autoScroll={autoScroll}\n defaultScrollPosition={defaultScrollPosition}\n {...(scrollEdgeThreshold != null ? { scrollEdgeThreshold } : {})}\n {...(scrollMargin != null ? { scrollMargin } : {})}\n >\n <Primitive.Root {...props} ref={forwardedRef} className={classNames('kui-MessageScrollerRoot', className)}>\n {children}\n </Primitive.Root>\n </Primitive.Provider>\n ),\n);\nRoot.displayName = 'MessageScroller.Root';\n\ninterface ViewportProps extends React.ComponentPropsWithoutRef<'div'> {\n /** Name of the transcript region, e.g. \"Conversation\". */\n 'aria-label'?: string;\n /** Keep the reader's place when older messages are added above. Default `true`. */\n preserveScrollOnPrepend?: boolean;\n /**\n * Fades messages toward the top and bottom edges while there is more past them. A floating\n * band over an edge (a toolbar, a goal tray, a composer) can set `--scroll-fade-start` or\n * `--scroll-fade-end` to its height, so messages fade as they pass under it. Default `true`.\n */\n fade?: boolean;\n}\n\n/** The scrolling element. */\nconst Viewport = React.forwardRef<HTMLDivElement, ViewportProps>(({ className, 'aria-label': label, fade = true, ...props }, forwardedRef) => {\n const setEdgesElement = useScrollEdges<HTMLDivElement>(fade);\n const ref = useComposedRefs(forwardedRef, setEdgesElement);\n return (\n // The primitive names an unnamed viewport \"Messages\", in English. An empty name is skipped by\n // accessible-name computation, so a transcript is only named when the app names it.\n <Primitive.Viewport\n aria-label={label ?? ''}\n {...props}\n ref={ref}\n data-fade={fade ? '' : undefined}\n className={classNames('kui-MessageScrollerViewport', className)}\n />\n );\n});\nViewport.displayName = 'MessageScroller.Viewport';\n\ntype ContentProps = React.ComponentPropsWithoutRef<'div'>;\n\n/** The list of messages, inside the viewport. */\nconst Content = React.forwardRef<HTMLDivElement, ContentProps>(({ className, ...props }, forwardedRef) => (\n <Primitive.Content {...props} ref={forwardedRef} className={classNames('kui-MessageScrollerContent', className)} />\n));\nContent.displayName = 'MessageScroller.Content';\n\ninterface ItemProps extends React.ComponentPropsWithoutRef<'div'> {\n /** A stable id, so the row can be scrolled to with `useMessageScroller().scrollToMessage`. */\n messageId?: string;\n /** Anchor this row near the top when it arrives. Set it on the person's own messages. */\n scrollAnchor?: boolean;\n}\n\n/** One row of the transcript. */\nconst Item = React.forwardRef<HTMLDivElement, ItemProps>(({ className, ...props }, forwardedRef) => (\n <Primitive.Item {...props} ref={forwardedRef} className={classNames('kui-MessageScrollerItem', className)} />\n));\nItem.displayName = 'MessageScroller.Item';\n\ntype ButtonProps = Omit<KuiButtonProps, 'aria-label' | 'aria-labelledby' | 'variant' | 'emphasis' | 'iconOnly' | 'fullWidth'> &\n ButtonRankProps & {\n /** Accessible name, in your words. Default \"Jump to the latest\". */\n 'aria-label'?: string;\n /** `end` jumps to the latest message (default); `start` to the first. */\n direction?: 'start' | 'end';\n /** Scroll behaviour of the jump. Default `smooth`. */\n behavior?: ScrollBehavior;\n};\n\n/**\n * Jumps back to the latest message. It renders only while the reader is away from the end.\n * Place it inside `Root`, after the viewport. It sits over the viewport's bottom edge.\n */\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ direction = 'end', behavior, className, children, size, variant = 'surface', emphasis, color = 'gray', radius = 'full', 'aria-label': label, ...props }, forwardedRef) => (\n <Primitive.Button\n direction={direction}\n {...(behavior ? { behavior } : {})}\n render={\n <KuiButton\n iconOnly\n {...props}\n ref={forwardedRef}\n size={size}\n {...(emphasis ? { emphasis } : { variant })}\n color={color}\n radius={radius}\n aria-label={label ?? (direction === 'end' ? 'Jump to the latest' : 'Jump to the first')}\n className={classNames('kui-MessageScrollerButton', className)}\n data-direction={direction}\n >\n {children ?? (\n <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" aria-hidden style={direction === 'start' ? { transform: 'rotate(180deg)' } : undefined}>\n <path d=\"M7.5 2.5v10M3.5 8.5l4 4 4-4\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n )}\n </KuiButton>\n }\n />\n ),\n);\nButton.displayName = 'MessageScroller.Button';\n\nexport { Root, Viewport, Content, Item, Button, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility };\nexport type {\n RootProps as MessageScrollerRootProps,\n ViewportProps as MessageScrollerViewportProps,\n ContentProps as MessageScrollerContentProps,\n ItemProps as MessageScrollerItemProps,\n ButtonProps as MessageScrollerButtonProps,\n MessageScrollerDefaultScrollPosition,\n MessageScrollerScrollOptions,\n MessageScrollerScrollable,\n MessageScrollerVisibilityState,\n};\n"],
5
+ "mappings": "wHAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,YAAAE,EAAA,YAAAC,EAAA,SAAAC,EAAA,SAAAC,EAAA,aAAAC,EAAA,uBAAAC,EAAA,iCAAAC,EAAA,iCAAAC,IA6BA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OACE,mBAAmBC,EACnB,sBAAAL,EACA,gCAAAC,EACA,gCAAAC,MAKK,iCAEP,OAAS,mBAAAI,MAAuB,oBAqBhC,IAAMC,EAAa,aACjB,CAAC,CAAE,WAAAC,EAAa,GAAM,sBAAAC,EAAwB,MAAO,oBAAAC,EAAqB,aAAAC,EAAc,UAAAC,EAAW,SAAAC,EAAU,GAAGC,CAAM,EAAGC,IACvH,gBAACC,EAAU,SAAV,CACC,WAAYR,EACZ,sBAAuBC,EACtB,GAAIC,GAAuB,KAAO,CAAE,oBAAAA,CAAoB,EAAI,CAAC,EAC7D,GAAIC,GAAgB,KAAO,CAAE,aAAAA,CAAa,EAAI,CAAC,GAEhD,gBAACK,EAAU,KAAV,CAAgB,GAAGF,EAAO,IAAKC,EAAc,UAAWE,EAAW,0BAA2BL,CAAS,GACrGC,CACH,CACF,CAEJ,EACAN,EAAK,YAAc,uBAgBnB,IAAMW,EAAiB,aAA0C,CAAC,CAAE,UAAAN,EAAW,aAAcO,EAAO,KAAAC,EAAO,GAAM,GAAGN,CAAM,EAAGC,IAAiB,CAC5I,IAAMM,EAAkBC,EAA+BF,CAAI,EACrDG,EAAMC,EAAgBT,EAAcM,CAAe,EACzD,OAGE,gBAACL,EAAU,SAAV,CACC,aAAYG,GAAS,GACpB,GAAGL,EACJ,IAAKS,EACL,YAAWH,EAAO,GAAK,OACvB,UAAWH,EAAW,8BAA+BL,CAAS,EAChE,CAEJ,CAAC,EACDM,EAAS,YAAc,2BAKvB,IAAMO,EAAgB,aAAyC,CAAC,CAAE,UAAAb,EAAW,GAAGE,CAAM,EAAGC,IACvF,gBAACC,EAAU,QAAV,CAAmB,GAAGF,EAAO,IAAKC,EAAc,UAAWE,EAAW,6BAA8BL,CAAS,EAAG,CAClH,EACDa,EAAQ,YAAc,0BAUtB,IAAMC,EAAa,aAAsC,CAAC,CAAE,UAAAd,EAAW,GAAGE,CAAM,EAAGC,IACjF,gBAACC,EAAU,KAAV,CAAgB,GAAGF,EAAO,IAAKC,EAAc,UAAWE,EAAW,0BAA2BL,CAAS,EAAG,CAC5G,EACDc,EAAK,YAAc,uBAgBnB,IAAMC,EAAe,aACnB,CAAC,CAAE,UAAAC,EAAY,MAAO,SAAAC,EAAU,UAAAjB,EAAW,SAAAC,EAAU,KAAAiB,EAAM,QAAAC,EAAU,UAAW,SAAAC,EAAU,MAAAC,EAAQ,OAAQ,OAAAC,EAAS,OAAQ,aAAcf,EAAO,GAAGL,CAAM,EAAGC,IAC1J,gBAACC,EAAU,OAAV,CACC,UAAWY,EACV,GAAIC,EAAW,CAAE,SAAAA,CAAS,EAAI,CAAC,EAChC,OACE,gBAACF,EAAA,CACC,SAAQ,GACP,GAAGb,EACJ,IAAKC,EACL,KAAMe,EACL,GAAIE,EAAW,CAAE,SAAAA,CAAS,EAAI,CAAE,QAAAD,CAAQ,EACzC,MAAOE,EACP,OAAQC,EACR,aAAYf,IAAUS,IAAc,MAAQ,qBAAuB,qBACnE,UAAWX,EAAW,4BAA6BL,CAAS,EAC5D,iBAAgBgB,GAEff,GACC,gBAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,cAAW,GAAC,MAAOe,IAAc,QAAU,CAAE,UAAW,gBAAiB,EAAI,QACvI,gBAAC,QAAK,EAAE,8BAA8B,OAAO,eAAe,YAAY,MAAM,cAAc,QAAQ,eAAe,QAAQ,CAC7H,CAEJ,EAEJ,CAEJ,EACAD,EAAO,YAAc",
6
+ "names": ["message_scroller_exports", "__export", "Button", "Content", "Item", "Root", "Viewport", "useMessageScroller", "useMessageScrollerScrollable", "useMessageScrollerVisibility", "React", "classNames", "Primitive", "useComposedRefs", "Root", "autoScroll", "defaultScrollPosition", "scrollEdgeThreshold", "scrollMargin", "className", "children", "props", "forwardedRef", "Primitive", "classNames", "Viewport", "label", "fade", "setEdgesElement", "useScrollEdges", "ref", "useComposedRefs", "Content", "Item", "Button", "direction", "behavior", "size", "variant", "emphasis", "color", "radius"]
7
+ }
@@ -0,0 +1,2 @@
1
+ var o=["sans","mono","serif"],e={font:{type:"enum",className:"kui-r-ff",values:o}};export{e as a};
2
+ //# sourceMappingURL=chunk-VCV7RACK.js.map