@womp/kookie-ui 0.24.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1118) hide show
  1. package/README.md +3 -3
  2. package/components.css +12854 -11866
  3. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  4. package/dist/cjs/components/_internal/base-button.js +2 -1
  5. package/dist/cjs/components/_internal/base-button.js.map +3 -3
  6. package/dist/cjs/components/_internal/base-button.props.js +1 -0
  7. package/dist/cjs/components/_internal/base-button.props.js.map +2 -2
  8. package/dist/cjs/components/_internal/base-checkbox.props.js +1 -0
  9. package/dist/cjs/components/_internal/base-checkbox.props.js.map +1 -1
  10. package/dist/cjs/components/_internal/base-menu.props.js +1 -0
  11. package/dist/cjs/components/_internal/base-menu.props.js.map +1 -1
  12. package/dist/cjs/components/_internal/base-menu.utils.js +1 -0
  13. package/dist/cjs/components/_internal/base-menu.utils.js.map +1 -1
  14. package/dist/cjs/components/_internal/base-radio.props.js +1 -0
  15. package/dist/cjs/components/_internal/base-radio.props.js.map +1 -1
  16. package/dist/cjs/components/_internal/base-tab-list.props.js +1 -0
  17. package/dist/cjs/components/_internal/base-tab-list.props.js.map +1 -1
  18. package/dist/cjs/components/_internal/dropdown-menu-drill-down.d.ts +19 -7
  19. package/dist/cjs/components/_internal/dropdown-menu-drill-down.d.ts.map +1 -1
  20. package/dist/cjs/components/_internal/dropdown-menu-drill-down.js +2 -1
  21. package/dist/cjs/components/_internal/dropdown-menu-drill-down.js.map +3 -3
  22. package/dist/cjs/components/_internal/menu-context.d.ts +10 -0
  23. package/dist/cjs/components/_internal/menu-context.d.ts.map +1 -1
  24. package/dist/cjs/components/_internal/menu-context.js +2 -1
  25. package/dist/cjs/components/_internal/menu-context.js.map +3 -3
  26. package/dist/cjs/components/_internal/pane-chrome.d.ts +3 -1
  27. package/dist/cjs/components/_internal/pane-chrome.d.ts.map +1 -1
  28. package/dist/cjs/components/_internal/pane-chrome.js +2 -1
  29. package/dist/cjs/components/_internal/pane-chrome.js.map +3 -3
  30. package/dist/cjs/components/_internal/shell-bottom.d.ts +1 -1
  31. package/dist/cjs/components/_internal/shell-bottom.d.ts.map +1 -1
  32. package/dist/cjs/components/_internal/shell-bottom.js +2 -1
  33. package/dist/cjs/components/_internal/shell-bottom.js.map +3 -3
  34. package/dist/cjs/components/_internal/shell-handles.d.ts.map +1 -1
  35. package/dist/cjs/components/_internal/shell-handles.js +2 -1
  36. package/dist/cjs/components/_internal/shell-handles.js.map +3 -3
  37. package/dist/cjs/components/_internal/shell-inspector.d.ts +1 -1
  38. package/dist/cjs/components/_internal/shell-inspector.d.ts.map +1 -1
  39. package/dist/cjs/components/_internal/shell-inspector.js +2 -1
  40. package/dist/cjs/components/_internal/shell-inspector.js.map +3 -3
  41. package/dist/cjs/components/_internal/shell-pane.d.ts.map +1 -1
  42. package/dist/cjs/components/_internal/shell-pane.js +2 -1
  43. package/dist/cjs/components/_internal/shell-pane.js.map +3 -3
  44. package/dist/cjs/components/_internal/shell-resizable.d.ts.map +1 -1
  45. package/dist/cjs/components/_internal/shell-resizable.js +2 -1
  46. package/dist/cjs/components/_internal/shell-resizable.js.map +3 -3
  47. package/dist/cjs/components/_internal/shell-resize.js +1 -0
  48. package/dist/cjs/components/_internal/shell-resize.js.map +1 -1
  49. package/dist/cjs/components/_internal/shell-rest.js +1 -0
  50. package/dist/cjs/components/_internal/shell-rest.js.map +1 -1
  51. package/dist/cjs/components/_internal/shell-sidebar.d.ts +1 -1
  52. package/dist/cjs/components/_internal/shell-sidebar.d.ts.map +1 -1
  53. package/dist/cjs/components/_internal/shell-sidebar.js +2 -1
  54. package/dist/cjs/components/_internal/shell-sidebar.js.map +3 -3
  55. package/dist/cjs/components/_internal/shell-store.d.ts.map +1 -1
  56. package/dist/cjs/components/_internal/shell-store.js +2 -1
  57. package/dist/cjs/components/_internal/shell-store.js.map +3 -3
  58. package/dist/cjs/components/accessible-icon.js +1 -0
  59. package/dist/cjs/components/accessible-icon.js.map +1 -1
  60. package/dist/cjs/components/accordion.d.ts.map +1 -1
  61. package/dist/cjs/components/accordion.js +2 -1
  62. package/dist/cjs/components/accordion.js.map +3 -3
  63. package/dist/cjs/components/accordion.props.js +1 -0
  64. package/dist/cjs/components/accordion.props.js.map +1 -1
  65. package/dist/cjs/components/alert-dialog.d.ts.map +1 -1
  66. package/dist/cjs/components/alert-dialog.js +2 -1
  67. package/dist/cjs/components/alert-dialog.js.map +4 -4
  68. package/dist/cjs/components/alert-dialog.props.js +1 -0
  69. package/dist/cjs/components/alert-dialog.props.js.map +1 -1
  70. package/dist/cjs/components/avatar.d.ts.map +1 -1
  71. package/dist/cjs/components/avatar.js +2 -1
  72. package/dist/cjs/components/avatar.js.map +3 -3
  73. package/dist/cjs/components/avatar.props.js +1 -0
  74. package/dist/cjs/components/avatar.props.js.map +1 -1
  75. package/dist/cjs/components/blockquote.js +1 -0
  76. package/dist/cjs/components/blockquote.js.map +1 -1
  77. package/dist/cjs/components/blockquote.props.js +1 -0
  78. package/dist/cjs/components/blockquote.props.js.map +1 -1
  79. package/dist/cjs/components/box.js +1 -0
  80. package/dist/cjs/components/box.js.map +1 -1
  81. package/dist/cjs/components/box.props.js +1 -0
  82. package/dist/cjs/components/box.props.js.map +1 -1
  83. package/dist/cjs/components/button.d.ts.map +1 -1
  84. package/dist/cjs/components/button.js +2 -1
  85. package/dist/cjs/components/button.js.map +3 -3
  86. package/dist/cjs/components/button.props.js +1 -0
  87. package/dist/cjs/components/button.props.js.map +2 -2
  88. package/dist/cjs/components/card.js +1 -0
  89. package/dist/cjs/components/card.js.map +1 -1
  90. package/dist/cjs/components/card.props.js +1 -0
  91. package/dist/cjs/components/card.props.js.map +1 -1
  92. package/dist/cjs/components/chatbar.d.ts.map +1 -1
  93. package/dist/cjs/components/chatbar.js +2 -1
  94. package/dist/cjs/components/chatbar.js.map +3 -3
  95. package/dist/cjs/components/checkbox-group.js +1 -0
  96. package/dist/cjs/components/checkbox-group.js.map +1 -1
  97. package/dist/cjs/components/checkbox-group.primitive.js +1 -0
  98. package/dist/cjs/components/checkbox-group.primitive.js.map +1 -1
  99. package/dist/cjs/components/checkbox-group.props.js +1 -0
  100. package/dist/cjs/components/checkbox-group.props.js.map +1 -1
  101. package/dist/cjs/components/checkbox.js +1 -0
  102. package/dist/cjs/components/checkbox.js.map +1 -1
  103. package/dist/cjs/components/checkbox.props.js +1 -0
  104. package/dist/cjs/components/checkbox.props.js.map +1 -1
  105. package/dist/cjs/components/chip.js +2 -1
  106. package/dist/cjs/components/chip.js.map +3 -3
  107. package/dist/cjs/components/chip.props.js +1 -0
  108. package/dist/cjs/components/chip.props.js.map +1 -1
  109. package/dist/cjs/components/code.js +1 -0
  110. package/dist/cjs/components/code.js.map +1 -1
  111. package/dist/cjs/components/code.props.js +1 -0
  112. package/dist/cjs/components/code.props.js.map +1 -1
  113. package/dist/cjs/components/combobox.d.ts.map +1 -1
  114. package/dist/cjs/components/combobox.js +2 -1
  115. package/dist/cjs/components/combobox.js.map +4 -4
  116. package/dist/cjs/components/combobox.props.js +1 -0
  117. package/dist/cjs/components/combobox.props.js.map +1 -1
  118. package/dist/cjs/components/context-menu.d.ts +1 -2
  119. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  120. package/dist/cjs/components/context-menu.js +2 -1
  121. package/dist/cjs/components/context-menu.js.map +4 -4
  122. package/dist/cjs/components/context-menu.props.js +1 -0
  123. package/dist/cjs/components/context-menu.props.js.map +1 -1
  124. package/dist/cjs/components/dialog.js +2 -1
  125. package/dist/cjs/components/dialog.js.map +3 -3
  126. package/dist/cjs/components/dialog.props.js +1 -0
  127. package/dist/cjs/components/dialog.props.js.map +1 -1
  128. package/dist/cjs/components/dropdown-menu.d.ts +1 -2
  129. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  130. package/dist/cjs/components/dropdown-menu.js +2 -1
  131. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  132. package/dist/cjs/components/dropdown-menu.props.js +1 -0
  133. package/dist/cjs/components/dropdown-menu.props.js.map +1 -1
  134. package/dist/cjs/components/flex.js +1 -0
  135. package/dist/cjs/components/flex.js.map +2 -2
  136. package/dist/cjs/components/flex.props.js +1 -0
  137. package/dist/cjs/components/flex.props.js.map +2 -2
  138. package/dist/cjs/components/grid.js +1 -0
  139. package/dist/cjs/components/grid.js.map +2 -2
  140. package/dist/cjs/components/grid.props.js +1 -0
  141. package/dist/cjs/components/grid.props.js.map +2 -2
  142. package/dist/cjs/components/heading.d.ts +2 -2
  143. package/dist/cjs/components/heading.d.ts.map +1 -1
  144. package/dist/cjs/components/heading.js +2 -1
  145. package/dist/cjs/components/heading.js.map +2 -2
  146. package/dist/cjs/components/heading.props.d.ts +1 -1
  147. package/dist/cjs/components/heading.props.js +2 -1
  148. package/dist/cjs/components/heading.props.js.map +2 -2
  149. package/dist/cjs/components/icons.js +1 -0
  150. package/dist/cjs/components/icons.js.map +1 -1
  151. package/dist/cjs/components/image.d.ts +9 -2
  152. package/dist/cjs/components/image.d.ts.map +1 -1
  153. package/dist/cjs/components/image.js +2 -1
  154. package/dist/cjs/components/image.js.map +3 -3
  155. package/dist/cjs/components/image.props.js +1 -0
  156. package/dist/cjs/components/image.props.js.map +1 -1
  157. package/dist/cjs/components/index.d.ts +1 -1
  158. package/dist/cjs/components/index.d.ts.map +1 -1
  159. package/dist/cjs/components/index.js +3 -2
  160. package/dist/cjs/components/index.js.map +4 -4
  161. package/dist/cjs/components/kbd.js +1 -0
  162. package/dist/cjs/components/kbd.js.map +1 -1
  163. package/dist/cjs/components/kbd.props.js +1 -0
  164. package/dist/cjs/components/kbd.props.js.map +1 -1
  165. package/dist/cjs/components/link.js +1 -0
  166. package/dist/cjs/components/link.js.map +1 -1
  167. package/dist/cjs/components/link.props.js +1 -0
  168. package/dist/cjs/components/link.props.js.map +1 -1
  169. package/dist/cjs/components/message-scroller.d.ts +2 -2
  170. package/dist/cjs/components/message-scroller.d.ts.map +1 -1
  171. package/dist/cjs/components/message-scroller.js +2 -1
  172. package/dist/cjs/components/message-scroller.js.map +3 -3
  173. package/dist/cjs/components/navbar.js +1 -0
  174. package/dist/cjs/components/navbar.js.map +2 -2
  175. package/dist/cjs/components/navbar.props.js +1 -0
  176. package/dist/cjs/components/navbar.props.js.map +1 -1
  177. package/dist/cjs/components/notice.js +2 -1
  178. package/dist/cjs/components/notice.js.map +3 -3
  179. package/dist/cjs/components/popover.d.ts +3 -1
  180. package/dist/cjs/components/popover.d.ts.map +1 -1
  181. package/dist/cjs/components/popover.js +2 -1
  182. package/dist/cjs/components/popover.js.map +3 -3
  183. package/dist/cjs/components/popover.props.js +1 -0
  184. package/dist/cjs/components/popover.props.js.map +1 -1
  185. package/dist/cjs/components/portal.js +1 -0
  186. package/dist/cjs/components/portal.js.map +1 -1
  187. package/dist/cjs/components/progress.d.ts.map +1 -1
  188. package/dist/cjs/components/progress.js +2 -1
  189. package/dist/cjs/components/progress.js.map +3 -3
  190. package/dist/cjs/components/progress.props.js +1 -0
  191. package/dist/cjs/components/progress.props.js.map +1 -1
  192. package/dist/cjs/components/radio-group.js +1 -0
  193. package/dist/cjs/components/radio-group.js.map +1 -1
  194. package/dist/cjs/components/radio-group.props.js +1 -0
  195. package/dist/cjs/components/radio-group.props.js.map +1 -1
  196. package/dist/cjs/components/radio.js +1 -0
  197. package/dist/cjs/components/radio.js.map +1 -1
  198. package/dist/cjs/components/radio.props.js +1 -0
  199. package/dist/cjs/components/radio.props.js.map +1 -1
  200. package/dist/cjs/components/reset.js +1 -0
  201. package/dist/cjs/components/reset.js.map +1 -1
  202. package/dist/cjs/components/schemas/base-button.schema.js +1 -0
  203. package/dist/cjs/components/schemas/base-button.schema.js.map +1 -1
  204. package/dist/cjs/components/schemas/button.schema.js +1 -0
  205. package/dist/cjs/components/schemas/button.schema.js.map +1 -1
  206. package/dist/cjs/components/schemas/index.js +1 -0
  207. package/dist/cjs/components/schemas/index.js.map +1 -1
  208. package/dist/cjs/components/schemas/shell.schema.js +1 -0
  209. package/dist/cjs/components/schemas/shell.schema.js.map +1 -1
  210. package/dist/cjs/components/schemas/toggle.schema.js +1 -0
  211. package/dist/cjs/components/schemas/toggle.schema.js.map +1 -1
  212. package/dist/cjs/components/scroll-area.js +1 -0
  213. package/dist/cjs/components/scroll-area.js.map +1 -1
  214. package/dist/cjs/components/scroll-area.props.js +1 -0
  215. package/dist/cjs/components/scroll-area.props.js.map +1 -1
  216. package/dist/cjs/components/segmented-control.d.ts.map +1 -1
  217. package/dist/cjs/components/segmented-control.js +2 -1
  218. package/dist/cjs/components/segmented-control.js.map +3 -3
  219. package/dist/cjs/components/segmented-control.props.d.ts +0 -1
  220. package/dist/cjs/components/segmented-control.props.d.ts.map +1 -1
  221. package/dist/cjs/components/segmented-control.props.js +2 -1
  222. package/dist/cjs/components/segmented-control.props.js.map +2 -2
  223. package/dist/cjs/components/select.d.ts.map +1 -1
  224. package/dist/cjs/components/select.js +2 -1
  225. package/dist/cjs/components/select.js.map +4 -4
  226. package/dist/cjs/components/select.props.js +1 -0
  227. package/dist/cjs/components/select.props.js.map +1 -1
  228. package/dist/cjs/components/separator.d.ts.map +1 -1
  229. package/dist/cjs/components/separator.js +2 -1
  230. package/dist/cjs/components/separator.js.map +4 -4
  231. package/dist/cjs/components/separator.props.d.ts +1 -1
  232. package/dist/cjs/components/separator.props.js +2 -1
  233. package/dist/cjs/components/separator.props.js.map +2 -2
  234. package/dist/cjs/components/sheet.d.ts +1 -1
  235. package/dist/cjs/components/sheet.d.ts.map +1 -1
  236. package/dist/cjs/components/sheet.js +2 -1
  237. package/dist/cjs/components/sheet.js.map +3 -3
  238. package/dist/cjs/components/shell.context.js +2 -1
  239. package/dist/cjs/components/shell.context.js.map +3 -3
  240. package/dist/cjs/components/shell.d.ts +5 -2
  241. package/dist/cjs/components/shell.d.ts.map +1 -1
  242. package/dist/cjs/components/shell.hooks.js +2 -1
  243. package/dist/cjs/components/shell.hooks.js.map +3 -3
  244. package/dist/cjs/components/shell.js +2 -1
  245. package/dist/cjs/components/shell.js.map +3 -3
  246. package/dist/cjs/components/shell.types.js +1 -0
  247. package/dist/cjs/components/shell.types.js.map +1 -1
  248. package/dist/cjs/components/sidebar.d.ts.map +1 -1
  249. package/dist/cjs/components/sidebar.js +2 -1
  250. package/dist/cjs/components/sidebar.js.map +4 -4
  251. package/dist/cjs/components/slider.d.ts.map +1 -1
  252. package/dist/cjs/components/slider.js +2 -1
  253. package/dist/cjs/components/slider.js.map +3 -3
  254. package/dist/cjs/components/slider.props.d.ts +0 -2
  255. package/dist/cjs/components/slider.props.d.ts.map +1 -1
  256. package/dist/cjs/components/slider.props.js +2 -1
  257. package/dist/cjs/components/slider.props.js.map +2 -2
  258. package/dist/cjs/components/slot.js +1 -0
  259. package/dist/cjs/components/slot.js.map +1 -1
  260. package/dist/cjs/components/spinner.d.ts.map +1 -1
  261. package/dist/cjs/components/spinner.js +2 -1
  262. package/dist/cjs/components/spinner.js.map +2 -2
  263. package/dist/cjs/components/spinner.props.js +1 -0
  264. package/dist/cjs/components/spinner.props.js.map +1 -1
  265. package/dist/cjs/components/switch.js +1 -0
  266. package/dist/cjs/components/switch.js.map +1 -1
  267. package/dist/cjs/components/switch.props.js +1 -0
  268. package/dist/cjs/components/switch.props.js.map +1 -1
  269. package/dist/cjs/components/table.d.ts.map +1 -1
  270. package/dist/cjs/components/table.js +2 -1
  271. package/dist/cjs/components/table.js.map +3 -3
  272. package/dist/cjs/components/table.props.d.ts +0 -2
  273. package/dist/cjs/components/table.props.d.ts.map +1 -1
  274. package/dist/cjs/components/table.props.js +2 -1
  275. package/dist/cjs/components/table.props.js.map +3 -3
  276. package/dist/cjs/components/tabs.d.ts.map +1 -1
  277. package/dist/cjs/components/tabs.js +2 -1
  278. package/dist/cjs/components/tabs.js.map +3 -3
  279. package/dist/cjs/components/tabs.props.js +1 -0
  280. package/dist/cjs/components/tabs.props.js.map +1 -1
  281. package/dist/cjs/components/text-area.d.ts.map +1 -1
  282. package/dist/cjs/components/text-area.js +2 -1
  283. package/dist/cjs/components/text-area.js.map +2 -2
  284. package/dist/cjs/components/text-area.props.js +1 -0
  285. package/dist/cjs/components/text-area.props.js.map +1 -1
  286. package/dist/cjs/components/text-field.d.ts.map +1 -1
  287. package/dist/cjs/components/text-field.js +3 -2
  288. package/dist/cjs/components/text-field.js.map +3 -3
  289. package/dist/cjs/components/text-field.props.js +1 -0
  290. package/dist/cjs/components/text-field.props.js.map +2 -2
  291. package/dist/cjs/components/text.js +1 -0
  292. package/dist/cjs/components/text.js.map +1 -1
  293. package/dist/cjs/components/text.props.js +1 -0
  294. package/dist/cjs/components/text.props.js.map +1 -1
  295. package/dist/cjs/components/theme.d.ts.map +1 -1
  296. package/dist/cjs/components/theme.js +2 -1
  297. package/dist/cjs/components/theme.js.map +3 -3
  298. package/dist/cjs/components/theme.props.js +1 -0
  299. package/dist/cjs/components/theme.props.js.map +1 -1
  300. package/dist/cjs/components/toggle.js +2 -1
  301. package/dist/cjs/components/toggle.js.map +3 -3
  302. package/dist/cjs/components/toolbar.d.ts +4 -1
  303. package/dist/cjs/components/toolbar.d.ts.map +1 -1
  304. package/dist/cjs/components/toolbar.js +2 -1
  305. package/dist/cjs/components/toolbar.js.map +4 -4
  306. package/dist/cjs/components/toolbar.props.js +1 -0
  307. package/dist/cjs/components/toolbar.props.js.map +1 -1
  308. package/dist/cjs/components/tooltip.d.ts +13 -2
  309. package/dist/cjs/components/tooltip.d.ts.map +1 -1
  310. package/dist/cjs/components/tooltip.js +2 -1
  311. package/dist/cjs/components/tooltip.js.map +3 -3
  312. package/dist/cjs/components/tooltip.props.js +1 -0
  313. package/dist/cjs/components/tooltip.props.js.map +1 -1
  314. package/dist/cjs/components/virtual-menu.d.ts +19 -12
  315. package/dist/cjs/components/virtual-menu.d.ts.map +1 -1
  316. package/dist/cjs/components/virtual-menu.js +2 -1
  317. package/dist/cjs/components/virtual-menu.js.map +3 -3
  318. package/dist/cjs/components/visually-hidden.js +1 -0
  319. package/dist/cjs/components/visually-hidden.js.map +1 -1
  320. package/dist/cjs/helpers/get-margin-styles.d.ts.map +1 -1
  321. package/dist/cjs/helpers/get-margin-styles.js +1 -1
  322. package/dist/cjs/helpers/get-margin-styles.js.map +3 -3
  323. package/dist/cjs/helpers/index.js +4 -4
  324. package/dist/cjs/helpers/index.js.map +3 -3
  325. package/dist/cjs/hooks/index.js +5 -4
  326. package/dist/cjs/hooks/index.js.map +3 -3
  327. package/dist/cjs/hooks/use-appearance.d.ts.map +1 -1
  328. package/dist/cjs/hooks/use-appearance.js +4 -3
  329. package/dist/cjs/hooks/use-appearance.js.map +3 -3
  330. package/dist/cjs/hooks/use-body-pointer-events-cleanup.d.ts +1 -1
  331. package/dist/cjs/hooks/use-body-pointer-events-cleanup.d.ts.map +1 -1
  332. package/dist/cjs/hooks/use-body-pointer-events-cleanup.js +2 -1
  333. package/dist/cjs/hooks/use-body-pointer-events-cleanup.js.map +3 -3
  334. package/dist/cjs/hooks/use-breakpoint.js +1 -0
  335. package/dist/cjs/hooks/use-breakpoint.js.map +1 -1
  336. package/dist/cjs/hooks/use-live-announcer.js +1 -0
  337. package/dist/cjs/hooks/use-live-announcer.js.map +1 -1
  338. package/dist/cjs/hooks/use-prop-synced-state.js +1 -0
  339. package/dist/cjs/hooks/use-prop-synced-state.js.map +1 -1
  340. package/dist/cjs/hooks/use-scroll-edges.js +1 -0
  341. package/dist/cjs/hooks/use-scroll-edges.js.map +1 -1
  342. package/dist/cjs/hooks/use-thumb-sync.js +1 -0
  343. package/dist/cjs/hooks/use-thumb-sync.js.map +1 -1
  344. package/dist/cjs/hooks/use-toggle-state.js +1 -0
  345. package/dist/cjs/hooks/use-toggle-state.js.map +1 -1
  346. package/dist/cjs/hooks/use-tooltip-wrapper.js +1 -0
  347. package/dist/cjs/hooks/use-tooltip-wrapper.js.map +1 -1
  348. package/dist/cjs/index.js +6 -5
  349. package/dist/cjs/index.js.map +4 -4
  350. package/dist/cjs/props/gap.props.d.ts +4 -4
  351. package/dist/cjs/props/gap.props.js.map +1 -1
  352. package/dist/cjs/props/index.js +1 -1
  353. package/dist/cjs/props/index.js.map +3 -3
  354. package/dist/esm/chunk-2EXOL2BR.js +3 -0
  355. package/dist/esm/chunk-2EXOL2BR.js.map +7 -0
  356. package/dist/esm/chunk-2IU5XPR2.js +3 -0
  357. package/dist/esm/chunk-2IU5XPR2.js.map +7 -0
  358. package/dist/esm/chunk-2IUGM657.js +3 -0
  359. package/dist/esm/chunk-2IUGM657.js.map +7 -0
  360. package/dist/esm/{chunk-JYQGCXXI.js → chunk-2VSRZ4IT.js} +2 -1
  361. package/dist/esm/{chunk-JYQGCXXI.js.map → chunk-2VSRZ4IT.js.map} +1 -1
  362. package/dist/esm/chunk-2XZ7477Y.js +3 -0
  363. package/dist/esm/{chunk-NC3CJUE3.js.map → chunk-2XZ7477Y.js.map} +1 -1
  364. package/dist/esm/{chunk-GNTNGLYR.js → chunk-2Z2I27ZS.js} +3 -2
  365. package/dist/esm/{chunk-GNTNGLYR.js.map → chunk-2Z2I27ZS.js.map} +1 -1
  366. package/dist/esm/{chunk-PALE5UWK.js → chunk-3223MHQK.js} +3 -2
  367. package/dist/esm/{chunk-PALE5UWK.js.map → chunk-3223MHQK.js.map} +1 -1
  368. package/dist/esm/{chunk-MPTTUBFU.js → chunk-3H23GRNQ.js} +3 -2
  369. package/dist/esm/{chunk-MPTTUBFU.js.map → chunk-3H23GRNQ.js.map} +2 -2
  370. package/dist/esm/chunk-3LIF53YY.js +13 -0
  371. package/dist/esm/chunk-3LIF53YY.js.map +7 -0
  372. package/dist/esm/chunk-3QWGSRYC.js +3 -0
  373. package/dist/esm/chunk-3QWGSRYC.js.map +7 -0
  374. package/dist/esm/chunk-3WZLXGUE.js +3 -0
  375. package/dist/esm/chunk-3WZLXGUE.js.map +7 -0
  376. package/dist/esm/chunk-45O3JZWQ.js +6 -0
  377. package/dist/esm/chunk-45O3JZWQ.js.map +7 -0
  378. package/dist/esm/chunk-4ABQ6CDI.js +3 -0
  379. package/dist/esm/chunk-4ABQ6CDI.js.map +7 -0
  380. package/dist/esm/{chunk-IAEAXIBI.js → chunk-4J7QDLKI.js} +3 -2
  381. package/dist/esm/{chunk-IAEAXIBI.js.map → chunk-4J7QDLKI.js.map} +1 -1
  382. package/dist/esm/{chunk-4QKZYCCH.js → chunk-4Q5PUIDJ.js} +3 -2
  383. package/dist/esm/{chunk-4QKZYCCH.js.map → chunk-4Q5PUIDJ.js.map} +1 -1
  384. package/dist/esm/chunk-54HUG34P.js +3 -0
  385. package/dist/esm/chunk-54HUG34P.js.map +7 -0
  386. package/dist/esm/chunk-5EP3UTM7.js +3 -0
  387. package/dist/esm/{chunk-Q4IA622Q.js.map → chunk-5EP3UTM7.js.map} +1 -1
  388. package/dist/esm/chunk-5JYSYTHA.js +3 -0
  389. package/dist/esm/chunk-5JYSYTHA.js.map +7 -0
  390. package/dist/esm/{chunk-FWB47YCH.js → chunk-5KMEUZWN.js} +2 -1
  391. package/dist/esm/{chunk-FWB47YCH.js.map → chunk-5KMEUZWN.js.map} +1 -1
  392. package/dist/esm/{chunk-7MC7N4BC.js → chunk-5KQCG7AV.js} +2 -1
  393. package/dist/esm/{chunk-7MC7N4BC.js.map → chunk-5KQCG7AV.js.map} +1 -1
  394. package/dist/esm/chunk-5RFDCAKC.js +3 -0
  395. package/dist/esm/{chunk-SKOYHBIE.js.map → chunk-5RFDCAKC.js.map} +1 -1
  396. package/dist/esm/{chunk-BIITGC3Z.js → chunk-5WTSKXAE.js} +3 -2
  397. package/dist/esm/{chunk-BIITGC3Z.js.map → chunk-5WTSKXAE.js.map} +1 -1
  398. package/dist/esm/{chunk-OSSNMF5U.js → chunk-647DRBXQ.js} +3 -2
  399. package/dist/esm/{chunk-OSSNMF5U.js.map → chunk-647DRBXQ.js.map} +1 -1
  400. package/dist/esm/{chunk-KKMOGHIY.js → chunk-64EFWPHI.js} +3 -2
  401. package/dist/esm/{chunk-KKMOGHIY.js.map → chunk-64EFWPHI.js.map} +1 -1
  402. package/dist/esm/{chunk-BWLCTTTN.js → chunk-65KD6WS6.js} +3 -2
  403. package/dist/esm/{chunk-BWLCTTTN.js.map → chunk-65KD6WS6.js.map} +2 -2
  404. package/dist/esm/{chunk-RWTSGUVJ.js → chunk-6AMWYEM7.js} +3 -2
  405. package/dist/esm/{chunk-RWTSGUVJ.js.map → chunk-6AMWYEM7.js.map} +1 -1
  406. package/dist/esm/{chunk-ELAW7ZUG.js → chunk-6FLLFCBU.js} +2 -2
  407. package/dist/esm/{chunk-4P6TKZCA.js → chunk-6UZT3ZLO.js} +3 -2
  408. package/dist/esm/{chunk-4P6TKZCA.js.map → chunk-6UZT3ZLO.js.map} +1 -1
  409. package/dist/esm/chunk-7IHBNDCE.js +3 -0
  410. package/dist/esm/{chunk-WMVR2XBR.js.map → chunk-7IHBNDCE.js.map} +2 -2
  411. package/dist/esm/chunk-7J7RPEPB.js +3 -0
  412. package/dist/esm/chunk-7J7RPEPB.js.map +7 -0
  413. package/dist/esm/chunk-7N2Q5WOM.js +3 -0
  414. package/dist/esm/chunk-7N2Q5WOM.js.map +7 -0
  415. package/dist/esm/{chunk-25FNCKUM.js → chunk-7ROKZHH2.js} +3 -2
  416. package/dist/esm/{chunk-25FNCKUM.js.map → chunk-7ROKZHH2.js.map} +1 -1
  417. package/dist/esm/chunk-7VJF6EXN.js +3 -0
  418. package/dist/esm/chunk-7VJF6EXN.js.map +7 -0
  419. package/dist/esm/chunk-A2OMWZI7.js +2 -0
  420. package/dist/esm/{chunk-FDJV5RXX.js → chunk-A7QRPXXB.js} +3 -2
  421. package/dist/esm/{chunk-FDJV5RXX.js.map → chunk-A7QRPXXB.js.map} +1 -1
  422. package/dist/esm/chunk-AG2YETE6.js +3 -0
  423. package/dist/esm/chunk-AG2YETE6.js.map +7 -0
  424. package/dist/esm/{chunk-4BU4R7UM.js → chunk-AOBY2OUZ.js} +3 -2
  425. package/dist/esm/{chunk-4BU4R7UM.js.map → chunk-AOBY2OUZ.js.map} +1 -1
  426. package/dist/esm/{chunk-XEZXKPLE.js → chunk-AXODGYRY.js} +2 -1
  427. package/dist/esm/{chunk-XEZXKPLE.js.map → chunk-AXODGYRY.js.map} +1 -1
  428. package/dist/esm/chunk-AYKOOEZR.js +2 -0
  429. package/dist/esm/{chunk-YHYPIJCR.js → chunk-AZHSPPBV.js} +3 -2
  430. package/dist/esm/{chunk-YHYPIJCR.js.map → chunk-AZHSPPBV.js.map} +1 -1
  431. package/dist/esm/{chunk-ERNM3KVF.js → chunk-B6YGNB3V.js} +2 -1
  432. package/dist/esm/{chunk-ERNM3KVF.js.map → chunk-B6YGNB3V.js.map} +1 -1
  433. package/dist/esm/chunk-BMKUGZ4I.js +3 -0
  434. package/dist/esm/{chunk-VPSMETY2.js.map → chunk-BMKUGZ4I.js.map} +1 -1
  435. package/dist/esm/chunk-BOLSK63X.js +3 -0
  436. package/dist/esm/{chunk-X4A3XRBY.js.map → chunk-BOLSK63X.js.map} +1 -1
  437. package/dist/esm/chunk-BUZGRMDD.js +3 -0
  438. package/dist/esm/chunk-BUZGRMDD.js.map +7 -0
  439. package/dist/esm/{chunk-IDOZJVO6.js → chunk-CAAEEHGQ.js} +3 -2
  440. package/dist/esm/{chunk-IDOZJVO6.js.map → chunk-CAAEEHGQ.js.map} +1 -1
  441. package/dist/esm/{chunk-3QZBWH2A.js → chunk-CKJXTEVO.js} +3 -2
  442. package/dist/esm/chunk-CKJXTEVO.js.map +7 -0
  443. package/dist/esm/chunk-CLJ6SEGP.js +3 -0
  444. package/dist/esm/chunk-CLJ6SEGP.js.map +7 -0
  445. package/dist/esm/chunk-CR65RYGM.js +3 -0
  446. package/dist/esm/chunk-CR65RYGM.js.map +7 -0
  447. package/dist/esm/{chunk-H5BYPX6V.js → chunk-CRCYUJMK.js} +3 -2
  448. package/dist/esm/{chunk-H5BYPX6V.js.map → chunk-CRCYUJMK.js.map} +1 -1
  449. package/dist/esm/chunk-CV7QQTI3.js +3 -0
  450. package/dist/esm/chunk-CV7QQTI3.js.map +7 -0
  451. package/dist/esm/chunk-CYTPMHSJ.js +3 -0
  452. package/dist/esm/chunk-CYTPMHSJ.js.map +7 -0
  453. package/dist/esm/{chunk-GYP66ZK2.js → chunk-D4P7332M.js} +3 -2
  454. package/dist/esm/{chunk-GYP66ZK2.js.map → chunk-D4P7332M.js.map} +1 -1
  455. package/dist/esm/chunk-DI7RUMLO.js +3 -0
  456. package/dist/esm/chunk-DI7RUMLO.js.map +7 -0
  457. package/dist/esm/{chunk-OY5NT7VT.js → chunk-DVXDFCCV.js} +3 -2
  458. package/dist/esm/{chunk-OY5NT7VT.js.map → chunk-DVXDFCCV.js.map} +1 -1
  459. package/dist/esm/chunk-E4EMG3RC.js +3 -0
  460. package/dist/esm/chunk-E4EMG3RC.js.map +7 -0
  461. package/dist/esm/chunk-EAIQIW23.js +3 -0
  462. package/dist/esm/{chunk-4ZOVV3TY.js.map → chunk-EAIQIW23.js.map} +3 -3
  463. package/dist/esm/chunk-ENAW44VE.js +3 -0
  464. package/dist/esm/chunk-ENAW44VE.js.map +7 -0
  465. package/dist/esm/chunk-EVCQ6TG5.js +3 -0
  466. package/dist/esm/{chunk-VUPIJNG2.js.map → chunk-EVCQ6TG5.js.map} +2 -2
  467. package/dist/esm/{chunk-RAVZ7F5L.js → chunk-EY6TCYGG.js} +3 -2
  468. package/dist/esm/{chunk-RAVZ7F5L.js.map → chunk-EY6TCYGG.js.map} +1 -1
  469. package/dist/esm/chunk-FFJE25TJ.js +3 -0
  470. package/dist/esm/chunk-FFJE25TJ.js.map +7 -0
  471. package/dist/esm/chunk-FI32HA4X.js +3 -0
  472. package/dist/esm/{chunk-YXLDRDHW.js.map → chunk-FI32HA4X.js.map} +3 -3
  473. package/dist/esm/{chunk-NA237RHQ.js → chunk-FJLYSZV3.js} +1 -1
  474. package/dist/esm/{chunk-NA237RHQ.js.map → chunk-FJLYSZV3.js.map} +1 -1
  475. package/dist/esm/{chunk-DNOQ6E3W.js → chunk-FM3GBCX5.js} +3 -2
  476. package/dist/esm/{chunk-DNOQ6E3W.js.map → chunk-FM3GBCX5.js.map} +1 -1
  477. package/dist/esm/chunk-G32GSPNO.js +3 -0
  478. package/dist/esm/chunk-G32GSPNO.js.map +7 -0
  479. package/dist/esm/{chunk-TBZO22XK.js → chunk-G66WDIIV.js} +3 -2
  480. package/dist/esm/{chunk-TBZO22XK.js.map → chunk-G66WDIIV.js.map} +1 -1
  481. package/dist/esm/{chunk-PN3RQFSU.js → chunk-GHUAUFG7.js} +2 -1
  482. package/dist/esm/{chunk-PN3RQFSU.js.map → chunk-GHUAUFG7.js.map} +1 -1
  483. package/dist/esm/chunk-GHWEXMF6.js +3 -0
  484. package/dist/esm/chunk-GHWEXMF6.js.map +7 -0
  485. package/dist/esm/{chunk-62ZGP4ET.js → chunk-GKDGNPBD.js} +2 -1
  486. package/dist/esm/{chunk-62ZGP4ET.js.map → chunk-GKDGNPBD.js.map} +1 -1
  487. package/dist/esm/{chunk-W6BN5QLH.js → chunk-GNPTPIL7.js} +3 -2
  488. package/dist/esm/{chunk-W6BN5QLH.js.map → chunk-GNPTPIL7.js.map} +1 -1
  489. package/dist/esm/chunk-GPQSC6GL.js +3 -0
  490. package/dist/esm/chunk-GPQSC6GL.js.map +7 -0
  491. package/dist/esm/{chunk-THUBY6L2.js → chunk-GZ333J7L.js} +3 -2
  492. package/dist/esm/{chunk-THUBY6L2.js.map → chunk-GZ333J7L.js.map} +1 -1
  493. package/dist/esm/chunk-HBWBPBSA.js +3 -0
  494. package/dist/esm/chunk-HBWBPBSA.js.map +7 -0
  495. package/dist/esm/chunk-I3SRUPUP.js +3 -0
  496. package/dist/esm/chunk-I3SRUPUP.js.map +7 -0
  497. package/dist/esm/{chunk-3XHTJZNP.js → chunk-I6SMGWS5.js} +3 -2
  498. package/dist/esm/{chunk-3XHTJZNP.js.map → chunk-I6SMGWS5.js.map} +1 -1
  499. package/dist/esm/chunk-ILWS2JUE.js +3 -0
  500. package/dist/esm/chunk-ILWS2JUE.js.map +7 -0
  501. package/dist/esm/{chunk-QWDCLL6R.js → chunk-IN2WND4B.js} +3 -2
  502. package/dist/esm/{chunk-QWDCLL6R.js.map → chunk-IN2WND4B.js.map} +1 -1
  503. package/dist/esm/chunk-IO43RGNR.js +3 -0
  504. package/dist/esm/chunk-IO43RGNR.js.map +7 -0
  505. package/dist/esm/{chunk-UY6WJUNA.js → chunk-IQ2RMFOM.js} +3 -2
  506. package/dist/esm/{chunk-UY6WJUNA.js.map → chunk-IQ2RMFOM.js.map} +2 -2
  507. package/dist/esm/{chunk-DCNHG6VN.js → chunk-IZIDRDQW.js} +3 -2
  508. package/dist/esm/{chunk-DCNHG6VN.js.map → chunk-IZIDRDQW.js.map} +1 -1
  509. package/dist/esm/{chunk-7FTUTUMD.js → chunk-IZXML75Y.js} +2 -2
  510. package/dist/esm/chunk-J3QIUJ6F.js +2 -0
  511. package/dist/esm/chunk-JIF77MRB.js +3 -0
  512. package/dist/esm/chunk-JIF77MRB.js.map +7 -0
  513. package/dist/esm/{chunk-PBFSBHBS.js → chunk-JUY7CBSL.js} +2 -2
  514. package/dist/esm/chunk-JZ5Z53MN.js +2 -0
  515. package/dist/esm/{chunk-YEHM3FZN.js → chunk-JZVLP2VF.js} +3 -2
  516. package/dist/esm/{chunk-YEHM3FZN.js.map → chunk-JZVLP2VF.js.map} +1 -1
  517. package/dist/esm/chunk-KNBSG2WA.js +3 -0
  518. package/dist/esm/chunk-KNBSG2WA.js.map +7 -0
  519. package/dist/esm/{chunk-IWCFJJBI.js → chunk-KOAWATCI.js} +2 -1
  520. package/dist/esm/{chunk-IWCFJJBI.js.map → chunk-KOAWATCI.js.map} +1 -1
  521. package/dist/esm/chunk-KRFXTPEW.js +3 -0
  522. package/dist/esm/{chunk-63PQNLFJ.js.map → chunk-KRFXTPEW.js.map} +1 -1
  523. package/dist/esm/chunk-KSYHZCLD.js +3 -0
  524. package/dist/esm/{chunk-EZYXYLR2.js.map → chunk-KSYHZCLD.js.map} +1 -1
  525. package/dist/esm/{chunk-VW46DG7H.js → chunk-L4NF3Q2T.js} +3 -2
  526. package/dist/esm/{chunk-VW46DG7H.js.map → chunk-L4NF3Q2T.js.map} +1 -1
  527. package/dist/esm/chunk-L54FWKJE.js +3 -0
  528. package/dist/esm/chunk-L54FWKJE.js.map +7 -0
  529. package/dist/esm/{chunk-XTDXXQTB.js → chunk-L66IUPDW.js} +3 -2
  530. package/dist/esm/{chunk-XTDXXQTB.js.map → chunk-L66IUPDW.js.map} +1 -1
  531. package/dist/esm/{chunk-WX7SX5BN.js → chunk-LB2HB4NG.js} +3 -2
  532. package/dist/esm/{chunk-WX7SX5BN.js.map → chunk-LB2HB4NG.js.map} +2 -2
  533. package/dist/esm/{chunk-VVWYAVHM.js → chunk-LCG3JZ3C.js} +3 -2
  534. package/dist/esm/{chunk-VVWYAVHM.js.map → chunk-LCG3JZ3C.js.map} +1 -1
  535. package/dist/esm/chunk-LPLW7OWA.js +3 -0
  536. package/dist/esm/chunk-LPLW7OWA.js.map +7 -0
  537. package/dist/esm/chunk-M37GE2TE.js +3 -0
  538. package/dist/esm/{chunk-UONSKZQT.js.map → chunk-M37GE2TE.js.map} +1 -1
  539. package/dist/esm/{chunk-5YLKKQFK.js → chunk-MAA6LEE2.js} +2 -1
  540. package/dist/esm/{chunk-5YLKKQFK.js.map → chunk-MAA6LEE2.js.map} +1 -1
  541. package/dist/esm/chunk-MXIVYALY.js +3 -0
  542. package/dist/esm/chunk-MXIVYALY.js.map +7 -0
  543. package/dist/esm/chunk-N53NJCEM.js +3 -0
  544. package/dist/esm/chunk-N53NJCEM.js.map +7 -0
  545. package/dist/esm/{chunk-LXTGEI62.js → chunk-NBVCQQSY.js} +3 -2
  546. package/dist/esm/{chunk-LXTGEI62.js.map → chunk-NBVCQQSY.js.map} +1 -1
  547. package/dist/esm/chunk-NG54K6FL.js +2 -0
  548. package/dist/esm/chunk-NMQGDBLD.js +3 -0
  549. package/dist/esm/chunk-NMQGDBLD.js.map +7 -0
  550. package/dist/esm/chunk-OAJ5DARR.js +3 -0
  551. package/dist/esm/chunk-OAJ5DARR.js.map +7 -0
  552. package/dist/esm/chunk-OKQAVYW4.js +3 -0
  553. package/dist/esm/chunk-OKQAVYW4.js.map +7 -0
  554. package/dist/esm/chunk-PF67GJ5D.js +3 -0
  555. package/dist/esm/chunk-PF67GJ5D.js.map +7 -0
  556. package/dist/esm/chunk-PHWT772P.js +3 -0
  557. package/dist/esm/{chunk-XZQSSRTG.js.map → chunk-PHWT772P.js.map} +1 -1
  558. package/dist/esm/{chunk-PM6QY3JO.js → chunk-PPQ7URZL.js} +3 -2
  559. package/dist/esm/chunk-PPQ7URZL.js.map +7 -0
  560. package/dist/esm/{chunk-FNAE6HUI.js → chunk-PT45Q47V.js} +3 -2
  561. package/dist/esm/{chunk-FNAE6HUI.js.map → chunk-PT45Q47V.js.map} +1 -1
  562. package/dist/esm/{chunk-HCBR74BW.js → chunk-PT4KBXXP.js} +3 -2
  563. package/dist/esm/{chunk-HCBR74BW.js.map → chunk-PT4KBXXP.js.map} +1 -1
  564. package/dist/esm/{chunk-CHPT42BY.js → chunk-PZ6Z7WTR.js} +3 -2
  565. package/dist/esm/{chunk-CHPT42BY.js.map → chunk-PZ6Z7WTR.js.map} +1 -1
  566. package/dist/esm/{chunk-PSPENFPH.js → chunk-PZCQDZVJ.js} +3 -2
  567. package/dist/esm/{chunk-PSPENFPH.js.map → chunk-PZCQDZVJ.js.map} +1 -1
  568. package/dist/esm/{chunk-I53SGTKV.js → chunk-QH64BDXO.js} +3 -2
  569. package/dist/esm/{chunk-I53SGTKV.js.map → chunk-QH64BDXO.js.map} +1 -1
  570. package/dist/esm/{chunk-LUNWI377.js → chunk-QQY4WFJL.js} +3 -2
  571. package/dist/esm/{chunk-LUNWI377.js.map → chunk-QQY4WFJL.js.map} +1 -1
  572. package/dist/esm/{chunk-BE7LMBBC.js → chunk-RIHTVZVJ.js} +3 -2
  573. package/dist/esm/{chunk-BE7LMBBC.js.map → chunk-RIHTVZVJ.js.map} +1 -1
  574. package/dist/esm/{chunk-3XZOE2IQ.js → chunk-RVPLXLRA.js} +3 -2
  575. package/dist/esm/{chunk-3XZOE2IQ.js.map → chunk-RVPLXLRA.js.map} +1 -1
  576. package/dist/esm/{chunk-GS2QSZUR.js → chunk-SCIFT27R.js} +2 -1
  577. package/dist/esm/{chunk-GS2QSZUR.js.map → chunk-SCIFT27R.js.map} +1 -1
  578. package/dist/esm/chunk-SGJKXIWG.js +3 -0
  579. package/dist/esm/{chunk-DFGY2NZB.js.map → chunk-SGJKXIWG.js.map} +1 -1
  580. package/dist/esm/chunk-SHLERRO3.js +3 -0
  581. package/dist/esm/chunk-SHLERRO3.js.map +7 -0
  582. package/dist/esm/chunk-SV3CYQY5.js +3 -0
  583. package/dist/esm/{chunk-LVCUY2OS.js.map → chunk-SV3CYQY5.js.map} +2 -2
  584. package/dist/esm/chunk-TDT2CNES.js +2 -0
  585. package/dist/esm/chunk-TDT2CNES.js.map +7 -0
  586. package/dist/esm/chunk-TGRHRMQI.js +3 -0
  587. package/dist/esm/chunk-TGRHRMQI.js.map +7 -0
  588. package/dist/esm/{chunk-HIEGLLY7.js → chunk-TGUWRU7N.js} +2 -1
  589. package/dist/esm/{chunk-HIEGLLY7.js.map → chunk-TGUWRU7N.js.map} +1 -1
  590. package/dist/esm/{chunk-7ZOGH5NT.js → chunk-U5GQ3IFS.js} +2 -1
  591. package/dist/esm/{chunk-7ZOGH5NT.js.map → chunk-U5GQ3IFS.js.map} +1 -1
  592. package/dist/esm/{chunk-RKZVXVBN.js → chunk-UFJGZUKK.js} +3 -2
  593. package/dist/esm/chunk-UFJGZUKK.js.map +7 -0
  594. package/dist/esm/chunk-UUQGOQ5H.js +3 -0
  595. package/dist/esm/{chunk-G2JD52O5.js.map → chunk-UUQGOQ5H.js.map} +1 -1
  596. package/dist/esm/chunk-UZAS4PYM.js +3 -0
  597. package/dist/esm/chunk-UZAS4PYM.js.map +7 -0
  598. package/dist/esm/{chunk-OS3FCYZY.js → chunk-VQPANPMI.js} +2 -1
  599. package/dist/esm/chunk-VVBSYWUA.js +3 -0
  600. package/dist/esm/chunk-VVBSYWUA.js.map +7 -0
  601. package/dist/esm/chunk-WCGQ4IDE.js +3 -0
  602. package/dist/esm/{chunk-H3IAGAEL.js.map → chunk-WCGQ4IDE.js.map} +1 -1
  603. package/dist/esm/{chunk-HWQ3NTJP.js → chunk-WEBNIUEX.js} +2 -1
  604. package/dist/esm/{chunk-HWQ3NTJP.js.map → chunk-WEBNIUEX.js.map} +1 -1
  605. package/dist/esm/chunk-WH7PQSSG.js +2 -0
  606. package/dist/esm/{chunk-KL73COYX.js → chunk-WMZLMZHB.js} +2 -1
  607. package/dist/esm/{chunk-KL73COYX.js.map → chunk-WMZLMZHB.js.map} +1 -1
  608. package/dist/esm/{chunk-GBQZ4Z2H.js → chunk-WN3WMFAM.js} +3 -2
  609. package/dist/esm/{chunk-GBQZ4Z2H.js.map → chunk-WN3WMFAM.js.map} +1 -1
  610. package/dist/esm/{chunk-ETQNRMHU.js → chunk-WT2SYGTU.js} +3 -2
  611. package/dist/esm/{chunk-ETQNRMHU.js.map → chunk-WT2SYGTU.js.map} +1 -1
  612. package/dist/esm/{chunk-SUPFDIJL.js → chunk-WTP2KIK3.js} +2 -1
  613. package/dist/esm/{chunk-SUPFDIJL.js.map → chunk-WTP2KIK3.js.map} +1 -1
  614. package/dist/esm/{chunk-AGAQC4HH.js → chunk-WUCBFB25.js} +2 -1
  615. package/dist/esm/{chunk-AGAQC4HH.js.map → chunk-WUCBFB25.js.map} +1 -1
  616. package/dist/esm/chunk-WZKSLTBH.js +3 -0
  617. package/dist/esm/{chunk-BJUCBOGU.js.map → chunk-WZKSLTBH.js.map} +1 -1
  618. package/dist/esm/chunk-X272YV2E.js +3 -0
  619. package/dist/esm/chunk-X272YV2E.js.map +7 -0
  620. package/dist/esm/{chunk-CN6F4REJ.js → chunk-XH2CRCXR.js} +2 -1
  621. package/dist/esm/{chunk-CN6F4REJ.js.map → chunk-XH2CRCXR.js.map} +1 -1
  622. package/dist/esm/{chunk-KZEZDBE7.js → chunk-XL5OHW6Z.js} +3 -2
  623. package/dist/esm/{chunk-KZEZDBE7.js.map → chunk-XL5OHW6Z.js.map} +1 -1
  624. package/dist/esm/chunk-XMHNOIPB.js +3 -0
  625. package/dist/esm/{chunk-3BUQ7ADW.js.map → chunk-XMHNOIPB.js.map} +1 -1
  626. package/dist/esm/chunk-XU74PNM2.js +3 -0
  627. package/dist/esm/chunk-XU74PNM2.js.map +7 -0
  628. package/dist/esm/{chunk-3J6AUDID.js → chunk-XUCR7L4G.js} +2 -1
  629. package/dist/esm/{chunk-3J6AUDID.js.map → chunk-XUCR7L4G.js.map} +1 -1
  630. package/dist/esm/chunk-XVDT6DQZ.js +3 -0
  631. package/dist/esm/{chunk-TZTUPQYK.js.map → chunk-XVDT6DQZ.js.map} +1 -1
  632. package/dist/esm/{chunk-2N2AQNJH.js → chunk-Y2DBXOLT.js} +2 -1
  633. package/dist/esm/{chunk-2N2AQNJH.js.map → chunk-Y2DBXOLT.js.map} +1 -1
  634. package/dist/esm/chunk-YD2D73LF.js +3 -0
  635. package/dist/esm/chunk-YD2D73LF.js.map +7 -0
  636. package/dist/esm/chunk-YIKLO2XL.js +3 -0
  637. package/dist/esm/chunk-YIKLO2XL.js.map +7 -0
  638. package/dist/esm/chunk-YNCI5PY6.js +3 -0
  639. package/dist/esm/chunk-YNCI5PY6.js.map +7 -0
  640. package/dist/esm/chunk-YOSLXJI5.js +3 -0
  641. package/dist/esm/chunk-YOSLXJI5.js.map +7 -0
  642. package/dist/esm/{chunk-I4FLQELQ.js → chunk-YVZTQA2L.js} +3 -2
  643. package/dist/esm/{chunk-I4FLQELQ.js.map → chunk-YVZTQA2L.js.map} +1 -1
  644. package/dist/esm/chunk-YWG476GC.js +3 -0
  645. package/dist/esm/{chunk-MGQ4A2FI.js.map → chunk-YWG476GC.js.map} +1 -1
  646. package/dist/esm/chunk-YZZMQ457.js +3 -0
  647. package/dist/esm/{chunk-S6GWR6EZ.js.map → chunk-YZZMQ457.js.map} +1 -1
  648. package/dist/esm/chunk-Z27REN6T.js +3 -0
  649. package/dist/esm/chunk-Z27REN6T.js.map +7 -0
  650. package/dist/esm/{chunk-FVY44PTM.js → chunk-ZFDHZEWN.js} +3 -2
  651. package/dist/esm/{chunk-FVY44PTM.js.map → chunk-ZFDHZEWN.js.map} +1 -1
  652. package/dist/esm/chunk-ZPWKWESI.js +3 -0
  653. package/dist/esm/chunk-ZPWKWESI.js.map +7 -0
  654. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  655. package/dist/esm/components/_internal/base-button.js +2 -1
  656. package/dist/esm/components/_internal/base-button.props.js +2 -1
  657. package/dist/esm/components/_internal/base-checkbox.props.js +2 -1
  658. package/dist/esm/components/_internal/base-menu.props.js +2 -1
  659. package/dist/esm/components/_internal/base-menu.utils.js +2 -1
  660. package/dist/esm/components/_internal/base-radio.props.js +2 -1
  661. package/dist/esm/components/_internal/base-tab-list.props.js +2 -1
  662. package/dist/esm/components/_internal/dropdown-menu-drill-down.d.ts +19 -7
  663. package/dist/esm/components/_internal/dropdown-menu-drill-down.d.ts.map +1 -1
  664. package/dist/esm/components/_internal/dropdown-menu-drill-down.js +2 -1
  665. package/dist/esm/components/_internal/menu-context.d.ts +10 -0
  666. package/dist/esm/components/_internal/menu-context.d.ts.map +1 -1
  667. package/dist/esm/components/_internal/menu-context.js +2 -1
  668. package/dist/esm/components/_internal/pane-chrome.d.ts +3 -1
  669. package/dist/esm/components/_internal/pane-chrome.d.ts.map +1 -1
  670. package/dist/esm/components/_internal/pane-chrome.js +2 -1
  671. package/dist/esm/components/_internal/shell-bottom.d.ts +1 -1
  672. package/dist/esm/components/_internal/shell-bottom.d.ts.map +1 -1
  673. package/dist/esm/components/_internal/shell-bottom.js +2 -1
  674. package/dist/esm/components/_internal/shell-handles.d.ts.map +1 -1
  675. package/dist/esm/components/_internal/shell-handles.js +2 -1
  676. package/dist/esm/components/_internal/shell-inspector.d.ts +1 -1
  677. package/dist/esm/components/_internal/shell-inspector.d.ts.map +1 -1
  678. package/dist/esm/components/_internal/shell-inspector.js +2 -1
  679. package/dist/esm/components/_internal/shell-pane.d.ts.map +1 -1
  680. package/dist/esm/components/_internal/shell-pane.js +2 -1
  681. package/dist/esm/components/_internal/shell-resizable.d.ts.map +1 -1
  682. package/dist/esm/components/_internal/shell-resizable.js +2 -1
  683. package/dist/esm/components/_internal/shell-resize.js +2 -1
  684. package/dist/esm/components/_internal/shell-rest.js +2 -1
  685. package/dist/esm/components/_internal/shell-sidebar.d.ts +1 -1
  686. package/dist/esm/components/_internal/shell-sidebar.d.ts.map +1 -1
  687. package/dist/esm/components/_internal/shell-sidebar.js +2 -1
  688. package/dist/esm/components/_internal/shell-store.d.ts.map +1 -1
  689. package/dist/esm/components/_internal/shell-store.js +2 -1
  690. package/dist/esm/components/accessible-icon.js +2 -1
  691. package/dist/esm/components/accordion.d.ts.map +1 -1
  692. package/dist/esm/components/accordion.js +2 -1
  693. package/dist/esm/components/accordion.props.js +2 -1
  694. package/dist/esm/components/alert-dialog.d.ts.map +1 -1
  695. package/dist/esm/components/alert-dialog.js +2 -1
  696. package/dist/esm/components/alert-dialog.props.js +2 -1
  697. package/dist/esm/components/avatar.d.ts.map +1 -1
  698. package/dist/esm/components/avatar.js +2 -1
  699. package/dist/esm/components/avatar.props.js +2 -1
  700. package/dist/esm/components/blockquote.js +2 -1
  701. package/dist/esm/components/blockquote.props.js +2 -1
  702. package/dist/esm/components/box.js +2 -1
  703. package/dist/esm/components/box.props.js +2 -1
  704. package/dist/esm/components/button.d.ts.map +1 -1
  705. package/dist/esm/components/button.js +2 -1
  706. package/dist/esm/components/button.props.js +2 -1
  707. package/dist/esm/components/card.js +2 -1
  708. package/dist/esm/components/card.props.js +2 -1
  709. package/dist/esm/components/chatbar.d.ts.map +1 -1
  710. package/dist/esm/components/chatbar.js +2 -1
  711. package/dist/esm/components/checkbox-group.js +2 -1
  712. package/dist/esm/components/checkbox-group.primitive.js +2 -1
  713. package/dist/esm/components/checkbox-group.props.js +2 -1
  714. package/dist/esm/components/checkbox.js +2 -1
  715. package/dist/esm/components/checkbox.props.js +2 -1
  716. package/dist/esm/components/chip.js +2 -1
  717. package/dist/esm/components/chip.props.js +2 -1
  718. package/dist/esm/components/code.js +2 -1
  719. package/dist/esm/components/code.props.js +2 -1
  720. package/dist/esm/components/combobox.d.ts.map +1 -1
  721. package/dist/esm/components/combobox.js +2 -1
  722. package/dist/esm/components/combobox.props.js +2 -1
  723. package/dist/esm/components/context-menu.d.ts +1 -2
  724. package/dist/esm/components/context-menu.d.ts.map +1 -1
  725. package/dist/esm/components/context-menu.js +2 -1
  726. package/dist/esm/components/context-menu.props.js +2 -1
  727. package/dist/esm/components/dialog.js +2 -1
  728. package/dist/esm/components/dialog.props.js +2 -1
  729. package/dist/esm/components/dropdown-menu.d.ts +1 -2
  730. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  731. package/dist/esm/components/dropdown-menu.js +2 -1
  732. package/dist/esm/components/dropdown-menu.props.js +2 -1
  733. package/dist/esm/components/flex.js +2 -1
  734. package/dist/esm/components/flex.props.js +2 -1
  735. package/dist/esm/components/grid.js +2 -1
  736. package/dist/esm/components/grid.props.js +2 -1
  737. package/dist/esm/components/heading.d.ts +2 -2
  738. package/dist/esm/components/heading.d.ts.map +1 -1
  739. package/dist/esm/components/heading.js +2 -1
  740. package/dist/esm/components/heading.props.d.ts +1 -1
  741. package/dist/esm/components/heading.props.js +2 -1
  742. package/dist/esm/components/icons.js +2 -1
  743. package/dist/esm/components/image.d.ts +9 -2
  744. package/dist/esm/components/image.d.ts.map +1 -1
  745. package/dist/esm/components/image.js +2 -1
  746. package/dist/esm/components/image.props.js +2 -1
  747. package/dist/esm/components/index.d.ts +1 -1
  748. package/dist/esm/components/index.d.ts.map +1 -1
  749. package/dist/esm/components/index.js +2 -1
  750. package/dist/esm/components/kbd.js +2 -1
  751. package/dist/esm/components/kbd.props.js +2 -1
  752. package/dist/esm/components/link.js +2 -1
  753. package/dist/esm/components/link.props.js +2 -1
  754. package/dist/esm/components/message-scroller.d.ts +2 -2
  755. package/dist/esm/components/message-scroller.d.ts.map +1 -1
  756. package/dist/esm/components/message-scroller.js +2 -1
  757. package/dist/esm/components/navbar.js +2 -1
  758. package/dist/esm/components/navbar.props.js +2 -1
  759. package/dist/esm/components/notice.js +2 -1
  760. package/dist/esm/components/popover.d.ts +3 -1
  761. package/dist/esm/components/popover.d.ts.map +1 -1
  762. package/dist/esm/components/popover.js +2 -1
  763. package/dist/esm/components/popover.props.js +2 -1
  764. package/dist/esm/components/portal.js +2 -1
  765. package/dist/esm/components/progress.d.ts.map +1 -1
  766. package/dist/esm/components/progress.js +2 -1
  767. package/dist/esm/components/progress.props.js +2 -1
  768. package/dist/esm/components/radio-group.js +2 -1
  769. package/dist/esm/components/radio-group.props.js +2 -1
  770. package/dist/esm/components/radio.js +2 -1
  771. package/dist/esm/components/radio.props.js +2 -1
  772. package/dist/esm/components/reset.js +2 -1
  773. package/dist/esm/components/schemas/base-button.schema.js +2 -1
  774. package/dist/esm/components/schemas/button.schema.js +2 -1
  775. package/dist/esm/components/schemas/index.js +2 -1
  776. package/dist/esm/components/schemas/index.js.map +1 -1
  777. package/dist/esm/components/schemas/shell.schema.js +2 -1
  778. package/dist/esm/components/schemas/toggle.schema.js +2 -1
  779. package/dist/esm/components/scroll-area.js +2 -1
  780. package/dist/esm/components/scroll-area.props.js +2 -1
  781. package/dist/esm/components/segmented-control.d.ts.map +1 -1
  782. package/dist/esm/components/segmented-control.js +2 -1
  783. package/dist/esm/components/segmented-control.props.d.ts +0 -1
  784. package/dist/esm/components/segmented-control.props.d.ts.map +1 -1
  785. package/dist/esm/components/segmented-control.props.js +2 -1
  786. package/dist/esm/components/select.d.ts.map +1 -1
  787. package/dist/esm/components/select.js +2 -1
  788. package/dist/esm/components/select.props.js +2 -1
  789. package/dist/esm/components/separator.d.ts.map +1 -1
  790. package/dist/esm/components/separator.js +2 -1
  791. package/dist/esm/components/separator.props.d.ts +1 -1
  792. package/dist/esm/components/separator.props.js +2 -1
  793. package/dist/esm/components/sheet.d.ts +1 -1
  794. package/dist/esm/components/sheet.d.ts.map +1 -1
  795. package/dist/esm/components/sheet.js +2 -1
  796. package/dist/esm/components/shell.context.js +2 -1
  797. package/dist/esm/components/shell.d.ts +5 -2
  798. package/dist/esm/components/shell.d.ts.map +1 -1
  799. package/dist/esm/components/shell.hooks.js +2 -1
  800. package/dist/esm/components/shell.js +2 -1
  801. package/dist/esm/components/shell.types.js +2 -1
  802. package/dist/esm/components/sidebar.d.ts.map +1 -1
  803. package/dist/esm/components/sidebar.js +2 -1
  804. package/dist/esm/components/slider.d.ts.map +1 -1
  805. package/dist/esm/components/slider.js +2 -1
  806. package/dist/esm/components/slider.props.d.ts +0 -2
  807. package/dist/esm/components/slider.props.d.ts.map +1 -1
  808. package/dist/esm/components/slider.props.js +2 -1
  809. package/dist/esm/components/slot.js +2 -1
  810. package/dist/esm/components/spinner.d.ts.map +1 -1
  811. package/dist/esm/components/spinner.js +2 -1
  812. package/dist/esm/components/spinner.props.js +2 -1
  813. package/dist/esm/components/switch.js +2 -1
  814. package/dist/esm/components/switch.props.js +2 -1
  815. package/dist/esm/components/table.d.ts.map +1 -1
  816. package/dist/esm/components/table.js +2 -1
  817. package/dist/esm/components/table.props.d.ts +0 -2
  818. package/dist/esm/components/table.props.d.ts.map +1 -1
  819. package/dist/esm/components/table.props.js +2 -1
  820. package/dist/esm/components/tabs.d.ts.map +1 -1
  821. package/dist/esm/components/tabs.js +2 -1
  822. package/dist/esm/components/tabs.props.js +2 -1
  823. package/dist/esm/components/text-area.d.ts.map +1 -1
  824. package/dist/esm/components/text-area.js +2 -1
  825. package/dist/esm/components/text-area.props.js +2 -1
  826. package/dist/esm/components/text-field.d.ts.map +1 -1
  827. package/dist/esm/components/text-field.js +2 -1
  828. package/dist/esm/components/text-field.props.js +2 -1
  829. package/dist/esm/components/text.js +2 -1
  830. package/dist/esm/components/text.props.js +2 -1
  831. package/dist/esm/components/theme.d.ts.map +1 -1
  832. package/dist/esm/components/theme.js +2 -1
  833. package/dist/esm/components/theme.props.js +2 -1
  834. package/dist/esm/components/toggle.js +2 -1
  835. package/dist/esm/components/toolbar.d.ts +4 -1
  836. package/dist/esm/components/toolbar.d.ts.map +1 -1
  837. package/dist/esm/components/toolbar.js +2 -1
  838. package/dist/esm/components/toolbar.props.js +2 -1
  839. package/dist/esm/components/tooltip.d.ts +13 -2
  840. package/dist/esm/components/tooltip.d.ts.map +1 -1
  841. package/dist/esm/components/tooltip.js +2 -1
  842. package/dist/esm/components/tooltip.props.js +2 -1
  843. package/dist/esm/components/virtual-menu.d.ts +19 -12
  844. package/dist/esm/components/virtual-menu.d.ts.map +1 -1
  845. package/dist/esm/components/virtual-menu.js +2 -1
  846. package/dist/esm/components/visually-hidden.js +2 -1
  847. package/dist/esm/helpers/compile-prop-defs.js +1 -1
  848. package/dist/esm/helpers/extract-margin-props.js +1 -1
  849. package/dist/esm/helpers/extract-props.js +1 -1
  850. package/dist/esm/helpers/font-config.js +1 -1
  851. package/dist/esm/helpers/get-margin-styles.d.ts.map +1 -1
  852. package/dist/esm/helpers/get-margin-styles.js +1 -1
  853. package/dist/esm/helpers/get-matching-gray-color.js +1 -1
  854. package/dist/esm/helpers/get-responsive-styles.js +1 -1
  855. package/dist/esm/helpers/get-subtree.js +1 -1
  856. package/dist/esm/helpers/has-own-property.js +1 -1
  857. package/dist/esm/helpers/index.js +1 -1
  858. package/dist/esm/helpers/inert.js +1 -1
  859. package/dist/esm/helpers/inert.js.map +1 -1
  860. package/dist/esm/helpers/is-responsive-object.js +1 -1
  861. package/dist/esm/helpers/map-prop-values.js +1 -1
  862. package/dist/esm/helpers/merge-styles.js +1 -1
  863. package/dist/esm/helpers/normalize-to-px.js +1 -1
  864. package/dist/esm/helpers/require-react-element.js +1 -1
  865. package/dist/esm/helpers/theme-size.js +1 -1
  866. package/dist/esm/helpers/warn-deprecated.js +1 -1
  867. package/dist/esm/helpers/warn-deprecated.js.map +4 -4
  868. package/dist/esm/hooks/appearance-script.js +11 -1
  869. package/dist/esm/hooks/appearance-script.js.map +4 -4
  870. package/dist/esm/hooks/index.js +2 -1
  871. package/dist/esm/hooks/use-appearance.d.ts.map +1 -1
  872. package/dist/esm/hooks/use-appearance.js +2 -1
  873. package/dist/esm/hooks/use-body-pointer-events-cleanup.d.ts +1 -1
  874. package/dist/esm/hooks/use-body-pointer-events-cleanup.d.ts.map +1 -1
  875. package/dist/esm/hooks/use-body-pointer-events-cleanup.js +2 -1
  876. package/dist/esm/hooks/use-breakpoint.js +2 -1
  877. package/dist/esm/hooks/use-live-announcer.js +2 -1
  878. package/dist/esm/hooks/use-prop-synced-state.js +2 -1
  879. package/dist/esm/hooks/use-scroll-edges.js +2 -1
  880. package/dist/esm/hooks/use-thumb-sync.js +2 -1
  881. package/dist/esm/hooks/use-toggle-state.js +2 -1
  882. package/dist/esm/hooks/use-tooltip-wrapper.js +2 -1
  883. package/dist/esm/index.js +2 -1
  884. package/dist/esm/props/as-child.prop.js +1 -1
  885. package/dist/esm/props/color.prop.js +1 -1
  886. package/dist/esm/props/emphasis.prop.js +1 -1
  887. package/dist/esm/props/font-family.prop.js +1 -1
  888. package/dist/esm/props/gap.props.d.ts +4 -4
  889. package/dist/esm/props/gap.props.js +1 -1
  890. package/dist/esm/props/height.props.js +1 -1
  891. package/dist/esm/props/index.js +1 -1
  892. package/dist/esm/props/index.js.map +4 -4
  893. package/dist/esm/props/layout.props.js +1 -1
  894. package/dist/esm/props/leading-trim.prop.js +1 -1
  895. package/dist/esm/props/margin.props.js +1 -1
  896. package/dist/esm/props/padding.props.js +1 -1
  897. package/dist/esm/props/prop-def.js +1 -1
  898. package/dist/esm/props/radius.prop.js +1 -1
  899. package/dist/esm/props/shadow.props.js +1 -1
  900. package/dist/esm/props/text-align.prop.js +1 -1
  901. package/dist/esm/props/text-wrap.prop.js +1 -1
  902. package/dist/esm/props/truncate.prop.js +1 -1
  903. package/dist/esm/props/weight.prop.js +1 -1
  904. package/dist/esm/props/width.props.js +1 -1
  905. package/layout/utilities.css +2 -2
  906. package/layout.css +2 -2
  907. package/package.json +3 -7
  908. package/src/components/_internal/base-button.css +24 -6
  909. package/src/components/_internal/base-button.props.ts +1 -1
  910. package/src/components/_internal/base-button.tsx +80 -35
  911. package/src/components/_internal/base-checkbox.css +23 -0
  912. package/src/components/_internal/base-menu.css +9 -3
  913. package/src/components/_internal/base-radio.css +22 -0
  914. package/src/components/_internal/base-tab-list.css +5 -0
  915. package/src/components/_internal/dropdown-menu-drill-down.tsx +45 -26
  916. package/src/components/_internal/menu-context.tsx +36 -1
  917. package/src/components/_internal/pane-chrome.tsx +8 -6
  918. package/src/components/_internal/shell-bottom.tsx +2 -0
  919. package/src/components/_internal/shell-handles.tsx +10 -1
  920. package/src/components/_internal/shell-inspector.tsx +3 -0
  921. package/src/components/_internal/shell-pane.tsx +5 -4
  922. package/src/components/_internal/shell-resizable.tsx +17 -8
  923. package/src/components/_internal/shell-sidebar.tsx +3 -0
  924. package/src/components/_internal/shell-store.tsx +2 -1
  925. package/src/components/accordion.css +55 -69
  926. package/src/components/accordion.tsx +0 -26
  927. package/src/components/alert-dialog.tsx +4 -0
  928. package/src/components/avatar.css +6 -2
  929. package/src/components/avatar.tsx +36 -3
  930. package/src/components/blockquote.css +2 -2
  931. package/src/components/button.tsx +12 -5
  932. package/src/components/card.css +14 -3
  933. package/src/components/chatbar.css +20 -3
  934. package/src/components/chatbar.tsx +14 -11
  935. package/src/components/checkbox-group.css +1 -5
  936. package/src/components/checkbox.css +1 -5
  937. package/src/components/chip.css +0 -3
  938. package/src/components/combobox.tsx +25 -26
  939. package/src/components/context-menu.tsx +47 -27
  940. package/src/components/dropdown-menu.css +0 -6
  941. package/src/components/dropdown-menu.tsx +71 -34
  942. package/src/components/heading.props.tsx +1 -1
  943. package/src/components/heading.tsx +4 -4
  944. package/src/components/image.css +5 -0
  945. package/src/components/image.tsx +29 -3
  946. package/src/components/index.tsx +1 -1
  947. package/src/components/kbd.css +6 -5
  948. package/src/components/link.css +1 -5
  949. package/src/components/message-scroller.tsx +15 -26
  950. package/src/components/navbar.css +9 -1
  951. package/src/components/popover.css +14 -10
  952. package/src/components/popover.tsx +13 -11
  953. package/src/components/progress.css +33 -6
  954. package/src/components/progress.tsx +5 -3
  955. package/src/components/scroll-area.css +34 -4
  956. package/src/components/segmented-control.css +178 -148
  957. package/src/components/segmented-control.props.tsx +1 -1
  958. package/src/components/segmented-control.tsx +88 -63
  959. package/src/components/select.css +16 -29
  960. package/src/components/select.tsx +4 -15
  961. package/src/components/separator.css +8 -1
  962. package/src/components/separator.props.tsx +1 -1
  963. package/src/components/separator.tsx +22 -4
  964. package/src/components/sheet.css +4 -5
  965. package/src/components/sheet.tsx +3 -1
  966. package/src/components/shell.css +148 -21
  967. package/src/components/shell.tsx +18 -1
  968. package/src/components/sidebar.css +1 -135
  969. package/src/components/sidebar.tsx +178 -160
  970. package/src/components/slider.css +90 -21
  971. package/src/components/slider.props.tsx +2 -2
  972. package/src/components/slider.tsx +78 -91
  973. package/src/components/spinner.css +10 -2
  974. package/src/components/spinner.tsx +5 -1
  975. package/src/components/switch.css +40 -8
  976. package/src/components/table.css +5 -1
  977. package/src/components/table.props.tsx +0 -9
  978. package/src/components/table.tsx +2 -1
  979. package/src/components/tabs.tsx +10 -3
  980. package/src/components/text-area.css +17 -2
  981. package/src/components/text-area.tsx +20 -16
  982. package/src/components/text-field.css +51 -36
  983. package/src/components/text-field.tsx +100 -49
  984. package/src/components/theme.tsx +14 -44
  985. package/src/components/toolbar.tsx +35 -8
  986. package/src/components/tooltip.css +8 -1
  987. package/src/components/tooltip.tsx +30 -3
  988. package/src/components/virtual-menu.css +80 -0
  989. package/src/components/virtual-menu.tsx +103 -62
  990. package/src/helpers/get-margin-styles.ts +8 -10
  991. package/src/hooks/use-appearance.ts +32 -19
  992. package/src/hooks/use-body-pointer-events-cleanup.ts +123 -124
  993. package/src/props/gap.props.ts +4 -4
  994. package/src/styles/utilities/margin.css +2 -2
  995. package/src/styles/utilities/text-align.css +8 -0
  996. package/styles.css +1827 -803
  997. package/utilities.css +38 -2
  998. package/dist/esm/chunk-2E4P5XQL.js +0 -2
  999. package/dist/esm/chunk-2E4P5XQL.js.map +0 -7
  1000. package/dist/esm/chunk-2KZ4NI3X.js +0 -1
  1001. package/dist/esm/chunk-3BUQ7ADW.js +0 -2
  1002. package/dist/esm/chunk-3PTKPDSA.js +0 -2
  1003. package/dist/esm/chunk-3PTKPDSA.js.map +0 -7
  1004. package/dist/esm/chunk-3QZBWH2A.js.map +0 -7
  1005. package/dist/esm/chunk-3VTS4C63.js +0 -2
  1006. package/dist/esm/chunk-3VTS4C63.js.map +0 -7
  1007. package/dist/esm/chunk-3WE4E2WQ.js +0 -2
  1008. package/dist/esm/chunk-3WE4E2WQ.js.map +0 -7
  1009. package/dist/esm/chunk-3XUY5WFA.js +0 -2
  1010. package/dist/esm/chunk-3XUY5WFA.js.map +0 -7
  1011. package/dist/esm/chunk-432YLNB3.js +0 -2
  1012. package/dist/esm/chunk-432YLNB3.js.map +0 -7
  1013. package/dist/esm/chunk-4R5EMVB3.js +0 -2
  1014. package/dist/esm/chunk-4R5EMVB3.js.map +0 -7
  1015. package/dist/esm/chunk-4ZOVV3TY.js +0 -2
  1016. package/dist/esm/chunk-5ROQAZ7J.js +0 -2
  1017. package/dist/esm/chunk-5ROQAZ7J.js.map +0 -7
  1018. package/dist/esm/chunk-63PQNLFJ.js +0 -2
  1019. package/dist/esm/chunk-6DWDNKLS.js +0 -1
  1020. package/dist/esm/chunk-7CUQMU3T.js +0 -2
  1021. package/dist/esm/chunk-7CUQMU3T.js.map +0 -7
  1022. package/dist/esm/chunk-BGAJ2MDF.js +0 -2
  1023. package/dist/esm/chunk-BGAJ2MDF.js.map +0 -7
  1024. package/dist/esm/chunk-BJUCBOGU.js +0 -2
  1025. package/dist/esm/chunk-CLZW2IDD.js +0 -2
  1026. package/dist/esm/chunk-CLZW2IDD.js.map +0 -7
  1027. package/dist/esm/chunk-CMHUK7OG.js +0 -2
  1028. package/dist/esm/chunk-CMHUK7OG.js.map +0 -7
  1029. package/dist/esm/chunk-DFGY2NZB.js +0 -2
  1030. package/dist/esm/chunk-DUTZUWZP.js +0 -2
  1031. package/dist/esm/chunk-DUTZUWZP.js.map +0 -7
  1032. package/dist/esm/chunk-EZYXYLR2.js +0 -2
  1033. package/dist/esm/chunk-FDHWAC6W.js +0 -2
  1034. package/dist/esm/chunk-FDHWAC6W.js.map +0 -7
  1035. package/dist/esm/chunk-G2JD52O5.js +0 -2
  1036. package/dist/esm/chunk-G4ETY2NP.js +0 -2
  1037. package/dist/esm/chunk-G4ETY2NP.js.map +0 -7
  1038. package/dist/esm/chunk-GPOCLDBR.js +0 -2
  1039. package/dist/esm/chunk-GPOCLDBR.js.map +0 -7
  1040. package/dist/esm/chunk-H3IAGAEL.js +0 -2
  1041. package/dist/esm/chunk-H5G7UECV.js +0 -2
  1042. package/dist/esm/chunk-H5G7UECV.js.map +0 -7
  1043. package/dist/esm/chunk-HT7RFHLW.js +0 -2
  1044. package/dist/esm/chunk-HT7RFHLW.js.map +0 -7
  1045. package/dist/esm/chunk-IUER6BNH.js +0 -12
  1046. package/dist/esm/chunk-IUER6BNH.js.map +0 -7
  1047. package/dist/esm/chunk-IVQHRM33.js +0 -2
  1048. package/dist/esm/chunk-IVQHRM33.js.map +0 -7
  1049. package/dist/esm/chunk-KA5UE2VN.js +0 -2
  1050. package/dist/esm/chunk-KA5UE2VN.js.map +0 -7
  1051. package/dist/esm/chunk-KEGCX5VM.js +0 -2
  1052. package/dist/esm/chunk-KEGCX5VM.js.map +0 -7
  1053. package/dist/esm/chunk-KT2CMUS5.js +0 -2
  1054. package/dist/esm/chunk-KT2CMUS5.js.map +0 -7
  1055. package/dist/esm/chunk-KVHKPUZ2.js +0 -2
  1056. package/dist/esm/chunk-KVHKPUZ2.js.map +0 -7
  1057. package/dist/esm/chunk-LVCUY2OS.js +0 -2
  1058. package/dist/esm/chunk-M7I6ISPL.js +0 -2
  1059. package/dist/esm/chunk-M7I6ISPL.js.map +0 -7
  1060. package/dist/esm/chunk-MGQ4A2FI.js +0 -2
  1061. package/dist/esm/chunk-MHANZINI.js +0 -2
  1062. package/dist/esm/chunk-MHANZINI.js.map +0 -7
  1063. package/dist/esm/chunk-MYYXOFU5.js +0 -1
  1064. package/dist/esm/chunk-N3WBEQWL.js +0 -5
  1065. package/dist/esm/chunk-N3WBEQWL.js.map +0 -7
  1066. package/dist/esm/chunk-NC3CJUE3.js +0 -2
  1067. package/dist/esm/chunk-OA7C34MJ.js +0 -1
  1068. package/dist/esm/chunk-P2MV6HLA.js +0 -2
  1069. package/dist/esm/chunk-P2MV6HLA.js.map +0 -7
  1070. package/dist/esm/chunk-PDMCLVYT.js +0 -2
  1071. package/dist/esm/chunk-PDMCLVYT.js.map +0 -7
  1072. package/dist/esm/chunk-PJR6GRZC.js +0 -2
  1073. package/dist/esm/chunk-PJR6GRZC.js.map +0 -7
  1074. package/dist/esm/chunk-PM6QY3JO.js.map +0 -7
  1075. package/dist/esm/chunk-PPZY7PJA.js +0 -2
  1076. package/dist/esm/chunk-PPZY7PJA.js.map +0 -7
  1077. package/dist/esm/chunk-Q4IA622Q.js +0 -2
  1078. package/dist/esm/chunk-RKZVXVBN.js.map +0 -7
  1079. package/dist/esm/chunk-S6GWR6EZ.js +0 -2
  1080. package/dist/esm/chunk-SKOYHBIE.js +0 -2
  1081. package/dist/esm/chunk-STPMPY3X.js +0 -1
  1082. package/dist/esm/chunk-TXQZ5HLV.js +0 -2
  1083. package/dist/esm/chunk-TXQZ5HLV.js.map +0 -7
  1084. package/dist/esm/chunk-TZTUPQYK.js +0 -2
  1085. package/dist/esm/chunk-UICSVJ3B.js +0 -1
  1086. package/dist/esm/chunk-UKASIY6M.js +0 -2
  1087. package/dist/esm/chunk-UKASIY6M.js.map +0 -7
  1088. package/dist/esm/chunk-UONSKZQT.js +0 -2
  1089. package/dist/esm/chunk-V5O3TF57.js +0 -2
  1090. package/dist/esm/chunk-V5O3TF57.js.map +0 -7
  1091. package/dist/esm/chunk-VPSMETY2.js +0 -2
  1092. package/dist/esm/chunk-VUNCI6A6.js +0 -2
  1093. package/dist/esm/chunk-VUNCI6A6.js.map +0 -7
  1094. package/dist/esm/chunk-VUPIJNG2.js +0 -2
  1095. package/dist/esm/chunk-VXQQ6KXI.js +0 -2
  1096. package/dist/esm/chunk-VXQQ6KXI.js.map +0 -7
  1097. package/dist/esm/chunk-WG5ORTIW.js +0 -2
  1098. package/dist/esm/chunk-WG5ORTIW.js.map +0 -7
  1099. package/dist/esm/chunk-WMVR2XBR.js +0 -2
  1100. package/dist/esm/chunk-WOR3JCLX.js +0 -1
  1101. package/dist/esm/chunk-WOR3JCLX.js.map +0 -7
  1102. package/dist/esm/chunk-X4A3XRBY.js +0 -2
  1103. package/dist/esm/chunk-XOACTIBL.js +0 -2
  1104. package/dist/esm/chunk-XOACTIBL.js.map +0 -7
  1105. package/dist/esm/chunk-XZQSSRTG.js +0 -2
  1106. package/dist/esm/chunk-YIK4ACXS.js +0 -2
  1107. package/dist/esm/chunk-YIK4ACXS.js.map +0 -7
  1108. package/dist/esm/chunk-YXLDRDHW.js +0 -2
  1109. /package/dist/esm/{chunk-ELAW7ZUG.js.map → chunk-6FLLFCBU.js.map} +0 -0
  1110. /package/dist/esm/{chunk-2KZ4NI3X.js.map → chunk-A2OMWZI7.js.map} +0 -0
  1111. /package/dist/esm/{chunk-6DWDNKLS.js.map → chunk-AYKOOEZR.js.map} +0 -0
  1112. /package/dist/esm/{chunk-7FTUTUMD.js.map → chunk-IZXML75Y.js.map} +0 -0
  1113. /package/dist/esm/{chunk-MYYXOFU5.js.map → chunk-J3QIUJ6F.js.map} +0 -0
  1114. /package/dist/esm/{chunk-PBFSBHBS.js.map → chunk-JUY7CBSL.js.map} +0 -0
  1115. /package/dist/esm/{chunk-OA7C34MJ.js.map → chunk-JZ5Z53MN.js.map} +0 -0
  1116. /package/dist/esm/{chunk-OS3FCYZY.js.map → chunk-NG54K6FL.js.map} +0 -0
  1117. /package/dist/esm/{chunk-STPMPY3X.js.map → chunk-VQPANPMI.js.map} +0 -0
  1118. /package/dist/esm/{chunk-UICSVJ3B.js.map → chunk-WH7PQSSG.js.map} +0 -0
