@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
@@ -1,6 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import * as React from 'react';
4
+ import { useLayoutEffect } from 'radix-ui/internal';
4
5
  import classNames from 'classnames';
5
6
  import { Toolbar as ToolbarPrimitive } from 'radix-ui';
6
7
 
@@ -62,8 +63,6 @@ function useToolbarOverflow(): boolean {
62
63
  return React.useContext(InOverflowContext);
63
64
  }
64
65
 
65
- const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
66
-
67
66
  // ============================================================================
68
67
  // Toolbar (root)
69
68
  // ============================================================================
@@ -246,6 +245,7 @@ const ToolbarButton = React.forwardRef<HTMLButtonElement, ToolbarButtonProps>((p
246
245
  iconOnly={iconOnly}
247
246
  disabled={off}
248
247
  color={color}
248
+ pressed={props['aria-pressed'] === undefined ? undefined : isPressed(props['aria-pressed'])}
249
249
  >
250
250
  {rest.children}
251
251
  </ToolbarOverflowItem>
@@ -315,6 +315,8 @@ interface ToolbarOverflowItemProps extends Omit<React.ComponentPropsWithoutRef<'
315
315
  iconOnly?: boolean;
316
316
  disabled?: boolean;
317
317
  color?: ButtonProps['color'];
318
+ /** A toggle's pressed state. A toggle becomes a checkbox item, so the menu still says whether it is on. */
319
+ pressed?: boolean;
318
320
  }
319
321
 
320
322
  /**
@@ -323,7 +325,7 @@ interface ToolbarOverflowItemProps extends Omit<React.ComponentPropsWithoutRef<'
323
325
  * words. What prices a box (size, variant, emphasis, iconOnly) does not come across.
324
326
  */
325
327
  const ToolbarOverflowItem = React.forwardRef<HTMLDivElement, ToolbarOverflowItemProps>(
326
- ({ asChild, iconOnly, disabled, color, children, 'aria-label': label, ...props }, forwardedRef) => {
328
+ ({ asChild, iconOnly, disabled, color, pressed, children, 'aria-label': label, ...props }, forwardedRef) => {
327
329
  const words = iconOnly ? label : undefined;
328
330
  const itemProps = {
329
331
  ...props,
@@ -341,6 +343,14 @@ const ToolbarOverflowItem = React.forwardRef<HTMLDivElement, ToolbarOverflowItem
341
343
  </DropdownMenu.Item>
342
344
  );
343
345
  }
346
+ if (pressed !== undefined) {
347
+ return (
348
+ <DropdownMenu.CheckboxItem {...itemProps} ref={forwardedRef} checked={pressed}>
349
+ {children}
350
+ {words}
351
+ </DropdownMenu.CheckboxItem>
352
+ );
353
+ }
344
354
  return (
345
355
  <DropdownMenu.Item {...itemProps} ref={forwardedRef}>
346
356
  {children}
@@ -401,11 +411,11 @@ const ToolbarOverflow = React.forwardRef<HTMLDivElement, ToolbarOverflowProps>(
401
411
  setMeasuredCount(count);
402
412
  setShown(count);
403
413
  }
404
- useIsomorphicLayoutEffect(() => {
414
+ useLayoutEffect(() => {
405
415
  widths.current = [];
406
416
  }, [count]);
407
417
 
408
- useIsomorphicLayoutEffect(() => {
418
+ useLayoutEffect(() => {
409
419
  const root = rootRef.current;
410
420
  if (!root) return;
411
421
 
@@ -511,6 +521,8 @@ type SlotEntry = { id: string; node: React.ReactNode };
511
521
  const EMPTY_ENTRIES: readonly SlotEntry[] = [];
512
522
  const slotEntries = new Map<string, readonly SlotEntry[]>();
513
523
  const slotListeners = new Set<() => void>();
524
+ /** How many ToolbarSlots of each name are mounted, to warn when one Fill would render twice. */
525
+ const mountedSlots = new Map<string, number>();
514
526
 
515
527
  function subscribeSlots(listener: () => void) {
516
528
  slotListeners.add(listener);
@@ -537,7 +549,10 @@ function removeSlotEntry(name: string, id: string) {
537
549
  }
538
550
 
539
551
  interface ToolbarSlotProps {
540
- /** Which `ToolbarFill` renders here. Use one name per slot. Defaults to `default`. */
552
+ /**
553
+ * Which `ToolbarFill` renders here. Defaults to `default`. Names are global to the page: mount one
554
+ * slot per name, or the fill renders in each of them (development builds warn).
555
+ */
541
556
  name?: string;
542
557
  }
543
558
 
@@ -549,6 +564,18 @@ interface ToolbarSlotProps {
549
564
  * the controls take the toolbar's size and join its arrow-key row. It adds no element.
550
565
  */
551
566
  function ToolbarSlot({ name = 'default' }: ToolbarSlotProps) {
567
+ useLayoutEffect(() => {
568
+ const count = (mountedSlots.get(name) ?? 0) + 1;
569
+ mountedSlots.set(name, count);
570
+ if (count > 1 && process.env.NODE_ENV !== 'production') {
571
+ console.warn(`[kookie-ui] ToolbarSlot: ${count} slots named "${name}" are mounted. Each renders the ToolbarFill's controls, so they appear more than once. Give each slot its own name.`);
572
+ }
573
+ return () => {
574
+ const left = (mountedSlots.get(name) ?? 1) - 1;
575
+ if (left > 0) mountedSlots.set(name, left);
576
+ else mountedSlots.delete(name);
577
+ };
578
+ }, [name]);
552
579
  const entries = React.useSyncExternalStore(
553
580
  subscribeSlots,
554
581
  () => slotEntries.get(name) ?? EMPTY_ENTRIES,
@@ -581,10 +608,10 @@ interface ToolbarFillProps {
581
608
  */
582
609
  function ToolbarFill({ name = 'default', children }: ToolbarFillProps) {
583
610
  const id = React.useId();
584
- useIsomorphicLayoutEffect(() => {
611
+ useLayoutEffect(() => {
585
612
  setSlotEntry(name, id, children);
586
613
  }, [name, id, children]);
587
- useIsomorphicLayoutEffect(() => () => removeSlotEntry(name, id), [name, id]);
614
+ useLayoutEffect(() => () => removeSlotEntry(name, id), [name, id]);
588
615
  return null;
589
616
  }
590
617
  ToolbarFill.displayName = 'Toolbar.Fill';
@@ -5,7 +5,7 @@
5
5
  border-radius: var(--radius-surface-1);
6
6
  z-index: 300; /* Tooltips always on top - above dialogs (100) and menus (200) */
7
7
 
8
- transform-origin: var(--radix-tooltip-content-transform-origin)
8
+ transform-origin: var(--radix-tooltip-content-transform-origin);
9
9
  }
10
10
 
11
11
  .kui-TooltipText {
@@ -17,3 +17,10 @@
17
17
  .kui-TooltipArrow {
18
18
  fill: var(--neutral-12);
19
19
  }
20
+
21
+ /* High contrast mode replaces the background colour, so give the tooltip a real edge. */
22
+ @media (forced-colors: active) {
23
+ .kui-TooltipContent {
24
+ border: 1px solid CanvasText;
25
+ }
26
+ }
@@ -10,6 +10,30 @@ import { tooltipPropDefs } from './tooltip.props.js';
10
10
  import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
11
11
  import type { GetPropDefTypes } from '../props/prop-def.js';
12
12
 
13
+ /** The rest before a tooltip opens, in milliseconds. */
14
+ const TOOLTIP_DELAY = 200;
15
+
16
+ /** True inside a `TooltipProvider`, so a Tooltip knows it need not bring its own. */
17
+ const TooltipProviderContext = React.createContext(false);
18
+
19
+ interface TooltipProviderProps extends React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Provider> {}
20
+
21
+ /**
22
+ * Groups the tooltips inside it: the first one waits `delayDuration` (200ms), and the next ones
23
+ * open at once while the pointer moves between them. Put it once near the root of the app.
24
+ * A Tooltip outside one still works, with the same delay, but each one waits on its own.
25
+ */
26
+ function TooltipProvider({ delayDuration = TOOLTIP_DELAY, children, ...props }: TooltipProviderProps) {
27
+ return (
28
+ <TooltipProviderContext.Provider value={true}>
29
+ <TooltipPrimitive.Provider delayDuration={delayDuration} {...props}>
30
+ {children}
31
+ </TooltipPrimitive.Provider>
32
+ </TooltipProviderContext.Provider>
33
+ );
34
+ }
35
+ TooltipProvider.displayName = 'TooltipProvider';
36
+
13
37
  type TooltipElement = React.ElementRef<typeof TooltipPrimitive.Content>;
14
38
  type TooltipOwnProps = GetPropDefTypes<typeof tooltipPropDefs>;
15
39
  interface TooltipProps
@@ -34,7 +58,8 @@ const Tooltip = React.forwardRef<TooltipElement, TooltipProps>((props, forwarded
34
58
  ...tooltipContentProps
35
59
  } = extractProps(props, tooltipPropDefs);
36
60
  const rootProps = { open, defaultOpen, onOpenChange, delayDuration, disableHoverableContent };
37
- return (
61
+ const hasProvider = React.useContext(TooltipProviderContext);
62
+ const tooltip = (
38
63
  <TooltipPrimitive.Root {...rootProps}>
39
64
  <TooltipPrimitive.Trigger asChild>{children}</TooltipPrimitive.Trigger>
40
65
  <TooltipPrimitive.Portal container={container} forceMount={forceMount}>
@@ -56,8 +81,10 @@ const Tooltip = React.forwardRef<TooltipElement, TooltipProps>((props, forwarded
56
81
  </TooltipPrimitive.Portal>
57
82
  </TooltipPrimitive.Root>
58
83
  );
84
+ // Radix needs a provider above every tooltip. Outside a TooltipProvider, bring one.
85
+ return hasProvider ? tooltip : <TooltipPrimitive.Provider delayDuration={TOOLTIP_DELAY}>{tooltip}</TooltipPrimitive.Provider>;
59
86
  });
60
87
  Tooltip.displayName = 'Tooltip';
61
88
 
62
- export { Tooltip };
63
- export type { TooltipProps };
89
+ export { Tooltip, TooltipProvider };
90
+ export type { TooltipProps, TooltipProviderProps };
@@ -47,3 +47,83 @@
47
47
  /* - cursor, user-select */
48
48
  /* - transition */
49
49
  }
50
+
51
+ /*
52
+ * On its own (in a Popover, a panel), the list is not inside a menu surface, so it sets the
53
+ * menu row tokens itself at its `size`. The class is only added outside a menu.
54
+ */
55
+ .kui-VirtualMenuRoot:where(.kui-r-size-1, .kui-r-size-2, .kui-r-size-3, .kui-r-size-4) {
56
+ --base-menu-item-height: max(24px, calc(var(--base-menu-line-height) + 2 * var(--base-menu-item-padding-y)));
57
+ --base-menu-item-padding-x: calc(
58
+ var(--base-menu-item-px) + min(var(--radius-full, 0px), var(--base-menu-item-px-pill) - var(--base-menu-item-px))
59
+ );
60
+ --base-menu-item-padding-left: var(--base-menu-item-padding-x);
61
+ --base-menu-item-padding-right: var(--base-menu-item-padding-x);
62
+ --base-menu-content-padding: 0px;
63
+
64
+ & :where(.kui-BaseMenuItem[data-highlighted]) {
65
+ background-color: var(--accent-4);
66
+ }
67
+
68
+ @media (prefers-contrast: more) {
69
+ & :where(.kui-BaseMenuItem[data-highlighted]) {
70
+ background-color: var(--accent-solid);
71
+ color: var(--accent-solid-contrast);
72
+ }
73
+ }
74
+
75
+ @media (forced-colors: active) {
76
+ & :where(.kui-BaseMenuItem[data-highlighted]) {
77
+ background-color: Highlight;
78
+ color: HighlightText;
79
+ }
80
+ }
81
+ }
82
+
83
+ .kui-VirtualMenuRoot:where(.kui-r-size-1) {
84
+ --base-menu-item-padding-y: var(--row-inset-1);
85
+ --base-menu-item-px: var(--control-px-1);
86
+ --base-menu-item-px-pill: var(--control-px-pill-1);
87
+ --base-menu-item-gap: var(--control-gap-1);
88
+ --base-menu-item-radius: var(--radius-row-1);
89
+ --base-menu-icon-size: var(--icon-size-1);
90
+ --base-menu-font-size: var(--font-size-1);
91
+ --base-menu-line-height: var(--line-height-1);
92
+ --base-menu-letter-spacing: var(--letter-spacing-1);
93
+ }
94
+
95
+ .kui-VirtualMenuRoot:where(.kui-r-size-2) {
96
+ --base-menu-item-padding-y: var(--row-inset-2);
97
+ --base-menu-item-px: var(--control-px-2);
98
+ --base-menu-item-px-pill: var(--control-px-pill-2);
99
+ --base-menu-item-gap: var(--control-gap-2);
100
+ --base-menu-item-radius: var(--radius-row-2);
101
+ --base-menu-icon-size: var(--icon-size-2);
102
+ --base-menu-font-size: var(--font-size-2);
103
+ --base-menu-line-height: var(--line-height-2);
104
+ --base-menu-letter-spacing: var(--letter-spacing-2);
105
+ }
106
+
107
+ .kui-VirtualMenuRoot:where(.kui-r-size-3) {
108
+ --base-menu-item-padding-y: var(--row-inset-3);
109
+ --base-menu-item-px: var(--control-px-3);
110
+ --base-menu-item-px-pill: var(--control-px-pill-3);
111
+ --base-menu-item-gap: var(--control-gap-3);
112
+ --base-menu-item-radius: var(--radius-row-3);
113
+ --base-menu-icon-size: var(--icon-size-3);
114
+ --base-menu-font-size: var(--font-size-3);
115
+ --base-menu-line-height: var(--line-height-3);
116
+ --base-menu-letter-spacing: var(--letter-spacing-3);
117
+ }
118
+
119
+ .kui-VirtualMenuRoot:where(.kui-r-size-4) {
120
+ --base-menu-item-padding-y: var(--row-inset-4);
121
+ --base-menu-item-px: var(--control-px-4);
122
+ --base-menu-item-px-pill: var(--control-px-pill-4);
123
+ --base-menu-item-gap: var(--control-gap-4);
124
+ --base-menu-item-radius: var(--radius-row-4);
125
+ --base-menu-icon-size: var(--icon-size-4);
126
+ --base-menu-font-size: var(--font-size-4);
127
+ --base-menu-line-height: var(--line-height-4);
128
+ --base-menu-letter-spacing: var(--letter-spacing-4);
129
+ }
@@ -3,6 +3,7 @@
3
3
  import * as React from 'react';
4
4
  import classNames from 'classnames';
5
5
  import { useVirtualizer } from '@tanstack/react-virtual';
6
+ import { useLayoutEffect } from 'radix-ui/internal';
6
7
  import { useMenuContext, useMenuClose, getMenuItemHeight } from './_internal/menu-context.js';
7
8
 
8
9
  import type { MenuSize } from './_internal/menu-context.js';
@@ -55,37 +56,58 @@ interface VirtualMenuRenderItemProps<T> {
55
56
  'data-highlighted': true | undefined;
56
57
  /** Data attribute for event delegation */
57
58
  'data-index': number;
59
+ /** Number of items in the whole list, since only some rows are mounted */
60
+ 'aria-setsize': number;
61
+ /** Position of this row in the whole list, from 1 */
62
+ 'aria-posinset': number;
58
63
  /** Mouse enter handler */
59
64
  onMouseEnter: (e: React.MouseEvent<HTMLElement>) => void;
60
65
  /** Mouse leave handler */
61
- onMouseLeave: () => void;
66
+ onMouseLeave: (e: React.MouseEvent<HTMLElement>) => void;
62
67
  /** Click handler */
63
68
  onClick: (e: React.MouseEvent<HTMLElement>) => void;
64
69
  /** Keyboard handler for Enter/Space activation */
65
70
  onKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;
66
71
  }
67
72
 
68
- interface VirtualMenuProps<T> {
73
+ /** How rows are drawn: one of `itemLabel` or `renderItem` is required. */
74
+ type VirtualMenuRowProps<T> =
75
+ | {
76
+ /**
77
+ * Simple label accessor for basic text items.
78
+ * Can be a property key or a function.
79
+ * @example
80
+ * itemLabel="name"
81
+ * itemLabel={(item) => item.name}
82
+ */
83
+ itemLabel: keyof T | ((item: T) => React.ReactNode);
84
+ renderItem?: undefined;
85
+ }
86
+ | {
87
+ itemLabel?: undefined;
88
+ /**
89
+ * Custom component for rendering items.
90
+ * Must be memoized (React.memo) for optimal performance.
91
+ * @example
92
+ * const MyItem = React.memo(({ item, ...props }) => (
93
+ * <VirtualMenu.Item {...props}>{item.name}</VirtualMenu.Item>
94
+ * ));
95
+ * <VirtualMenu items={items} renderItem={MyItem} />
96
+ */
97
+ renderItem: React.ComponentType<VirtualMenuRenderItemProps<T>>;
98
+ };
99
+
100
+ /** Attributes of the list element that pass through, such as `id`, `aria-labelledby` or `data-*`. */
101
+ type VirtualMenuDivProps = Omit<
102
+ React.ComponentPropsWithoutRef<'div'>,
103
+ 'children' | 'onSelect' | 'role' | 'tabIndex' | 'aria-activedescendant'
104
+ >;
105
+
106
+ type VirtualMenuProps<T> = VirtualMenuDivProps & VirtualMenuRowProps<T> & VirtualMenuOwnProps<T>;
107
+
108
+ interface VirtualMenuOwnProps<T> {
69
109
  /** Array of items to render */
70
110
  items: T[];
71
- /**
72
- * Simple label accessor for basic text items.
73
- * Can be a property key or a function.
74
- * @example
75
- * itemLabel="name"
76
- * itemLabel={(item) => item.name}
77
- */
78
- itemLabel?: keyof T | ((item: T) => React.ReactNode);
79
- /**
80
- * Custom component for rendering items.
81
- * Must be memoized (React.memo) for optimal performance.
82
- * @example
83
- * const MyItem = React.memo(({ item, ...props }) => (
84
- * <VirtualMenu.Item {...props}>{item.name}</VirtualMenu.Item>
85
- * ));
86
- * <VirtualMenu items={items} renderItem={MyItem} />
87
- */
88
- renderItem?: React.ComponentType<VirtualMenuRenderItemProps<T>>;
89
111
  /**
90
112
  * Menu size - controls item height.
91
113
  * Automatically inherited from parent DropdownMenu.Content/ContextMenu.Content.
@@ -104,18 +126,24 @@ interface VirtualMenuProps<T> {
104
126
  overscan?: number;
105
127
  /** Callback when an item is selected */
106
128
  onSelect?: (item: T, index: number) => void;
107
- /** Additional class name */
108
- className?: string;
109
- /** Additional styles */
110
- style?: React.CSSProperties;
111
- /** Accessible label for the menu */
112
- 'aria-label'?: string;
113
129
  }
114
130
 
115
131
  // ============================================================================
116
132
  // Internal Memoized Item Component
117
133
  // ============================================================================
118
134
 
135
+ /**
136
+ * Rows get a new style object every render, so style is compared by the two values the
137
+ * list sets. Every other prop is compared shallowly, so aria-*, data-* and handlers update.
138
+ */
139
+ function areRowPropsEqual<P extends { style?: React.CSSProperties }>(prev: P, next: P) {
140
+ if (prev.style?.height !== next.style?.height) return false;
141
+ if (prev.style?.transform !== next.style?.transform) return false;
142
+ const prevKeys = Object.keys(prev) as (keyof P)[];
143
+ if (prevKeys.length !== Object.keys(next).length) return false;
144
+ return prevKeys.every((key) => key === 'style' || Object.is(prev[key], next[key]));
145
+ }
146
+
119
147
  interface SimpleItemProps {
120
148
  label: React.ReactNode;
121
149
  isHighlighted: boolean;
@@ -124,8 +152,10 @@ interface SimpleItemProps {
124
152
  tabIndex: number;
125
153
  'data-highlighted': true | undefined;
126
154
  'data-index': number;
155
+ 'aria-setsize': number;
156
+ 'aria-posinset': number;
127
157
  onMouseEnter: (e: React.MouseEvent<HTMLElement>) => void;
128
- onMouseLeave: () => void;
158
+ onMouseLeave: (e: React.MouseEvent<HTMLElement>) => void;
129
159
  onClick: (e: React.MouseEvent<HTMLElement>) => void;
130
160
  onKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;
131
161
  }
@@ -139,6 +169,8 @@ const SimpleItem = React.memo(
139
169
  tabIndex,
140
170
  'data-highlighted': dataHighlighted,
141
171
  'data-index': dataIndex,
172
+ 'aria-setsize': setSize,
173
+ 'aria-posinset': posInSet,
142
174
  onMouseEnter,
143
175
  onMouseLeave,
144
176
  onClick,
@@ -153,6 +185,8 @@ const SimpleItem = React.memo(
153
185
  tabIndex={tabIndex}
154
186
  data-highlighted={dataHighlighted}
155
187
  data-index={dataIndex}
188
+ aria-setsize={setSize}
189
+ aria-posinset={posInSet}
156
190
  onMouseEnter={onMouseEnter}
157
191
  onMouseLeave={onMouseLeave}
158
192
  onClick={onClick}
@@ -162,17 +196,7 @@ const SimpleItem = React.memo(
162
196
  </div>
163
197
  );
164
198
  },
165
- (prev, next) => {
166
- // Custom comparison - only re-render if these change
167
- if (prev.label !== next.label) return false;
168
- if (prev['data-highlighted'] !== next['data-highlighted']) return false;
169
- if (prev.style.height !== next.style.height) return false;
170
- if (prev.style.transform !== next.style.transform) return false;
171
- if (prev.tabIndex !== next.tabIndex) return false;
172
- if (prev.id !== next.id) return false;
173
- // Event handlers are stable, skip comparison
174
- return true;
175
- },
199
+ areRowPropsEqual,
176
200
  );
177
201
 
178
202
  // ============================================================================
@@ -189,7 +213,7 @@ function useMeasuredRowHeight(
189
213
  size: MenuSize | undefined,
190
214
  ) {
191
215
  const [height, setHeight] = React.useState<number | undefined>(undefined);
192
- React.useLayoutEffect(() => {
216
+ useLayoutEffect(() => {
193
217
  const root = rootRef.current;
194
218
  if (!enabled || !root) return;
195
219
  const probe = document.createElement('div');
@@ -216,7 +240,9 @@ function VirtualMenuRootInner<T>(
216
240
  onSelect,
217
241
  className,
218
242
  style,
219
- 'aria-label': ariaLabel,
243
+ onKeyDown,
244
+ onFocus,
245
+ ...rootProps
220
246
  }: VirtualMenuProps<T>,
221
247
  forwardedRef: React.ForwardedRef<HTMLDivElement>,
222
248
  ) {
@@ -287,7 +313,7 @@ function VirtualMenuRootInner<T>(
287
313
  const virtualItems = virtualizer.getVirtualItems();
288
314
 
289
315
  // Re-measure cached rows when the resolved row height changes.
290
- React.useLayoutEffect(() => {
316
+ useLayoutEffect(() => {
291
317
  virtualizer.measure();
292
318
  }, [virtualizer, estimatedItemSize]);
293
319
 
@@ -307,6 +333,10 @@ function VirtualMenuRootInner<T>(
307
333
  }, [isInsideMenu]);
308
334
 
309
335
  // Refs for stable handler references
336
+ const onKeyDownRef = React.useRef(onKeyDown);
337
+ const onFocusRef = React.useRef(onFocus);
338
+ onKeyDownRef.current = onKeyDown;
339
+ onFocusRef.current = onFocus;
310
340
  const itemsRef = React.useRef(items);
311
341
  const onSelectRef = React.useRef(onSelect);
312
342
  const closeMenuRef = React.useRef(closeMenu);
@@ -341,7 +371,11 @@ function VirtualMenuRootInner<T>(
341
371
  if (index != null) selectIndex(Number(index));
342
372
  }, [selectIndex]);
343
373
 
344
- const noop = React.useCallback(() => {}, []);
374
+ // Leaving a row clears its highlight, as a Radix item does on pointer leave.
375
+ const handleItemMouseLeave = React.useCallback((e: React.MouseEvent<HTMLElement>) => {
376
+ const index = Number(e.currentTarget.dataset.index);
377
+ setHighlightedIndex((current) => (current === index ? -1 : current));
378
+ }, []);
345
379
 
346
380
  // Item-level keyboard handler for Enter/Space activation (satisfies a11y lint rule)
347
381
  const handleItemKeyDown = React.useCallback((e: React.KeyboardEvent<HTMLElement>) => {
@@ -354,7 +388,9 @@ function VirtualMenuRootInner<T>(
354
388
  }, [selectIndex]);
355
389
 
356
390
  // Keyboard navigation
357
- const handleKeyDown = React.useCallback((e: React.KeyboardEvent) => {
391
+ const handleKeyDown = React.useCallback((e: React.KeyboardEvent<HTMLDivElement>) => {
392
+ onKeyDownRef.current?.(e);
393
+ if (e.defaultPrevented) return;
358
394
  const currentItems = itemsRef.current;
359
395
  const currentHighlightedIndex = highlightedIndexRef.current;
360
396
 
@@ -395,19 +431,27 @@ function VirtualMenuRootInner<T>(
395
431
  break;
396
432
  }
397
433
  case 'Tab': {
398
- e.preventDefault();
434
+ // Inside a menu, Tab does not leave it. On its own, the list is one tab stop.
435
+ if (isInsideMenu) e.preventDefault();
399
436
  break;
400
437
  }
401
438
  case 'Escape': {
402
439
  // Inside a menu, the menu handles Escape and returns focus to its trigger.
403
- if (!isInsideMenu) (e.currentTarget as HTMLElement).blur();
440
+ if (!isInsideMenu) e.currentTarget.blur();
404
441
  break;
405
442
  }
443
+ default: {
444
+ // The parent menu's typeahead would move focus off the list onto one of its items.
445
+ if (isInsideMenu && e.key.length === 1 && !e.ctrlKey && !e.altKey && !e.metaKey) {
446
+ e.stopPropagation();
447
+ }
448
+ }
406
449
  }
407
450
  }, [selectIndex, isInsideMenu]);
408
451
 
409
452
  // Keyboard focus on the list highlights the first row when none is highlighted.
410
453
  const handleFocus = React.useCallback((e: React.FocusEvent<HTMLDivElement>) => {
454
+ onFocusRef.current?.(e);
411
455
  if (e.target !== e.currentTarget) return;
412
456
  if (highlightedIndexRef.current < 0 && itemsRef.current.length > 0) setHighlightedIndex(0);
413
457
  }, []);
@@ -440,14 +484,19 @@ function VirtualMenuRootInner<T>(
440
484
 
441
485
  return (
442
486
  <div
487
+ {...rootProps}
443
488
  ref={setRootRef}
444
489
  role={isInsideMenu ? 'group' : 'menu'}
445
- aria-label={ariaLabel}
446
490
  aria-activedescendant={safeHighlightedIndex >= 0 ? getItemId(safeHighlightedIndex) : undefined}
447
491
  tabIndex={0}
448
492
  onKeyDown={handleKeyDown}
449
493
  onFocus={handleFocus}
450
- className={classNames('kui-VirtualMenuRoot', className)}
494
+ className={classNames(
495
+ 'kui-VirtualMenuRoot',
496
+ // On its own, the list draws menu rows at its own size (virtual-menu.css).
497
+ !isInsideMenu && `kui-r-size-${sizeProp ?? '2'}`,
498
+ className,
499
+ )}
451
500
  style={rootStyle}
452
501
  >
453
502
  <div className="kui-VirtualMenuViewport" style={viewportStyle}>
@@ -465,11 +514,14 @@ function VirtualMenuRootInner<T>(
465
514
  id: getItemId(index),
466
515
  isHighlighted,
467
516
  style: itemStyle,
468
- tabIndex: isHighlighted ? 0 : -1,
517
+ // The list holds focus and points aria-activedescendant at the row, so it is the only tab stop.
518
+ tabIndex: -1,
469
519
  'data-highlighted': isHighlighted ? true as const : undefined,
470
520
  'data-index': index,
521
+ 'aria-setsize': items.length,
522
+ 'aria-posinset': index + 1,
471
523
  onMouseEnter: handleItemMouseEnter,
472
- onMouseLeave: noop,
524
+ onMouseLeave: handleItemMouseLeave,
473
525
  onClick: handleItemClick,
474
526
  onKeyDown: handleItemKeyDown,
475
527
  };
@@ -533,19 +585,8 @@ const VirtualMenuItemInner = React.forwardRef<HTMLDivElement, VirtualMenuItemPro
533
585
 
534
586
  VirtualMenuItemInner.displayName = 'VirtualMenu.Item';
535
587
 
536
- // Memoized with custom comparison
537
- const VirtualMenuItem = React.memo(VirtualMenuItemInner, (prevProps, nextProps) => {
538
- const prevStyle = prevProps.style as React.CSSProperties | undefined;
539
- const nextStyle = nextProps.style as React.CSSProperties | undefined;
540
- if (prevStyle?.height !== nextStyle?.height) return false;
541
- if (prevStyle?.transform !== nextStyle?.transform) return false;
542
- if (prevProps['data-highlighted'] !== nextProps['data-highlighted']) return false;
543
- if (prevProps.tabIndex !== nextProps.tabIndex) return false;
544
- if (prevProps.id !== nextProps.id) return false;
545
- if (prevProps.className !== nextProps.className) return false;
546
- if (prevProps.children !== nextProps.children) return false;
547
- return true;
548
- });
588
+ // Style is compared by height and transform; every other prop shallowly.
589
+ const VirtualMenuItem = React.memo(VirtualMenuItemInner, areRowPropsEqual);
549
590
 
550
591
  // ============================================================================
551
592
  // Exports
@@ -7,21 +7,19 @@ import type { MarginProps } from '../props/margin.props.js';
7
7
  const marginValues = marginPropDefs.m.values;
8
8
  const marginValueSet: ReadonlySet<string> = new Set(marginValues);
9
9
 
10
- // Static table so the common case — a component with no margin props at all —
10
+ // Built once from the prop defs, so the custom properties are the ones the
11
+ // stylesheet reads. The common case, a component with no margin props at all,
11
12
  // is seven property reads and nothing else.
13
+ const MARGIN_KEYS = ['m', 'mx', 'my', 'mt', 'mr', 'mb', 'ml'] as const;
12
14
  const MARGIN_PROPS: ReadonlyArray<{
13
15
  key: keyof MarginProps;
14
16
  className: string;
15
17
  customProperties: `--${string}`[];
16
- }> = [
17
- { key: 'm', className: 'kui-r-m', customProperties: ['--margin'] },
18
- { key: 'mx', className: 'kui-r-mx', customProperties: ['--margin-left', '--margin-right'] },
19
- { key: 'my', className: 'kui-r-my', customProperties: ['--margin-top', '--margin-bottom'] },
20
- { key: 'mt', className: 'kui-r-mt', customProperties: ['--margin-top'] },
21
- { key: 'mr', className: 'kui-r-mr', customProperties: ['--margin-right'] },
22
- { key: 'mb', className: 'kui-r-mb', customProperties: ['--margin-bottom'] },
23
- { key: 'ml', className: 'kui-r-ml', customProperties: ['--margin-left'] },
24
- ];
18
+ }> = MARGIN_KEYS.map((key) => ({
19
+ key,
20
+ className: marginPropDefs[key].className,
21
+ customProperties: [...marginPropDefs[key].customProperties] as `--${string}`[],
22
+ }));
25
23
 
26
24
  export function getMarginStyles(props: MarginProps) {
27
25
  let classes: string[] | undefined;