@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
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/chatbar.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { useComposedRefs, useLayoutEffect } from 'radix-ui/internal';\nimport { useDropzone } from 'react-dropzone';\n\nimport { Button } from './button.js';\nimport { CloseIcon, FileTextIcon, PaperclipIcon } from './icons.js';\nimport { Flex } from './flex.js';\nimport { ScrollArea } from './scroll-area.js';\nimport { Slot } from './slot.js';\nimport { NoticeSizeContext } from './notice.js';\nimport { useThemeSize } from '../hooks/theme-size.js';\nimport { Spinner } from './spinner.js';\nimport { Text } from './text.js';\nimport { VisuallyHidden } from './visually-hidden.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { accentColors } from '../props/color.prop.js';\nimport type { radii } from '../props/radius.prop.js';\nimport type { ButtonProps, ButtonRankProps } from './button.js';\n\n/**\n * Runs `measure` with the placeholder taken out of layout, so a height read\n * reflects the value alone.\n *\n * A textarea with an empty value lays its placeholder out as real text, so\n * `scrollHeight` reports the placeholder wrapped at whatever width the field\n * has at that instant. That sizes an empty bar to the suggestion showing in it\n * rather than to `minLines`, and when the read lands before the field has its\n * final width -- a panel still animating open, a flex parent whose basis is 0\n * -- it wraps that text at a fraction of the real width and opens the bar at\n * `maxLines`. The first keystroke takes the placeholder out of layout and the\n * height snaps back, which is what made the bug look intermittent rather than\n * simply wrong.\n *\n * The reset to 'auto' and the `scrollHeight` read sit in different functions\n * here, so the whole measurement window is wrapped rather than a single read.\n * Costs one extra style recalc on a path that is already forcing a reflow.\n */\nfunction withoutPlaceholder(el: HTMLTextAreaElement, measure: () => void): void {\n const { placeholder } = el;\n if (!placeholder) {\n measure();\n return;\n }\n el.placeholder = '';\n try {\n measure();\n } finally {\n el.placeholder = placeholder;\n }\n}\n\ntype ExpandOn = 'none' | 'focus' | 'overflow' | 'both';\ntype SendMode = 'always' | 'whenDirty' | 'never';\n\n// Attachments\n/** Status flag for attachment lifecycle. */\ntype AttachmentStatus = 'idle' | 'uploading' | 'error' | 'done';\n/**\n * Attachment data model used by Chatbar.\n * - `file` exposes the original File object for uploads and processing.\n * - `url` is an object URL used for image previews. Chatbar revokes it when the\n * attachment is removed; once an attachment is handed to `onSubmit`, the\n * consumer owns the URL and is responsible for revoking it.\n */\ninterface ChatbarAttachment {\n id: string;\n name: string;\n size: number;\n type: string;\n /** Original File object for uploads and processing */\n file: File;\n url?: string;\n status?: AttachmentStatus;\n progress?: number;\n meta?: Record<string, unknown>;\n}\n\ntype ChatbarRejectReason = 'type' | 'size' | 'count';\ninterface ChatbarAttachmentRejection {\n file: File;\n reason: ChatbarRejectReason;\n}\n\ninterface ChatbarSubmitPayload {\n value: string;\n attachments: ChatbarAttachment[];\n}\n\ninterface FilePickerOptions {\n accept?: string | string[];\n multiple?: boolean;\n}\n\ninterface ChatbarContextValue {\n open: boolean;\n setOpen(next: boolean): void;\n\n setValue(next: string): void;\n\n size: '1' | '2' | '3';\n expandOn: ExpandOn;\n minLines: number;\n maxLines: number;\n sendMode: SendMode;\n disabled?: boolean;\n readOnly?: boolean;\n paste: boolean;\n clearOnSubmit: boolean;\n multiple: boolean;\n\n textareaRef: React.RefObject<HTMLTextAreaElement | null>;\n\n attachments: ChatbarAttachment[];\n removeAttachment(id: string): void;\n\n /** Validates and submits; returns false when there was nothing to submit */\n submit(clear: boolean): boolean;\n appendFiles(files: File[]): number;\n appendFilesFromPaste(files: File[]): number;\n openFilePicker(options?: FilePickerOptions): void;\n /** Guards blur-collapse between pointerdown on a picker trigger and its click */\n beginFilePickerPress(): void;\n}\n\n/** Chatbar's own range; a Theme size of 4 maps to 3. */\nconst chatbarSizePropDef = { values: ['1', '2', '3'] as const };\n\nconst ChatbarContext = React.createContext<ChatbarContextValue | null>(null);\n// Value lives in its own context so keystrokes only re-render parts that read it\nconst ChatbarValueContext = React.createContext<string>('');\n\nconst useChatbarContext = () => {\n const ctx = React.useContext(ChatbarContext);\n if (!ctx) throw new Error('Chatbar context not found. Wrap parts in <Chatbar.Root>.');\n return ctx;\n};\n\nconst toArray = (val: string | string[] | undefined) =>\n Array.isArray(val) ? val : typeof val === 'string' ? val.split(',').map((s) => s.trim()).filter(Boolean) : [];\n\nconst matchesAccept = (file: File, patterns: string[]) => {\n if (patterns.length === 0) return true;\n const mime = file.type.toLowerCase();\n const name = file.name.toLowerCase();\n for (const patRaw of patterns) {\n const pat = patRaw.toLowerCase();\n if (pat.includes('/')) {\n const [type, subtype] = pat.split('/');\n const [fmType, fmSubtype] = mime.split('/');\n if (type === '*' || (type === fmType && (subtype === '*' || subtype === fmSubtype))) return true;\n } else if (pat.startsWith('.')) {\n if (name.endsWith(pat)) return true;\n }\n }\n return false;\n};\n\nconst IMAGE_EXT_RE = /\\.(png|jpe?g|gif|webp|bmp|svg|avif)$/i;\nconst isImageLike = (name: string, type: string) => (type || '').toLowerCase().startsWith('image/') || IMAGE_EXT_RE.test(name);\n\nconst hasText = (value: string) => value.trim().length > 0;\n\nconst plural = (n: number, word: string) => `${n} ${word}${n === 1 ? '' : 's'}`;\n\nlet attachmentCounter = 0;\nconst createAttachmentId = () => `chatbar-attachment-${Date.now()}-${++attachmentCounter}`;\n\n/**\n * Chatbar container and state provider.\n *\n * Value & Open\n * - Supports controlled/uncontrolled `value` and `open`.\n *\n * Attachments\n * - Controlled/uncontrolled attachments with client-side filtering.\n * - Filters by `accept`/`pasteAccept`, `multiple`, `maxAttachments`, and `maxFileSize`.\n * - Rejections are reported via `onAttachmentReject`.\n *\n * Submit\n * - `onSubmit({ value, attachments })` emits both message and attachments.\n * - Submitting requires text or at least one attachment.\n * - `clearOnSubmit` clears message and attachments by default.\n */\ninterface ChatbarRootBaseProps {\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n\n /** When the chatbar expands on its own. `none` leaves open state entirely to the consumer. */\n expandOn?: ExpandOn;\n\n /** Minimum visible lines when expanded (default: 3). The compact state is always one line. */\n minLines?: number;\n /** Maximum number of lines before scrolling (default: 6) */\n maxLines?: number;\n\n /** Controls Send button visibility only. Enter-to-submit is controlled by `Textarea submitOnEnter`. */\n sendMode?: SendMode;\n\n /** Disables text input, submission and every way of adding attachments */\n disabled?: boolean;\n /** Prevents editing, submission and adding attachments */\n readOnly?: boolean;\n\n /** Combined submit payload */\n onSubmit?: (payload: ChatbarSubmitPayload) => void;\n\n size?: '1' | '2' | '3';\n variant?: 'raised' | 'surface' | 'outline' | 'ghost' | 'soft';\n /** Accent color for the control (matches TextArea) */\n color?: (typeof accentColors)[number];\n /** Optional radius override (matches TextArea) */\n radius?: (typeof radii)[number];\n\n width?: React.CSSProperties['width'];\n maxWidth?: React.CSSProperties['maxWidth'];\n\n // Attachments API\n attachments?: ChatbarAttachment[];\n defaultAttachments?: ChatbarAttachment[];\n onAttachmentsChange?: (attachments: ChatbarAttachment[]) => void;\n accept?: string | string[];\n /** Allow more than one file per pick, paste or drop */\n multiple?: boolean;\n maxAttachments?: number;\n maxFileSize?: number;\n paste?: boolean;\n /** Accepted types for pasted files. Replaces `accept` for paste when set. */\n pasteAccept?: string | string[];\n /** Clear message and attachments after submit */\n clearOnSubmit?: boolean;\n onAttachmentReject?: (rejections: ChatbarAttachmentRejection[]) => void;\n\n /**\n * Enables drag-and-drop file uploads when true.\n *\n * When enabled:\n * - Files can be dropped anywhere on the chatbar\n * - Same validation rules apply (accept, multiple, maxFileSize, maxAttachments)\n * - Visual feedback shows during drag operations\n * - Rejected files trigger onAttachmentReject\n *\n * @default true\n */\n dropzone?: boolean;\n\n /**\n * Optional API ref to control Chatbar imperatively without relying on DOM refs.\n * Provides methods to focus the textarea and open the file picker.\n */\n apiRef?: React.Ref<ChatbarApi>;\n\n /**\n * Messages that need an answer before the next message, such as `Notice` and `Confirmation`.\n * They stack in a column above the chatbar, in the order given, so put the one the next\n * message answers last, nearest the text. They sit outside the box: a button in a notice never\n * submits the message, and pressing one never collapses the chatbar.\n */\n notices?: React.ReactNode;\n /**\n * Short facts that stay true about the conversation, such as the model or the context left.\n * They sit below the chatbar, inset from its sides.\n */\n context?: React.ReactNode;\n}\n\ntype RootElement = React.ElementRef<'div'>;\n/** Imperative API for Chatbar.Root */\nexport interface ChatbarApi {\n /** Focus the textarea input */\n focusTextarea: () => void;\n /** Open the file picker dialog (respects accept/multiple). No-op when disabled or read-only. */\n openFilePicker: () => void;\n}\n/**\n * Chatbar container and state provider.\n *\n * Behavior\n * - Supports controlled and uncontrolled `value` and `open` states via props.\n * - Provides context to subcomponents like `Textarea`, `Row`, and `Send`.\n * - Exposes `data-state`, `data-disabled`, and `data-readonly` attributes for styling.\n *\n * Attachments\n * - Paste-to-attach: when `paste` is enabled, pasting files adds attachments.\n * - Additions and rejections are announced through a polite live region.\n *\n * Dropzone\n * - When `dropzone` is true, enables drag-and-drop file uploads.\n * - Visual feedback via `data-drop-active` attribute during drag operations.\n *\n * Accessibility\n * - Consumers should label the `Textarea` via `aria-label`/`aria-labelledby`.\n */\ninterface RootProps extends ComponentPropsWithout<'div', RemovedProps | 'onSubmit' | 'color'>, ChatbarRootBaseProps {}\n\nconst Root = React.forwardRef<RootElement, RootProps>((props, forwardedRef) => {\n const {\n className,\n style,\n children,\n value: valueProp,\n defaultValue = '',\n onValueChange,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n expandOn = 'both',\n minLines = 3,\n maxLines = 6,\n sendMode = 'whenDirty',\n disabled,\n readOnly,\n onSubmit,\n size: sizeProp,\n variant,\n color,\n radius,\n width,\n maxWidth,\n attachments: attachmentsProp,\n defaultAttachments,\n onAttachmentsChange,\n accept,\n multiple = true,\n maxAttachments,\n maxFileSize,\n paste = true,\n pasteAccept,\n clearOnSubmit = true,\n onAttachmentReject,\n dropzone = true,\n apiRef,\n onBlurCapture,\n notices,\n context,\n ...divProps\n } = props;\n const size = useThemeSize(sizeProp, chatbarSizePropDef);\n\n const isValueControlled = valueProp != null;\n const [valueUncontrolled, setValueUncontrolled] = React.useState<string>(defaultValue);\n const value = isValueControlled ? valueProp : valueUncontrolled;\n\n const isOpenControlled = openProp != null;\n const [openUncontrolled, setOpenUncontrolled] = React.useState<boolean>(defaultOpen);\n const open = isOpenControlled ? openProp : openUncontrolled;\n\n // Treat `attachments` as controlled if the prop is provided, even if its value is `undefined`.\n // This avoids switching between controlled and uncontrolled when a consumer sets\n // `attachments={undefined}` to clear attachments. In that case we normalize to an empty array.\n const isAttachmentsControlled = 'attachments' in props;\n const [attachmentsUncontrolled, setAttachmentsUncontrolled] = React.useState<ChatbarAttachment[]>(() => defaultAttachments ?? []);\n const attachments = React.useMemo(\n () => (isAttachmentsControlled ? (attachmentsProp ?? []) : attachmentsUncontrolled),\n [isAttachmentsControlled, attachmentsProp, attachmentsUncontrolled],\n );\n\n // `id` changes on every announcement so identical messages still update the live region\n const [announcement, setAnnouncementState] = React.useState({ text: '', id: 0 });\n const announce = React.useCallback((text: string) => setAnnouncementState((prev) => ({ text, id: prev.id + 1 })), []);\n\n const rootRef = React.useRef<HTMLDivElement>(null);\n const composedRootRef = useComposedRefs(forwardedRef, rootRef);\n const textareaRef = React.useRef<HTMLTextAreaElement>(null);\n const fileInputRef = React.useRef<HTMLInputElement>(null);\n\n // Blur-collapse guards: `pickerOpenRef` is true while the native dialog is open,\n // `pressGuardRef` covers the gap between pointerdown on a trigger and its click\n // (Safari blurs the textarea before the click fires).\n const pickerOpenRef = React.useRef(false);\n const pressGuardRef = React.useRef(false);\n const pressGuardTimerRef = React.useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const pickerRef = React.useRef<{ patterns: string[]; multiple: boolean } | null>(null);\n\n const acceptKey = toArray(accept).join(',');\n const pasteAcceptKey = toArray(pasteAccept).join(',');\n const accepts = React.useMemo(() => toArray(acceptKey), [acceptKey]);\n const pasteAccepts = React.useMemo(() => (pasteAcceptKey ? toArray(pasteAcceptKey) : accepts), [pasteAcceptKey, accepts]);\n\n // Latest props/state for stable callbacks. Synced during render (not in an effect) so\n // child layout effects that call setOpen/setValue see this render's handlers.\n const snapshot = {\n value,\n attachments,\n accepts,\n pasteAccepts,\n multiple,\n maxAttachments,\n maxFileSize,\n disabled,\n readOnly,\n expandOn,\n isValueControlled,\n isOpenControlled,\n isAttachmentsControlled,\n onValueChange,\n onOpenChange,\n onAttachmentsChange,\n onAttachmentReject,\n onSubmit,\n };\n const latest = React.useRef(snapshot);\n // eslint-disable-next-line react-hooks/refs -- read only in callbacks/effects; see comment above\n latest.current = snapshot;\n\n // Attachments set during the current event, before Root re-renders. Cleared at the end\n // of the task so a controlled parent that rejects the change is not overridden.\n const pendingAttachmentsRef = React.useRef<ChatbarAttachment[] | null>(null);\n const getAttachments = React.useCallback(() => pendingAttachmentsRef.current ?? latest.current.attachments, []);\n\n const setOpen = React.useCallback((next: boolean) => {\n if (!latest.current.isOpenControlled) setOpenUncontrolled(next);\n latest.current.onOpenChange?.(next);\n }, []);\n\n const setValue = React.useCallback((next: string) => {\n if (!latest.current.isValueControlled) setValueUncontrolled(next);\n latest.current.onValueChange?.(next);\n }, []);\n\n const setAttachments = React.useCallback((next: ChatbarAttachment[]) => {\n // Back-to-back updates in one event must see each other\n pendingAttachmentsRef.current = next;\n queueMicrotask(() => {\n pendingAttachmentsRef.current = null;\n });\n if (!latest.current.isAttachmentsControlled) setAttachmentsUncontrolled(next);\n latest.current.onAttachmentsChange?.(next);\n }, []);\n\n // Object URLs Chatbar created and still owns\n const ownedUrlsRef = React.useRef<Set<string>>(new Set());\n\n const addFiles = React.useCallback(\n (files: File[], patterns: string[], multiple: boolean = latest.current.multiple): number => {\n const cfg = latest.current;\n if (cfg.disabled || cfg.readOnly || files.length === 0) return 0;\n\n const current = getAttachments();\n const next: ChatbarAttachment[] = [];\n const rejected: ChatbarAttachmentRejection[] = [];\n const remainingSlots = typeof cfg.maxAttachments === 'number' ? Math.max(cfg.maxAttachments - current.length, 0) : Infinity;\n const perActionLimit = multiple ? Infinity : 1;\n\n for (const file of files) {\n if (next.length >= remainingSlots || next.length >= perActionLimit) {\n rejected.push({ file, reason: 'count' });\n continue;\n }\n if (typeof cfg.maxFileSize === 'number' && file.size > cfg.maxFileSize) {\n rejected.push({ file, reason: 'size' });\n continue;\n }\n if (!matchesAccept(file, patterns)) {\n rejected.push({ file, reason: 'type' });\n continue;\n }\n const url = isImageLike(file.name, file.type) ? URL.createObjectURL(file) : undefined;\n if (url) ownedUrlsRef.current.add(url);\n next.push({ id: createAttachmentId(), name: file.name, size: file.size, type: file.type, file, url, status: 'idle' });\n }\n\n const messages: string[] = [];\n if (next.length > 0) {\n setAttachments(current.concat(next));\n if (cfg.expandOn !== 'none') setOpen(true);\n messages.push(`${plural(next.length, 'file')} attached.`);\n }\n if (rejected.length > 0) {\n cfg.onAttachmentReject?.(rejected);\n messages.push(`${plural(rejected.length, 'file')} could not be attached.`);\n }\n if (messages.length > 0) announce(messages.join(' '));\n return next.length;\n },\n [getAttachments, setAttachments, setOpen, announce],\n );\n\n const appendFiles = React.useCallback((files: File[]) => addFiles(files, latest.current.accepts), [addFiles]);\n const appendFilesFromPaste = React.useCallback((files: File[]) => addFiles(files, latest.current.pasteAccepts), [addFiles]);\n\n const removeAttachment = React.useCallback(\n (id: string) => {\n const current = getAttachments();\n const removed = current.find((a) => a.id === id);\n if (!removed) return;\n setAttachments(current.filter((a) => a.id !== id));\n announce(`Removed ${removed.name}.`);\n },\n [getAttachments, setAttachments, announce],\n );\n\n const submit = React.useCallback(\n (clear: boolean) => {\n const cfg = latest.current;\n if (cfg.disabled || cfg.readOnly) return false;\n const current = getAttachments();\n if (!hasText(cfg.value) && current.length === 0) return false;\n const payload = { value: cfg.value, attachments: current };\n // Hand preview URLs to the consumer only when they leave the chatbar; URLs still\n // rendered here stay owned so removing them later revokes them\n if (clear && cfg.onSubmit) {\n for (const att of current) if (att.url) ownedUrlsRef.current.delete(att.url);\n }\n cfg.onSubmit?.(payload);\n if (clear) {\n setValue('');\n setAttachments([]);\n }\n return true;\n },\n [getAttachments, setValue, setAttachments],\n );\n\n // Revoke owned object URLs that are no longer referenced by current attachments\n React.useEffect(() => {\n const owned = ownedUrlsRef.current;\n if (owned.size === 0) return;\n const current = new Set(attachments.map((a) => a.url));\n for (const url of Array.from(owned)) {\n if (!current.has(url)) {\n URL.revokeObjectURL(url);\n owned.delete(url);\n }\n }\n }, [attachments]);\n\n // On unmount, revoke URLs only when Chatbar owns the attachment list;\n // controlled attachments may still be rendered by the parent.\n React.useEffect(() => {\n const owned = ownedUrlsRef.current;\n return () => {\n if (latest.current.isAttachmentsControlled) return;\n for (const url of Array.from(owned)) URL.revokeObjectURL(url);\n owned.clear();\n };\n }, []);\n\n const openFilePicker = React.useCallback((options?: FilePickerOptions) => {\n const cfg = latest.current;\n const input = fileInputRef.current;\n // The picker guard takes over from the press guard\n clearTimeout(pressGuardTimerRef.current);\n pressGuardRef.current = false;\n if (!input || cfg.disabled || cfg.readOnly) return;\n const patterns = options?.accept != null ? toArray(options.accept) : cfg.accepts;\n const multiple = options?.multiple ?? cfg.multiple;\n pickerRef.current = { patterns, multiple };\n input.accept = patterns.join(',');\n input.multiple = multiple;\n pickerOpenRef.current = true;\n input.click();\n // Browsers block the dialog outside a user gesture; if the window kept focus,\n // no dialog opened and no focus/cancel/change event will clear the guard\n setTimeout(() => {\n if (document.hasFocus()) pickerOpenRef.current = false;\n }, 1000);\n }, []);\n\n const beginFilePickerPress = React.useCallback(() => {\n // On touch (notably iOS), the compatibility mousedown, blur and click arrive in later\n // tasks than pointerup, so hold the guard until the click or a timeout\n pressGuardRef.current = true;\n clearTimeout(pressGuardTimerRef.current);\n pressGuardTimerRef.current = setTimeout(() => {\n pressGuardRef.current = false;\n }, 800);\n }, []);\n\n React.useEffect(() => () => clearTimeout(pressGuardTimerRef.current), []);\n\n // Clear the picker guard when the dialog closes, whichever way it closes\n React.useEffect(() => {\n const input = fileInputRef.current;\n const reset = () => {\n pickerOpenRef.current = false;\n };\n window.addEventListener('focus', reset);\n input?.addEventListener('cancel', reset);\n return () => {\n window.removeEventListener('focus', reset);\n input?.removeEventListener('cancel', reset);\n };\n }, []);\n\n const handleFileInputChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const input = event.currentTarget;\n const files = Array.from(input.files ?? []);\n const picker = pickerRef.current;\n addFiles(files, picker?.patterns ?? latest.current.accepts, picker?.multiple);\n pickerOpenRef.current = false;\n pickerRef.current = null;\n // Reset so selecting the same file again still fires change\n input.value = '';\n },\n [addFiles],\n );\n\n const handleBlurCapture = React.useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n onBlurCapture?.(event);\n const cfg = latest.current;\n const rootEl = rootRef.current;\n if (!rootEl || cfg.expandOn === 'none') return;\n const nextTarget = event.relatedTarget as Node | null;\n if (nextTarget && rootEl.contains(nextTarget)) return;\n if (pickerOpenRef.current || pressGuardRef.current) return;\n if (!hasText(cfg.value) && getAttachments().length === 0) setOpen(false);\n },\n [onBlurCapture, setOpen, getAttachments],\n );\n\n const handleDrop = React.useCallback((files: File[]) => {\n appendFiles(files);\n }, [appendFiles]);\n\n // Validation happens in addFiles so drop, paste and picker share one rule set\n const { getRootProps, isDragActive } = useDropzone({\n onDrop: handleDrop,\n // Drop any earlier message so it is not re-announced when the drag hint goes away\n onDragEnter: () => announce(''),\n noClick: true,\n noKeyboard: true,\n // Textarea handles paste itself; letting the dropzone see it attaches twice\n noPaste: true,\n disabled: !dropzone || disabled || readOnly,\n });\n const dragActive = dropzone && isDragActive;\n\n React.useImperativeHandle(\n apiRef,\n () => ({\n focusTextarea: () => textareaRef.current?.focus({ preventScroll: true }),\n openFilePicker: () => openFilePicker(),\n }),\n [openFilePicker],\n );\n\n // Click-to-focus: focus textarea when clicking non-interactive areas inside the container\n const handleContainerPointerDown = React.useCallback(\n (event: React.PointerEvent) => {\n if (disabled) return;\n if (event.pointerType === 'mouse' && event.button !== 0) return;\n const target = event.target;\n if (target instanceof Element && target.closest('button, [role=\"button\"], a[href], input, textarea, select, [contenteditable], [tabindex]:not([tabindex=\"-1\"])')) return;\n event.preventDefault();\n textareaRef.current?.focus({ preventScroll: true });\n },\n [disabled],\n );\n\n const contextValue = React.useMemo<ChatbarContextValue>(\n () => ({\n open,\n setOpen,\n setValue,\n size,\n expandOn,\n minLines,\n maxLines,\n sendMode,\n disabled,\n readOnly,\n paste,\n clearOnSubmit,\n multiple,\n textareaRef,\n attachments,\n removeAttachment,\n submit,\n appendFiles,\n appendFilesFromPaste,\n openFilePicker,\n beginFilePickerPress,\n }),\n [\n open, setOpen, setValue, size, expandOn, minLines, maxLines, sendMode, disabled, readOnly, paste,\n clearOnSubmit, multiple, attachments, removeAttachment, submit, appendFiles, appendFilesFromPaste,\n openFilePicker, beginFilePickerPress,\n ],\n );\n\n return (\n <ChatbarContext.Provider value={contextValue}>\n <ChatbarValueContext.Provider value={value}>\n <>\n <div\n {...divProps}\n ref={composedRootRef}\n className={classNames('kui-ChatbarRoot', `kui-r-size-${size}`, className)}\n style={{ position: 'relative', width, maxWidth, ...style }}\n data-state={open ? 'open' : 'closed'}\n data-disabled={disabled ? '' : undefined}\n data-readonly={readOnly ? '' : undefined}\n data-drop-active={dragActive ? '' : undefined}\n data-accent-color={color}\n data-radius={radius}\n onBlurCapture={handleBlurCapture}\n >\n <input\n ref={fileInputRef}\n type=\"file\"\n tabIndex={-1}\n aria-hidden\n style={{ display: 'none' }}\n onChange={handleFileInputChange}\n />\n {notices ? (\n <div className=\"kui-ChatbarNotices\">\n <NoticeSizeContext.Provider value={size}>{notices}</NoticeSizeContext.Provider>\n </div>\n ) : null}\n <div {...(dropzone ? getRootProps() : {})} style={{ width: '100%', flex: '1 1 auto', minHeight: 0 }} onPointerDown={handleContainerPointerDown}>\n <div\n className={classNames('kui-ChatbarBox', `kui-variant-${variant ?? 'raised'}`)}\n style={{ position: 'relative' }}\n data-accent-color={color}\n data-radius={radius}\n >\n <div className=\"kui-ChatbarGrid\">\n {children}\n </div>\n {dragActive && (\n <div className=\"kui-ChatbarDropOverlay\" aria-hidden>\n <div className=\"kui-ChatbarDropContent\">\n <Text emphasis=\"medium\" size={size} weight=\"medium\">\n Drop files here to attach\n </Text>\n </div>\n </div>\n )}\n </div>\n </div>\n {context ? (\n <Text as=\"div\" size={size === '3' ? '2' : '1'} emphasis=\"medium\" className=\"kui-ChatbarContext\">\n {context}\n </Text>\n ) : null}\n <VisuallyHidden role=\"status\" aria-live=\"polite\">\n {dragActive ? 'Drop files here to attach.' : <span key={announcement.id}>{announcement.text}</span>}\n </VisuallyHidden>\n </div>\n </>\n </ChatbarValueContext.Provider>\n </ChatbarContext.Provider>\n );\n});\nRoot.displayName = 'Chatbar.Root';\n\n/**\n * Multi-line text input for Chatbar.\n * - Uses onChange to control value and avoid duplicate updates.\n * - Auto-resizes between minLines and maxLines.\n * - Expands on focus/overflow per `expandOn`.\n * - Paste-to-attach: when `paste` is enabled on Root, pasting files adds attachments.\n * - Provide `aria-label` or `aria-labelledby` for an accessible name.\n */\ninterface TextareaProps extends Omit<React.ComponentPropsWithoutRef<'textarea'>, 'size' | 'rows' | 'value' | 'defaultValue'> {\n asChild?: boolean;\n /**\n * When true, pressing Enter submits (Shift+Enter inserts a newline).\n * Works with every `sendMode`. Defaults to false.\n */\n submitOnEnter?: boolean;\n}\n\n/**\n * Chatbar multi-line text input.\n *\n * Behavior\n * - Controls the Chatbar value via React onChange.\n * - Auto-resizes between minLines and maxLines in a single layout effect, which\n * also opens the Chatbar when content overflows the compact height and\n * `expandOn` is `overflow` or `both`.\n * - Consumer handlers run first; calling `preventDefault` in `onKeyDown` or\n * `onPaste` skips the built-in submit or attach behavior.\n *\n * Accessibility\n * - Consumers should provide labeling via aria-label or aria-labelledby\n * on this component, as no implicit label is rendered.\n */\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>((props, forwardedRef) => {\n const {\n className,\n style,\n asChild,\n onFocus,\n onChange,\n onPaste,\n onKeyDown,\n onCompositionStart,\n onCompositionEnd,\n submitOnEnter = false,\n ...textareaProps\n } = props;\n const ctx = useChatbarContext();\n const value = React.useContext(ChatbarValueContext);\n const { open, minLines, maxLines, expandOn, disabled, readOnly, setOpen, setValue, textareaRef, paste, appendFilesFromPaste, size, submit, clearOnSubmit } = ctx;\n const composedRef = useComposedRefs(forwardedRef, textareaRef);\n\n // Cached metrics to avoid repeated getComputedStyle calls\n const lineHeightRef = React.useRef(0);\n const paddingRef = React.useRef(0);\n const composingRef = React.useRef(false);\n\n const sizingRef = React.useRef({ open, minLines, maxLines });\n // Declared before the sizing effect so it runs first in the same commit\n useLayoutEffect(() => {\n sizingRef.current = { open, minLines, maxLines };\n }, [open, minLines, maxLines]);\n\n const recomputeMetrics = React.useCallback(() => {\n const el = textareaRef.current;\n if (!el) return;\n const computedStyle = window.getComputedStyle(el);\n lineHeightRef.current = parseFloat(computedStyle.lineHeight) || 20;\n paddingRef.current = (parseFloat(computedStyle.paddingTop) || 0) + (parseFloat(computedStyle.paddingBottom) || 0);\n }, [textareaRef]);\n\n // Sizes `el` for the given open state; caller must have set height to 'auto' first\n const applyHeight = React.useCallback((el: HTMLTextAreaElement, isOpen: boolean) => {\n const { minLines: min, maxLines: max } = sizingRef.current;\n const lineHeight = lineHeightRef.current;\n const padding = paddingRef.current;\n const minHeight = Math.ceil((isOpen ? min : 1) * lineHeight) + padding;\n const maxHeight = Math.ceil((isOpen ? max : 1) * lineHeight) + padding;\n const contentHeight = Math.max(el.scrollHeight, minHeight);\n el.style.height = `${Math.min(contentHeight, maxHeight)}px`;\n const overflowing = contentHeight > maxHeight;\n el.style.overflowY = overflowing ? 'auto' : 'hidden';\n el.style.maxHeight = overflowing ? `${maxHeight}px` : 'none';\n }, []);\n\n // Typography depends on size\n useLayoutEffect(() => {\n recomputeMetrics();\n }, [recomputeMetrics, size]);\n\n // Single place for sizing and overflow auto-open: one height reset, one scrollHeight read\n useLayoutEffect(() => {\n const el = textareaRef.current;\n if (!el) return;\n if (lineHeightRef.current === 0) recomputeMetrics();\n withoutPlaceholder(el, () => {\n el.style.height = 'auto';\n let isOpen = open;\n if (!open && (expandOn === 'overflow' || expandOn === 'both')) {\n const compactHeight = Math.ceil(lineHeightRef.current) + paddingRef.current;\n if (el.scrollHeight > compactHeight + 1) {\n isOpen = true;\n setOpen(true);\n }\n }\n applyHeight(el, isOpen);\n });\n }, [value, open, expandOn, minLines, maxLines, size, setOpen, textareaRef, recomputeMetrics, applyHeight]);\n\n // Width changes re-wrap text; re-measure only when the width actually changes\n React.useEffect(() => {\n const el = textareaRef.current;\n if (!el || typeof ResizeObserver === 'undefined') return;\n let prevWidth = -1;\n const ro = new ResizeObserver((entries) => {\n const width = entries[0]?.contentRect.width ?? 0;\n if (width === prevWidth) return;\n const first = prevWidth === -1;\n prevWidth = width;\n if (first) return;\n recomputeMetrics();\n withoutPlaceholder(el, () => {\n el.style.height = 'auto';\n applyHeight(el, sizingRef.current.open);\n });\n });\n ro.observe(el);\n return () => ro.disconnect();\n }, [textareaRef, recomputeMetrics, applyHeight]);\n\n // Dev-only warning if no accessible name is provided\n React.useEffect(() => {\n if (process.env.NODE_ENV === 'production') return;\n // Read the DOM, not the props: a `<label htmlFor>` or an asChild child's own label counts too.\n const el = textareaRef.current;\n const hasLabel =\n textareaProps['aria-label'] != null ||\n textareaProps['aria-labelledby'] != null ||\n Boolean(el?.getAttribute('aria-label') || el?.getAttribute('aria-labelledby') || el?.labels?.length);\n if (!hasLabel) {\n console.warn('[Chatbar.Textarea] Provide aria-label, aria-labelledby or a <label htmlFor> to ensure the control has an accessible name.');\n }\n // warn only on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleFocus = React.useCallback<React.FocusEventHandler<HTMLTextAreaElement>>(\n (event) => {\n onFocus?.(event);\n if (disabled || readOnly) return;\n if ((expandOn === 'focus' || expandOn === 'both') && !open) setOpen(true);\n },\n [disabled, readOnly, expandOn, open, setOpen, onFocus],\n );\n\n const handleChange = React.useCallback<React.ChangeEventHandler<HTMLTextAreaElement>>(\n (event) => {\n setValue(event.currentTarget.value);\n onChange?.(event);\n },\n [setValue, onChange],\n );\n\n const handlePaste = React.useCallback<React.ClipboardEventHandler<HTMLTextAreaElement>>(\n (event) => {\n onPaste?.(event);\n if (event.defaultPrevented || !paste || disabled || readOnly) return;\n const files = Array.from(event.clipboardData?.items ?? [])\n .filter((item) => item.kind === 'file')\n .map((item) => item.getAsFile())\n .filter((f): f is File => !!f);\n if (files.length === 0) return;\n // Suppress the filename/text representation only when a file was actually attached\n if (appendFilesFromPaste(files) > 0) event.preventDefault();\n },\n [paste, disabled, readOnly, onPaste, appendFilesFromPaste],\n );\n\n const handleCompositionStart = React.useCallback<React.CompositionEventHandler<HTMLTextAreaElement>>(\n (event) => {\n composingRef.current = true;\n onCompositionStart?.(event);\n },\n [onCompositionStart],\n );\n\n const handleCompositionEnd = React.useCallback<React.CompositionEventHandler<HTMLTextAreaElement>>(\n (event) => {\n composingRef.current = false;\n onCompositionEnd?.(event);\n },\n [onCompositionEnd],\n );\n\n const handleKeyDown = React.useCallback<React.KeyboardEventHandler<HTMLTextAreaElement>>(\n (event) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || !submitOnEnter) return;\n if (event.key !== 'Enter' || event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return;\n // Safari fires the IME-confirming Enter after compositionend with keyCode 229\n if (composingRef.current || event.nativeEvent.isComposing || event.nativeEvent.keyCode === 229) return;\n // Plain Enter never inserts a newline when submitOnEnter is on, even with nothing to send\n event.preventDefault();\n submit(clearOnSubmit);\n },\n [submitOnEnter, onKeyDown, submit, clearOnSubmit],\n );\n\n const Comp = asChild ? Slot : 'textarea';\n return (\n // className and style both reach the textarea, like every other textarea attribute.\n <div className=\"kui-ChatbarField kui-ChatbarTextarea\">\n <Comp\n {...textareaProps}\n ref={composedRef}\n className={classNames('kui-ChatbarInput', className)}\n value={value}\n onChange={handleChange}\n onFocus={handleFocus}\n onPaste={handlePaste}\n onKeyDown={handleKeyDown}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n disabled={disabled}\n readOnly={readOnly}\n rows={open ? minLines : 1}\n spellCheck={textareaProps.spellCheck ?? true}\n autoCorrect={textareaProps.autoCorrect ?? 'on'}\n style={style}\n />\n </div>\n );\n});\nTextarea.displayName = 'Chatbar.Textarea';\n\ninterface InlineSlotProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'children'> {\n asChild?: boolean;\n children?: React.ReactNode;\n}\n\nconst InlineStart = React.forwardRef<HTMLDivElement, InlineSlotProps>((props, forwardedRef) => {\n const { children, asChild, className, ...divProps } = props;\n const ctx = useChatbarContext();\n if (ctx.open) return null;\n const Comp = asChild ? Slot : 'div';\n return (\n <Comp {...divProps} ref={forwardedRef} className={classNames('kui-ChatbarInlineStart', className)}>\n {children}\n </Comp>\n );\n});\nInlineStart.displayName = 'Chatbar.InlineStart';\n\nconst InlineEnd = React.forwardRef<HTMLDivElement, InlineSlotProps>((props, forwardedRef) => {\n const { children, asChild, className, ...divProps } = props;\n const ctx = useChatbarContext();\n if (ctx.open) return null;\n const Comp = asChild ? Slot : 'div';\n return (\n <Comp {...divProps} ref={forwardedRef} className={classNames('kui-ChatbarInlineEnd', className)}>\n {children}\n </Comp>\n );\n});\nInlineEnd.displayName = 'Chatbar.InlineEnd';\n\n/**\n * Renders a horizontally scrollable list of attachments above the inline row.\n * Hidden when empty unless `forceMount`. Override per-item with `renderAttachment`.\n * `Chatbar.Item`s passed as children follow the attachments in the same row.\n */\ninterface AttachmentsRowProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'children'> {\n asChild?: boolean;\n forceMount?: boolean;\n /** If provided, custom-render a tile; otherwise default tile is used */\n renderAttachment?: (attachment: ChatbarAttachment) => React.ReactNode;\n /** `Chatbar.Item`s: things the message refers to that are not files. */\n children?: React.ReactNode;\n}\n\nconst AttachmentsRow = React.forwardRef<HTMLDivElement, AttachmentsRowProps>((props, forwardedRef) => {\n const { asChild, forceMount, renderAttachment, className, children, ...divProps } = props;\n const ctx = useChatbarContext();\n const hasItems = React.Children.toArray(children).length > 0;\n if (ctx.attachments.length === 0 && !hasItems && !forceMount) return null;\n const Comp = asChild ? Slot : 'div';\n return (\n <div>\n <Comp {...divProps} ref={forwardedRef} className={classNames('kui-ChatbarAttachmentsRow', className)} role=\"list\" aria-label={divProps['aria-label'] ?? 'Attachments'}>\n <ScrollArea className=\"kui-ChatbarScrollArea\" scrollbars=\"horizontal\">\n <Flex align=\"center\" gap=\"3\" minWidth=\"fit-content\">\n {ctx.attachments.map((att) => (\n <Attachment key={att.id} attachment={att} asChild={!!renderAttachment}>\n {renderAttachment?.(att)}\n </Attachment>\n ))}\n {children}\n </Flex>\n </ScrollArea>\n </Comp>\n </div>\n );\n});\nAttachmentsRow.displayName = 'Chatbar.AttachmentsRow';\n\n/**\n * Moves focus off a pill that is about to unmount, to the next pill's remove\n * button, the previous one's, or the text, so keyboard users are not dropped\n * to <body>.\n */\nfunction moveFocusOffPill(button: HTMLButtonElement, textareaRef: React.RefObject<HTMLTextAreaElement | null>) {\n const pill = button.closest('[role=\"listitem\"]');\n const pills = pill?.parentElement ? Array.from(pill.parentElement.children) : [];\n const index = pill ? pills.indexOf(pill) : -1;\n const neighbour = pills[index + 1] ?? pills[index - 1];\n const nextButton = neighbour?.querySelector<HTMLButtonElement>('.kui-ChatbarItemRemove');\n if (nextButton) nextButton.focus();\n else textareaRef.current?.focus({ preventScroll: true });\n}\n\n/** The pill an attachment and an item share: a lead tile, a label and \u00D7. */\nconst Pill: React.FC<{\n lead: React.ReactNode;\n leadKind: 'image' | 'icon';\n label: React.ReactNode;\n /** Read after the label by screen readers only, e.g. a file's size. */\n detail?: string;\n removeLabel: string;\n onRemove?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n}> = ({ lead, leadKind, label, detail, removeLabel, onRemove }) => {\n const ctx = useChatbarContext();\n return (\n <>\n <span className=\"kui-ChatbarItemLead\" data-kind={leadKind} aria-hidden>\n {lead}\n </span>\n <Text className=\"kui-ChatbarItemLabel\" size={ctx.size} truncate>\n {label}\n {detail ? <VisuallyHidden>, {detail}</VisuallyHidden> : null}\n </Text>\n {onRemove && (\n <Button iconOnly className=\"kui-ChatbarItemRemove\" aria-label={removeLabel} size=\"1\" variant=\"ghost\" color=\"gray\" onClick={onRemove}>\n <CloseIcon />\n </Button>\n )}\n </>\n );\n};\n\n/** Default tile renderer for a single attachment. */\ninterface AttachmentProps extends React.ComponentPropsWithoutRef<'div'> {\n attachment: ChatbarAttachment;\n asChild?: boolean;\n}\n\nconst STATUS_LABEL: Partial<Record<AttachmentStatus, string>> = { uploading: 'uploading', error: 'failed to upload' };\n\nconst Attachment = React.forwardRef<HTMLDivElement, AttachmentProps>((props, forwardedRef) => {\n const { attachment, asChild, className, children, ...divProps } = props;\n const ctx = useChatbarContext();\n const Comp = asChild ? Slot : 'div';\n const isImage = !!attachment.url && isImageLike(attachment.name, attachment.type);\n const sizeLabel = `${Math.ceil(attachment.size / 1024)} KB`;\n const statusLabel = attachment.status ? STATUS_LABEL[attachment.status] : undefined;\n const locked = ctx.disabled || ctx.readOnly;\n\n const handleRemove = (event: React.MouseEvent<HTMLButtonElement>) => {\n moveFocusOffPill(event.currentTarget, ctx.textareaRef);\n ctx.removeAttachment(attachment.id);\n };\n\n const lead =\n attachment.status === 'uploading' ? (\n <Spinner />\n ) : isImage ? (\n <img className=\"kui-ChatbarAttachmentImage\" src={attachment.url} alt=\"\" />\n ) : (\n <FileTextIcon />\n );\n\n return (\n <Comp\n {...divProps}\n ref={forwardedRef}\n className={classNames(children ? 'kui-ChatbarAttachment' : 'kui-ChatbarAttachment kui-ChatbarItem', className)}\n role=\"listitem\"\n data-kind={isImage ? 'image' : 'file'}\n data-status={attachment.status}\n title={attachment.name}\n >\n {children ?? (\n <Pill\n lead={lead}\n leadKind={isImage && attachment.status !== 'uploading' ? 'image' : 'icon'}\n label={attachment.name}\n detail={statusLabel ? `${sizeLabel}, ${statusLabel}` : sizeLabel}\n removeLabel={`Remove ${attachment.name}`}\n onRemove={locked ? undefined : handleRemove}\n />\n )}\n </Comp>\n );\n});\nAttachment.displayName = 'Chatbar.Attachment';\n\n/**\n * Something the message refers to that is not a file: a scene object, a\n * picked mode, a selection. The same pill as an attachment, placed in\n * `Chatbar.AttachmentsRow` as a child. The app owns the list, so removing one\n * calls `onRemove` and nothing else; leave it out for a pill that cannot be\n * removed.\n */\ninterface ItemProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'children' | 'color'> {\n /** The label. Also names the remove button: \"Remove {label}\". */\n children: string;\n /** Drawn in the lead tile, tinted with `color`. */\n icon?: React.ReactNode;\n /** A thumbnail for the lead tile, in place of the icon. */\n image?: string;\n /** Tint of the icon tile. Defaults to gray. */\n color?: (typeof accentColors)[number];\n onRemove?: () => void;\n /** Overrides the remove button's label. */\n removeLabel?: string;\n}\n\nconst Item = React.forwardRef<HTMLDivElement, ItemProps>((props, forwardedRef) => {\n const { children, icon, image, color, onRemove, removeLabel, className, ...divProps } = props;\n const ctx = useChatbarContext();\n const locked = ctx.disabled || ctx.readOnly;\n\n const handleRemove = onRemove\n ? (event: React.MouseEvent<HTMLButtonElement>) => {\n moveFocusOffPill(event.currentTarget, ctx.textareaRef);\n onRemove();\n }\n : undefined;\n\n return (\n <div\n {...divProps}\n ref={forwardedRef}\n className={classNames('kui-ChatbarItem', className)}\n role=\"listitem\"\n data-accent-color={image ? undefined : (color ?? 'gray')}\n title={children}\n >\n <Pill\n lead={image ? <img className=\"kui-ChatbarAttachmentImage\" src={image} alt=\"\" /> : icon}\n leadKind={image ? 'image' : 'icon'}\n label={children}\n removeLabel={removeLabel ?? `Remove ${children}`}\n onRemove={locked ? undefined : handleRemove}\n />\n </div>\n );\n});\nItem.displayName = 'Chatbar.Item';\n\ninterface AttachTriggerProps extends React.ComponentPropsWithoutRef<'button'> {\n asChild?: boolean;\n /** Overrides Root `accept` for files chosen through this trigger */\n accept?: string | string[];\n multiple?: boolean;\n}\n\nconst AttachTrigger = React.forwardRef<HTMLButtonElement, AttachTriggerProps>((props, forwardedRef) => {\n // The HTML `color` attribute is dropped: Button reads `color` as an accent colour.\n const { asChild, accept, multiple, disabled: disabledProp, onPointerDown, onClick, children, color: _color, ...buttonProps } = props;\n const ctx = useChatbarContext();\n const disabled = disabledProp || ctx.disabled || ctx.readOnly;\n const triggerProps = {\n ...buttonProps,\n ref: forwardedRef,\n className: classNames('kui-ChatbarAttachTrigger', buttonProps.className),\n type: buttonProps.type ?? 'button',\n 'aria-label': buttonProps['aria-label'] ?? 'Add attachments',\n disabled,\n onPointerDown: (event: React.PointerEvent<HTMLButtonElement>) => {\n onPointerDown?.(event);\n if (!disabled && !event.defaultPrevented) ctx.beginFilePickerPress();\n },\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(event);\n if (disabled || event.defaultPrevented) return;\n ctx.openFilePicker({ accept, multiple });\n },\n } as const;\n\n if (asChild) return <Slot {...triggerProps}>{children}</Slot>;\n\n // Without asChild, the trigger is a quiet icon-only Button at the Chatbar's size.\n return (\n <Button iconOnly emphasis=\"quiet\" color=\"gray\" size={ctx.size} {...triggerProps}>\n {children ?? <PaperclipIcon aria-hidden />}\n </Button>\n );\n});\nAttachTrigger.displayName = 'Chatbar.AttachTrigger';\n\ninterface RowProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'children'> {\n asChild?: boolean;\n children?: React.ReactNode;\n}\n\nconst Row = React.forwardRef<HTMLDivElement, RowProps>((props, forwardedRef) => {\n const { asChild, children, className, ...divProps } = props;\n const ctx = useChatbarContext();\n if (!ctx.open) return null;\n const Comp = asChild ? Slot : 'div';\n return (\n <div>\n <Comp {...divProps} ref={forwardedRef} className={classNames('kui-ChatbarRow', className)}>\n <Flex align=\"center\" justify=\"between\" width=\"100%\">\n {children}\n </Flex>\n </Comp>\n </div>\n );\n});\nRow.displayName = 'Chatbar.Row';\n\ntype RowSlotProps = React.ComponentPropsWithoutRef<'div'>;\n\nconst RowStart = React.forwardRef<HTMLDivElement, RowSlotProps>((props, forwardedRef) => {\n const { className, ...divProps } = props;\n return <div {...divProps} ref={forwardedRef} className={classNames('kui-ChatbarRowStart', className)} />;\n});\nRowStart.displayName = 'Chatbar.RowStart';\n\nconst RowEnd = React.forwardRef<HTMLDivElement, RowSlotProps>((props, forwardedRef) => {\n const { className, ...divProps } = props;\n return <div {...divProps} ref={forwardedRef} className={classNames('kui-ChatbarRowEnd', className)} />;\n});\nRowEnd.displayName = 'Chatbar.RowEnd';\n\ntype SendStatus = 'ready' | 'submitted' | 'streaming' | 'error';\n\ntype SendProps = Omit<ButtonProps, 'aria-label' | 'aria-labelledby' | 'variant' | 'emphasis' | 'iconOnly' | 'fullWidth'> &\n ButtonRankProps & {\n /** Optional override for accessible name. Defaults to \"Send\". */\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n asChild?: boolean;\n /** Clear message and attachments after sending. Defaults to Root `clearOnSubmit`. */\n clearOnSend?: boolean;\n /**\n * What the button means. `ready` sends. While a reply is `submitted` or `streaming` and the\n * box is empty, the button STOPS the reply (`onStop`); with a draft in the box it still sends,\n * and the app decides whether sending interrupts the reply. After an `error`, an empty box\n * makes it RETRY (`onRetry`). Default `ready`.\n */\n status?: SendStatus;\n /** Called when the button is pressed to stop a reply. */\n onStop?: () => void;\n /** Called when the button is pressed to retry after an error. */\n onRetry?: () => void;\n /** Accessible name while it stops. Default \"Stop\". */\n stopLabel?: string;\n /** Accessible name while it retries. Default \"Retry\". */\n retryLabel?: string;\n /** Glyph while it stops. Defaults to a square, or a spinner while `submitted`. */\n stopIcon?: React.ReactNode;\n /** Glyph while it retries. */\n retryIcon?: React.ReactNode;\n};\n\nconst Send = React.forwardRef<HTMLButtonElement, SendProps>((props, forwardedRef) => {\n const {\n asChild,\n clearOnSend,\n disabled,\n children,\n style,\n className,\n size: sizeProp,\n variant: variantProp, emphasis,\n tabIndex,\n onClick,\n status = 'ready',\n onStop,\n onRetry,\n stopLabel = 'Stop',\n retryLabel = 'Retry',\n stopIcon,\n retryIcon,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n ...buttonProps\n } = props;\n const ctx = useChatbarContext();\n const value = React.useContext(ChatbarValueContext);\n\n const hasContent = hasText(value) || ctx.attachments.length > 0;\n const running = status === 'submitted' || status === 'streaming';\n const mode: 'send' | 'stop' | 'retry' = hasContent ? 'send' : running ? 'stop' : status === 'error' ? 'retry' : 'send';\n\n if (ctx.sendMode === 'never' && mode === 'send') return null;\n\n const visible = mode !== 'send' || ctx.sendMode === 'always' || hasContent;\n const inactive = mode === 'send' ? disabled || ctx.disabled || ctx.readOnly || !hasContent : disabled || ctx.disabled;\n\n const sendName = ariaLabel ?? 'Send';\n const labelProps: { 'aria-label': string } | { 'aria-labelledby': string } =\n mode === 'stop' ? { 'aria-label': stopLabel } : mode === 'retry' ? { 'aria-label': retryLabel } : ariaLabelledby ? { 'aria-labelledby': ariaLabelledby } : { 'aria-label': sendName };\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(event);\n if (event.defaultPrevented || inactive) return;\n if (mode === 'stop') {\n onStop?.();\n return;\n }\n if (mode === 'retry') {\n onRetry?.();\n return;\n }\n const clear = clearOnSend ?? ctx.clearOnSubmit;\n // Clearing hides and disables this button; keep keyboard focus in the composer\n if (ctx.submit(clear) && clear) ctx.textareaRef.current?.focus({ preventScroll: true });\n };\n\n const glyph =\n mode === 'stop' ? (\n stopIcon ?? (status === 'submitted' ? <Spinner /> : (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden>\n <rect x=\"7\" y=\"7\" width=\"10\" height=\"10\" rx=\"2\" />\n </svg>\n ))\n ) : mode === 'retry' ? (\n retryIcon ?? (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden>\n <path d=\"M3 12a9 9 0 1 0 3-6.7L3 8\" />\n <path d=\"M3 3v5h5\" />\n </svg>\n )\n ) : (\n children ?? (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden>\n <path d=\"M5 12h14\" />\n <path d=\"m12 5 7 7-7 7\" />\n </svg>\n )\n );\n\n return (\n <Button\n iconOnly\n {...buttonProps}\n ref={forwardedRef}\n size={sizeProp ?? ctx.size}\n {...(emphasis ? { emphasis } : { variant: variantProp ?? (ctx.open || mode !== 'send' ? 'solid' : 'ghost') })}\n disabled={inactive}\n className={classNames('kui-ChatbarSend', className)}\n style={{ opacity: visible ? 1 : 0, pointerEvents: visible ? undefined : 'none', ...style }}\n // Hidden Send must not be reachable by keyboard or announced\n aria-hidden={visible ? undefined : true}\n tabIndex={visible ? tabIndex : -1}\n asChild={asChild}\n onClick={handleClick}\n data-status={status}\n data-mode={mode}\n {...labelProps}\n >\n {glyph}\n </Button>\n );\n});\nSend.displayName = 'Chatbar.Send';\n\nexport { Root, Textarea, InlineStart, InlineEnd, AttachmentsRow, Attachment, Item, AttachTrigger, Row, RowStart, RowEnd, Send };\nexport type {\n RootProps as ChatbarRootProps,\n TextareaProps as ChatbarTextareaProps,\n InlineSlotProps as ChatbarInlineSlotProps,\n AttachmentsRowProps as ChatbarAttachmentsRowProps,\n AttachmentProps as ChatbarAttachmentProps,\n ItemProps as ChatbarItemProps,\n AttachTriggerProps as ChatbarAttachTriggerProps,\n RowProps as ChatbarRowProps,\n RowSlotProps as ChatbarRowSlotProps,\n SendProps as ChatbarSendProps,\n ChatbarAttachment,\n ChatbarAttachmentRejection,\n ChatbarRejectReason,\n ChatbarSubmitPayload,\n AttachmentStatus as ChatbarAttachmentStatus,\n ExpandOn as ChatbarExpandOn,\n SendMode as ChatbarSendMode,\n SendStatus as ChatbarSendStatus,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["chatbar_exports", "__export", "AttachTrigger", "Attachment", "AttachmentsRow", "InlineEnd", "InlineStart", "Item", "Root", "Row", "RowEnd", "RowStart", "Send", "Textarea", "React", "classNames", "useComposedRefs", "useLayoutEffect", "useDropzone", "withoutPlaceholder", "el", "measure", "placeholder", "chatbarSizePropDef", "ChatbarContext", "ChatbarValueContext", "useChatbarContext", "ctx", "toArray", "val", "s", "matchesAccept", "file", "patterns", "mime", "name", "patRaw", "pat", "type", "subtype", "fmType", "fmSubtype", "IMAGE_EXT_RE", "isImageLike", "hasText", "value", "plural", "n", "word", "attachmentCounter", "createAttachmentId", "Root", "props", "forwardedRef", "className", "style", "children", "valueProp", "defaultValue", "onValueChange", "openProp", "defaultOpen", "onOpenChange", "expandOn", "minLines", "maxLines", "sendMode", "disabled", "readOnly", "onSubmit", "sizeProp", "variant", "color", "radius", "width", "maxWidth", "attachmentsProp", "defaultAttachments", "onAttachmentsChange", "accept", "multiple", "maxAttachments", "maxFileSize", "paste", "pasteAccept", "clearOnSubmit", "onAttachmentReject", "dropzone", "apiRef", "onBlurCapture", "notices", "context", "divProps", "size", "useThemeSize", "isValueControlled", "valueUncontrolled", "setValueUncontrolled", "isOpenControlled", "openUncontrolled", "setOpenUncontrolled", "open", "isAttachmentsControlled", "attachmentsUncontrolled", "setAttachmentsUncontrolled", "attachments", "announcement", "setAnnouncementState", "announce", "text", "prev", "rootRef", "composedRootRef", "useComposedRefs", "textareaRef", "fileInputRef", "pickerOpenRef", "pressGuardRef", "pressGuardTimerRef", "pickerRef", "acceptKey", "pasteAcceptKey", "accepts", "pasteAccepts", "snapshot", "latest", "pendingAttachmentsRef", "getAttachments", "setOpen", "next", "setValue", "setAttachments", "ownedUrlsRef", "addFiles", "files", "cfg", "current", "rejected", "remainingSlots", "perActionLimit", "url", "messages", "appendFiles", "appendFilesFromPaste", "removeAttachment", "id", "removed", "a", "submit", "clear", "payload", "att", "owned", "openFilePicker", "options", "input", "beginFilePickerPress", "reset", "handleFileInputChange", "event", "picker", "handleBlurCapture", "rootEl", "nextTarget", "handleDrop", "getRootProps", "isDragActive", "useDropzone", "dragActive", "handleContainerPointerDown", "target", "contextValue", "classNames", "NoticeSizeContext", "Text", "VisuallyHidden", "Textarea", "asChild", "onFocus", "onChange", "onPaste", "onKeyDown", "onCompositionStart", "onCompositionEnd", "submitOnEnter", "textareaProps", "composedRef", "lineHeightRef", "paddingRef", "composingRef", "sizingRef", "useLayoutEffect", "recomputeMetrics", "computedStyle", "applyHeight", "isOpen", "min", "max", "lineHeight", "padding", "minHeight", "maxHeight", "contentHeight", "overflowing", "compactHeight", "prevWidth", "ro", "entries", "first", "handleFocus", "handleChange", "handlePaste", "item", "f", "handleCompositionStart", "handleCompositionEnd", "handleKeyDown", "Slot", "InlineStart", "InlineEnd", "AttachmentsRow", "forceMount", "renderAttachment", "hasItems", "ScrollArea", "Flex", "Attachment", "moveFocusOffPill", "button", "pill", "pills", "index", "nextButton", "Pill", "lead", "leadKind", "label", "detail", "removeLabel", "onRemove", "Button", "CloseIcon", "STATUS_LABEL", "attachment", "Comp", "isImage", "sizeLabel", "statusLabel", "locked", "handleRemove", "Spinner", "FileTextIcon", "Item", "icon", "image", "AttachTrigger", "disabledProp", "onPointerDown", "onClick", "_color", "buttonProps", "triggerProps", "PaperclipIcon", "Row", "RowStart", "RowEnd", "Send", "clearOnSend", "variantProp", "emphasis", "tabIndex", "status", "onStop", "onRetry", "stopLabel", "retryLabel", "stopIcon", "retryIcon", "ariaLabel", "ariaLabelledby", "hasContent", "mode", "visible", "inactive", "labelProps", "handleClick", "glyph"]
7
+ }
@@ -1,2 +1,3 @@
1
- import{e as r}from"./chunk-3YLYGKFB.js";import{a as t}from"./chunk-ELAW7ZUG.js";import{a as e}from"./chunk-GNTNGLYR.js";import*as o from"react";import R from"classnames";import{composeEventHandlers as f}from"radix-ui/internal";var c=o.forwardRef((p,a)=>{let s=r(p,e.size),{className:i,color:n,onChange:m,onValueChange:u,...d}=t(s,e);return o.createElement("input",{type:"radio","data-accent-color":n,...d,onChange:f(m,l=>u?.(l.currentTarget.value)),ref:a,className:R("kui-reset","kui-BaseRadioRoot","kui-RadioRoot",i)})});c.displayName="Radio";export{c as a};
2
- //# sourceMappingURL=chunk-THUBY6L2.js.map
1
+ "use client";
2
+ import{c as r}from"./chunk-5ON3XLRD.js";import{c as t}from"./chunk-OKQAVYW4.js";import{a as e}from"./chunk-2Z2I27ZS.js";import*as o from"react";import R from"classnames";import{composeEventHandlers as f}from"radix-ui/internal";var c=o.forwardRef((p,a)=>{let s=r(p,e.size),{className:i,color:n,onChange:m,onValueChange:u,...d}=t(s,e);return o.createElement("input",{type:"radio","data-accent-color":n,...d,onChange:f(m,l=>u?.(l.currentTarget.value)),ref:a,className:R("kui-reset","kui-BaseRadioRoot","kui-RadioRoot",i)})});c.displayName="Radio";export{c as a};
3
+ //# sourceMappingURL=chunk-ZDSY6CJL.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/radio.tsx"],
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { composeEventHandlers } from 'radix-ui/internal';\n\nimport { radioPropDefs } from './radio.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../hooks/theme-size.js';\n\nimport type { ComponentPropsWithout } from '../helpers/component-props.js';\nimport type { NotInputRadioAttributes } from '../helpers/input-attributes.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype RadioElement = React.ElementRef<'input'>;\ntype RadioOwnProps = GetPropDefTypes<typeof radioPropDefs> & {\n value: string;\n onValueChange?: (value: string) => void;\n};\ntype RadioInputProps = ComponentPropsWithout<\n 'input',\n NotInputRadioAttributes | 'color' | 'defaultValue' | 'value'\n>;\ninterface RadioProps extends RadioInputProps, RadioOwnProps {}\n\nconst Radio = React.forwardRef<RadioElement, RadioProps>((ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, radioPropDefs.size);\n const { className, color, onChange, onValueChange, ...radioProps } = extractProps(\n props,\n radioPropDefs,\n );\n return (\n <input\n type=\"radio\"\n data-accent-color={color}\n {...radioProps}\n onChange={composeEventHandlers(onChange, (event) =>\n onValueChange?.(event.currentTarget.value),\n )}\n ref={forwardedRef}\n className={classNames('kui-reset', 'kui-BaseRadioRoot', 'kui-RadioRoot', className)}\n />\n );\n});\nRadio.displayName = 'Radio';\n\nexport { Radio };\nexport type { RadioProps };\n"],
5
+ "mappings": ";wHAEA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,wBAAAC,MAA4B,oBAqBrC,IAAMC,EAAc,aAAqC,CAACC,EAAUC,IAAiB,CACnF,IAAMC,EAAQC,EAAkBH,EAAUI,EAAc,IAAI,EACtD,CAAE,UAAAC,EAAW,MAAAC,EAAO,SAAAC,EAAU,cAAAC,EAAe,GAAGC,CAAW,EAAIC,EACnER,EACAE,CACF,EACA,OACE,gBAAC,SACC,KAAK,QACL,oBAAmBE,EAClB,GAAGG,EACJ,SAAUE,EAAqBJ,EAAWK,GACxCJ,IAAgBI,EAAM,cAAc,KAAK,CAC3C,EACA,IAAKX,EACL,UAAWY,EAAW,YAAa,oBAAqB,gBAAiBR,CAAS,EACpF,CAEJ,CAAC,EACDN,EAAM,YAAc",
6
+ "names": ["React", "classNames", "composeEventHandlers", "Radio", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "baseRadioPropDefs", "className", "color", "onChange", "onValueChange", "radioProps", "extractProps", "composeEventHandlers", "event", "classNames"]
7
+ }
@@ -1,2 +1,3 @@
1
- import{a as e}from"./chunk-NZJGC6ZW.js";import{a as s}from"./chunk-GNTNGLYR.js";import{c as r}from"./chunk-CUNKWFKA.js";var o=["1","2","3","4"],a=s.variant.values,f={...e,size:{type:"enum",className:"kui-r-size",values:o,default:"2",responsive:!0},variant:{type:"enum",className:"kui-variant",values:a,default:"raised"},...r};export{f as a};
2
- //# sourceMappingURL=chunk-FVY44PTM.js.map
1
+ "use client";
2
+ import{a as e}from"./chunk-CLJ6SEGP.js";import{a as s}from"./chunk-2Z2I27ZS.js";import{c as r}from"./chunk-HBWBPBSA.js";var o=["1","2","3","4"],a=s.variant.values,f={...e,size:{type:"enum",className:"kui-r-size",values:o,default:"2",responsive:!0},variant:{type:"enum",className:"kui-variant",values:a,default:"raised"},...r};export{f as a};
3
+ //# sourceMappingURL=chunk-ZFDHZEWN.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/radio-group.props.tsx"],
4
4
  "sourcesContent": ["import { baseRadioPropDefs } from './_internal/base-radio.props.js';\nimport { asChildPropDef } from '../props/as-child.prop.js';\nimport { colorPropDef } from '../props/color.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4'] as const;\n// The same list as Radio: a group offers exactly what its items can draw.\nconst variants = baseRadioPropDefs.variant.values;\n\nconst radioGroupRootPropDefs = {\n ...asChildPropDef,\n size: { type: 'enum', className: 'kui-r-size', values: sizes, default: '2', responsive: true },\n variant: { type: 'enum', className: 'kui-variant', values: variants, default: 'raised' },\n ...colorPropDef,\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n};\n\nexport { radioGroupRootPropDefs };\n"],
