@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
@@ -3,7 +3,7 @@ import classNames from 'classnames';
3
3
 
4
4
  import { tableRootPropDefs, tableRowPropDefs, tableCellPropDefs } from './table.props.js';
5
5
  import { extractProps } from '../helpers/extract-props.js';
6
- import { useThemeSizeProps } from '../helpers/theme-size.js';
6
+ import { useThemeSizeProps } from '../hooks/theme-size.js';
7
7
  import { getResponsiveClassNames } from '../helpers/get-responsive-styles.js';
8
8
  import { ScrollArea } from './scroll-area.js';
9
9
 
@@ -35,7 +35,8 @@ const TableRoot = React.forwardRef<TableRootElement, TableRootProps>((ownProps,
35
35
  });
36
36
  return (
37
37
  <div ref={forwardedRef} className={classNames('kui-TableRoot', className)} {...rootProps}>
38
- <ScrollArea>
38
+ {/* An overflowing scroller is a tab stop, so it carries the table's name and reads as a region. */}
39
+ <ScrollArea aria-label={ariaLabel} aria-labelledby={ariaLabelledBy}>
39
40
  <table
40
41
  className={classNames('kui-TableRootTable', tableLayoutClassNames)}
41
42
  aria-label={ariaLabel}
@@ -4,7 +4,7 @@ import { Tabs as TabsPrimitive } from 'radix-ui';
4
4
 
5
5
  import { tabsListPropDefs } from './tabs.props.js';
6
6
  import { extractProps } from '../helpers/extract-props.js';
7
- import { useThemeSizeProps } from '../helpers/theme-size.js';
7
+ import { useThemeSizeProps } from '../hooks/theme-size.js';
8
8
 
9
9
  import type { tabsContentPropDefs, tabsRootPropDefs } from './tabs.props.js';
10
10
  import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
@@ -56,6 +56,11 @@ interface TabsTriggerProps
56
56
  const TabsTrigger = React.forwardRef<TabsTriggerElement, TabsTriggerProps>(
57
57
  (props, forwardedRef) => {
58
58
  const { className, children, ...triggerProps } = props;
59
+ // A hidden bold copy reserves the active width. Only plain text is copied: copying elements
60
+ // would duplicate their ids and mount them twice.
61
+ const isText = React.Children.toArray(children).every(
62
+ (child) => typeof child === 'string' || typeof child === 'number',
63
+ );
59
64
  return (
60
65
  <TabsPrimitive.Trigger
61
66
  {...triggerProps}
@@ -64,9 +69,11 @@ const TabsTrigger = React.forwardRef<TabsTriggerElement, TabsTriggerProps>(
64
69
  className={classNames('kui-reset', 'kui-BaseTabListTrigger', 'kui-TabsTrigger', className)}
65
70
  >
66
71
  <span className="kui-BaseTabListTriggerInner kui-TabsTriggerInner">{children}</span>
67
- <span className="kui-BaseTabListTriggerInnerHidden kui-TabsTriggerInnerHidden">
68
- {children}
69
- </span>
72
+ {isText ? (
73
+ <span className="kui-BaseTabListTriggerInnerHidden kui-TabsTriggerInnerHidden" aria-hidden>
74
+ {children}
75
+ </span>
76
+ ) : null}
70
77
  </TabsPrimitive.Trigger>
71
78
  );
72
79
  },
@@ -19,8 +19,6 @@
19
19
  .kui-TextAreaRoot {
20
20
  display: flex;
21
21
  flex-direction: column;
22
- /* The root spaces its parts: the gap sits between the text and an error message under it. */
23
- gap: var(--space-2);
24
22
  box-sizing: border-box;
25
23
 
26
24
  font-family: var(--default-font-family);
@@ -481,7 +479,11 @@
481
479
  * *
482
480
  ***************************************************************************************************/
483
481
 
482
+ /* A sibling of the root, below the box: it takes the field's type itself. */
484
483
  .kui-TextAreaErrorMessage {
484
+ font-family: var(--default-font-family);
485
+ font-weight: var(--font-weight-regular);
486
+ padding-top: var(--space-2);
485
487
  color: var(--red-11);
486
488
  font-size: var(--font-size-1);
487
489
  line-height: var(--line-height-1);
@@ -496,3 +498,16 @@
496
498
  font-size: var(--font-size-1);
497
499
  line-height: 1;
498
500
  }
501
+
502
+ /*
503
+ * Forced colors drop box-shadows, which draw every variant's boundary, so the box gets a real
504
+ * border there, as BaseButton does.
505
+ */
506
+ @media (forced-colors: active) {
507
+ .kui-TextAreaRoot {
508
+ border: 1px solid CanvasText;
509
+ }
510
+ .kui-TextAreaRoot:where(:has(.kui-TextAreaInput:disabled)) {
511
+ border-color: GrayText;
512
+ }
513
+ }
@@ -3,7 +3,7 @@ import classNames from 'classnames';
3
3
 
4
4
  import { textAreaPropDefs } from './text-area.props.js';
5
5
  import { extractProps } from '../helpers/extract-props.js';
6
- import { useThemeSizeProps } from '../helpers/theme-size.js';
6
+ import { useThemeSizeProps } from '../hooks/theme-size.js';
7
7
 
8
8
  import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
9
9
  import type { GetPropDefTypes } from '../props/prop-def.js';
@@ -58,28 +58,32 @@ const TextArea = React.forwardRef<TextAreaElement, TextAreaProps>((ownProps, for
58
58
  ...nativeTextAreaProps
59
59
  } = textAreaProps;
60
60
 
61
+ // The message is a sibling of the painted root, so it sits below the box rather than inside it.
61
62
  return (
62
- <div
63
- data-accent-color={color}
64
- data-radius={radius}
65
- className={classNames('kui-TextAreaRoot', className, {
66
- 'kui-error': isInvalid,
67
- })}
68
- style={style}
69
- >
70
- <textarea
71
- className="kui-reset kui-TextAreaInput"
72
- ref={forwardedRef}
73
- {...nativeTextAreaProps}
74
- required={required || undefined}
75
- {...ariaProps}
76
- />
63
+ <>
64
+ <div
65
+ data-accent-color={color}
66
+ data-radius={radius}
67
+ className={classNames('kui-TextAreaRoot', className, {
68
+ // Not used by the library's CSS (invalid styling keys on aria-invalid); kept as a hook for app styles.
69
+ 'kui-error': isInvalid,
70
+ })}
71
+ style={style}
72
+ >
73
+ <textarea
74
+ className="kui-reset kui-TextAreaInput"
75
+ ref={forwardedRef}
76
+ {...nativeTextAreaProps}
77
+ required={required || undefined}
78
+ {...ariaProps}
79
+ />
80
+ </div>
77
81
  {textAreaProps.errorMessage && (
78
82
  <div id={errorId} className="kui-TextAreaErrorMessage" role="alert">
79
83
  {textAreaProps.errorMessage}
80
84
  </div>
81
85
  )}
82
- </div>
86
+ </>
83
87
  );
84
88
  });
85
89
 
@@ -74,13 +74,13 @@
74
74
  width: var(--text-field-native-icon-size);
75
75
  height: var(--text-field-native-icon-size);
76
76
  padding: var(--space-2);
77
- margin-left: 0;
78
- margin-right: calc(var(--space-2) * -1);
77
+ margin-inline-start: 0;
78
+ margin-inline-end: calc(var(--space-2) * -1);
79
79
  border-radius: calc(var(--text-field-border-radius) - 2px);
80
80
  }
81
81
  /* Chrome's calendar icon */
82
82
  &:where(:not([type='time']))::-webkit-calendar-picker-indicator {
83
- margin-left: var(--space-2);
83
+ margin-inline-start: var(--space-2);
84
84
  }
85
85
  @media (hover: hover) {
86
86
  &::-webkit-calendar-picker-indicator:where(:hover) {
@@ -133,37 +133,37 @@
133
133
  }
134
134
 
135
135
  /*
136
- * A slot that is not a right-side slot goes on the left.
136
+ * A slot that is not a right-side slot goes on the left (the inline start, so the right in RTL).
137
137
  * The outer edge keeps the plain padding (the slot stands between the text and a pill's curve);
138
138
  * the inner edge is the gap to the text.
139
139
  */
140
140
  &:where(:not([data-side='right'])) {
141
141
  order: -1;
142
- margin-left: calc(var(--text-field-border-width) * -1);
143
- margin-right: 0;
144
- padding-left: var(--text-field-px);
145
- padding-right: var(--text-field-gap);
142
+ margin-inline-start: calc(var(--text-field-border-width) * -1);
143
+ margin-inline-end: 0;
144
+ padding-inline-start: var(--text-field-px);
145
+ padding-inline-end: var(--text-field-gap);
146
146
 
147
147
  /* A hosted control sits the slot inset from the edge, the same distance as above and below. */
148
148
  &:where(:has(> .kui-BaseButton)) {
149
- padding-left: var(--text-field-slot-inset);
149
+ padding-inline-start: var(--text-field-slot-inset);
150
150
  }
151
151
  }
152
152
 
153
153
  &:where([data-side='right']),
154
154
  /*
155
- * A slot followed by a left-side slot that is not a left-side slot itself goes on the right.
155
+ * A slot followed by a left-side slot that is not a left-side slot itself goes on the right (the inline end).
156
156
  * In simple terms, this makes it so that two slots without an explicit side work automatically.
157
157
  */
158
158
  :where(&:not([data-side='right'])) ~ &:where(:not([data-side='left'])) {
159
159
  order: 0;
160
- margin-left: 0;
161
- margin-right: calc(var(--text-field-border-width) * -1);
162
- padding-left: var(--text-field-gap);
163
- padding-right: var(--text-field-px);
160
+ margin-inline-start: 0;
161
+ margin-inline-end: calc(var(--text-field-border-width) * -1);
162
+ padding-inline-start: var(--text-field-gap);
163
+ padding-inline-end: var(--text-field-px);
164
164
 
165
165
  &:where(:has(> .kui-BaseButton)) {
166
- padding-right: var(--text-field-slot-inset);
166
+ padding-inline-end: var(--text-field-slot-inset);
167
167
  }
168
168
  }
169
169
  }
@@ -211,33 +211,33 @@
211
211
  /* Clip text to the border radius of the Root */
212
212
  border-radius: calc(var(--text-field-border-radius) - var(--text-field-border-width));
213
213
 
214
- /* Equivalent to padding-left, but doesn't cut off long values when cursor is at the end. */
214
+ /* Equivalent to padding-inline-start, but doesn't cut off long values when cursor is at the end. */
215
215
  text-indent: calc(var(--text-field-px-bare) - var(--text-field-border-width));
216
- padding-right: calc(var(--text-field-px-bare) - var(--text-field-border-width));
216
+ padding-inline-end: calc(var(--text-field-px-bare) - var(--text-field-border-width));
217
217
 
218
218
  &:where([type='date'], [type='datetime-local'], [type='time'], [type='week'], [type='month']) {
219
219
  /* Safari is buggy with text-indent for these input types */
220
220
  text-indent: 0;
221
- padding-left: calc(var(--text-field-px-bare) - var(--text-field-border-width));
221
+ padding-inline-start: calc(var(--text-field-px-bare) - var(--text-field-border-width));
222
222
  }
223
223
 
224
- /* Remove border-radius and text-indent/padding on the left if there's a left-side slot */
224
+ /* Remove border-radius and text-indent/padding at the inline start if there's a left-side slot */
225
225
  &:where(:has(~ .kui-TextFieldSlot:not([data-side='right']))) {
226
226
  text-indent: 0;
227
- padding-left: 0;
228
- border-top-left-radius: 0;
229
- border-bottom-left-radius: 0;
227
+ padding-inline-start: 0;
228
+ border-start-start-radius: 0;
229
+ border-end-start-radius: 0;
230
230
  }
231
231
 
232
- /* Remove border-radius and padding on the right if there's a right-side slot */
232
+ /* Remove border-radius and padding at the inline end if there's a right-side slot */
233
233
  /* prettier-ignore */
234
234
  &:where(:has(
235
235
  ~ .kui-TextFieldSlot[data-side='right'],
236
236
  ~ .kui-TextFieldSlot:not([data-side='right']) ~ .kui-TextFieldSlot:not([data-side='left'])
237
237
  )) {
238
- padding-right: 0;
239
- border-top-right-radius: 0;
240
- border-bottom-right-radius: 0;
238
+ padding-inline-end: 0;
239
+ border-start-end-radius: 0;
240
+ border-end-end-radius: 0;
241
241
  }
242
242
  }
243
243
 
@@ -261,8 +261,8 @@
261
261
 
262
262
  /* Safari credentials autofill icon */
263
263
  &::-webkit-textfield-decoration-container {
264
- padding-right: 0px;
265
- margin-right: -2px;
264
+ padding-inline-end: 0px;
265
+ margin-inline-end: -2px;
266
266
  }
267
267
  }