@@ -11,7 +11,7 @@ import { Separator } from './separator.js';
11
11
  import { ThickChevronRightIcon } from './icons.js';
12
12
  import { Kbd } from './kbd.js';
13
13
  import { Chip } from './chip.js';
14
- import { useSidebarVisual } from './_internal/pane-chrome.js';
14
+ import { ShellSizeContext, useSidebarVisual } from './_internal/pane-chrome.js';
15
15
 
16
16
  import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
17
17
  import type { ChipProps } from './chip.js';
@@ -56,45 +56,53 @@ interface SidebarMenuButtonProps extends React.ComponentPropsWithoutRef<'button'
56
56
  badge?: string | BadgeConfig;
57
57
  }
58
58
 
59
- // Extracted to module scope to avoid re-creation on every render
59
+ // The name a component type goes by: a function, or the function inside forwardRef or memo.
60
+ function componentName(type: unknown): string | undefined {
61
+ if (typeof type === 'function') {
62
+ const fn = type as { displayName?: string; name?: string };
63
+ return fn.displayName || fn.name;
64
+ }
65
+ if (type && typeof type === 'object') {
66
+ const wrapped = type as { displayName?: string; render?: unknown; type?: unknown };
67
+ return wrapped.displayName || componentName(wrapped.render) || componentName(wrapped.type);
68
+ }
69
+ return undefined;
70
+ }
71
+
72
+ function isIconElement(el: React.ReactElement<{ icon?: unknown }>): boolean {
73
+ if (el.type === 'svg') return true;
74
+ if (el.props?.icon) return true;
75
+ return componentName(el.type)?.includes('Icon') ?? false;
76
+ }
77
+
78
+ function isText(node: React.ReactNode): node is string | number {
79
+ return typeof node === 'string' || typeof node === 'number';
80
+ }
81
+
82
+ // Thin mode puts the row's icon in a wrapper that carries the hover and active tile. An icon is
83
+ // an svg, a HugeiconsIcon, or a component named *Icon. Failing that, the first element ahead of
84
+ // other content is taken as the icon (Lucide and other icon sets).
60
85
  function separateIconsAndLabels(node: React.ReactNode): { icons: React.ReactNode[]; labels: React.ReactNode[] } {
86
+ const children = React.Children.toArray(node);
61
87
  const icons: React.ReactNode[] = [];
62
88
  const labels: React.ReactNode[] = [];
63
89
 
64
- React.Children.forEach(node, (child) => {
65
- if (typeof child === 'string' || typeof child === 'number') {
66
- labels.push(<span key={labels.length} className="kui-SidebarMenuLabel">{child}</span>);
67
- } else if (React.isValidElement(child)) {
68
- const el = child as React.ReactElement<any>;
69
- if (el.type === 'svg' || (el.props && el.props.icon) || (typeof el.type === 'function' && ((el.type as any).displayName?.includes('Icon') || (el.type as any).name?.includes('Icon')))) {
70
- icons.push(child);
71
- } else {
72
- labels.push(child);
73
- }
74
- } else if (child) {
75
- labels.push(child);
76
- }
77
- });
90
+ for (const child of children) {
91
+ if (React.isValidElement<{ icon?: unknown }>(child) && isIconElement(child)) icons.push(child);
92
+ else labels.push(isText(child) ? <span key={labels.length} className="kui-SidebarMenuLabel">{child}</span> : child);
93
+ }
94
+
95
+ if (icons.length === 0 && children.length > 1 && React.isValidElement(children[0])) {
96
+ icons.push(children[0]);
97
+ labels.shift();
98
+ }
78
99
 
79
100
  return { icons, labels };
80
101
  }