5
- "mappings": "wHAMA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAE3BC,EAAWC,EAAkB,QAAQ,OAErCC,EAAyB,CAC7B,GAAGC,EACH,KAAM,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQJ,EAAO,QAAS,IAAK,WAAY,EAAK,EAC7F,QAAS,CAAE,KAAM,OAAQ,UAAW,cAAe,OAAQC,EAAU,QAAS,QAAS,EACvF,GAAGI,CACL",
5
+ "mappings": ";wHAMA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAE3BC,EAAWC,EAAkB,QAAQ,OAErCC,EAAyB,CAC7B,GAAGC,EACH,KAAM,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQJ,EAAO,QAAS,IAAK,WAAY,EAAK,EAC7F,QAAS,CAAE,KAAM,OAAQ,UAAW,cAAe,OAAQC,EAAU,QAAS,QAAS,EACvF,GAAGI,CACL",
6
6
  "names": ["sizes", "variants", "baseRadioPropDefs", "radioGroupRootPropDefs", "asChildPropDef", "colorPropDef"]
7
7
  }
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import{a as m}from"./chunk-5RFDCAKC.js";import{b as t,c as p}from"./chunk-OKQAVYW4.js";import*as r from"react";import u from"classnames";import{Progress as i}from"radix-ui";var y=r.forwardRef((a,n)=>{let{className:P,style:f,color:d,radius:g,duration:c,...o}=p(a,m),{value:e,max:l}=o,s=e!=null&&e>=0&&e<=(l??100);return r.createElement(i.Root,{"data-accent-color":d,"data-radius":g,ref:n,className:u("kui-ProgressRoot",P),style:t({"--progress-duration":s?void 0:c,"--progress-value":s?e:void 0,"--progress-max":o.max??void 0},f),...o,asChild:!1},r.createElement(i.Indicator,{className:"kui-ProgressIndicator"}))});y.displayName="Progress";export{y as a};
3
+ //# sourceMappingURL=chunk-ZPWKWESI.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/progress.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Progress as ProgressPrimitive } from 'radix-ui';\n\nimport { progressPropDefs } from './progress.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { mergeStyles } from '../helpers/merge-styles.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype ProgressElement = React.ElementRef<typeof ProgressPrimitive.Root>;\ntype ProgressOwnProps = GetPropDefTypes<typeof progressPropDefs>;\ninterface ProgressProps\n extends ComponentPropsWithout<typeof ProgressPrimitive.Root, RemovedProps | 'children'>,\n ProgressOwnProps {\n duration?: `${number}s` | `${number}ms`;\n}\nconst Progress = React.forwardRef<ProgressElement, ProgressProps>((props, forwardedRef) => {\n const { className, style, color, radius, duration, ...progressProps } = extractProps(\n props,\n progressPropDefs\n );\n\n // Radix treats `null`, `undefined` and a value outside 0 to max as indeterminate, so all of\n // them keep a custom duration.\n const { value, max } = progressProps;\n const isDeterminate = value != null && value >= 0 && value <= (max ?? 100);\n\n return (\n <ProgressPrimitive.Root\n data-accent-color={color}\n data-radius={radius}\n ref={forwardedRef}\n className={classNames('kui-ProgressRoot', className)}\n style={mergeStyles(\n {\n '--progress-duration': isDeterminate ? undefined : duration,\n '--progress-value': isDeterminate ? value : undefined,\n '--progress-max': progressProps.max ?? undefined,\n },\n style\n )}\n {...progressProps}\n asChild={false}\n >\n <ProgressPrimitive.Indicator className=\"kui-ProgressIndicator\" />\n </ProgressPrimitive.Root>\n );\n});\nProgress.displayName = 'Progress';\n\nexport { Progress };\nexport type { ProgressProps };\n"],
5
+ "mappings": ";uFAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,YAAYC,MAAyB,WAgB9C,IAAMC,EAAiB,aAA2C,CAACC,EAAOC,IAAiB,CACzF,GAAM,CAAE,UAAAC,EAAW,MAAAC,EAAO,MAAAC,EAAO,OAAAC,EAAQ,SAAAC,EAAU,GAAGC,CAAc,EAAIC,EACtER,EACAS,CACF,EAIM,CAAE,MAAAC,EAAO,IAAAC,CAAI,EAAIJ,EACjBK,EAAgBF,GAAS,MAAQA,GAAS,GAAKA,IAAUC,GAAO,KAEtE,OACE,gBAACE,EAAkB,KAAlB,CACC,oBAAmBT,EACnB,cAAaC,EACb,IAAKJ,EACL,UAAWa,EAAW,mBAAoBZ,CAAS,EACnD,MAAOa,EACL,CACE,sBAAuBH,EAAgB,OAAYN,EACnD,mBAAoBM,EAAgBF,EAAQ,OAC5C,iBAAkBH,EAAc,KAAO,MACzC,EACAJ,CACF,EACC,GAAGI,EACJ,QAAS,IAET,gBAACM,EAAkB,UAAlB,CAA4B,UAAU,wBAAwB,CACjE,CAEJ,CAAC,EACDd,EAAS,YAAc",
6
+ "names": ["React", "classNames", "ProgressPrimitive", "Progress", "props", "forwardedRef", "className", "style", "color", "radius", "duration", "progressProps", "extractProps", "progressPropDefs", "value", "max", "isDeterminate", "ProgressPrimitive", "classNames", "mergeStyles"]
7
+ }
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import{a as c}from"./chunk-PZ6Z7WTR.js";import{a as v}from"./chunk-YOSLXJI5.js";import{c as f}from"./chunk-5ON3XLRD.js";import{c as u}from"./chunk-OKQAVYW4.js";import*as a from"react";import g from"classnames";import{Avatar as m}from"radix-ui";var W=a.forwardRef((e,s)=>{let o=f(e,c.size),{asChild:t,children:r,className:n,style:i,color:P,radius:h,status:d,statusLabel:l,badge:p,fallback:y,onLoadingStatusChange:b,src:R,alt:k,srcSet:N,sizes:I,crossOrigin:C,referrerPolicy:S,loading:E,decoding:w,onLoad:D,onError:L,...O}=u(o,c),x={fallback:y,onLoadingStatusChange:b,src:R,alt:k,srcSet:N,sizes:I,crossOrigin:C,referrerPolicy:S,loading:E,decoding:w,onLoad:D,onError:L},z=t&&r!=null&&a.isValidElement(r)&&(r.props.disabled===!0||r.props["data-disabled"]===!0),F=p!==void 0||d!==void 0,T=p!==void 0?a.createElement("span",{className:"kui-AvatarBadge"},p):d!==void 0?a.createElement("span",{className:"kui-AvatarStatus","data-accent-color":d,role:l?"img":void 0,"aria-label":l||void 0,"aria-hidden":l?void 0:!0}):null;return a.createElement(m.Root,{...O,ref:s,"data-accent-color":P,"data-radius":h,"data-disabled":z||void 0,"data-has-indicator":F||void 0,className:g("kui-reset","kui-AvatarRoot",n),style:i,asChild:t},v({asChild:t,children:r},a.createElement(a.Fragment,null,a.createElement(A,{...x}),T)))});W.displayName="Avatar";var A=a.memo(({fallback:e,onLoadingStatusChange:s,...o})=>{let[t,r]=a.useState("idle"),n=a.useCallback(i=>{s?.(i),r(i)},[s]);return a.createElement(a.Fragment,null,t==="idle"||t==="loading"?a.createElement("span",{className:"kui-AvatarFallback"}):null,t==="error"?a.createElement(m.Fallback,{className:g("kui-AvatarFallback",{"kui-one-letter":typeof e=="string"&&e.length===1,"kui-two-letters":typeof e=="string"&&e.length===2}),...o.alt?{role:"img","aria-label":o.alt}:{"aria-hidden":!0}},e):null,a.createElement(m.Image,{className:"kui-AvatarImage",...o,onLoadingStatusChange:n}))});A.displayName="AvatarImpl";export{W as a};
3
+ //# sourceMappingURL=chunk-ZYKJTNAT.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/avatar.tsx"],
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Avatar as AvatarPrimitive } from 'radix-ui';\n\nimport { avatarPropDefs } from './avatar.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { getSubtree } from '../helpers/get-subtree.js';\nimport { useThemeSizeProps } from '../hooks/theme-size.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ninterface AvatarProps extends AvatarImplProps {}\nconst Avatar = React.forwardRef<AvatarElement, AvatarProps>((ownProps, forwardedRef) => {\n // An unset size follows the Theme, like a control. Sizes above 4 are only explicit.\n const props = useThemeSizeProps(ownProps, avatarPropDefs.size);\n const {\n asChild,\n children,\n className,\n style,\n color,\n radius,\n status,\n statusLabel,\n badge,\n // Only these reach the <img>, which Radix renders once the picture has loaded.\n fallback,\n onLoadingStatusChange,\n src,\n alt,\n srcSet,\n sizes,\n crossOrigin,\n referrerPolicy,\n loading,\n decoding,\n onLoad,\n onError,\n // Everything else (id, aria-*, data-*, handlers) goes on the root, so it is always rendered.\n ...rootProps\n } = extractProps(props, avatarPropDefs);\n const imageProps = { fallback, onLoadingStatusChange, src, alt, srcSet, sizes, crossOrigin, referrerPolicy, loading, decoding, onLoad, onError };\n\n if (process.env.NODE_ENV !== 'production') {\n if (status !== undefined && badge !== undefined) {\n console.warn('Avatar: Cannot use both `status` and `badge` props together. ' + 'The `badge` prop will be used and `status` will be ignored.');\n }\n }\n\n // Cheap boolean checks \u2014 no memoization needed\n const isDisabled = asChild && children != null && React.isValidElement(children) && ((children.props as any).disabled === true || (children.props as any)['data-disabled'] === true);\n\n const hasIndicator = badge !== undefined || status !== undefined;\n\n const indicator =\n badge !== undefined ? (\n <span className=\"kui-AvatarBadge\">{badge}</span>\n ) : status !== undefined ? (\n <span\n className=\"kui-AvatarStatus\"\n data-accent-color={status}\n role={statusLabel ? 'img' : undefined}\n aria-label={statusLabel || undefined}\n aria-hidden={statusLabel ? undefined : true}\n />\n ) : null;\n\n return (\n <AvatarPrimitive.Root\n {...(rootProps as React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>)}\n ref={forwardedRef}\n data-accent-color={color}\n data-radius={radius}\n data-disabled={isDisabled || undefined}\n data-has-indicator={hasIndicator || undefined}\n className={classNames('kui-reset', 'kui-AvatarRoot', className)}\n style={style}\n asChild={asChild}\n >\n {/* With asChild, Slot takes exactly one child, so the indicator goes inside it. */}\n {getSubtree(\n { asChild, children },\n <>\n <AvatarImpl {...imageProps} />\n {indicator}\n </>,\n )}\n </AvatarPrimitive.Root>\n );\n});\nAvatar.displayName = 'Avatar';\n\ntype AvatarElement = React.ElementRef<typeof AvatarPrimitive.Root>;\ntype AvatarOwnProps = GetPropDefTypes<typeof avatarPropDefs>;\n\ninterface AvatarImplProps extends ComponentPropsWithout<typeof AvatarPrimitive.Image, RemovedProps>, AvatarOwnProps {\n // TODO: See if we can automate making prop defs with `required: true` non nullable\n fallback: NonNullable<AvatarOwnProps['fallback']>;\n}\n\ntype AvatarImageProps = Pick<\n AvatarImplProps,\n 'fallback' | 'onLoadingStatusChange' | 'src' | 'alt' | 'srcSet' | 'sizes' | 'crossOrigin' | 'referrerPolicy' | 'loading' | 'decoding' | 'onLoad' | 'onError'\n>;\n\nconst AvatarImpl = React.memo(({ fallback, onLoadingStatusChange, ...imageProps }: AvatarImageProps) => {\n const [status, setStatus] = React.useState<'idle' | 'loading' | 'loaded' | 'error'>('idle');\n\n const handleLoadingStatusChange = React.useCallback(\n (newStatus: 'idle' | 'loading' | 'loaded' | 'error') => {\n onLoadingStatusChange?.(newStatus);\n setStatus(newStatus);\n },\n [onLoadingStatusChange],\n );\n\n return (\n <>\n {status === 'idle' || status === 'loading' ? <span className=\"kui-AvatarFallback\" /> : null}\n\n {status === 'error' ? (\n <AvatarPrimitive.Fallback\n className={classNames('kui-AvatarFallback', {\n 'kui-one-letter': typeof fallback === 'string' && fallback.length === 1,\n 'kui-two-letters': typeof fallback === 'string' && fallback.length === 2,\n })}\n // Named from alt, like the picture it stands in for. Unnamed, it is decorative.\n {...(imageProps.alt ? { role: 'img', 'aria-label': imageProps.alt } : { 'aria-hidden': true })}\n >\n {fallback}\n </AvatarPrimitive.Fallback>\n ) : null}\n\n <AvatarPrimitive.Image className=\"kui-AvatarImage\" {...imageProps} onLoadingStatusChange={handleLoadingStatusChange} />\n </>\n );\n});\n\nAvatarImpl.displayName = 'AvatarImpl';\n\nexport { Avatar };\nexport type { AvatarProps };\n"],
5
+ "mappings": ";gKAEA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,UAAUC,MAAuB,WAW1C,IAAMC,EAAe,aAAuC,CAACC,EAAUC,IAAiB,CAEtF,IAAMC,EAAQC,EAAkBH,EAAUI,EAAe,IAAI,EACvD,CACJ,QAAAC,EACA,SAAAC,EACA,UAAAC,EACA,MAAAC,EACA,MAAAC,EACA,OAAAC,EACA,OAAAC,EACA,YAAAC,EACA,MAAAC,EAEA,SAAAC,EACA,sBAAAC,EACA,IAAAC,EACA,IAAAC,EACA,OAAAC,EACA,MAAAC,EACA,YAAAC,EACA,eAAAC,EACA,QAAAC,EACA,SAAAC,EACA,OAAAC,EACA,QAAAC,EAEA,GAAGC,CACL,EAAIC,EAAazB,EAAOE,CAAc,EAChCwB,EAAa,CAAE,SAAAd,EAAU,sBAAAC,EAAuB,IAAAC,EAAK,IAAAC,EAAK,OAAAC,EAAQ,MAAAC,EAAO,YAAAC,EAAa,eAAAC,EAAgB,QAAAC,EAAS,SAAAC,EAAU,OAAAC,EAAQ,QAAAC,CAAQ,EASzII,EAAaxB,GAAWC,GAAY,MAAc,iBAAeA,CAAQ,IAAOA,EAAS,MAAc,WAAa,IAASA,EAAS,MAAc,eAAe,IAAM,IAEzKwB,EAAejB,IAAU,QAAaF,IAAW,OAEjDoB,EACJlB,IAAU,OACR,gBAAC,QAAK,UAAU,mBAAmBA,CAAM,EACvCF,IAAW,OACb,gBAAC,QACC,UAAU,mBACV,oBAAmBA,EACnB,KAAMC,EAAc,MAAQ,OAC5B,aAAYA,GAAe,OAC3B,cAAaA,EAAc,OAAY,GACzC,EACE,KAEN,OACE,gBAACoB,EAAgB,KAAhB,CACE,GAAIN,EACL,IAAKzB,EACL,oBAAmBQ,EACnB,cAAaC,EACb,gBAAemB,GAAc,OAC7B,qBAAoBC,GAAgB,OACpC,UAAWG,EAAW,YAAa,iBAAkB1B,CAAS,EAC9D,MAAOC,EACP,QAASH,GAGR6B,EACC,CAAE,QAAA7B,EAAS,SAAAC,CAAS,EACpB,gCACE,gBAAC6B,EAAA,CAAY,GAAGP,EAAY,EAC3BG,CACH,CACF,CACF,CAEJ,CAAC,EACDhC,EAAO,YAAc,SAerB,IAAMoC,EAAmB,OAAK,CAAC,CAAE,SAAArB,EAAU,sBAAAC,EAAuB,GAAGa,CAAW,IAAwB,CACtG,GAAM,CAACjB,EAAQyB,CAAS,EAAU,WAAkD,MAAM,EAEpFC,EAAkC,cACrCC,GAAuD,CACtDvB,IAAwBuB,CAAS,EACjCF,EAAUE,CAAS,CACrB,EACA,CAACvB,CAAqB,CACxB,EAEA,OACE,gCACGJ,IAAW,QAAUA,IAAW,UAAY,gBAAC,QAAK,UAAU,qBAAqB,EAAK,KAEtFA,IAAW,QACV,gBAACqB,EAAgB,SAAhB,CACC,UAAWC,EAAW,qBAAsB,CAC1C,iBAAkB,OAAOnB,GAAa,UAAYA,EAAS,SAAW,EACtE,kBAAmB,OAAOA,GAAa,UAAYA,EAAS,SAAW,CACzE,CAAC,EAEA,GAAIc,EAAW,IAAM,CAAE,KAAM,MAAO,aAAcA,EAAW,GAAI,EAAI,CAAE,cAAe,EAAK,GAE3Fd,CACH,EACE,KAEJ,gBAACkB,EAAgB,MAAhB,CAAsB,UAAU,kBAAmB,GAAGJ,EAAY,sBAAuBS,EAA2B,CACvH,CAEJ,CAAC,EAEDF,EAAW,YAAc",
6
+ "names": ["React", "classNames", "AvatarPrimitive", "Avatar", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "avatarPropDefs", "asChild", "children", "className", "style", "color", "radius", "status", "statusLabel", "badge", "fallback", "onLoadingStatusChange", "src", "alt", "srcSet", "sizes", "crossOrigin", "referrerPolicy", "loading", "decoding", "onLoad", "onError", "rootProps", "extractProps", "imageProps", "isDisabled", "hasIndicator", "indicator", "AvatarPrimitive", "classNames", "getSubtree", "AvatarImpl", "setStatus", "handleLoadingStatusChange", "newStatus"]
7
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"base-button.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/base-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAO5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAErE;;;;GAIG;AACH,KAAK,0BAA0B,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,QAAQ,IAAI;IACxE,0DAA0D;IAC1D,EAAE,CAAC,EAAE,CAAC,CAAC;CACR,GAAG,kBAAkB,GACpB,mBAAmB,GACnB,qBAAqB,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,kBAAkB,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;AAEpF,UAAU,mBAAmB;IAC3B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,UAAU,eAAgB,SAAQ,0BAA0B;CAAG;AAE/D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,QAAA,MAAM,UAAU,2FA8Kd,CAAC;AAwBH,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"base-button.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/base-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAO5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAErE;;;;GAIG;AACH,KAAK,0BAA0B,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,QAAQ,IAAI;IACxE,0DAA0D;IAC1D,EAAE,CAAC,EAAE,CAAC,CAAC;CACR,GAAG,kBAAkB,GACpB,mBAAmB,GACnB,qBAAqB,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,kBAAkB,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;AAEpF,UAAU,mBAAmB;IAC3B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,UAAU,eAAgB,SAAQ,0BAA0B;CAAG;AAE/D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,QAAA,MAAM,UAAU,2FA+Nd,CAAC;AAkCH,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -1,2 +1,3 @@
1
- import{a}from"../../chunk-4R5EMVB3.js";import"../../chunk-H5G7UECV.js";import"../../chunk-HIEGLLY7.js";import"../../chunk-BJUCBOGU.js";import"../../chunk-KKMOGHIY.js";import"../../chunk-NA237RHQ.js";import"../../chunk-7FTUTUMD.js";import"../../chunk-YLDV2HKZ.js";import"../../chunk-P7VSZYG3.js";import"../../chunk-62ZGP4ET.js";import"../../chunk-FWB47YCH.js";import"../../chunk-3YLYGKFB.js";import"../../chunk-NUVUXNHF.js";import"../../chunk-EKTVL6SS.js";import"../../chunk-BWLCTTTN.js";import"../../chunk-KRJTW535.js";import"../../chunk-ELAW7ZUG.js";import"../../chunk-E23RKOQJ.js";import"../../chunk-PBFSBHBS.js";import"../../chunk-WRWNN2NW.js";import"../../chunk-RZCX6IBE.js";import"../../chunk-QM3RCK5P.js";import"../../chunk-AX5S56DS.js";import"../../chunk-NZJGC6ZW.js";import"../../chunk-CUNKWFKA.js";import"../../chunk-OS3FCYZY.js";export{a as BaseButton};
1
+ "use client";
2
+ import{a}from"../../chunk-WMODMXEU.js";import"../../chunk-ILWS2JUE.js";import"../../chunk-TGUWRU7N.js";import"../../chunk-WZKSLTBH.js";import"../../chunk-64EFWPHI.js";import"../../chunk-CR65RYGM.js";import"../../chunk-7N2Q5WOM.js";import"../../chunk-OAJ5DARR.js";import"../../chunk-GKDGNPBD.js";import"../../chunk-5KMEUZWN.js";import"../../chunk-5ON3XLRD.js";import"../../chunk-LPLW7OWA.js";import"../../chunk-L54FWKJE.js";import"../../chunk-65KD6WS6.js";import"../../chunk-XU74PNM2.js";import"../../chunk-OKQAVYW4.js";import"../../chunk-CLJ6SEGP.js";import"../../chunk-HBWBPBSA.js";import"../../chunk-VQPANPMI.js";export{a as BaseButton};
2
3
  //# sourceMappingURL=base-button.js.map
@@ -1,2 +1,3 @@
1
- import{a}from"../../chunk-BWLCTTTN.js";import"../../chunk-KRJTW535.js";import"../../chunk-NZJGC6ZW.js";import"../../chunk-CUNKWFKA.js";import"../../chunk-OS3FCYZY.js";export{a as baseButtonPropDefs};
1
+ "use client";
2
+ import{a}from"../../chunk-65KD6WS6.js";import"../../chunk-XU74PNM2.js";import"../../chunk-CLJ6SEGP.js";import"../../chunk-HBWBPBSA.js";import"../../chunk-VQPANPMI.js";export{a as baseButtonPropDefs};
2
3
  //# sourceMappingURL=base-button.props.js.map
@@ -1,2 +1,3 @@
1
- import{a}from"../../chunk-DNOQ6E3W.js";import"../../chunk-CUNKWFKA.js";import"../../chunk-OS3FCYZY.js";export{a as baseCheckboxPropDefs};
1
+ "use client";
2
+ import{a}from"../../chunk-FM3GBCX5.js";import"../../chunk-HBWBPBSA.js";import"../../chunk-VQPANPMI.js";export{a as baseCheckboxPropDefs};
2
3
  //# sourceMappingURL=base-checkbox.props.js.map
@@ -1,2 +1,3 @@
1
- import{a,b,c,d,e,f}from"../../chunk-3XHTJZNP.js";import"../../chunk-NZJGC6ZW.js";import"../../chunk-CUNKWFKA.js";import"../../chunk-OS3FCYZY.js";export{e as baseMenuCheckboxItemPropDefs,b as baseMenuContentPropDefs,d as baseMenuItemPropDefs,f as baseMenuRadioItemPropDefs,c as baseMenuSubContentPropDefs,a as submenuBehaviors};
1
+ "use client";
2
+ import{a,b,c,d,e,f}from"../../chunk-I6SMGWS5.js";import"../../chunk-CLJ6SEGP.js";import"../../chunk-HBWBPBSA.js";import"../../chunk-VQPANPMI.js";export{e as baseMenuCheckboxItemPropDefs,b as baseMenuContentPropDefs,d as baseMenuItemPropDefs,f as baseMenuRadioItemPropDefs,c as baseMenuSubContentPropDefs,a as submenuBehaviors};
2
3
  //# sourceMappingURL=base-menu.props.js.map
@@ -1,2 +1,3 @@
1
- "use client";import{a,b,c,d,e}from"../../chunk-KZEZDBE7.js";import"../../chunk-RWTSGUVJ.js";import"../../chunk-RAVZ7F5L.js";import"../../chunk-TBZO22XK.js";import"../../chunk-5YLKKQFK.js";import"../../chunk-ELAW7ZUG.js";import"../../chunk-E23RKOQJ.js";import"../../chunk-PBFSBHBS.js";import"../../chunk-WRWNN2NW.js";import"../../chunk-RZCX6IBE.js";import"../../chunk-QM3RCK5P.js";import"../../chunk-AX5S56DS.js";import"../../chunk-NZJGC6ZW.js";import"../../chunk-OS3FCYZY.js";export{e as MenuShortcut,c as getMenuAlignOffset,a as resolveResponsiveValue,d as toAriaKeyShortcuts,b as useResolvedResponsiveValue};
1
+ "use client";
2
+ "use client";import{a,b,c,d,e}from"../../chunk-XL5OHW6Z.js";import"../../chunk-6AMWYEM7.js";import"../../chunk-EY6TCYGG.js";import"../../chunk-G66WDIIV.js";import"../../chunk-MAA6LEE2.js";import"../../chunk-OKQAVYW4.js";import"../../chunk-CLJ6SEGP.js";import"../../chunk-VQPANPMI.js";export{e as MenuShortcut,c as getMenuAlignOffset,a as resolveResponsiveValue,d as toAriaKeyShortcuts,b as useResolvedResponsiveValue};
2
3
  //# sourceMappingURL=base-menu.utils.js.map
@@ -1,2 +1,3 @@
1
- import{a}from"../../chunk-GNTNGLYR.js";import"../../chunk-CUNKWFKA.js";import"../../chunk-OS3FCYZY.js";export{a as baseRadioPropDefs};
1
+ "use client";
2
+ import{a}from"../../chunk-2Z2I27ZS.js";import"../../chunk-HBWBPBSA.js";import"../../chunk-VQPANPMI.js";export{a as baseRadioPropDefs};
2
3
  //# sourceMappingURL=base-radio.props.js.map
@@ -1,2 +1,3 @@
1
- import{a}from"../../chunk-ETQNRMHU.js";import"../../chunk-CUNKWFKA.js";import"../../chunk-OS3FCYZY.js";export{a as baseTabListPropDefs};
1
+ "use client";
2
+ import{a}from"../../chunk-WT2SYGTU.js";import"../../chunk-HBWBPBSA.js";import"../../chunk-VQPANPMI.js";export{a as baseTabListPropDefs};
2
3
  //# sourceMappingURL=base-tab-list.props.js.map
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import type { submenuBehaviors } from './base-menu.props.js';
3
3
  type SubmenuBehavior = (typeof submenuBehaviors)[number];
4
- type AnimationDirection = 'forward' | 'backward' | null;
5
4
  type Modality = 'keyboard' | 'pointer';
6
5
  interface StackEntry {
7
6
  id: string;
@@ -24,13 +23,18 @@ type LastChange = {
24
23
  };
25
24
  interface DrillDownState {
26
25
  stack: StackEntry[];
27
- direction: AnimationDirection;
28
26
  lastChange: LastChange | null;
29
27
  }
30
28
  declare class DrillDownStore {
31
29
  private state;
32
30
  private listeners;
33
31
  private modality;
32
+ /**
33
+ * Controlled submenus. A request to open or close one of them goes to its
34
+ * `onOpenChange` instead of the stack; its `open` prop then moves the stack.
35
+ */
36
+ private controllers;
37
+ private pendingModality;
34
38
  /** The drill-down root element, set by the provider */
35
39
  rootElement: HTMLElement | null;
36
40
  setRootElement: (element: HTMLElement | null) => void;
@@ -42,6 +46,10 @@ declare class DrillDownStore {
42
46
  getModality: () => Modality;
43
47
  getDepth: () => number;
44
48
  isOpen: (id: string) => boolean;
49
+ setController: (id: string, onOpenChange: ((open: boolean) => void) | null) => void;
50
+ /** The modality of the last open or close request for a controlled submenu. */
51
+ takePendingModality: (id: string) => Modality | null;
52
+ private request;
45
53
  private getScrollContainer;
46
54
  private getTrigger;
47
55
  /**
@@ -50,9 +58,14 @@ declare class DrillDownStore {
50
58
  * (`null`) unless focus was lost.
51
59
  */
52
60
  push: (id: string, modality?: Modality | null) => void;
61
+ /** Puts a submenu on the stack, bypassing its controller. */
62
+ open: (id: string, modality?: Modality | null) => void;
53
63
  pop: (modality?: Modality) => void;
54
- /** Closes a submenu and everything opened from it, without moving focus to its trigger. */
55
- close: (id: string) => void;
64
+ /**
65
+ * Closes a submenu and everything opened from it, bypassing its controller.
66
+ * Focus moves to its trigger only for a keyboard close.
67
+ */
68
+ close: (id: string, modality?: Modality | null) => void;
56
69
  reset: () => void;
57
70
  /**
58
71
  * Moves focus and scroll after a navigation step has been committed. Runs in
@@ -85,7 +98,6 @@ declare function DrillDownRoot({ store, behavior, open, children }: DrillDownRoo
85
98
  type PanelPosition = 'closed' | 'open' | 'top';
86
99
  declare function usePanelPosition(store: DrillDownStore | null, id: string): PanelPosition;
87
100
  declare function useStackEntry(store: DrillDownStore | null, id: string): StackEntry | undefined;
88
- declare function useDrillDownDirection(store: DrillDownStore | null): AnimationDirection;
89
101
  interface SubContextValue {
90
102
  /** Unique ID for this submenu */
91
103
  id: string;
@@ -94,6 +106,6 @@ interface SubContextValue {
94
106
  }
95
107
  declare const SubContext: React.Context<SubContextValue | null>;
96
108
  declare function useSubContext(): SubContextValue | null;
97
- export { DrillDownRoot, DrillDownLevelContext, SubContext, useCreateDrillDownStore, useDrillDownStore, useDrillDownDirection, usePanelPosition, useStackEntry, useSubContext, };
98
- export type { SubmenuBehavior, DrillDownStore, PanelPosition, SubContextValue, AnimationDirection };
109
+ export { DrillDownRoot, DrillDownLevelContext, SubContext, useCreateDrillDownStore, useDrillDownStore, usePanelPosition, useStackEntry, useSubContext, };
110
+ export type { SubmenuBehavior, DrillDownStore, PanelPosition, SubContextValue };
99
111
  //# sourceMappingURL=dropdown-menu-drill-down.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu-drill-down.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/dropdown-menu-drill-down.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-menu-drill-down.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/dropdown-menu-drill-down.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
- "use client";import{a,b,c,d,e,f,g,h,i}from"../../chunk-2E4P5XQL.js";import"../../chunk-OS3FCYZY.js";export{a as DrillDownLevelContext,d as DrillDownRoot,h as SubContext,c as useCreateDrillDownStore,g as useDrillDownDirection,b as useDrillDownStore,e as usePanelPosition,f as useStackEntry,i as useSubContext};
1
+ "use client";
2
+ "use client";import{a,b,c,d,e,f,g,h}from"../../chunk-5JYSYTHA.js";import"../../chunk-VQPANPMI.js";export{a as DrillDownLevelContext,d as DrillDownRoot,g as SubContext,c as useCreateDrillDownStore,b as useDrillDownStore,e as usePanelPosition,f as useStackEntry,h as useSubContext};
2
3
  //# sourceMappingURL=dropdown-menu-drill-down.js.map
@@ -31,5 +31,15 @@ export declare function MenuProvider({ children, size }: MenuProviderProps): Rea
31
31
  export declare function useMenuContext(): MenuContextValue;
32
32
  export declare const MenuCloseProvider: React.Provider<(() => void) | undefined>;
33
33
  export declare function useMenuClose(): (() => void) | undefined;
34
+ /**
35
+ * Names a menu group by its label, the way v2's MenuGroup does. A Group holds the id of
36
+ * the Label inside it and points aria-labelledby at it, so a screen reader announces the
37
+ * section name when focus enters the group.
38
+ */
39
+ export declare const MenuGroupLabelProvider: React.Provider<((id: string | null) => void) | null>;
40
+ /** For a Group: the id its aria-labelledby points to, and the setter a nested Label calls. */
41
+ export declare function useMenuGroupLabelledBy(ariaLabelledBy: string | undefined): readonly [string | undefined, React.Dispatch<React.SetStateAction<string | null>>];
42
+ /** For a Label: its id, registered with the Group it sits in while the label is rendered. */
43
+ export declare function useMenuGroupLabelId(idProp: string | undefined, rendered?: boolean): string | undefined;
34
44
  export {};
35
45
  //# sourceMappingURL=menu-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-context.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/menu-context.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;;;;GAMG;AAEH,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAE7C,UAAU,gBAAgB;IACxB,0DAA0D;IAC1D,YAAY,EAAE,OAAO,CAAC;IACtB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAID,UAAU,iBAAiB;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,qFAAqF;IACrF,IAAI,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAKzD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAExD;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,iBAAiB,qBAQjE;AAED,wBAAgB,cAAc,qBAE7B;AAOD,eAAO,MAAM,iBAAiB,wBADsB,IAAI,cACE,CAAC;AAE3D,wBAAgB,YAAY,WAHwB,IAAI,cAKvD"}
1
+ {"version":3,"file":"menu-context.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/menu-context.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;;;;GAMG;AAEH,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAE7C,UAAU,gBAAgB;IACxB,0DAA0D;IAC1D,YAAY,EAAE,OAAO,CAAC;IACtB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAOD,UAAU,iBAAiB;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,qFAAqF;IACrF,IAAI,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAKzD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAExD;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,iBAAiB,qBAajE;AAED,wBAAgB,cAAc,qBAE7B;AAOD,eAAO,MAAM,iBAAiB,wBADsB,IAAI,cACE,CAAC;AAE3D,wBAAgB,YAAY,WAHwB,IAAI,cAKvD;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,uBA1DqB,MAAM,GAAG,IAAI,KAAK,IAAI,SA0DV,CAAC;AAErE,8FAA8F;AAC9F,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,sFAGxE;AAED,6FAA6F;AAC7F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,UAAO,sBAU9E"}
@@ -1,2 +1,3 @@
1
- "use client";import{a,b,c,d,e,f}from"../../chunk-V5O3TF57.js";import"../../chunk-KZEZDBE7.js";import"../../chunk-RWTSGUVJ.js";import"../../chunk-RAVZ7F5L.js";import"../../chunk-TBZO22XK.js";import"../../chunk-5YLKKQFK.js";import"../../chunk-ELAW7ZUG.js";import"../../chunk-E23RKOQJ.js";import"../../chunk-PBFSBHBS.js";import"../../chunk-WRWNN2NW.js";import"../../chunk-RZCX6IBE.js";import"../../chunk-QM3RCK5P.js";import"../../chunk-AX5S56DS.js";import"../../chunk-NZJGC6ZW.js";import"../../chunk-OS3FCYZY.js";export{e as MenuCloseProvider,c as MenuProvider,b as getMenuItemHeight,a as menuSizeToItemHeight,f as useMenuClose,d as useMenuContext};
1
+ "use client";
2
+ "use client";import{a,b,c,d,e,f,g,h,i}from"../../chunk-CV7QQTI3.js";import"../../chunk-XL5OHW6Z.js";import"../../chunk-6AMWYEM7.js";import"../../chunk-EY6TCYGG.js";import"../../chunk-G66WDIIV.js";import"../../chunk-MAA6LEE2.js";import"../../chunk-OKQAVYW4.js";import"../../chunk-CLJ6SEGP.js";import"../../chunk-VQPANPMI.js";export{e as MenuCloseProvider,g as MenuGroupLabelProvider,c as MenuProvider,b as getMenuItemHeight,a as menuSizeToItemHeight,f as useMenuClose,d as useMenuContext,i as useMenuGroupLabelId,h as useMenuGroupLabelledBy};
2
3
  //# sourceMappingURL=menu-context.js.map
@@ -77,7 +77,9 @@ interface ScrollProps extends React.ComponentPropsWithoutRef<'div'> {
77
77
  /**
78
78
  * The one region of a pane that scrolls; it takes the room the header and footer leave.
79
79
  * In `Shell.Content` it is the page's scroller, and a `Shell.PaneHeader float` beside it pins
80
- * the page's toolbar over it. It is not a landmark: for navigation, pass `role="navigation"` and an `aria-label`.
80
+ * the page's toolbar over it. The ref, events and ARIA props land on the element that scrolls;
81
+ * `className`, `style` and `dir` apply to the content inside it. In a Rail, Panel or Sidebar the pane is
82
+ * already a navigation landmark, so it needs no role of its own.
81
83
  */
82
84
  declare const Scroll: React.ForwardRefExoticComponent<ScrollProps & React.RefAttributes<HTMLDivElement>>;
83
85
  export { SidebarVisualContext, useSidebarVisual, ShellSizeContext, ShellContentContext, PaneChromeScope, PaneHeader, PaneFooter, Scroll, BAND_STEP, usePaneBandSize };
@@ -1 +1 @@
1
- {"version":3,"file":"pane-chrome.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/pane-chrome.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,KAAK,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEhC,KAAK,yBAAyB,GAAG;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,2FAA2F;AAC3F,QAAA,MAAM,oBAAoB,iDAA8D,CAAC;AAEzF,iBAAS,gBAAgB,qCAExB;AAED,mFAAmF;AACnF,QAAA,MAAM,gBAAgB,yBAAqC,CAAC;AAE5D;;;;GAIG;AACH,QAAA,MAAM,mBAAmB,wBAA6B,CAAC;AAEvD;;;GAGG;AACH,iBAAS,eAAe,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,qBAIxG;AAWD,KAAK,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEtC;;;GAGG;AACH,QAAA,MAAM,SAAS;;;;;CAA2F,CAAC;AAc3G;;;;;;;GAOG;AACH,iBAAS,eAAe,IAAI,QAAQ,GAAG,IAAI,CAM1C;AAED,UAAU,eAAgB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACrE;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,8DAA8D;AAC9D,QAAA,MAAM,UAAU,wFAad,CAAC;AAGH,UAAU,eAAgB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACrE,0GAA0G;IAC1G,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,8DAA8D;AAC9D,QAAA,MAAM,UAAU,wFAad,CAAC;AAGH,UAAU,WAAY,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACjE,kGAAkG;IAClG,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,QAAA,MAAM,MAAM,oFAyBV,CAAC;AAGH,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AACtK,YAAY,EAAE,yBAAyB,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"pane-chrome.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/pane-chrome.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,KAAK,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEhC,KAAK,yBAAyB,GAAG;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,2FAA2F;AAC3F,QAAA,MAAM,oBAAoB,iDAA8D,CAAC;AAEzF,iBAAS,gBAAgB,qCAExB;AAED,mFAAmF;AACnF,QAAA,MAAM,gBAAgB,yBAAqC,CAAC;AAE5D;;;;GAIG;AACH,QAAA,MAAM,mBAAmB,wBAA6B,CAAC;AAEvD;;;GAGG;AACH,iBAAS,eAAe,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,qBAIxG;AAWD,KAAK,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEtC;;;GAGG;AACH,QAAA,MAAM,SAAS;;;;;CAA2F,CAAC;AAc3G;;;;;;;GAOG;AACH,iBAAS,eAAe,IAAI,QAAQ,GAAG,IAAI,CAM1C;AAED,UAAU,eAAgB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACrE;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,8DAA8D;AAC9D,QAAA,MAAM,UAAU,wFAad,CAAC;AAGH,UAAU,eAAgB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACrE,0GAA0G;IAC1G,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,8DAA8D;AAC9D,QAAA,MAAM,UAAU,wFAad,CAAC;AAGH,UAAU,WAAY,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACjE,kGAAkG;IAClG,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;GAMG;AACH,QAAA,MAAM,MAAM,oFAyBV,CAAC;AAGH,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AACtK,YAAY,EAAE,yBAAyB,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC"}
@@ -1,2 +1,3 @@
1
- "use client";import{a,b,c,d,e,f,g,h,i,j}from"../../chunk-4ZOVV3TY.js";import"../../chunk-3XZOE2IQ.js";import"../../chunk-IWCFJJBI.js";import"../../chunk-UONSKZQT.js";import"../../chunk-CN6F4REJ.js";import"../../chunk-PS6NEG5A.js";import"../../chunk-3PTKPDSA.js";import"../../chunk-NUVUXNHF.js";import"../../chunk-EKTVL6SS.js";import"../../chunk-KRJTW535.js";import"../../chunk-5YLKKQFK.js";import"../../chunk-ELAW7ZUG.js";import"../../chunk-E23RKOQJ.js";import"../../chunk-PBFSBHBS.js";import"../../chunk-WRWNN2NW.js";import"../../chunk-RZCX6IBE.js";import"../../chunk-QM3RCK5P.js";import"../../chunk-AX5S56DS.js";import"../../chunk-NZJGC6ZW.js";import"../../chunk-OS3FCYZY.js";export{f as BAND_STEP,e as PaneChromeScope,i as PaneFooter,h as PaneHeader,j as Scroll,d as ShellContentContext,c as ShellSizeContext,a as SidebarVisualContext,g as usePaneBandSize,b as useSidebarVisual};
1
+ "use client";
2
+ "use client";import{a,b,c,d,e,f,g,h,i,j}from"../../chunk-EAIQIW23.js";import"../../chunk-RVPLXLRA.js";import"../../chunk-KOAWATCI.js";import"../../chunk-M37GE2TE.js";import"../../chunk-XH2CRCXR.js";import"../../chunk-YOSLXJI5.js";import"../../chunk-GHWEXMF6.js";import"../../chunk-LPLW7OWA.js";import"../../chunk-L54FWKJE.js";import"../../chunk-XU74PNM2.js";import"../../chunk-MAA6LEE2.js";import"../../chunk-OKQAVYW4.js";import"../../chunk-CLJ6SEGP.js";import"../../chunk-VQPANPMI.js";export{f as BAND_STEP,e as PaneChromeScope,i as PaneFooter,h as PaneHeader,j as Scroll,d as ShellContentContext,c as ShellSizeContext,a as SidebarVisualContext,g as usePaneBandSize,b as useSidebarVisual};
2
3
  //# sourceMappingURL=pane-chrome.js.map
@@ -35,5 +35,5 @@ type BottomComponent = React.ForwardRefExoticComponent<BottomPublicProps & React
35
35
  Handle: typeof BottomHandle;
36
36
  };
37
37
  export declare const Bottom: BottomComponent;
38
- export {};
38
+ export type { BottomPublicProps };
39
39
  //# sourceMappingURL=shell-bottom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell-bottom.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/shell-bottom.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,YAAY,EAAc,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAkC,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3F,OAAO,KAAK,EAAE,UAAU,EAAyB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE1F,KAAK,oBAAoB,GAAG;IAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAA;CAAE,CAAC;AACrF,KAAK,qBAAqB,GAAG;IAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAC/K,qGAAqG;AACrG,KAAK,uBAAuB,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAClL,KAAK,yBAAyB,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAChF,KAAK,2BAA2B,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AACnF,KAAK,iBAAiB,GAAG,aAAa,GACpC,CAAC,qBAAqB,GAAG,uBAAuB,CAAC,GACjD,CAAC,yBAAyB,GAAG,2BAA2B,CAAC,GAAG;IAC1D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5D,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEJ,KAAK,eAAe,GAAG,KAAK,CAAC,yBAAyB,CAAC,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,OAAO,YAAY,CAAA;CAAE,CAAC;AAIlJ,eAAO,MAAM,MAAM,EAqHb,eAAe,CAAC"}
1
+ {"version":3,"file":"shell-bottom.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/shell-bottom.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,YAAY,EAAc,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAkC,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3F,OAAO,KAAK,EAAE,UAAU,EAAyB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE1F,KAAK,oBAAoB,GAAG;IAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAA;CAAE,CAAC;AACrF,KAAK,qBAAqB,GAAG;IAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAC/K,qGAAqG;AACrG,KAAK,uBAAuB,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAClL,KAAK,yBAAyB,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAChF,KAAK,2BAA2B,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AACnF,KAAK,iBAAiB,GAAG,aAAa,GACpC,CAAC,qBAAqB,GAAG,uBAAuB,CAAC,GACjD,CAAC,yBAAyB,GAAG,2BAA2B,CAAC,GAAG;IAC1D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5D,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEJ,KAAK,eAAe,GAAG,KAAK,CAAC,yBAAyB,CAAC,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,OAAO,YAAY,CAAA;CAAE,CAAC;AAIlJ,eAAO,MAAM,MAAM,EAqHb,eAAe,CAAC;AAKtB,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,2 +1,3 @@
1
- "use client";import{a}from"../../chunk-UY6WJUNA.js";import"../../chunk-3J6AUDID.js";import"../../chunk-7CUQMU3T.js";import"../../chunk-5ROQAZ7J.js";import"../../chunk-3PTKPDSA.js";import"../../chunk-VXQQ6KXI.js";import"../../chunk-2LYX5S7H.js";import"../../chunk-HWQ3NTJP.js";import"../../chunk-TBZO22XK.js";import"../../chunk-5YLKKQFK.js";import"../../chunk-OS3FCYZY.js";export{a as Bottom};
1
+ "use client";
2
+ "use client";import{a}from"../../chunk-CQG4U5BR.js";import"../../chunk-XUCR7L4G.js";import"../../chunk-3QWGSRYC.js";import"../../chunk-VVBSYWUA.js";import"../../chunk-GHWEXMF6.js";import"../../chunk-QKCNGEX4.js";import"../../chunk-WEBNIUEX.js";import"../../chunk-G66WDIIV.js";import"../../chunk-MAA6LEE2.js";import"../../chunk-VQPANPMI.js";export{a as Bottom};
2
3
  //# sourceMappingURL=shell-bottom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell-handles.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/shell-handles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,mKAoTrB,CAAC;AAGH,eAAO,MAAM,WAAW,mKAA+H,CAAC;AAGxJ,eAAO,MAAM,aAAa,mKAA+H,CAAC;AAG1J,eAAO,MAAM,eAAe,mKAA+H,CAAC;AAG5J,eAAO,MAAM,YAAY,mKAA+H,CAAC"}
1
+ {"version":3,"file":"shell-handles.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/shell-handles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,mKA4TrB,CAAC;AAGH,eAAO,MAAM,WAAW,mKAA+H,CAAC;AAGxJ,eAAO,MAAM,aAAa,mKAA+H,CAAC;AAG1J,eAAO,MAAM,eAAe,mKAA+H,CAAC;AAG5J,eAAO,MAAM,YAAY,mKAA+H,CAAC"}
@@ -1,2 +1,3 @@
1
- import{a,b,c,d,e}from"../../chunk-7CUQMU3T.js";import"../../chunk-HWQ3NTJP.js";import"../../chunk-OS3FCYZY.js";export{e as BottomHandle,d as InspectorHandle,a as PaneHandle,b as PanelHandle,c as SidebarHandle};
1
+ "use client";
2
+ import{a,b,c,d,e}from"../../chunk-3QWGSRYC.js";import"../../chunk-WEBNIUEX.js";import"../../chunk-VQPANPMI.js";export{e as BottomHandle,d as InspectorHandle,a as PaneHandle,b as PanelHandle,c as SidebarHandle};
2
3
  //# sourceMappingURL=shell-handles.js.map