268
268
  }
@@ -286,8 +286,8 @@
286
286
 
287
287
  /* Safari credentials autofill icon */
288
288
  &::-webkit-textfield-decoration-container {
289
- padding-right: 2px;
290
- margin-right: 0px;
289
+ padding-inline-end: 2px;
290
+ margin-inline-end: 0px;
291
291
  }
292
292
  }
293
293
  }
@@ -310,8 +310,8 @@
310
310
 
311
311
  /* Safari credentials autofill icon */
312
312
  &::-webkit-textfield-decoration-container {
313
- padding-right: 5px;
314
- margin-right: 0px;
313
+ padding-inline-end: 5px;
314
+ margin-inline-end: 0px;
315
315
  }
316
316
  }
317
317
  }
@@ -333,8 +333,8 @@
333
333
 
334
334
  /* Safari credentials autofill icon */
335
335
  &::-webkit-textfield-decoration-container {
336
- padding-right: 5px;
337
- margin-right: 0px;
336
+ padding-inline-end: 5px;
337
+ margin-inline-end: 0px;
338
338
  }
339
339
  }
340
340
  }
@@ -662,11 +662,13 @@
662
662
 
663
663
  /* Error message styling */
664
664
  .kui-TextFieldErrorMessage {
665
+ /* A sibling of the root, below the field: it takes the field's type itself. */
666
+ font-family: var(--default-font-family);
667
+ font-weight: var(--font-weight-regular);
665
668
  color: var(--red-11);
666
669
  font-size: var(--font-size-1);
667
670
  line-height: var(--line-height-1);
668
- /* The field is a row, so a gap on the root would sit beside the message, not above it. The
669
- drop is inside the message's own box, never a margin on it. */
671
+ /* The drop is inside the message's own box, never a margin on it. */
670
672
  padding-top: var(--space-2);
671
673
  display: flex;
672
674
  align-items: center;
@@ -680,6 +682,19 @@
680
682
  line-height: 1;
681
683
  }