81
102
 
103
+ // Wraps the row's own text in a label span. Text inside the caller's elements is left alone.
82
104
  function wrapTextNodes(node: React.ReactNode): React.ReactNode {
83
- if (typeof node === 'string' || typeof node === 'number') {
84
- return <span className="kui-SidebarMenuLabel">{node}</span>;
85
- }
86
- if (Array.isArray(node)) {
87
- return node.map((child, index) => <React.Fragment key={index}>{wrapTextNodes(child)}</React.Fragment>);
88
- }
89
- if (React.isValidElement(node)) {
90
- const el = node as React.ReactElement<any>;
91
- const className: string = (el.props && (el.props as any).className) || '';
92
- const isAlreadyLabel = typeof el.type === 'string' && className.split(' ').includes('kui-SidebarMenuLabel');
93
- if (isAlreadyLabel) return el;
94
- const newChildren = wrapTextNodes((el.props as any)?.children);
95
- return React.cloneElement(el, { ...(el.props as any) }, newChildren);
96
- }
97
- return node;
105
+ return React.Children.map(node, (child) => (isText(child) ? <span className="kui-SidebarMenuLabel">{child}</span> : child));
98
106
  }
99
107
 
100
108
  // Arrow Up and Down move between the visible buttons of the same sidebar, as a
