@womp/kookie-ui 0.24.0 → 0.25.1

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