682
684
 
685
+ /*
686
+ * Forced colors drop box-shadows, which draw every variant's boundary, so the field gets a real
687
+ * border there, as BaseButton does.
688
+ */
689
+ @media (forced-colors: active) {
690
+ .kui-TextFieldRoot {
691
+ border: 1px solid CanvasText;
692
+ }
693
+ .kui-TextFieldRoot:where(:has(.kui-TextFieldInput:disabled)) {
694
+ border-color: GrayText;
695
+ }
696
+ }
697
+
683
698
  /***************************************************************************************************
684
699
  * *
685
700
  * SCRUBBING *
@@ -3,11 +3,11 @@
3
3
  import * as React from 'react';
4
4
  import * as ReactDOM from 'react-dom';
5
5
  import classNames from 'classnames';
6
- import { composeRefs } from 'radix-ui/internal';
6
+ import { composeEventHandlers, composeRefs } from 'radix-ui/internal';
7
7
 
8
8
  import { textFieldRootPropDefs, textFieldSlotPropDefs, type TextFieldSlotScrubProps } from './text-field.props.js';
9
9
  import { extractProps } from '../helpers/extract-props.js';
10
- import { useThemeSizeProps } from '../helpers/theme-size.js';
10
+ import { useThemeSizeProps } from '../hooks/theme-size.js';
11
11
 
12
12
  import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
13
13
  import type { NotInputTextualAttributes } from '../helpers/input-attributes.js';
@@ -21,6 +21,15 @@ type TextFieldRootOwnProps = GetPropDefTypes<typeof textFieldRootPropDefs> & {
21
21
  };
22
22
  type TextFieldInputProps = ComponentPropsWithout<'input', NotInputTextualAttributes | 'color' | 'defaultValue' | 'size' | 'type' | 'value'>;
23
23
  interface TextFieldRootProps extends TextFieldInputProps, TextFieldRootOwnProps {}
24
+
25
+ // Each Slot registers its id here, so the input can list slot content in aria-describedby.
26
+ type TextFieldContextValue = { registerSlot: (id: string) => () => void };
27
+ const TextFieldContext = React.createContext<TextFieldContextValue | null>(null);
28
+
29
+ // Clicking anything a person could mean to press keeps its own press: the guard is a focusability
30
+ // list, not a tag list. `[tabindex]` catches role-based widgets; `label` already redirects a click.
31
+ const FOCUSABLE_IN_SLOT = 'button, a, input, select, textarea, label, [tabindex], [contenteditable]';
32
+
24
33
  const TextFieldRoot = React.forwardRef<TextFieldRootElement, TextFieldRootProps>((ownProps, forwardedRef) => {
25
34
  const props = useThemeSizeProps(ownProps, textFieldRootPropDefs.size);
26
35
  const inputRef = React.useRef<HTMLInputElement>(null);
@@ -29,18 +38,27 @@ const TextFieldRoot = React.forwardRef<TextFieldRootElement, TextFieldRootProps>
29
38
  // Generate unique IDs for accessibility
30
39
  const errorId = React.useId();
31
40
 
41
+ // Slot content qualifies the value, so it describes the input (as in v2), in mount order.
42
+ const [slotIds, setSlotIds] = React.useState<string[]>([]);
43
+ const registerSlot = React.useCallback((id: string) => {
44
+ setSlotIds((prev) => (prev.includes(id) ? prev : [...prev, id]));
45
+ return () => setSlotIds((prev) => prev.filter((slotId) => slotId !== id));
46
+ }, []);
47
+ const contextValue = React.useMemo(() => ({ registerSlot }), [registerSlot]);
48
+
32
49
  const { 'aria-describedby': ariaDescribedby, 'aria-labelledby': ariaLabelledby, 'aria-invalid': ariaInvalid } = inputProps;
33
50
 
34
51
  // Invalid when `error` is set or the caller passes aria-invalid; the CSS keys on aria-invalid only.
35
52
  const isInvalid = Boolean(inputProps.error) || ariaInvalid === true || ariaInvalid === 'true';
36
53
 
37
- // Build aria-describedby string
54
+ // Build aria-describedby string. The caller's ids stay; ours are appended.
38
55
  const describedBy = React.useMemo(() => {
39
56
  const parts = [];
40
57
  if (inputProps.errorMessage) parts.push(errorId);
41
58
  if (ariaDescribedby) parts.push(ariaDescribedby);
59
+ parts.push(...slotIds);
42
60
  return parts.length > 0 ? parts.join(' ') : undefined;
43
- }, [inputProps.errorMessage, ariaDescribedby, errorId]);
61
+ }, [inputProps.errorMessage, ariaDescribedby, errorId, slotIds]);
44
62
 
45
63
  // Build aria attributes
46
64
  const ariaProps = React.useMemo(
@@ -55,10 +73,11 @@ const TextFieldRoot = React.forwardRef<TextFieldRootElement, TextFieldRootProps>
55
73
  // Filter out our custom props to avoid DOM warnings
56
74
  const { error, errorMessage, required, 'aria-describedby': _ariaDescribedby, 'aria-labelledby': _ariaLabelledby, ...nativeInputProps } = inputProps;
57
75
 
58
- // Memoized pointer event handler
59
- const handlePointerDown = React.useCallback((event: React.PointerEvent) => {
76
+ // Clicking the padding or a passive slot focuses the input. preventDefault stops the browser
77
+ // from moving focus to the root first, so the input is focused once, synchronously.
78
+ const handleMouseDown = React.useCallback((event: React.MouseEvent) => {
60
79
  const target = event.target as HTMLElement;
61
- if (target.closest('input, button, a')) return;
80
+ if (target.closest(FOCUSABLE_IN_SLOT)) return;
62
81
 
63
82
  const input = inputRef.current;
64
83
  if (!input) return;
@@ -71,34 +90,39 @@ const TextFieldRoot = React.forwardRef<TextFieldRootElement, TextFieldRootProps>
71
90
 
72
91
  const cursorPosition = isRightSlot ? input.value.length : 0;
73
92
 
74
- requestAnimationFrame(() => {
75
- // Only some input types support this, browsers will throw an error if not supported
76
- // See: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange#:~:text=Note%20that%20according,not%20support%20selection%22.
77
- try {
78
- input.setSelectionRange(cursorPosition, cursorPosition);
79
- } catch {}
80
- input.focus();
81
- });
93
+ event.preventDefault();
94
+ input.focus();
95
+ // Only some input types support this, browsers will throw an error if not supported
96
+ // See: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange#:~:text=Note%20that%20according,not%20support%20selection%22.
97
+ try {
98
+ input.setSelectionRange(cursorPosition, cursorPosition);
99
+ } catch {}
82
100
  }, []);
83
101
 
102
+ // The message is a sibling of the painted root, so it sits below the field rather than inside it.
84
103
  return (
85
- <div
86
- data-accent-color={color}
87
- data-radius={radius}
88
- style={style}
89
- className={classNames('kui-TextFieldRoot', className, {
90
- 'kui-error': isInvalid,
91
- })}
92
- onPointerDown={handlePointerDown}
93
- >
94
- <input {...nativeInputProps} required={required || undefined} {...ariaProps} ref={composeRefs(inputRef, forwardedRef)} className="kui-reset kui-TextFieldInput" />
95
- {children}
104
+ <>
105
+ {/* A pointer-only hit-target redirect to the input; keyboard users reach the input directly. */}
106
+ {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}
107
+ <div
108
+ data-accent-color={color}
109
+ data-radius={radius}
110
+ style={style}
111
+ className={classNames('kui-TextFieldRoot', className, {
112
+ // Not used by the library's CSS (invalid styling keys on aria-invalid); kept as a hook for app styles.
113
+ 'kui-error': isInvalid,
114
+ })}
115
+ onMouseDown={handleMouseDown}
116
+ >
117
+ <input {...nativeInputProps} required={required || undefined} {...ariaProps} ref={composeRefs(inputRef, forwardedRef)} className="kui-reset kui-TextFieldInput" />
118
+ <TextFieldContext.Provider value={contextValue}>{children}</TextFieldContext.Provider>
119
+ </div>
96
120
  {inputProps.errorMessage && (
97
121
  <div id={errorId} className="kui-TextFieldErrorMessage" role="alert">
98
122
  {inputProps.errorMessage}
99
123
  </div>
100
124
  )}