@@ -117,68 +125,77 @@ function focusAdjacentSidebarButton(event: React.KeyboardEvent<HTMLElement>) {
117
125
  const SidebarMenuButton = React.forwardRef<HTMLButtonElement, SidebarMenuButtonProps>(
118
126
  ({ asChild = false, isActive = false, shortcut, badge, className, children, onKeyDown, ...props }, forwardedRef) => {
119
127
  const visual = useSidebarVisual();
120
- const sidebarSize = visual?.size ?? '2';
128
+ // A pane with no scope (Inspector, Bottom) still takes the Shell's index.
129
+ const shellSize = React.useContext(ShellSizeContext);
130
+ const sidebarSize = visual?.size ?? shellSize;
121
131
  const isThinMode = visual?.presentation === 'thin';
122
132
 
123
133
  const Comp = asChild ? Slot : 'button';
124
134
 
125
- // Enter and Space are left to the native button or link.
126
- const handleKeyDown = React.useCallback(
127
- (event: React.KeyboardEvent<HTMLButtonElement>) => {
128
- focusAdjacentSidebarButton(event);
129
- onKeyDown?.(event);
130
- },
131
- [onKeyDown],
132
- );
133
-
134
- // Memoize child processing to avoid re-traversal on every render
135
- const processedChildren = React.useMemo(() => wrapTextNodes(children), [children]);
135
+ // Enter and Space are left to the native button or link. The caller's handler runs first,
136
+ // so it can preventDefault to keep the arrow keys for itself.
137
+ const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {
138
+ onKeyDown?.(event);
139
+ if (!event.defaultPrevented) focusAdjacentSidebarButton(event);
140
+ };
136
141
 
137
- // For thin mode, separate icons into a wrapper for targeted background styling
138
- const { icons, labels } = React.useMemo(
139
- () => isThinMode ? separateIconsAndLabels(children) : { icons: [] as React.ReactNode[], labels: [] as React.ReactNode[] },
140
- [isThinMode, children],
142
+ const extras = isThinMode ? null : (
143
+ <>
144
+ {badge && (
145
+ <div className="kui-SidebarMenuBadge">
146
+ {typeof badge === 'string' ? (
147
+ <Chip size={sidebarSize} variant="soft">
148
+ {badge}
149
+ </Chip>
150
+ ) : (
151
+ <Chip size={badge.size || sidebarSize} variant={badge.variant || 'soft'} color={badge.color} radius={badge.radius}>
152
+ {badge.content}
153
+ </Chip>
154
+ )}
155
+ </div>
156
+ )}
157
+ {shortcut && (
158
+ <div className="kui-BaseMenuShortcut kui-SidebarMenuShortcut">
159
+ <Kbd size={sidebarSize}>{shortcut}</Kbd>
160
+ </div>
161
+ )}
162
+ </>
141
163
  );
142
164
 
143
- // When rendering asChild, Slot expects a single child element. We still want to
144
- // append optional badge/shortcut inside that element so they render with Link.
145
- const slottedChildren = React.useMemo(() => {
146
- if (!asChild) return null;
147
- try {
148
- const onlyChild = React.Children.only(processedChildren as React.ReactElement<any>) as React.ReactElement<any>;
149
- const originalInnerChildren = (onlyChild.props as any)?.children;
150
- const enhancedInnerChildren = (
151
- <>
152
- {originalInnerChildren}
153
- {badge && (
154
- <div className="kui-SidebarMenuBadge">
155
- {typeof badge === 'string' ? (
156
- <Chip size={sidebarSize} variant="soft">
157
- {badge}
158
- </Chip>
159
- ) : (
160
- <Chip size={badge.size || sidebarSize} variant={badge.variant || 'soft'} color={badge.color} radius={badge.radius}>
161
- {badge.content}
162
- </Chip>
163
- )}
164
- </div>
165
- )}
166
- {shortcut && (
167
- <div className="kui-BaseMenuShortcut kui-SidebarMenuShortcut">
168
- <Kbd size={sidebarSize}>{shortcut}</Kbd>
169
- </div>
170
- )}
171
- </>
172
- );
173
- return React.cloneElement(onlyChild, { ...(onlyChild.props as any) }, enhancedInnerChildren);
174
- } catch {
175
- // Fallback: if multiple children were passed incorrectly, just return processedChildren
176
- return processedChildren as React.ReactNode;
165
+ const renderContent = (content: React.ReactNode): React.ReactNode => {
166
+ if (isThinMode) {
167
+ const { icons, labels } = separateIconsAndLabels(content);
168
+ if (icons.length > 0) {
169
+ return (
170
+ <>
171
+ <span className="kui-SidebarMenuIconWrapper">{icons}</span>
172
+ {labels}
173
+ </>
174
+ );
175
+ }
177
176
  }
178
- }, [asChild, processedChildren, badge, shortcut, sidebarSize]);
177
+ return (
178
+ <>
179
+ {wrapTextNodes(content)}
180
+ {extras}
181
+ </>
182
+ );
183
+ };
184
+
185
+ // When rendering asChild, Slot expects a single child element. The row's content goes
186
+ // inside that element, so a Link gets the label, icon tile, badge and shortcut.
187
+ let body: React.ReactNode;
188
+ if (asChild && React.isValidElement<{ children?: React.ReactNode }>(children) && React.Children.count(children) === 1) {
189
+ body = React.cloneElement(children, undefined, renderContent(children.props.children));
190
+ } else if (asChild) {
191
+ body = children;
192
+ } else {
193
+ body = renderContent(children);
194
+ }
179
195
 
180
196
  return (
181
197
  <Comp
198
+ type={asChild ? undefined : 'button'}
182
199
  {...props}
183
200
  ref={forwardedRef}
184
201
  aria-current={isActive ? 'page' : undefined}
@@ -186,44 +203,7 @@ const SidebarMenuButton = React.forwardRef<HTMLButtonElement, SidebarMenuButtonP
186
203
  data-active={isActive || undefined}
187
204
  onKeyDown={handleKeyDown}
188
205
  >
189
- {asChild ? (
190
- slottedChildren
191
- ) : isThinMode && icons.length > 0 ? (
192
- <>
193
- <span className="kui-SidebarMenuIconWrapper">{icons}</span>
194
- {labels.map((label, index) => (
195
- <React.Fragment key={index}>
196
- {typeof label === 'string' || typeof label === 'number' ? (
197
- <span className="kui-SidebarMenuLabel">{label}</span>
198
- ) : (
199
- label
200
- )}
201
- </React.Fragment>
202
- ))}
203
- </>
204
- ) : (
205
- <>
206
- {processedChildren}
207
- {badge && (
208
- <div className="kui-SidebarMenuBadge">
209
- {typeof badge === 'string' ? (
210
- <Chip size={sidebarSize} variant="soft">
211
- {badge}
212
- </Chip>
213
- ) : (
214
- <Chip size={badge.size || sidebarSize} variant={badge.variant || 'soft'} color={badge.color} radius={badge.radius}>
215
- {badge.content}
216
- </Chip>
217
- )}
218
- </div>
219
- )}
220
- {shortcut && (
221
- <div className="kui-BaseMenuShortcut kui-SidebarMenuShortcut">
222
- <Kbd size={sidebarSize}>{shortcut}</Kbd>
223
- </div>
224
- )}
225
- </>
226
- )}
206
+ {body}
227
207
  </Comp>
228
208
  );
229
209
  },
@@ -319,49 +299,61 @@ SidebarMenuSubTrigger.displayName = 'Sidebar.MenuSubTrigger';
319
299
 
320
300
  interface SidebarMenuSubContentProps extends React.ComponentPropsWithoutRef<typeof Accordion.Content> {}
321
301
 
302
+ // In a Rail a sub-menu is a dropdown. Each row becomes a menu item: a MenuButton hands the item
303
+ // its props (onClick, disabled, active), and an asChild one hands it its link.
304
+ function toDropdownItem(node: React.ReactNode, key: React.Key): React.ReactNode {
305
+ if (React.isValidElement<SidebarMenuButtonProps>(node) && node.type === SidebarMenuButton) {
306
+ // The badge and shortcut have no place in a dropdown row; `type` belongs to a button only.
307
+ const { asChild, isActive, shortcut, badge, type, children, ...rest } = node.props;
308
+ const itemProps = {
309
+ ...(rest as Omit<React.ComponentPropsWithoutRef<typeof DropdownMenu.Item>, 'color'>),
310
+ 'data-active': isActive || undefined,
311
+ 'aria-current': isActive ? ('page' as const) : undefined,
312
+ };
313
+ if (asChild && React.isValidElement(children) && React.Children.count(children) === 1) {
314
+ return (
315
+ <DropdownMenu.Item key={key} {...itemProps} asChild>
316
+ {children}
317
+ </DropdownMenu.Item>
318
+ );
319
+ }
320
+ return (
321
+ <DropdownMenu.Item key={key} {...itemProps}>
322
+ {children}
323
+ </DropdownMenu.Item>
324
+ );
325
+ }
326
+ if (React.isValidElement(node)) {
327
+ return (
328
+ <DropdownMenu.Item key={key} asChild>
329
+ {node}
330
+ </DropdownMenu.Item>
331
+ );
332
+ }
333
+ return <DropdownMenu.Item key={key}>{node}</DropdownMenu.Item>;
334
+ }
335
+
322
336
  const SidebarMenuSubContent = React.forwardRef<React.ElementRef<typeof Accordion.Content>, SidebarMenuSubContentProps>(({ className, children, ...props }, forwardedRef) => {
323
337
  const visual = useSidebarVisual();
324
338
  const mode = React.useContext(SidebarSubMenuModeContext);
325
339
 
326
340
  if (mode === 'dropdown') {
327
- const unwrapMenuButton = (node: React.ReactNode): React.ReactNode => {
328
- if (Array.isArray(node)) {
329
- return node.map((n, i) => <React.Fragment key={i}>{unwrapMenuButton(n)}</React.Fragment>);
341
+ const items = React.Children.map(children, (child, index) => {
342
+ if (React.isValidElement<{ children?: React.ReactNode }>(child) && child.type === SidebarMenuItem) {
343
+ const rows = React.Children.toArray(child.props.children);
344
+ return toDropdownItem(rows.length === 1 ? rows[0] : rows, index);
330
345
  }
331
- if (React.isValidElement(node)) {
332
- const typeDisplay = (node.type as any)?.displayName;
333
- if (typeDisplay === 'Sidebar.MenuButton') {
334
- return (node.props as any)?.children;
335
- }
336
- const child = (node.props as any)?.children;
337
- if (child !== undefined) {
338
- return React.cloneElement(node as any, { ...(node.props as any), children: unwrapMenuButton(child) });
339
- }
340
- }
341
- return node;
342
- };
343
-
344
- const normalized = React.Children.map(children as React.ReactNode, (child, index) => {
345
- if (React.isValidElement(child) && (child.type as any)?.displayName === 'Sidebar.MenuItem') {
346
- const itemChildren = (child.props as any)?.children;
347
- const content = unwrapMenuButton(itemChildren);
348
- return (
349
- <DropdownMenu.Item key={index} asChild>
350
- {content as any}
351
- </DropdownMenu.Item>
352
- );
353
- }
354
- // Fallback: wrap raw nodes too for consistent menu styling
355
- return (
356
- <DropdownMenu.Item key={index} asChild>
357
- {unwrapMenuButton(child) as any}
358
- </DropdownMenu.Item>
359
- );
346
+ return toDropdownItem(child, index);
360
347
  });
361
348
 
362
349
  return (
363
- <DropdownMenu.Content size={visual?.size} className={classNames(className)}>
364
- <DropdownMenu.Group>{normalized}</DropdownMenu.Group>
350
+ <DropdownMenu.Content
351
+ {...(props as Omit<React.ComponentPropsWithoutRef<typeof DropdownMenu.Content>, 'color'>)}
352
+ ref={forwardedRef}
353
+ size={visual?.size}
354
+ className={classNames(className)}
355
+ >
356
+ <DropdownMenu.Group>{items}</DropdownMenu.Group>
365
357
  </DropdownMenu.Content>
366
358
  );
367
359
  }
@@ -374,22 +366,48 @@ const SidebarMenuSubContent = React.forwardRef<React.ElementRef<typeof Accordion
374
366
  });
375
367
  SidebarMenuSubContent.displayName = 'Sidebar.MenuSubContent';
376
368
 
377
- // Group components. The label is plain text: no role, so it isn't announced as an empty group.
369
+ // Group components. A group with a label is a named group; one without stays a plain div, so it
370
+ // isn't announced as an empty group.
371
+ type SidebarGroupContextValue = { labelId: string; setLabelId: (id: string | null) => void };
372
+ const SidebarGroupContext = React.createContext<SidebarGroupContextValue | null>(null);
373
+
378
374
  interface SidebarGroupProps extends React.ComponentPropsWithoutRef<'div'> {}
379
375
 
380
- const SidebarGroup = React.forwardRef<HTMLDivElement, SidebarGroupProps>(({ className, ...props }, forwardedRef) => (
381
- <div {...props} ref={forwardedRef} className={classNames('kui-BaseMenuGroup', 'kui-SidebarGroup', className)} />
382
- ));
376
+ const SidebarGroup = React.forwardRef<HTMLDivElement, SidebarGroupProps>(({ className, ...props }, forwardedRef) => {
377
+ const labelId = React.useId();
378
+ const [renderedLabelId, setLabelId] = React.useState<string | null>(null);
379
+ const context = React.useMemo(() => ({ labelId, setLabelId }), [labelId]);
380
+ return (
381
+ <SidebarGroupContext.Provider value={context}>
382
+ <div
383
+ role={renderedLabelId ? 'group' : undefined}
384
+ aria-labelledby={renderedLabelId ?? undefined}
385
+ {...props}
386
+ ref={forwardedRef}
387
+ className={classNames('kui-BaseMenuGroup', 'kui-SidebarGroup', className)}
388
+ />
389
+ </SidebarGroupContext.Provider>
390
+ );
391
+ });
383
392
  SidebarGroup.displayName = 'Sidebar.Group';
384
393
 
385
394
  interface SidebarGroupLabelProps extends React.ComponentPropsWithoutRef<'div'> {
386
395
  asChild?: boolean;
387
396
  }
388
397
 
389
- const SidebarGroupLabel = React.forwardRef<HTMLDivElement, SidebarGroupLabelProps>(({ asChild = false, className, ...props }, forwardedRef) => {
398
+ const SidebarGroupLabel = React.forwardRef<HTMLDivElement, SidebarGroupLabelProps>(({ asChild = false, className, id, ...props }, forwardedRef) => {
390
399
  const Comp = asChild ? Slot : 'div';
400
+ const group = React.useContext(SidebarGroupContext);
401
+ const labelId = id ?? group?.labelId;
402
+ const setLabelId = group?.setLabelId;
403
+
404
+ React.useEffect(() => {
405
+ if (!setLabelId || !labelId) return;
406
+ setLabelId(labelId);
407
+ return () => setLabelId(null);
408
+ }, [setLabelId, labelId]);
391
409
 
392
- return <Comp {...props} ref={forwardedRef} className={classNames('kui-BaseMenuLabel', 'kui-SidebarGroupLabel', className)} />;
410
+ return <Comp {...props} id={labelId} ref={forwardedRef} className={classNames('kui-BaseMenuLabel', 'kui-SidebarGroupLabel', className)} />;
393
411
  });
394
412
  SidebarGroupLabel.displayName = 'Sidebar.GroupLabel';
395
413
 
@@ -81,7 +81,7 @@
81
81
  inset: calc(var(--slider-thumb-inset-factor) * var(--slider-thumb-overshoot-base, var(--slider-track-size)) * -1);
82
82
  background-color: var(--accent-solid-thumb);
83
83
  border-radius: var(--slider-thumb-radius);
84
- box-shadow: var(--shadow-2);
84
+ box-shadow: var(--slider-thumb-box-shadow, var(--shadow-2));
85
85
  cursor: pointer;
86
86
  }
87
87
 
@@ -173,10 +173,6 @@
173
173
  & :where(.kui-SliderRange) {
174
174
  background-color: var(--accent-solid);
175
175
  }
176
-
177
- & :where(.kui-SliderThumb) {
178
- --slider-thumb-box-shadow: var(--shadow-3);
179
- }
180
176
  }
181
177
 
182
178
  /* outline */
@@ -190,32 +186,29 @@
190
186
  & :where(.kui-SliderRange) {
191
187
  background-color: var(--accent-solid);
192
188
  }
193
-
194
- & :where(.kui-SliderThumb) {
195
- --slider-thumb-box-shadow: var(--shadow-3);
196
- }
197
189
  }
198
190
 
199
- /* all disabled Sliders: a colour remap, never opacity, and a default cursor */
191
+ /* all disabled Sliders: a colour remap, never opacity, and a default cursor.
192
+ * These come after every variant at the same specificity, so they win by order. */
200
193
 
201
194
  [data-disabled] {
202
195
  .kui-SliderRoot:where(&) {
203
196
  cursor: default;
204
197
  }
205
198
  .kui-SliderTrack:where(&) {
206
- background-color: var(--neutral-a3) !important;
207
- box-shadow: none !important;
199
+ background-color: var(--neutral-a3);
200
+ box-shadow: none;
208
201
  }
209
202
  .kui-SliderRange:where(&) {
210
- background-color: var(--accent-a3) !important;
203
+ background-color: var(--accent-a3);
211
204
  }
212
205
  .kui-SliderThumb:where(&) {
213
206
  cursor: default;
214
207
  }
215
208
  .kui-SliderThumb:where(&)::after {
216
209
  cursor: default;
217
- background-color: var(--neutral-3) !important;
218
- box-shadow: none !important;
210
+ background-color: var(--neutral-3);
211
+ box-shadow: none;
219
212
  }
220
213
  }
221
214
 
@@ -226,16 +219,41 @@
226
219
  ***************************************************************************************************/
227
220
 
228
221
  .kui-SliderContainer {
222
+ --slider-ticks-size: 44px;
229
223
  position: relative;
224
+
225
+ /* A vertical slider fills the caller's height, so the wrapper has to as well. */
226
+ &:where([data-orientation='vertical']) {
227
+ display: flex;
228
+ width: fit-content;
229
+ height: stretch;
230
+ }
231
+
232
+ /* The ticks sit outside the track, so the wrapper keeps room for them. */
233
+ &:where([data-has-ticks][data-orientation='horizontal']) {
234
+ padding-bottom: calc(var(--space-3) + var(--slider-ticks-size));
235
+ }
236
+ &:where([data-has-ticks][data-orientation='vertical']) {
237
+ padding-right: calc(var(--space-3) + var(--slider-ticks-size));
238
+ }
230
239
  }
231
240
 
232
241
  .kui-SliderTicks {
233
242
  position: absolute;
234
- top: calc(100% + var(--space-3));
235
- left: 0;
236
- right: 0;
237
243
  pointer-events: auto;
238
- height: 44px;
244
+
245
+ &:where([data-orientation='horizontal']) {
246
+ bottom: 0;
247
+ left: 0;
248
+ right: 0;
249
+ height: var(--slider-ticks-size);
250
+ }
251
+ &:where([data-orientation='vertical']) {
252
+ top: 0;
253
+ bottom: 0;
254
+ right: 0;
255
+ width: var(--slider-ticks-size);
256
+ }
239
257
  }
240
258
 
241
259
  .kui-SliderTick {
@@ -255,10 +273,21 @@
255
273
  border-radius: var(--radius-2);
256
274
  z-index: 1;
257
275
  pointer-events: auto;
276
+
277
+ /* A vertical tick points left at the track, with its label after the mark. */
278
+ :where(.kui-SliderTicks[data-orientation='vertical']) & {
279
+ left: 0;
280
+ transform: translateY(-50%);
281
+ flex-direction: row;
282
+ }
283
+
284
+ &:where(:disabled) {
285
+ cursor: default;
286
+ }
258
287
  }
259
288
 
260
289
  @media (hover: hover) {
261
- .kui-SliderTick:where(:hover) {
290
+ .kui-SliderTick:where(:hover:not(:disabled)) {
262
291
  :where(.kui-SliderTickMark) {
263
292
  background-color: var(--neutral-12) !important;
264
293
  }
@@ -270,7 +299,7 @@
270
299
  }
271
300
  }
272
301
 
273
- .kui-SliderTick:where(:active) {
302
+ .kui-SliderTick:where(:active:not(:disabled)) {
274
303
  :where(.kui-SliderTickMark) {
275
304
  background-color: var(--neutral-12) !important;
276
305
  }
@@ -291,6 +320,11 @@
291
320
  height: var(--space-3);
292
321
  background-color: var(--neutral-6);
293
322
  border-radius: 1px;
323
+
324
+ :where(.kui-SliderTicks[data-orientation='vertical']) & {
325
+ width: var(--space-3);
326
+ height: 1px;
327
+ }
294
328
  }
295
329
 
296
330
  .kui-SliderTickLabel {
@@ -304,3 +338,38 @@
304
338
  max-width: 60px;
305
339
  text-align: center;
306
340
  }
341
+
342
+ /* Windows High Contrast drops box shadows and background colours, so the track, range and
343
+ * handle take system colours and a real border. */
344
+ @media (forced-colors: active) {
345
+ .kui-SliderTrack {
346
+ box-sizing: border-box;
347
+ border: 1px solid CanvasText;
348
+ }
349
+ .kui-SliderRange {
350
+ background-color: Highlight;
351
+ }
352
+ .kui-SliderThumb::after {
353
+ border: 1px solid CanvasText;
354
+ background-color: Highlight;
355
+ }
356
+ .kui-SliderTickMark {
357
+ background-color: CanvasText;
358
+ }
359
+
360
+ [data-disabled] {
361
+ .kui-SliderTrack:where(&) {
362
+ border-color: GrayText;
363
+ }
364
+ .kui-SliderRange:where(&) {
365
+ background-color: GrayText;
366
+ }
367
+ .kui-SliderThumb:where(&)::after {
368
+ border-color: GrayText;
369
+ background-color: GrayText;
370
+ }
371
+ }
372
+ .kui-SliderTick:where(:disabled) :where(.kui-SliderTickMark) {
373
+ background-color: GrayText;
374
+ }
375
+ }
@@ -9,8 +9,8 @@ const variants = ['surface', 'soft', 'outline'] as const;
9
9
  const sliderPropDefs = {
10
10
  size: { type: 'enum', className: 'kui-r-size', values: sizes, default: '2', responsive: true },
11
11
  variant: { type: 'enum', className: 'kui-variant', values: variants, default: 'surface' },
12
- showTickLabels: { type: 'boolean', className: 'kui-show-tick-labels' },
13
- snapToTicks: { type: 'boolean', className: 'kui-snap-to-ticks' },
12
+ showTickLabels: { type: 'boolean' },
13
+ snapToTicks: { type: 'boolean' },
14
14
  ...colorPropDef,
15
15
  ...radiusPropDef,
16
16
  } satisfies {