101
- </div>
125
+ </>
102
126
  );
103
127
  });
104
128
  TextFieldRoot.displayName = 'TextField.Root';
@@ -122,12 +146,27 @@ const TextFieldSlot = React.forwardRef<TextFieldSlotElement, TextFieldSlotProps>
122
146
  const { scrub, scrubValue, scrubStep = 1, scrubSensitivity = 1, scrubMin, scrubMax, scrubShiftMultiplier = 10, scrubAltMultiplier = 0.1, onScrub, ...restProps } = props;
123
147
 
124
148
  // Then extract styling props
125
- const { className, color, side, ...slotProps } = extractProps(restProps, textFieldSlotPropDefs);
149
+ const { className, color, side, onPointerDown, onPointerMove, onPointerUp, onLostPointerCapture, ...slotProps } = extractProps(
150
+ restProps,
151
+ textFieldSlotPropDefs,
152
+ );
153
+
154
+ // The slot describes the input (see TextFieldRoot); a caller's own id is kept.
155
+ const generatedId = React.useId();
156
+ const slotId = slotProps.id ?? generatedId;
157
+ const registerSlot = React.useContext(TextFieldContext)?.registerSlot;
158
+ React.useEffect(() => registerSlot?.(slotId), [registerSlot, slotId]);
126
159
 
127
160
  const slotRef = React.useRef<HTMLDivElement>(null);
128
161
  const [isScrubbing, setIsScrubbing] = React.useState(false);
129
- // Virtual cursor position - X wraps around viewport, Y follows mouse
130
- const [cursorPosition, setCursorPosition] = React.useState({ x: 0, y: 0 });
162
+ // Where the virtual cursor starts. Movement is written straight to the cursor element, so a
163
+ // scrub does not re-render the slot on every mouse move.
164
+ const [cursorStart, setCursorStart] = React.useState({ x: 0, y: 0 });
165
+ const cursorRef = React.useRef<HTMLImageElement>(null);
166
+ // Virtual cursor Y, tracked beside virtualX
167
+ const virtualY = React.useRef(0);
168
+ // Whether this slot asked for the pointer lock, so a lock change elsewhere is not ours
169
+ const lockedByMe = React.useRef(false);
131
170
 
132
171
  // Track accumulated sub-step movement for precision
133
172
  const accumulatedMovement = React.useRef(0);
@@ -168,7 +207,7 @@ const TextFieldSlot = React.forwardRef<TextFieldSlotElement, TextFieldSlotProps>
168
207
 
169
208
  // Don't start scrubbing if clicking on interactive elements
170
209
  const target = event.target as HTMLElement;
171
- if (target.closest('input, button, a')) return;
210
+ if (target.closest(FOCUSABLE_IN_SLOT)) return;
172
211
 
173
212
  event.preventDefault();
174
213
  accumulatedMovement.current = 0;
@@ -177,7 +216,8 @@ const TextFieldSlot = React.forwardRef<TextFieldSlotElement, TextFieldSlotProps>
177
216
 
178
217
  // Initialize virtual cursor at actual mouse position
179
218
  virtualX.current = event.clientX;
180
- setCursorPosition({ x: event.clientX, y: event.clientY });
219
+ virtualY.current = event.clientY;
220
+ setCursorStart({ x: event.clientX, y: event.clientY });
181
221
 
182
222
  const slot = slotRef.current;
183
223
  if (!slot) return;
@@ -190,20 +230,24 @@ const TextFieldSlot = React.forwardRef<TextFieldSlotElement, TextFieldSlotProps>
190
230
  setIsScrubbing(true);
191
231
  } else {
192
232
  // Chrome: Use pointer lock for infinite movement
233
+ lockedByMe.current = true;
193
234
  slot.requestPointerLock();
194
235
  }
195
236
  },
196
237
  [scrub, scrubValue],
197
238
  );
198
239
 
199
- // Handle pointer lock state changes (Chrome only)
240
+ // Handle pointer lock state changes (Chrome only). Only a scrub slot listens, and only a lock
241
+ // this slot asked for starts or ends its scrub.
200
242
  React.useEffect(() => {
201
- if (usePointerCapture) return;
243
+ if (usePointerCapture || !scrub) return;
202
244
 
203
245
  const handlePointerLockChange = () => {
246
+ if (!lockedByMe.current) return;
204
247
  const isLocked = document.pointerLockElement === slotRef.current;
205
248
  setIsScrubbing(isLocked);
206
249
  if (!isLocked) {
250
+ lockedByMe.current = false;
207
251
  // Fire callback with isChanging = false when scrubbing ends
208
252
  scrubConfigRef.current.onScrub?.(0, false);
209
253
  accumulatedMovement.current = 0;
@@ -215,7 +259,7 @@ const TextFieldSlot = React.forwardRef<TextFieldSlotElement, TextFieldSlotProps>
215
259
  return () => {
216
260
  document.removeEventListener('pointerlockchange', handlePointerLockChange);
217
261
  };
218
- }, []);
262
+ }, [scrub]);
219
263
 
220
264
  // Shared scrub calculation logic
221
265
  const processScrubMovement = React.useCallback((movementX: number, movementY: number, shiftKey: boolean, altKey: boolean) => {
@@ -232,15 +276,19 @@ const TextFieldSlot = React.forwardRef<TextFieldSlotElement, TextFieldSlotProps>
232
276
  }
233
277
 
234
278
  // Also track Y with wrap-around
235
- setCursorPosition((prev) => {
236
- let newY = prev.y + movementY;
237
- if (newY > viewportHeight) {
238
- newY = newY % viewportHeight;
239
- } else if (newY < 0) {
240
- newY = viewportHeight + (newY % viewportHeight);
241
- }
242
- return { x: virtualX.current, y: newY };
243
- });
279
+ let newY = virtualY.current + movementY;
280
+ if (newY > viewportHeight) {
281
+ newY = newY % viewportHeight;
282
+ } else if (newY < 0) {
283
+ newY = viewportHeight + (newY % viewportHeight);
284
+ }
285
+ virtualY.current = newY;
286
+
287
+ const cursor = cursorRef.current;
288
+ if (cursor) {
289
+ cursor.style.left = `${virtualX.current}px`;
290
+ cursor.style.top = `${newY}px`;
291
+ }
244
292
 
245
293
  // Accumulate movement for sensitivity calculation
246
294
  accumulatedMovement.current += movementX;
@@ -369,13 +417,14 @@ const TextFieldSlot = React.forwardRef<TextFieldSlotElement, TextFieldSlotProps>
369
417
  const virtualCursor = isScrubbing
370
418
  ? ReactDOM.createPortal(
371
419
  <img
420
+ ref={cursorRef}
372
421
  className="kui-TextFieldSlotScrubCursor"
373
422
  src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='black' stroke='white' stroke-width='1' d='M0 12 L5 7 L5 10 L19 10 L19 7 L24 12 L19 17 L19 14 L5 14 L5 17 Z'/%3E%3C/svg%3E"
374
423
  alt=""
375
424
  style={{
376
425
  position: 'fixed',
377
- left: cursorPosition.x,
378
- top: cursorPosition.y,
426
+ left: cursorStart.x,
427
+ top: cursorStart.y,
379
428
  transform: 'translate(-50%, -50%)',
380
429
  pointerEvents: 'none',
381
430
  zIndex: 99999,
@@ -395,12 +444,14 @@ const TextFieldSlot = React.forwardRef<TextFieldSlotElement, TextFieldSlotProps>
395
444
  data-scrub={scrub || undefined}
396
445
  data-scrubbing={isScrubbing || undefined}
397
446
  {...slotProps}
447
+ id={slotId}
398
448
  ref={composeRefs(slotRef, forwardedRef)}
399
449
  className={classNames('kui-TextFieldSlot', className)}
400
- onPointerDown={scrub ? handlePointerDown : undefined}
401
- onPointerMove={scrub ? handlePointerMove : undefined}
402
- onPointerUp={scrub ? handlePointerUp : undefined}
403
- onLostPointerCapture={scrub ? handleLostPointerCapture : undefined}
450
+ // The caller's handlers run first; the scrub handlers only when `scrub` is set.
451
+ onPointerDown={scrub ? composeEventHandlers(onPointerDown, handlePointerDown) : onPointerDown}
452
+ onPointerMove={scrub ? composeEventHandlers(onPointerMove, handlePointerMove) : onPointerMove}
453
+ onPointerUp={scrub ? composeEventHandlers(onPointerUp, handlePointerUp) : onPointerUp}
454
+ onLostPointerCapture={scrub ? composeEventHandlers(onLostPointerCapture, handleLostPointerCapture) : onLostPointerCapture}
404
455
  >
405
456
  {slotProps.children}
406
457
  {virtualCursor}