@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
@@ -1,2 +0,0 @@
1
- import{a as re}from"./chunk-3XUY5WFA.js";import{a as ne}from"./chunk-MJJ7XDIP.js";import{b as oe,c as G}from"./chunk-PPZY7PJA.js";import{c as B,e as ee}from"./chunk-V5O3TF57.js";import{a as O}from"./chunk-3XZOE2IQ.js";import{b as W,c as V,d as k,e as A,f as F}from"./chunk-62ZGP4ET.js";import{e as j}from"./chunk-3YLYGKFB.js";import{b as v,c as h,d as H,e as U,f as Y}from"./chunk-3XHTJZNP.js";import{b as y,c as q,d as T,e as x}from"./chunk-KZEZDBE7.js";import{a as S}from"./chunk-ELAW7ZUG.js";import{a as f,b as I,c as X,d as $,e as E,f as J,g as Q,h as Z,i as N}from"./chunk-2E4P5XQL.js";import{a as he}from"./chunk-OS3FCYZY.js";var Be={};he(Be,{CheckboxItem:()=>De,Content:()=>pe,Group:()=>ce,Item:()=>le,Label:()=>de,RadioGroup:()=>me,RadioItem:()=>we,Root:()=>ae,Separator:()=>Pe,Sub:()=>Me,SubContent:()=>Re,SubTrigger:()=>fe,Trigger:()=>ue,TriggerIcon:()=>ge,Virtual:()=>re});import*as e from"react";import d from"classnames";import{DropdownMenu as s,Slot as z}from"radix-ui";import{useCallbackRef as te}from"radix-ui/internal";var ie=e.createContext(!1),ae=o=>{let{open:n,defaultOpen:r=!1,onOpenChange:a}=o,[i,t]=e.useState(r),u=n??i,l=te(a),p=e.useCallback(m=>{t(m),l(m)},[l]),w=e.useCallback(()=>p(!1),[p]);return e.createElement(ie.Provider,{value:u},e.createElement(ee,{value:w},e.createElement(s.Root,{...o,open:u,onOpenChange:p})))};ae.displayName="DropdownMenu.Root";var ue=e.forwardRef(({children:o,...n},r)=>e.createElement(s.Trigger,{...n,ref:r,asChild:!0},ne(o)));ue.displayName="DropdownMenu.Trigger";var L=e.createContext({}),ye={ltr:"ArrowLeft",rtl:"ArrowRight"},Te={ltr:"ArrowRight",rtl:"ArrowLeft"};function xe(o){return o instanceof HTMLElement&&(o.isContentEditable||o.tagName==="INPUT"||o.tagName==="TEXTAREA")}function se(o){return o?.closest("[dir]")?.getAttribute("dir")==="rtl"?"rtl":"ltr"}var pe=e.forwardRef((o,n)=>{let r=j(o,v.size),a=oe(),{size:i=v.size.default}=r,{className:t,children:u,color:l,container:p,forceMount:w,submenuBehavior:m,virtualized:c=!1,onEscapeKeyDown:R,onKeyDown:C,...P}=S(r,v),D=l||a.accentColor,b=y(m,"cascade"),_=b==="drill-down",Ie=e.useContext(ie),g=X(),ve=M=>{R?.(M),!(M.defaultPrevented||!_||g.getDepth()===0)&&(M.preventDefault(),g.pop("keyboard"))},Se=M=>{C?.(M),!(M.defaultPrevented||!_||g.getDepth()===0)&&(xe(M.target)||M.key===ye[se(M.currentTarget)]&&(M.preventDefault(),g.pop("keyboard")))},ke=e.useMemo(()=>({size:i,color:D}),[i,D]),K=e.createElement(B,{size:i},e.createElement(L.Provider,{value:ke},e.createElement($,{store:g,behavior:b,open:Ie},u)));return e.createElement(s.Portal,{container:p,forceMount:w},e.createElement(G,{asChild:!0},e.createElement(s.Content,{"data-accent-color":D,align:"start",sideOffset:4,collisionPadding:10,...P,onEscapeKeyDown:ve,onKeyDown:Se,asChild:!1,ref:n,className:d("kui-PopperContent","kui-BaseMenuContent","kui-variant-soft","kui-DropdownMenuContent",t)},c?e.createElement("div",{className:d("kui-BaseMenuViewport","kui-DropdownMenuViewport","kui-virtualized")},K):e.createElement(O,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:d("kui-BaseMenuViewport","kui-DropdownMenuViewport")},K)))))});pe.displayName="DropdownMenu.Content";var de=e.forwardRef(({className:o,...n},r)=>e.useContext(f)?e.createElement(s.Label,{...n,asChild:!1,ref:r,className:d("kui-BaseMenuLabel","kui-DropdownMenuLabel",o)}):null);de.displayName="DropdownMenu.Label";var le=e.forwardRef((o,n)=>{let{className:r,children:a,color:i=H.color.default,shortcut:t,...u}=o;return e.useContext(f)?e.createElement(s.Item,{"data-accent-color":i,"aria-keyshortcuts":t?T(t):void 0,...u,ref:n,className:d("kui-reset","kui-BaseMenuItem","kui-DropdownMenuItem",r)},e.createElement(z.Slottable,null,a),t&&e.createElement(x,{shortcut:t,className:"kui-DropdownMenuShortcut"})):null});le.displayName="DropdownMenu.Item";var ce=e.forwardRef(({className:o,...n},r)=>e.createElement(s.Group,{...n,asChild:!1,ref:r,className:d("kui-BaseMenuGroup","kui-DropdownMenuGroup",o)}));ce.displayName="DropdownMenu.Group";var me=e.forwardRef(({className:o,...n},r)=>e.createElement(s.RadioGroup,{...n,asChild:!1,ref:r,className:d("kui-BaseMenuRadioGroup","kui-DropdownMenuRadioGroup",o)}));me.displayName="DropdownMenu.RadioGroup";var we=e.forwardRef((o,n)=>{let{children:r,className:a,color:i=Y.color.default,...t}=o;return e.useContext(f)?e.createElement(s.RadioItem,{...t,asChild:!1,ref:n,"data-accent-color":i,className:d("kui-BaseMenuItem","kui-BaseMenuRadioItem","kui-DropdownMenuItem","kui-DropdownMenuRadioItem",a)},e.createElement(z.Slottable,null,r),e.createElement(s.ItemIndicator,{className:"kui-BaseMenuItemIndicator kui-DropdownMenuItemIndicator"},e.createElement(F,{className:"kui-BaseMenuItemIndicatorIcon kui-DropdownMenuItemIndicatorIcon"}))):null});we.displayName="DropdownMenu.RadioItem";var De=e.forwardRef((o,n)=>{let{children:r,className:a,shortcut:i,color:t=U.color.default,...u}=o;return e.useContext(f)?e.createElement(s.CheckboxItem,{"aria-keyshortcuts":i?T(i):void 0,...u,asChild:!1,ref:n,"data-accent-color":t,className:d("kui-BaseMenuItem","kui-BaseMenuCheckboxItem","kui-DropdownMenuItem","kui-DropdownMenuCheckboxItem",a)},e.createElement(z.Slottable,null,r),e.createElement(s.ItemIndicator,{className:"kui-BaseMenuItemIndicator kui-DropdownMenuItemIndicator"},e.createElement(W,{className:"kui-BaseMenuItemIndicatorIcon kui-DropdownMenuItemIndicatorIcon"})),i&&e.createElement(x,{shortcut:i,className:"kui-DropdownMenuShortcut"})):null});De.displayName="DropdownMenu.CheckboxItem";var Me=({label:o="Back",open:n,defaultOpen:r,onOpenChange:a,children:i})=>{let t=I(),u=e.useId(),l=e.useMemo(()=>({id:u,label:o}),[u,o]),p=E(t,u)!=="closed";e.useLayoutEffect(()=>{!t||n===void 0||(n&&!t.isOpen(u)?t.push(u,null):!n&&t.isOpen(u)&&t.close(u))},[t,n,u]);let w=e.useRef(r);e.useLayoutEffect(()=>{t&&w.current&&n===void 0&&t.push(u,null)},[]);let m=te(a),c=e.useRef(p);return e.useEffect(()=>{!t||c.current===p||(c.current=p,m(p))},[t,p,m]),e.createElement(Z.Provider,{value:l},e.createElement(s.Sub,{open:n,defaultOpen:r,onOpenChange:t?void 0:a},i))};Me.displayName="DropdownMenu.Sub";var fe=e.forwardRef((o,n)=>{let{className:r,children:a,onKeyDown:i,...t}=o,u=I(),l=N(),p=e.useContext(f);if(u&&l){if(!p)return null;let w=c=>{c.preventDefault(),u.push(l.id)},m=c=>{i?.(c),!(c.defaultPrevented||t.disabled)&&c.key===Te[se(c.currentTarget)]&&(c.preventDefault(),u.push(l.id,"keyboard"))};return e.createElement(s.Item,{"aria-haspopup":"menu",...t,"data-drill-down-trigger":l.id,"data-drill-down-name":t.textValue,onSelect:w,onKeyDown:m,ref:n,className:d("kui-reset","kui-BaseMenuItem","kui-BaseMenuSubTrigger","kui-DropdownMenuItem","kui-DropdownMenuSubTrigger","kui-DropdownMenuDrillDownSubTrigger",r)},a,e.createElement("div",{className:"kui-BaseMenuShortcut kui-DropdownMenuShortcut"},e.createElement(k,{className:"kui-BaseMenuSubTriggerIcon kui-DropdownMenuSubTriggerIcon"})))}return e.createElement(s.SubTrigger,{...t,onKeyDown:i,asChild:!1,ref:n,className:d("kui-BaseMenuItem","kui-BaseMenuSubTrigger","kui-DropdownMenuItem","kui-DropdownMenuSubTrigger",r)},a,e.createElement("div",{className:"kui-BaseMenuShortcut kui-DropdownMenuShortcut"},e.createElement(k,{className:"kui-BaseMenuSubTriggerIcon kui-DropdownMenuSubTriggerIcon"})))});fe.displayName="DropdownMenu.SubTrigger";var Pe=e.forwardRef(({className:o,...n},r)=>e.useContext(f)?e.createElement(s.Separator,{...n,asChild:!1,ref:r,className:d("kui-BaseMenuSeparator","kui-DropdownMenuSeparator",o)}):null);Pe.displayName="DropdownMenu.Separator";function Ee({label:o,name:n}){let r=I(),a=e.useCallback(u=>{u.preventDefault(),r?.pop()},[r]),i=typeof o=="string"?o:n,t=i&&i!=="Back"?`Back from ${i}`:void 0;return e.createElement(s.Item,{"aria-label":t,textValue:i||"Back",onSelect:a,className:d("kui-reset","kui-BaseMenuItem","kui-DropdownMenuItem","kui-DropdownMenuDrillDownBackItem")},e.createElement(A,{className:"kui-BaseMenuSubTriggerIcon kui-DropdownMenuDrillDownBackIcon"}),e.createElement("span",{className:"kui-DropdownMenuDrillDownBackLabel"},o))}function Ne(o){let{loop:n,onEscapeKeyDown:r,onPointerDownOutside:a,onFocusOutside:i,onInteractOutside:t,sideOffset:u,alignOffset:l,avoidCollisions:p,collisionBoundary:w,collisionPadding:m,arrowPadding:c,sticky:R,hideWhenDetached:C,updatePositionStrategy:P,...D}=o;return D}var Re=e.forwardRef((o,n)=>{let r=I(),a=N();return r&&a?e.createElement(be,{...o,ref:n,store:r,sub:a}):e.createElement(Ce,{...o,ref:n})});Re.displayName="DropdownMenu.SubContent";var Ce=e.forwardRef((o,n)=>{let r=e.useContext(L),a=o.size??r.size,i=o.color??r.color,{className:t,children:u,container:l,forceMount:p,color:w,virtualized:m=!1,...c}=S({...o,size:a},h),R=y(a,h.size.default),C=e.useMemo(()=>({size:a,color:i}),[a,i]),P=e.createElement(B,{size:a},e.createElement(L.Provider,{value:C},u));return e.createElement(s.Portal,{container:l,forceMount:p},e.createElement(G,{asChild:!0},e.createElement(s.SubContent,{"data-accent-color":i,alignOffset:q(R),sideOffset:1,collisionPadding:10,...c,asChild:!1,ref:n,className:d("kui-PopperContent","kui-BaseMenuContent","kui-variant-soft","kui-BaseMenuSubContent","kui-DropdownMenuContent","kui-DropdownMenuSubContent",t)},m?e.createElement("div",{className:d("kui-BaseMenuViewport","kui-DropdownMenuViewport","kui-virtualized")},P):e.createElement(O,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:d("kui-BaseMenuViewport","kui-DropdownMenuViewport")},P)))))});Ce.displayName="DropdownMenu.CascadeSubContent";var be=e.forwardRef(({store:o,sub:n,...r},a)=>{let i=E(o,n.id),t=J(o,n.id),u=Q(i==="top"?o:null);if(i==="closed")return null;let{className:l,children:p,container:w,forceMount:m,virtualized:c,size:R,color:C,...P}=Ne(r),D=i==="top",b=t?.name||(typeof n.label=="string"?n.label:"");return e.createElement("div",{role:"group","aria-label":b||void 0,...P,ref:a,"data-drill-down-panel":n.id,"data-drill-down-active":D?!0:void 0,"data-animation-direction":D?u??void 0:void 0,className:d("kui-DropdownMenuDrillDownPanel",l)},D&&e.createElement(e.Fragment,null,e.createElement(Ee,{label:n.label,name:b}),e.createElement(s.Separator,{className:"kui-BaseMenuSeparator kui-DropdownMenuSeparator"})),e.createElement(f.Provider,{value:D},p))});be.displayName="DropdownMenu.DrillDownPanel";var ge=e.forwardRef(({className:o,...n},r)=>e.createElement(V,{...n,ref:r,className:d("kui-DropdownMenuTriggerIcon",o)}));ge.displayName="DropdownMenu.TriggerIcon";export{ae as a,ue as b,pe as c,de as d,le as e,ce as f,me as g,we as h,De as i,Me as j,fe as k,Pe as l,Re as m,ge as n,Be as o};
2
- //# sourceMappingURL=chunk-432YLNB3.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/dropdown-menu.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport { VirtualMenu } from './virtual-menu.js';\nimport classNames from 'classnames';\nimport { DropdownMenu as DropdownMenuPrimitive, Slot } from 'radix-ui';\nimport { useCallbackRef } from 'radix-ui/internal';\n\nimport { ScrollArea } from './scroll-area.js';\nimport {\n dropdownMenuContentPropDefs,\n dropdownMenuSubContentPropDefs,\n dropdownMenuItemPropDefs,\n dropdownMenuCheckboxItemPropDefs,\n dropdownMenuRadioItemPropDefs,\n} from './dropdown-menu.props.js';\nimport { Theme, useThemeContext } from './theme.js';\nimport { ChevronDownIcon, ThickCheckIcon, ThickChevronLeftIcon, ThickChevronRightIcon, ThickDotIcon } from './icons.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\nimport {\n DrillDownLevelContext,\n DrillDownRoot,\n SubContext,\n useCreateDrillDownStore,\n useDrillDownDirection,\n useDrillDownStore,\n usePanelPosition,\n useStackEntry,\n useSubContext,\n} from './_internal/dropdown-menu-drill-down.js';\nimport { MenuCloseProvider, MenuProvider } from './_internal/menu-context.js';\nimport {\n MenuShortcut,\n getMenuAlignOffset,\n toAriaKeyShortcuts,\n useResolvedResponsiveValue,\n} from './_internal/base-menu.utils.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\n\nimport type { SubmenuBehavior } from './_internal/dropdown-menu-drill-down.js';\nimport type { IconProps } from './icons.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes, Responsive } from '../props/prop-def.js';\n\n/**\n * Open state of the menu, mirrored from Root so Content can reset drill-down\n * navigation when a force-mounted menu opens again.\n */\nconst DropdownMenuOpenContext = React.createContext(false);\n\ninterface DropdownMenuRootProps\n extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Root> {}\nconst DropdownMenuRoot: React.FC<DropdownMenuRootProps> = (props) => {\n const { open: openProp, defaultOpen = false, onOpenChange } = props;\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen);\n const open = openProp ?? uncontrolledOpen;\n\n const handleOpenChangeProp = useCallbackRef(onOpenChange);\n const handleOpenChange = React.useCallback(\n (next: boolean) => {\n setUncontrolledOpen(next);\n handleOpenChangeProp(next);\n },\n [handleOpenChangeProp],\n );\n\n const close = React.useCallback(() => handleOpenChange(false), [handleOpenChange]);\n\n return (\n <DropdownMenuOpenContext.Provider value={open}>\n <MenuCloseProvider value={close}>\n <DropdownMenuPrimitive.Root {...props} open={open} onOpenChange={handleOpenChange} />\n </MenuCloseProvider>\n </DropdownMenuOpenContext.Provider>\n );\n};\nDropdownMenuRoot.displayName = 'DropdownMenu.Root';\n\ntype DropdownMenuTriggerElement = React.ElementRef<typeof DropdownMenuPrimitive.Trigger>;\ninterface DropdownMenuTriggerProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.Trigger, RemovedProps> {}\nconst DropdownMenuTrigger = React.forwardRef<DropdownMenuTriggerElement, DropdownMenuTriggerProps>(\n ({ children, ...props }, forwardedRef) => (\n <DropdownMenuPrimitive.Trigger {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </DropdownMenuPrimitive.Trigger>\n ),\n);\nDropdownMenuTrigger.displayName = 'DropdownMenu.Trigger';\n\n/** Visual props shared by Content and SubContent. */\ntype DropdownMenuSurfaceProps = GetPropDefTypes<typeof dropdownMenuSubContentPropDefs>;\n\ntype DropdownMenuContentContextValue = {\n size?: DropdownMenuSurfaceProps['size'];\n color?: DropdownMenuSurfaceProps['color'];\n};\nconst DropdownMenuContentContext = React.createContext<DropdownMenuContentContextValue>({});\n\n/** Keys that navigate back one drill-down level, by writing direction. */\nconst BACK_KEYS = { ltr: 'ArrowLeft', rtl: 'ArrowRight' } as const;\nconst FORWARD_KEYS = { ltr: 'ArrowRight', rtl: 'ArrowLeft' } as const;\n\nfunction isTextEntryTarget(target: EventTarget | null) {\n return (\n target instanceof HTMLElement &&\n (target.isContentEditable || target.tagName === 'INPUT' || target.tagName === 'TEXTAREA')\n );\n}\n\nfunction getDirection(element: HTMLElement | null): 'ltr' | 'rtl' {\n return element?.closest('[dir]')?.getAttribute('dir') === 'rtl' ? 'rtl' : 'ltr';\n}\n\ntype DropdownMenuContentElement = React.ElementRef<typeof DropdownMenuPrimitive.Content>;\ninterface DropdownMenuContentProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.Content, RemovedProps>,\n DropdownMenuSurfaceProps {\n container?: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Portal>['container'];\n /**\n * Controls how submenus behave.\n * - `cascade`: Default cascading behavior where submenus open to the side (portal-based)\n * - `drill-down`: Mobile-friendly behavior where submenus replace the content inline\n * Supports responsive values: `{ initial: 'drill-down', md: 'cascade' }`\n */\n submenuBehavior?: Responsive<SubmenuBehavior>;\n /**\n * When true, skips the ScrollArea wrapper to allow VirtualMenu to handle its own scrolling.\n * Use this when rendering virtualized lists inside the dropdown.\n */\n virtualized?: boolean;\n}\nconst DropdownMenuContent = React.forwardRef<DropdownMenuContentElement, DropdownMenuContentProps>(\n (ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, dropdownMenuContentPropDefs.size);\n const themeContext = useThemeContext();\n const {\n size = dropdownMenuContentPropDefs.size.default,\n } = props;\n const {\n className,\n children,\n color,\n container,\n forceMount,\n submenuBehavior,\n virtualized = false,\n onEscapeKeyDown,\n onKeyDown,\n ...contentProps\n } = extractProps(props, dropdownMenuContentPropDefs);\n\n const resolvedColor = color || themeContext.accentColor;\n const behavior = useResolvedResponsiveValue<SubmenuBehavior>(submenuBehavior, 'cascade');\n const isDrillDown = behavior === 'drill-down';\n const open = React.useContext(DropdownMenuOpenContext);\n const drillDownStore = useCreateDrillDownStore();\n\n // Escape goes back one drill-down level before it closes the menu.\n const handleEscapeKeyDown = (event: KeyboardEvent) => {\n onEscapeKeyDown?.(event);\n if (event.defaultPrevented || !isDrillDown || drillDownStore.getDepth() === 0) return;\n event.preventDefault();\n drillDownStore.pop('keyboard');\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || !isDrillDown || drillDownStore.getDepth() === 0) return;\n if (isTextEntryTarget(event.target)) return;\n if (event.key === BACK_KEYS[getDirection(event.currentTarget)]) {\n event.preventDefault();\n drillDownStore.pop('keyboard');\n }\n };\n\n const contextValue = React.useMemo(\n () => ({ size, color: resolvedColor }),\n [size, resolvedColor],\n );\n\n const contentBody = (\n <MenuProvider size={size}>\n <DropdownMenuContentContext.Provider value={contextValue}>\n <DrillDownRoot store={drillDownStore} behavior={behavior} open={open}>\n {children}\n </DrillDownRoot>\n </DropdownMenuContentContext.Provider>\n </MenuProvider>\n );\n\n return (\n <DropdownMenuPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <DropdownMenuPrimitive.Content\n data-accent-color={resolvedColor}\n align=\"start\"\n sideOffset={4}\n collisionPadding={10}\n {...contentProps}\n onEscapeKeyDown={handleEscapeKeyDown}\n onKeyDown={handleKeyDown}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'kui-PopperContent',\n 'kui-BaseMenuContent',\n 'kui-variant-soft',\n 'kui-DropdownMenuContent',\n className,\n )}\n >\n {virtualized ? (\n <div className={classNames('kui-BaseMenuViewport', 'kui-DropdownMenuViewport', 'kui-virtualized')}>\n {contentBody}\n </div>\n ) : (\n <ScrollArea type=\"auto\" scrollbars=\"vertical\">\n <div className={classNames('kui-BaseMenuViewport', 'kui-DropdownMenuViewport')}>\n {contentBody}\n </div>\n </ScrollArea>\n )}\n </DropdownMenuPrimitive.Content>\n </Theme>\n </DropdownMenuPrimitive.Portal>\n );\n },\n);\nDropdownMenuContent.displayName = 'DropdownMenu.Content';\n\ntype DropdownMenuLabelElement = React.ElementRef<typeof DropdownMenuPrimitive.Label>;\ninterface DropdownMenuLabelProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.Label, RemovedProps> {}\nconst DropdownMenuLabel = React.forwardRef<DropdownMenuLabelElement, DropdownMenuLabelProps>(\n ({ className, ...props }, forwardedRef) => {\n if (!React.useContext(DrillDownLevelContext)) return null;\n return (\n <DropdownMenuPrimitive.Label\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-BaseMenuLabel', 'kui-DropdownMenuLabel', className)}\n />\n );\n },\n);\nDropdownMenuLabel.displayName = 'DropdownMenu.Label';\n\ntype DropdownMenuItemElement = React.ElementRef<typeof DropdownMenuPrimitive.Item>;\ntype DropdownMenuItemOwnProps = GetPropDefTypes<typeof dropdownMenuItemPropDefs>;\ninterface DropdownMenuItemProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.Item, RemovedProps>,\n DropdownMenuItemOwnProps {}\nconst DropdownMenuItem = React.forwardRef<DropdownMenuItemElement, DropdownMenuItemProps>(\n (props, forwardedRef) => {\n const {\n className,\n children,\n color = dropdownMenuItemPropDefs.color.default,\n shortcut,\n ...itemProps\n } = props;\n // In drill-down mode, items of levels that are not on screen do not mount.\n if (!React.useContext(DrillDownLevelContext)) return null;\n return (\n <DropdownMenuPrimitive.Item\n data-accent-color={color}\n aria-keyshortcuts={shortcut ? toAriaKeyShortcuts(shortcut) : undefined}\n {...itemProps}\n ref={forwardedRef}\n className={classNames('kui-reset', 'kui-BaseMenuItem', 'kui-DropdownMenuItem', className)}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n {shortcut && <MenuShortcut shortcut={shortcut} className=\"kui-DropdownMenuShortcut\" />}\n </DropdownMenuPrimitive.Item>\n );\n },\n);\nDropdownMenuItem.displayName = 'DropdownMenu.Item';\n\ntype DropdownMenuGroupElement = React.ElementRef<typeof DropdownMenuPrimitive.Group>;\ninterface DropdownMenuGroupProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.Group, RemovedProps> {}\nconst DropdownMenuGroup = React.forwardRef<DropdownMenuGroupElement, DropdownMenuGroupProps>(\n ({ className, ...props }, forwardedRef) => (\n <DropdownMenuPrimitive.Group\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-BaseMenuGroup', 'kui-DropdownMenuGroup', className)}\n />\n ),\n);\nDropdownMenuGroup.displayName = 'DropdownMenu.Group';\n\ntype DropdownMenuRadioGroupElement = React.ElementRef<typeof DropdownMenuPrimitive.RadioGroup>;\ninterface DropdownMenuRadioGroupProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.RadioGroup, RemovedProps> {}\nconst DropdownMenuRadioGroup = React.forwardRef<\n DropdownMenuRadioGroupElement,\n DropdownMenuRadioGroupProps\n>(({ className, ...props }, forwardedRef) => (\n <DropdownMenuPrimitive.RadioGroup\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-BaseMenuRadioGroup', 'kui-DropdownMenuRadioGroup', className)}\n />\n));\nDropdownMenuRadioGroup.displayName = 'DropdownMenu.RadioGroup';\n\ntype DropdownMenuRadioItemElement = React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>;\ntype DropdownMenuRadioItemOwnProps = GetPropDefTypes<typeof dropdownMenuRadioItemPropDefs>;\ninterface DropdownMenuRadioItemProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.RadioItem, RemovedProps>,\n DropdownMenuRadioItemOwnProps {}\nconst DropdownMenuRadioItem = React.forwardRef<\n DropdownMenuRadioItemElement,\n DropdownMenuRadioItemProps\n>((props, forwardedRef) => {\n const {\n children,\n className,\n color = dropdownMenuRadioItemPropDefs.color.default,\n ...itemProps\n } = props;\n if (!React.useContext(DrillDownLevelContext)) return null;\n return (\n <DropdownMenuPrimitive.RadioItem\n {...itemProps}\n asChild={false}\n ref={forwardedRef}\n data-accent-color={color}\n className={classNames(\n 'kui-BaseMenuItem',\n 'kui-BaseMenuRadioItem',\n 'kui-DropdownMenuItem',\n 'kui-DropdownMenuRadioItem',\n className,\n )}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n <DropdownMenuPrimitive.ItemIndicator className=\"kui-BaseMenuItemIndicator kui-DropdownMenuItemIndicator\">\n <ThickDotIcon className=\"kui-BaseMenuItemIndicatorIcon kui-DropdownMenuItemIndicatorIcon\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </DropdownMenuPrimitive.RadioItem>\n );\n});\nDropdownMenuRadioItem.displayName = 'DropdownMenu.RadioItem';\n\ntype DropdownMenuCheckboxItemElement = React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>;\ntype DropdownMenuCheckboxItemOwnProps = GetPropDefTypes<typeof dropdownMenuCheckboxItemPropDefs>;\ninterface DropdownMenuCheckboxItemProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.CheckboxItem, RemovedProps>,\n DropdownMenuCheckboxItemOwnProps {}\nconst DropdownMenuCheckboxItem = React.forwardRef<\n DropdownMenuCheckboxItemElement,\n DropdownMenuCheckboxItemProps\n>((props, forwardedRef) => {\n const {\n children,\n className,\n shortcut,\n color = dropdownMenuCheckboxItemPropDefs.color.default,\n ...itemProps\n } = props;\n if (!React.useContext(DrillDownLevelContext)) return null;\n return (\n <DropdownMenuPrimitive.CheckboxItem\n aria-keyshortcuts={shortcut ? toAriaKeyShortcuts(shortcut) : undefined}\n {...itemProps}\n asChild={false}\n ref={forwardedRef}\n data-accent-color={color}\n className={classNames(\n 'kui-BaseMenuItem',\n 'kui-BaseMenuCheckboxItem',\n 'kui-DropdownMenuItem',\n 'kui-DropdownMenuCheckboxItem',\n className,\n )}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n <DropdownMenuPrimitive.ItemIndicator className=\"kui-BaseMenuItemIndicator kui-DropdownMenuItemIndicator\">\n <ThickCheckIcon className=\"kui-BaseMenuItemIndicatorIcon kui-DropdownMenuItemIndicatorIcon\" />\n </DropdownMenuPrimitive.ItemIndicator>\n {shortcut && <MenuShortcut shortcut={shortcut} className=\"kui-DropdownMenuShortcut\" />}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n});\nDropdownMenuCheckboxItem.displayName = 'DropdownMenu.CheckboxItem';\n\ninterface DropdownMenuSubProps\n extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Sub> {\n /**\n * Label displayed in the back button when using drill-down mode.\n * If not provided, defaults to \"Back\".\n */\n label?: React.ReactNode;\n}\nconst DropdownMenuSub: React.FC<DropdownMenuSubProps> = ({\n label = 'Back',\n open,\n defaultOpen,\n onOpenChange,\n children,\n}) => {\n const drillDownStore = useDrillDownStore();\n const id = React.useId();\n const subContextValue = React.useMemo(() => ({ id, label }), [id, label]);\n const isOpenInDrillDown = usePanelPosition(drillDownStore, id) !== 'closed';\n\n // Drill-down: `open` and `defaultOpen` drive the stack; the stack drives\n // `onOpenChange`. A controlled `open` is applied when it changes.\n React.useLayoutEffect(() => {\n if (!drillDownStore || open === undefined) return;\n if (open && !drillDownStore.isOpen(id)) drillDownStore.push(id, null);\n else if (!open && drillDownStore.isOpen(id)) drillDownStore.close(id);\n }, [drillDownStore, open, id]);\n\n const defaultOpenRef = React.useRef(defaultOpen);\n React.useLayoutEffect(() => {\n if (drillDownStore && defaultOpenRef.current && open === undefined) drillDownStore.push(id, null);\n // Only on mount, like an uncontrolled default.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleOpenChange = useCallbackRef(onOpenChange);\n const wasOpenRef = React.useRef(isOpenInDrillDown);\n React.useEffect(() => {\n if (!drillDownStore || wasOpenRef.current === isOpenInDrillDown) return;\n wasOpenRef.current = isOpenInDrillDown;\n handleOpenChange(isOpenInDrillDown);\n }, [drillDownStore, isOpenInDrillDown, handleOpenChange]);\n\n // Radix Sub stays mounted in both behaviors so switching behavior does not\n // remount the subtree. It only renders context; in drill-down its trigger\n // and content are never rendered, so it reports no open changes of its own.\n return (\n <SubContext.Provider value={subContextValue}>\n <DropdownMenuPrimitive.Sub\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={drillDownStore ? undefined : onOpenChange}\n >\n {children}\n </DropdownMenuPrimitive.Sub>\n </SubContext.Provider>\n );\n};\nDropdownMenuSub.displayName = 'DropdownMenu.Sub';\n\ntype DropdownMenuSubTriggerElement = React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>;\ninterface DropdownMenuSubTriggerProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.SubTrigger, RemovedProps> {}\nconst DropdownMenuSubTrigger = React.forwardRef<\n DropdownMenuSubTriggerElement,\n DropdownMenuSubTriggerProps\n>((props, forwardedRef) => {\n const { className, children, onKeyDown, ...subTriggerProps } = props;\n const drillDownStore = useDrillDownStore();\n const subContext = useSubContext();\n const isLevelVisible = React.useContext(DrillDownLevelContext);\n\n if (drillDownStore && subContext) {\n if (!isLevelVisible) return null;\n\n const handleSelect = (event: Event) => {\n // Navigating does not close the menu.\n event.preventDefault();\n drillDownStore.push(subContext.id);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || subTriggerProps.disabled) return;\n if (event.key === FORWARD_KEYS[getDirection(event.currentTarget)]) {\n event.preventDefault();\n drillDownStore.push(subContext.id, 'keyboard');\n }\n };\n\n return (\n <DropdownMenuPrimitive.Item\n aria-haspopup=\"menu\"\n {...subTriggerProps}\n data-drill-down-trigger={subContext.id}\n data-drill-down-name={subTriggerProps.textValue}\n onSelect={handleSelect}\n onKeyDown={handleKeyDown}\n ref={forwardedRef}\n className={classNames(\n 'kui-reset',\n 'kui-BaseMenuItem',\n 'kui-BaseMenuSubTrigger',\n 'kui-DropdownMenuItem',\n 'kui-DropdownMenuSubTrigger',\n 'kui-DropdownMenuDrillDownSubTrigger',\n className,\n )}\n >\n {children}\n <div className=\"kui-BaseMenuShortcut kui-DropdownMenuShortcut\">\n <ThickChevronRightIcon className=\"kui-BaseMenuSubTriggerIcon kui-DropdownMenuSubTriggerIcon\" />\n </div>\n </DropdownMenuPrimitive.Item>\n );\n }\n\n return (\n <DropdownMenuPrimitive.SubTrigger\n {...subTriggerProps}\n onKeyDown={onKeyDown}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'kui-BaseMenuItem',\n 'kui-BaseMenuSubTrigger',\n 'kui-DropdownMenuItem',\n 'kui-DropdownMenuSubTrigger',\n className,\n )}\n >\n {children}\n <div className=\"kui-BaseMenuShortcut kui-DropdownMenuShortcut\">\n <ThickChevronRightIcon className=\"kui-BaseMenuSubTriggerIcon kui-DropdownMenuSubTriggerIcon\" />\n </div>\n </DropdownMenuPrimitive.SubTrigger>\n );\n});\nDropdownMenuSubTrigger.displayName = 'DropdownMenu.SubTrigger';\n\ntype DropdownMenuSeparatorElement = React.ElementRef<typeof DropdownMenuPrimitive.Separator>;\ninterface DropdownMenuSeparatorProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.Separator, RemovedProps> {}\nconst DropdownMenuSeparator = React.forwardRef<\n DropdownMenuSeparatorElement,\n DropdownMenuSeparatorProps\n>(({ className, ...props }, forwardedRef) => {\n if (!React.useContext(DrillDownLevelContext)) return null;\n return (\n <DropdownMenuPrimitive.Separator\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-BaseMenuSeparator', 'kui-DropdownMenuSeparator', className)}\n />\n );\n});\nDropdownMenuSeparator.displayName = 'DropdownMenu.Separator';\n\n/** The row at the top of a drill-down panel that returns to the parent level. */\nfunction DrillDownBackItem({ label, name }: { label: React.ReactNode; name: string }) {\n const drillDownStore = useDrillDownStore();\n\n const handleSelect = React.useCallback(\n (event: Event) => {\n // Navigating does not close the menu.\n event.preventDefault();\n drillDownStore?.pop();\n },\n [drillDownStore],\n );\n\n // The visible label is often the submenu title, so the accessible name says\n // what the row does while still containing the visible text.\n const labelText = typeof label === 'string' ? label : name;\n const ariaLabel = labelText && labelText !== 'Back' ? `Back from ${labelText}` : undefined;\n\n return (\n <DropdownMenuPrimitive.Item\n aria-label={ariaLabel}\n textValue={labelText || 'Back'}\n onSelect={handleSelect}\n className={classNames(\n 'kui-reset',\n 'kui-BaseMenuItem',\n 'kui-DropdownMenuItem',\n 'kui-DropdownMenuDrillDownBackItem',\n )}\n >\n <ThickChevronLeftIcon className=\"kui-BaseMenuSubTriggerIcon kui-DropdownMenuDrillDownBackIcon\" />\n <span className=\"kui-DropdownMenuDrillDownBackLabel\">{label}</span>\n </DropdownMenuPrimitive.Item>\n );\n}\n\n/** Radix positioning and layer props that have no meaning for an inline drill-down panel. */\ntype PopperOnlyProps =\n | 'loop'\n | 'onEscapeKeyDown'\n | 'onPointerDownOutside'\n | 'onFocusOutside'\n | 'onInteractOutside'\n | 'sideOffset'\n | 'alignOffset'\n | 'avoidCollisions'\n | 'collisionBoundary'\n | 'collisionPadding'\n | 'arrowPadding'\n | 'sticky'\n | 'hideWhenDetached'\n | 'updatePositionStrategy';\n\nfunction omitPopperProps<T extends Record<string, unknown>>(props: T): Omit<T, PopperOnlyProps> {\n const {\n loop: _loop,\n onEscapeKeyDown: _onEscapeKeyDown,\n onPointerDownOutside: _onPointerDownOutside,\n onFocusOutside: _onFocusOutside,\n onInteractOutside: _onInteractOutside,\n sideOffset: _sideOffset,\n alignOffset: _alignOffset,\n avoidCollisions: _avoidCollisions,\n collisionBoundary: _collisionBoundary,\n collisionPadding: _collisionPadding,\n arrowPadding: _arrowPadding,\n sticky: _sticky,\n hideWhenDetached: _hideWhenDetached,\n updatePositionStrategy: _updatePositionStrategy,\n ...rest\n } = props;\n return rest;\n}\n\ntype DropdownMenuSubContentElement = React.ElementRef<typeof DropdownMenuPrimitive.SubContent>;\ninterface DropdownMenuSubContentProps\n extends ComponentPropsWithout<typeof DropdownMenuPrimitive.SubContent, RemovedProps>,\n DropdownMenuSurfaceProps {\n container?: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Portal>['container'];\n /**\n * When true, skips the ScrollArea wrapper so a VirtualMenu can handle its own\n * scrolling. Applies to cascade submenus; a drill-down panel scrolls with the\n * root content.\n */\n virtualized?: boolean;\n}\nconst DropdownMenuSubContent = React.forwardRef<\n DropdownMenuSubContentElement,\n DropdownMenuSubContentProps\n>((props, forwardedRef) => {\n const drillDownStore = useDrillDownStore();\n const subContext = useSubContext();\n\n if (drillDownStore && subContext) {\n return (\n <DrillDownPanel {...props} ref={forwardedRef} store={drillDownStore} sub={subContext} />\n );\n }\n return <CascadeSubContent {...props} ref={forwardedRef} />;\n});\nDropdownMenuSubContent.displayName = 'DropdownMenu.SubContent';\n\nconst CascadeSubContent = React.forwardRef<DropdownMenuSubContentElement, DropdownMenuSubContentProps>(\n (props, forwardedRef) => {\n const parent = React.useContext(DropdownMenuContentContext);\n\n // A submenu inherits the parent surface, and its own props win.\n const size = props.size ?? parent.size;\n const color = props.color ?? parent.color;\n\n const {\n className,\n children,\n container,\n forceMount,\n color: _color,\n virtualized = false,\n ...subContentProps\n } = extractProps({ ...props, size }, dropdownMenuSubContentPropDefs);\n\n const scalarSize = useResolvedResponsiveValue(size, dropdownMenuSubContentPropDefs.size.default);\n\n const contextValue = React.useMemo(\n () => ({ size, color }),\n [size, color],\n );\n\n const body = (\n <MenuProvider size={size}>\n <DropdownMenuContentContext.Provider value={contextValue}>{children}</DropdownMenuContentContext.Provider>\n </MenuProvider>\n );\n\n return (\n <DropdownMenuPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <DropdownMenuPrimitive.SubContent\n data-accent-color={color}\n alignOffset={getMenuAlignOffset(scalarSize)}\n // Side offset accounts for the outer solid box-shadow\n sideOffset={1}\n collisionPadding={10}\n {...subContentProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'kui-PopperContent',\n 'kui-BaseMenuContent',\n 'kui-variant-soft',\n 'kui-BaseMenuSubContent',\n 'kui-DropdownMenuContent',\n 'kui-DropdownMenuSubContent',\n className,\n )}\n >\n {virtualized ? (\n <div className={classNames('kui-BaseMenuViewport', 'kui-DropdownMenuViewport', 'kui-virtualized')}>\n {body}\n </div>\n ) : (\n <ScrollArea type=\"auto\" scrollbars=\"vertical\">\n <div className={classNames('kui-BaseMenuViewport', 'kui-DropdownMenuViewport')}>{body}</div>\n </ScrollArea>\n )}\n </DropdownMenuPrimitive.SubContent>\n </Theme>\n </DropdownMenuPrimitive.Portal>\n );\n },\n);\nCascadeSubContent.displayName = 'DropdownMenu.CascadeSubContent';\n\ninterface DrillDownPanelProps extends DropdownMenuSubContentProps {\n store: NonNullable<ReturnType<typeof useDrillDownStore>>;\n sub: NonNullable<ReturnType<typeof useSubContext>>;\n}\n\n/**\n * A submenu rendered inline in drill-down mode. It mounts its children only\n * while it is on the navigation stack, and shows its own items only while it\n * is the top level; deeper panels inside it stay mounted.\n */\nconst DrillDownPanel = React.forwardRef<DropdownMenuSubContentElement, DrillDownPanelProps>(\n ({ store, sub, ...props }, forwardedRef) => {\n const position = usePanelPosition(store, sub.id);\n const entry = useStackEntry(store, sub.id);\n const direction = useDrillDownDirection(position === 'top' ? store : null);\n\n if (position === 'closed') return null;\n\n const {\n className,\n children,\n container: _container,\n forceMount: _forceMount,\n virtualized: _virtualized,\n size: _size,\n color: _color,\n ...panelProps\n } = omitPopperProps(props);\n\n const isTop = position === 'top';\n const name = entry?.name || (typeof sub.label === 'string' ? sub.label : '');\n\n return (\n <div\n role=\"group\"\n aria-label={name || undefined}\n {...panelProps}\n ref={forwardedRef}\n data-drill-down-panel={sub.id}\n data-drill-down-active={isTop ? true : undefined}\n data-animation-direction={isTop ? (direction ?? undefined) : undefined}\n className={classNames('kui-DropdownMenuDrillDownPanel', className)}\n >\n {isTop && (\n <>\n <DrillDownBackItem label={sub.label} name={name} />\n <DropdownMenuPrimitive.Separator className=\"kui-BaseMenuSeparator kui-DropdownMenuSeparator\" />\n </>\n )}\n <DrillDownLevelContext.Provider value={isTop}>{children}</DrillDownLevelContext.Provider>\n </div>\n );\n },\n);\nDrillDownPanel.displayName = 'DropdownMenu.DrillDownPanel';\n\ntype DropdownMenuTriggerIconElement = React.ElementRef<'svg'>;\ninterface DropdownMenuTriggerIconProps extends IconProps {}\nconst DropdownMenuTriggerIcon = React.forwardRef<\n DropdownMenuTriggerIconElement,\n DropdownMenuTriggerIconProps\n>(({ className, ...props }, forwardedRef) => (\n <ChevronDownIcon\n {...props}\n ref={forwardedRef}\n className={classNames('kui-DropdownMenuTriggerIcon', className)}\n />\n));\nDropdownMenuTriggerIcon.displayName = 'DropdownMenu.TriggerIcon';\n\nexport {\n DropdownMenuRoot as Root,\n DropdownMenuTrigger as Trigger,\n DropdownMenuTriggerIcon as TriggerIcon,\n DropdownMenuContent as Content,\n DropdownMenuLabel as Label,\n DropdownMenuItem as Item,\n DropdownMenuGroup as Group,\n DropdownMenuRadioGroup as RadioGroup,\n DropdownMenuRadioItem as RadioItem,\n DropdownMenuCheckboxItem as CheckboxItem,\n DropdownMenuSub as Sub,\n DropdownMenuSubTrigger as SubTrigger,\n DropdownMenuSubContent as SubContent,\n DropdownMenuSeparator as Separator,\n VirtualMenu as Virtual,\n};\n\nexport type {\n DropdownMenuRootProps as RootProps,\n DropdownMenuTriggerProps as TriggerProps,\n DropdownMenuTriggerIconProps as TriggerIconProps,\n DropdownMenuContentProps as ContentProps,\n DropdownMenuLabelProps as LabelProps,\n DropdownMenuItemProps as ItemProps,\n DropdownMenuGroupProps as GroupProps,\n DropdownMenuRadioGroupProps as RadioGroupProps,\n DropdownMenuRadioItemProps as RadioItemProps,\n DropdownMenuCheckboxItemProps as CheckboxItemProps,\n DropdownMenuSubProps as SubProps,\n DropdownMenuSubTriggerProps as SubTriggerProps,\n DropdownMenuSubContentProps as SubContentProps,\n DropdownMenuSeparatorProps as SeparatorProps,\n SubmenuBehavior,\n};\n"],
5
- "mappings": "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",
6
- "names": ["dropdown_menu_exports", "__export", "DropdownMenuCheckboxItem", "DropdownMenuContent", "DropdownMenuGroup", "DropdownMenuItem", "DropdownMenuLabel", "DropdownMenuRadioGroup", "DropdownMenuRadioItem", "DropdownMenuRoot", "DropdownMenuSeparator", "DropdownMenuSub", "DropdownMenuSubContent", "DropdownMenuSubTrigger", "DropdownMenuTrigger", "DropdownMenuTriggerIcon", "VirtualMenu", "React", "classNames", "DropdownMenuPrimitive", "Slot", "useCallbackRef", "DropdownMenuOpenContext", "DropdownMenuRoot", "props", "openProp", "defaultOpen", "onOpenChange", "uncontrolledOpen", "setUncontrolledOpen", "open", "handleOpenChangeProp", "useCallbackRef", "handleOpenChange", "next", "close", "MenuCloseProvider", "DropdownMenuPrimitive", "DropdownMenuTrigger", "children", "forwardedRef", "requireReactElement", "DropdownMenuContentContext", "BACK_KEYS", "FORWARD_KEYS", "isTextEntryTarget", "target", "getDirection", "element", "DropdownMenuContent", "ownProps", "useThemeSizeProps", "baseMenuContentPropDefs", "themeContext", "useThemeContext", "size", "className", "color", "container", "forceMount", "submenuBehavior", "virtualized", "onEscapeKeyDown", "onKeyDown", "contentProps", "extractProps", "resolvedColor", "behavior", "useResolvedResponsiveValue", "isDrillDown", "drillDownStore", "useCreateDrillDownStore", "handleEscapeKeyDown", "event", "handleKeyDown", "contextValue", "contentBody", "MenuProvider", "DrillDownRoot", "Theme", "classNames", "ScrollArea", "DropdownMenuLabel", "DrillDownLevelContext", "DropdownMenuItem", "baseMenuItemPropDefs", "shortcut", "itemProps", "toAriaKeyShortcuts", "Slot", "MenuShortcut", "DropdownMenuGroup", "DropdownMenuRadioGroup", "DropdownMenuRadioItem", "baseMenuRadioItemPropDefs", "ThickDotIcon", "DropdownMenuCheckboxItem", "baseMenuCheckboxItemPropDefs", "ThickCheckIcon", "DropdownMenuSub", "label", "useDrillDownStore", "id", "subContextValue", "isOpenInDrillDown", "usePanelPosition", "defaultOpenRef", "wasOpenRef", "SubContext", "DropdownMenuSubTrigger", "subTriggerProps", "subContext", "useSubContext", "isLevelVisible", "handleSelect", "ThickChevronRightIcon", "DropdownMenuSeparator", "DrillDownBackItem", "name", "labelText", "ariaLabel", "ThickChevronLeftIcon", "omitPopperProps", "_loop", "_onEscapeKeyDown", "_onPointerDownOutside", "_onFocusOutside", "_onInteractOutside", "_sideOffset", "_alignOffset", "_avoidCollisions", "_collisionBoundary", "_collisionPadding", "_arrowPadding", "_sticky", "_hideWhenDetached", "_updatePositionStrategy", "rest", "DropdownMenuSubContent", "DrillDownPanel", "CascadeSubContent", "parent", "_color", "subContentProps", "baseMenuSubContentPropDefs", "scalarSize", "body", "getMenuAlignOffset", "store", "sub", "position", "entry", "useStackEntry", "direction", "useDrillDownDirection", "_container", "_forceMount", "_virtualized", "_size", "panelProps", "isTop", "DropdownMenuTriggerIcon", "ChevronDownIcon"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/card.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from 'radix-ui';\n\nimport { cardPropDefs } from './card.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype CardElement = React.ElementRef<'div'>;\ntype CardOwnProps = GetPropDefTypes<typeof cardPropDefs>;\ninterface CardProps extends ComponentPropsWithout<'div', RemovedProps>, CardOwnProps {}\nconst Card = React.forwardRef<CardElement, CardProps>((ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, cardPropDefs.size);\n const { asChild, className, ...cardProps } = extractProps(props, cardPropDefs);\n const Comp = asChild ? Slot.Root : 'div';\n return (\n <Comp\n ref={forwardedRef}\n {...cardProps}\n className={classNames('kui-reset', 'kui-BaseCard', 'kui-Card', 'kui-SurfaceNest', className)}\n />\n );\n});\nCard.displayName = 'Card';\n\nexport { Card };\nexport type { CardProps };\n"],
5
- "mappings": "wHAEA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,QAAAC,MAAY,WAYrB,IAAMC,EAAa,aAAmC,CAACC,EAAUC,IAAiB,CAChF,IAAMC,EAAQC,EAAkBH,EAAUI,EAAa,IAAI,EACrD,CAAE,QAAAC,EAAS,UAAAC,EAAW,GAAGC,CAAU,EAAIC,EAAaN,EAAOE,CAAY,EACvEK,EAAOJ,EAAUK,EAAK,KAAO,MACnC,OACE,gBAACD,EAAA,CACC,IAAKR,EACJ,GAAGM,EACJ,UAAWI,EAAW,YAAa,eAAgB,WAAY,kBAAmBL,CAAS,EAC7F,CAEJ,CAAC,EACDP,EAAK,YAAc",
6
- "names": ["React", "classNames", "Slot", "Card", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "cardPropDefs", "asChild", "className", "cardProps", "extractProps", "Comp", "Slot", "classNames"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a as w}from"./chunk-H5G7UECV.js";import{a as S}from"./chunk-BJUCBOGU.js";import{k as O}from"./chunk-62ZGP4ET.js";import{e as v}from"./chunk-3YLYGKFB.js";import{a as h}from"./chunk-BWLCTTTN.js";import{a as M}from"./chunk-ELAW7ZUG.js";import*as e from"react";import K from"classnames";import{Slot as Q}from"radix-ui";import{useComposedRefs as U,useLayoutEffect as Y}from"radix-ui/internal";var Z=e.forwardRef((d,i)=>{let t=v(d,h.size),{className:g,children:a,asChild:r,as:l,color:L,radius:j,disabled:u,done:m=!1,...f}=M(t,h),p=!!t.loading,B=!!u||p,{onClick:N,"aria-describedby":C}=f,F=e.useCallback(n=>{if(B){n.preventDefault();return}N?.(n)},[B,N]),H=e.useMemo(()=>{let n=r&&e.isValidElement(a)?a.props.children:a,c=P(n),s=o=>e.isValidElement(o)&&o.type==="svg";return{iconStart:s(c[0]),iconEnd:s(c[c.length-1])}},[r,a]),[V,A]=e.useState(null),k=e.useRef(null),_=U(i,k);Y(()=>{let n=k.current;if(!n||p||m)return;let c=I(n,"start"),s=I(n,"end");A(o=>o&&o.iconStart===c&&o.iconEnd===s?o:{iconStart:c,iconEnd:s})});let{iconStart:b,iconEnd:z}=V??H,T=!!f["data-icon-only"],D=e.useMemo(()=>{if(!m)return a;let n=e.createElement(O,{key:"kui-done-tick",className:"kui-BaseButtonTick","aria-hidden":!0}),c=s=>{if(T)return n;let o=P(s),x=o.findIndex(R=>!(typeof R=="string"&&!R.trim()));return b&&x!==-1?o.map((R,J)=>J===x?n:R):[n,...o]};if(r&&e.isValidElement(a)){let s=a;return e.cloneElement(s,void 0,c(s.props.children))}return c(a)},[m,a,T,b,r]),G=r?Q.Root:l||"button",y=r||!l||["button","input","textarea","select"].includes(l),W=!r&&(!l||l==="button"),X="type"in f,$=e.useId(),E=p?`${$}-loading`:void 0,q=e.useMemo(()=>p?{"aria-busy":!0,"aria-disabled":!0,"aria-describedby":[C,E].filter(Boolean).join(" ")}:u&&(!y||r)?{"aria-disabled":!0}:{},[p,E,C,u,y,r]);return e.createElement(G,{"data-accent-color":L,"data-radius":j,"data-icon-start":b||void 0,"data-icon-end":z||void 0,"data-done":m||void 0,...f,...q,"data-disabled":B||void 0,onClick:F,ref:_,className:K("kui-reset","kui-BaseButton",g),...y&&{disabled:u},...W&&!X?{type:"button"}:{}},t.loading?e.createElement(e.Fragment,null,e.createElement("span",{className:"kui-BaseButtonContent","aria-hidden":!0},D),e.createElement("span",{className:"kui-sr-only"},e.createElement("span",{id:E,"aria-hidden":!0},"Loading"),a),e.createElement(S,{asChild:!0,align:"center",justify:"center",position:"absolute",inset:"0"},e.createElement("span",null,e.createElement(w,{"aria-hidden":"true"})))):D)});Z.displayName="BaseButton";function P(d){return e.Children.toArray(d).flatMap(i=>e.isValidElement(i)&&i.type===e.Fragment?P(i.props.children):[i])}function I(d,i){let t=i==="start"?d.firstChild:d.lastChild;for(;t&&(t.nodeType===Node.COMMENT_NODE||t.nodeType===Node.TEXT_NODE&&!t.textContent?.trim());)t=i==="start"?t.nextSibling:t.previousSibling;return t?.nodeType===Node.ELEMENT_NODE&&t.localName==="svg"}export{Z as a};
2
- //# sourceMappingURL=chunk-4R5EMVB3.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/_internal/base-button.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from 'radix-ui';\nimport { useComposedRefs, useLayoutEffect } from 'radix-ui/internal';\n\nimport { baseButtonPropDefs } from './base-button.props.js';\nimport { Flex } from '../flex.js';\nimport { Spinner } from '../spinner.js';\nimport { TickIcon } from '../icons.js';\nimport { extractProps } from '../../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../../helpers/theme-size.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../../props/prop-def.js';\n\ntype BaseButtonElement = React.ElementRef<'button'>;\ntype BaseButtonOwnProps = GetPropDefTypes<typeof baseButtonPropDefs>;\n\n/**\n * Polymorphic BaseButton props that support rendering as different HTML elements\n * Uses the proper ComponentPropsWithout pattern for type safety\n * @template C - The element type to render as (defaults to 'button')\n */\ntype PolymorphicBaseButtonProps<C extends React.ElementType = 'button'> = {\n /** Element type to render as (e.g., 'a', 'span', etc.) */\n as?: C;\n} & BaseButtonOwnProps &\n BaseButtonDoneProps &\n ComponentPropsWithout<C, RemovedProps | keyof BaseButtonOwnProps | 'as' | 'done'>;\n\ninterface BaseButtonDoneProps {\n /**\n * Shows a tick in place of the icon to say that the action finished. The tick takes the\n * icon's box, so nothing moves, and the icon comes back as soon as `done` is false again. On\n * an `iconOnly` button the tick replaces the content. It doesn't block the press. Screen\n * readers don't announce the tick, so also change the label or `aria-label` (for example,\n * `Copy` to `Copied`).\n */\n done?: boolean;\n}\n\n/**\n * BaseButton props interface that combines all available props\n */\ninterface BaseButtonProps extends PolymorphicBaseButtonProps {}\n\n/**\n * BaseButton component that provides the core button functionality\n *\n * This is the foundational button component that handles all the complex logic\n * including loading states, accessibility, performance optimizations, and\n * polymorphic rendering. It's used by Button and Toggle to ensure consistent behavior across the design system.\n *\n * Key features:\n * - Loading state with spinner and accessibility announcements\n * - Comprehensive accessibility support\n * - Polymorphic rendering support\n *\n * @example\n * ```tsx\n * // Basic usage\n * <BaseButton>Click me</BaseButton>\n *\n * // With loading state\n * <BaseButton loading>Processing...</BaseButton>\n *\n * // Polymorphic rendering\n * <BaseButton as=\"a\" href=\"/link\">Link Button</BaseButton>\n * ```\n */\nconst BaseButton = React.forwardRef<BaseButtonElement, BaseButtonProps>((ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, baseButtonPropDefs.size);\n\n // Extract button-specific props from the combined props object\n const {\n className,\n children,\n asChild,\n as,\n color,\n radius,\n disabled: nativeDisabled,\n done = false,\n ...baseButtonProps\n } = extractProps(props, baseButtonPropDefs);\n\n // Loading blocks activation but keeps the native `disabled` off, so the button keeps focus\n // and its place in the tab order (aria-disabled carries the state). An explicit `disabled`\n // stays native on form controls; on anything else (a link, an asChild child) the `disabled`\n // attribute does nothing, so aria-disabled carries the state and the click is stopped here.\n const loading = Boolean(props.loading);\n const disabled = Boolean(nativeDisabled) || loading;\n const { onClick, 'aria-describedby': ariaDescribedByProp } = baseButtonProps as {\n onClick?: React.MouseEventHandler<HTMLElement>;\n 'aria-describedby'?: string;\n };\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n if (disabled) {\n event.preventDefault();\n return;\n }\n onClick?.(event);\n },\n [disabled, onClick],\n );\n\n // Which edges start or end with an icon. A bare edge pads wider under a full radius; an edge\n // holding an icon keeps the plain padding (the icon already stands between text and curve).\n // Only an svg is an icon. Rendering reads the children for an svg element at either end, so\n // the server output is right for inline svgs; after mount the rendered DOM settles it, which\n // also catches icon components (they render an svg) and rules out wrapped text (`<Text>`,\n // `<Kbd>`, `<Trans>`), whose first node is not an svg.\n const childEdges = React.useMemo(() => {\n const content =\n asChild && React.isValidElement(children) ? (children.props as { children?: React.ReactNode }).children : children;\n // Fragments are see-through: their own first and last children are the edges.\n const items = flattenFragments(content);\n const isIcon = (node: React.ReactNode) => React.isValidElement(node) && node.type === 'svg';\n return { iconStart: isIcon(items[0]), iconEnd: isIcon(items[items.length - 1]) };\n }, [asChild, children]);\n const [domEdges, setDomEdges] = React.useState<{ iconStart: boolean; iconEnd: boolean } | null>(null);\n const elementRef = React.useRef<HTMLElement>(null);\n const composedRef = useComposedRefs(forwardedRef, elementRef as React.Ref<BaseButtonElement>);\n useLayoutEffect(() => {\n const element = elementRef.current;\n // While loading the label sits in a wrapper, and while done the tick stands at the start;\n // keep the edges read before either.\n if (!element || loading || done) return;\n const iconStart = edgeIsSvg(element, 'start');\n const iconEnd = edgeIsSvg(element, 'end');\n setDomEdges((prev) => (prev && prev.iconStart === iconStart && prev.iconEnd === iconEnd ? prev : { iconStart, iconEnd }));\n });\n const { iconStart, iconEnd } = domEdges ?? childEdges;\n\n // Done swaps the icon for a tick in the same place: the leading icon when there is one, the\n // whole content on an icon-only button. Without a leading icon the tick goes before the label.\n const iconOnly = Boolean((baseButtonProps as Record<string, unknown>)['data-icon-only']);\n const content = React.useMemo(() => {\n if (!done) return children;\n const tick = <TickIcon key=\"kui-done-tick\" className=\"kui-BaseButtonTick\" aria-hidden />;\n const swap = (nodes: React.ReactNode): React.ReactNode => {\n if (iconOnly) return tick;\n const items = flattenFragments(nodes);\n const first = items.findIndex((node) => !(typeof node === 'string' && !node.trim()));\n if (iconStart && first !== -1) return items.map((node, index) => (index === first ? tick : node));\n return [tick, ...items];\n };\n if (asChild && React.isValidElement(children)) {\n const element = children as React.ReactElement<{ children?: React.ReactNode }>;\n return React.cloneElement(element, undefined, swap(element.props.children));\n }\n return swap(children);\n }, [done, children, iconOnly, iconStart, asChild]);\n\n // asChild takes precedence over as prop for Radix Slot integration\n // When asChild is true, we use Slot.Root to merge props onto the child element\n // When asChild is false, we render as the specified element (or button by default)\n const Comp = asChild ? Slot.Root : (as || 'button');\n\n // Only pass disabled for elements that support it\n // This prevents invalid HTML attributes on unsupported elements\n const shouldPassDisabled = asChild || !as || ['button', 'input', 'textarea', 'select'].includes(as);\n\n // Determine if we are rendering a real <button> element so we can set a safe\n // default type. Native <button> defaults to type=\"submit\" which can cause\n // accidental form submissions. We default to type=\"button\" unless the user\n // explicitly provided a type or we're using asChild (unknown underlying node).\n const isNativeButtonElement = !asChild && (!as || as === 'button');\n const hasExplicitTypeAttribute = 'type' in (baseButtonProps as Record<string, unknown>);\n\n // Generate unique ID for loading announcements\n const loadingId = React.useId();\n const describedById = loading ? `${loadingId}-loading` : undefined;\n\n // Loading keeps the caller's name (aria-label, aria-labelledby or the label text) and adds\n // aria-busy plus a description, as v2 does. A disabled element with no native `disabled`\n // announces itself through aria-disabled.\n const accessibilityProps = React.useMemo(() => {\n if (loading) {\n return {\n 'aria-busy': true,\n 'aria-disabled': true,\n 'aria-describedby': [ariaDescribedByProp, describedById].filter(Boolean).join(' '),\n };\n }\n if (nativeDisabled && (!shouldPassDisabled || asChild)) {\n return { 'aria-disabled': true };\n }\n return {};\n }, [loading, describedById, ariaDescribedByProp, nativeDisabled, shouldPassDisabled, asChild]);\n\n return (\n <Comp\n data-accent-color={color}\n data-radius={radius}\n data-icon-start={iconStart || undefined}\n data-icon-end={iconEnd || undefined}\n data-done={done || undefined}\n {...baseButtonProps}\n {...accessibilityProps}\n // After the spread: `data-disabled` styles `<Button asChild disabled>`, and a wrapping\n // Radix Toggle (asChild) passes `data-disabled={undefined}` that must not erase it.\n data-disabled={disabled || undefined}\n onClick={handleClick}\n ref={composedRef}\n className={classNames('kui-reset', 'kui-BaseButton', className)}\n {...(shouldPassDisabled && { disabled: nativeDisabled })}\n {...(isNativeButtonElement && !hasExplicitTypeAttribute ? { type: 'button' } : {})}\n >\n {props.loading ? (\n <>\n {/**\n * We need a wrapper to set `visibility: hidden` to hide the button content whilst we show the `Spinner`.\n * The button is a flex container with a `gap`, so we use `display: contents` to ensure the correct flex layout.\n *\n * However, `display: contents` removes the content from the accessibility tree in some browsers,\n * so we force remove it with `aria-hidden` and re-add it in the tree with a `kui-sr-only` copy.\n * Both are classes, not style attributes, so a loading button carries no inline style.\n */}\n <span className=\"kui-BaseButtonContent\" aria-hidden>\n {content}\n </span>\n\n {/* The label stays the name; the hidden \"Loading\" only describes (aria-describedby reads hidden text). */}\n <span className=\"kui-sr-only\">\n <span id={describedById} aria-hidden>\n Loading\n </span>\n {children}\n </span>\n\n {/* Centered spinner overlay during loading state */}\n <Flex asChild align=\"center\" justify=\"center\" position=\"absolute\" inset=\"0\">\n <span>\n <Spinner aria-hidden=\"true\" />\n </span>\n </Flex>\n </>\n ) : (\n content\n )}\n </Comp>\n );\n});\nBaseButton.displayName = 'BaseButton';\n\n/** The child list with fragments opened up: a fragment's own children are the edges. */\nfunction flattenFragments(nodes: React.ReactNode): React.ReactNode[] {\n return React.Children.toArray(nodes).flatMap((node) =>\n React.isValidElement(node) && node.type === React.Fragment\n ? flattenFragments((node.props as { children?: React.ReactNode }).children)\n : [node],\n );\n}\n\n/** Whether the first or last rendered node of `element` (blank text and comments skipped) is an svg. */\nfunction edgeIsSvg(element: Element, edge: 'start' | 'end'): boolean {\n let node = edge === 'start' ? element.firstChild : element.lastChild;\n while (node) {\n const blank =\n node.nodeType === Node.COMMENT_NODE || (node.nodeType === Node.TEXT_NODE && !node.textContent?.trim());\n if (!blank) break;\n node = edge === 'start' ? node.nextSibling : node.previousSibling;\n }\n return node?.nodeType === Node.ELEMENT_NODE && (node as Element).localName === 'svg';\n}\n\nexport { BaseButton };\nexport type { BaseButtonProps };\n"],
5
- "mappings": "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",
6
- "names": ["React", "classNames", "Slot", "useComposedRefs", "useLayoutEffect", "BaseButton", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "baseButtonPropDefs", "className", "children", "asChild", "as", "color", "radius", "nativeDisabled", "done", "baseButtonProps", "extractProps", "loading", "disabled", "onClick", "ariaDescribedByProp", "handleClick", "event", "childEdges", "content", "items", "flattenFragments", "isIcon", "node", "domEdges", "setDomEdges", "elementRef", "composedRef", "useComposedRefs", "useLayoutEffect", "element", "iconStart", "edgeIsSvg", "iconEnd", "prev", "iconOnly", "tick", "TickIcon", "swap", "nodes", "first", "index", "Comp", "Slot", "shouldPassDisabled", "isNativeButtonElement", "hasExplicitTypeAttribute", "loadingId", "describedById", "accessibilityProps", "classNames", "Flex", "Spinner", "edge"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a as u}from"./chunk-3XZOE2IQ.js";import{j as C}from"./chunk-3PTKPDSA.js";import*as e from"react";import s from"classnames";var m=e.createContext(null);function d(){return e.useContext(m)}var S=e.createContext("2"),p=e.createContext(!1);function N({children:t,presentation:n}){let a=e.useContext(S),o=e.useMemo(()=>({size:a,menuVariant:"soft",presentation:n}),[a,n]);return e.createElement(m.Provider,{value:o},t)}function P(){let t=d(),n=e.useContext(S),a=t?.size??n,o=t?.menuVariant??"soft";return["kui-ShellPaneChrome",`kui-r-size-${a}`,`kui-menu-variant-${o}`]}var x={1:"2",2:"3",3:"4",4:"4"},c=e.createContext(void 0);function f(){let t=d(),n=e.useContext(S);return x[t?.size??n]}function H(){let t=e.useContext(c),n=e.useContext(C)!==null,a=f();return t!==void 0?t:n?a:null}var h=e.forwardRef(({className:t,float:n,children:a,...o},r)=>{let i=P(),l=f();return e.createElement("div",{...o,ref:r,"data-float":n||void 0,className:s("kui-ShellPaneHeader","kui-SidebarHeader","kui-SidebarHeader--container",...i,t)},e.createElement(c.Provider,{value:l},a))});h.displayName="Shell.PaneHeader";var R=e.forwardRef(({className:t,float:n,children:a,...o},r)=>{let i=P(),l=f();return e.createElement("div",{...o,ref:r,"data-float":n||void 0,className:s("kui-ShellPaneFooter","kui-SidebarFooter","kui-SidebarFooter--container",...i,t)},e.createElement(c.Provider,{value:l},a))});R.displayName="Shell.PaneFooter";var z=e.forwardRef(({className:t,children:n,fade:a=!1,...o},r)=>{let i=P(),l=e.useContext(p),v=d();return l&&v===null?e.createElement(u,{type:"hover",fade:a,className:"kui-ShellScroll"},e.createElement("div",{...o,ref:r,className:s("kui-ShellScrollContent",t)},n)):e.createElement(u,{type:"hover",fade:a,className:"kui-ShellScroll"},e.createElement("div",{...o,ref:r,className:s("kui-BaseMenuContent","kui-SidebarContent",...i,t)},e.createElement(c.Provider,{value:null},e.createElement("div",{className:"kui-BaseMenuViewport"},n))))});z.displayName="Shell.Scroll";export{m as a,d as b,S as c,p as d,N as e,x as f,H as g,h,R as i,z as j};
2
- //# sourceMappingURL=chunk-4ZOVV3TY.js.map
@@ -1,2 +0,0 @@
1
- import{a as C,b,c as O,d as $,g as B,k as _,m as q}from"./chunk-3PTKPDSA.js";import{a as S,b as U}from"./chunk-TBZO22XK.js";import*as t from"react";var M=e=>typeof e=="object"&&e!==null;function ee(e){for(let a of["initial","xs","sm","md","lg","xl"]){let l=e[a];if(l!==void 0)return l}return"closed"}function oe(e){let{name:a,label:l,propNames:o,presentationTable:u,builtIn:y}=e,d=_(`Shell.${l}`),F=t.useId(),v=e.id??`shell-${a}${F}`,c=e.controlled!==void 0,E=M(e.controlled);E&&(`${l}${o.controlled}${o.default}`,void 0);let p=E?e.controlled:void 0,L=p??(M(e.defaultValue)?e.defaultValue:void 0),G=$(L),[J,Q]=t.useState(()=>typeof e.defaultValue=="string"?e.defaultValue:"auto"),P=t.useMemo(()=>p?C(p,()=>ee(p)):C(L,n=>y(u[n])),[G,E,u,y]),r=J;c&&(r=p?"auto":e.controlled);let W=b(u)===void 0||r==="auto"&&b(P)===void 0,{breakpoint:I,ready:z}=U(W),H=n=>{let f=b(n);return f!==void 0?f:z?n[I]:void 0},i=r==="auto"?H(P):r,m=H(u),k=m==="overlay",s=i===void 0?void 0:i!=="closed",x=s===!0&&k,j=e.defaultValue,V=t.useRef({state:r,value:i,autoTable:P,defaultValue:j,controlled:c,onChange:e.onChange,toggleNext:e.toggleNext});t.useLayoutEffect(()=>{V.current={state:r,value:i,autoTable:P,defaultValue:j,controlled:c,onChange:e.onChange,toggleNext:e.toggleNext}});let h=t.useCallback(()=>{let n=V.current;return n.value!==void 0?n.value:n.state==="auto"?n.autoTable[S()]:void 0},[]),N=t.useCallback(()=>{let n=V.current;return typeof n.defaultValue=="string"?n.defaultValue:M(n.defaultValue)?n.autoTable[S()]:void 0},[]),g=t.useCallback((n,f)=>{let R=V.current;h()!==n&&(R.onChange?.(n,f),R.controlled||Q(n))},[h]),T=t.useCallback(n=>{let f=V.current,R=h()??"closed",Z=f.toggleNext?f.toggleNext(R,N()):R==="closed"?"open":"closed";g(Z,n)},[g,h,N]),D=t.useRef(null),X=t.useCallback(n=>{D.current=n},[]);t.useLayoutEffect(()=>{let n={name:a,id:v,el:D.current,value:i,presentation:m,presentationTable:u,overlayLive:x,size:e.size,setValue:g,toggle:T};return d.entries.set(a,n),B(d),()=>{d.entries.get(a)===n&&(d.entries.delete(a),B(d))}},[d,a,v,i,m,u,x,e.size,g,T]);let w=t.useRef({onExpand:e.onExpand,onCollapse:e.onCollapse});t.useLayoutEffect(()=>{w.current={onExpand:e.onExpand,onCollapse:e.onCollapse}});let A=t.useRef({state:r,shown:s});t.useEffect(()=>{let n=A.current;n.state!==r&&n.shown!==void 0&&s!==void 0&&n.shown!==s&&(s?w.current.onExpand?.():w.current.onCollapse?.()),A.current={state:r,shown:s}},[r,s]),t.useLayoutEffect(()=>{},[]);let K=t.useRef(c);t.useEffect(()=>{},[c,l,o.controlled]);let Y=q(d,a)&&s===!1&&!k;return{store:d,id:v,state:r,value:i,shown:s,presentation:m,overlaying:k,overlayLive:x,peeking:Y,ready:z,breakpoint:I,autoTable:P,setValue:g,toggle:T,defaultHereNow:N,setElement:X}}function le(e,a){let{state:l,value:o,presentation:u,shown:y}=e;return{...a,"data-state":l,...l==="auto"?O("auto",e.autoTable):{},"data-presentation":u,"data-mode":o===void 0?void 0:o==="closed"?"collapsed":"expanded","data-open":u==="stacked"&&y?"":void 0,"data-peek":e.peeking?"":void 0}}function ue(e,a){let l=$(e),o=t.useMemo(()=>C(e,()=>a),[l,a]),u=t.useMemo(()=>b(o)===void 0?O("presentation",o):{},[o]);return{table:o,attributes:u}}export{oe as a,le as b,ue as c};
2
- //# sourceMappingURL=chunk-5ROQAZ7J.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/_internal/shell-pane.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport { readBreakpoint, useBreakpoint } from '../../hooks/use-breakpoint.js';\nimport type { Breakpoint, PaneName, PresentationValue } from '../shell.types.js';\nimport {\n constantOf,\n notifyShellStore,\n tableAttributes,\n tableOf,\n usePeeking,\n useShellStore,\n useStableKey,\n warnOnce,\n type OpenChangeReason,\n type PaneEntry,\n type PaneValue,\n type Table,\n} from './shell-store.js';\n\ntype ResponsiveValue = PaneValue | Partial<Record<Breakpoint, PaneValue>>;\n\nexport type UsePaneOptions = {\n name: PaneName;\n /** The component's display name, for warnings: `Inspector`, `Sidebar`, \u2026 */\n label: string;\n /** The prop names a warning should use: `open`/`defaultOpen`, or `state`/`defaultState`. */\n propNames: { controlled: string; default: string };\n id: string | undefined;\n /** The controlled value. A responsive object is deprecated: it is resolved against the current breakpoint. */\n controlled: ResponsiveValue | undefined;\n /**\n * The uncontrolled default. A single value fixes where the pane starts. A\n * responsive object leaves the pane untouched (`auto`), with that object as\n * what it shows at each breakpoint.\n */\n defaultValue: ResponsiveValue | undefined;\n /** The pane's presentation at every breakpoint. Pass a memoised table. */\n presentationTable: Table<PresentationValue>;\n /** What an untouched pane shows where no default says otherwise. Pass a module-level function. */\n builtIn: (presentation: PresentationValue) => PaneValue;\n /** Reports a change a user made. Never called on mount or on a resize. */\n onChange: ((value: PaneValue, reason: OpenChangeReason) => void) | undefined;\n /** The value a toggle moves to. Defaults to open and closed in turn. */\n toggleNext?: (current: PaneValue, defaultHere: PaneValue | undefined) => PaneValue;\n onExpand: (() => void) | undefined;\n onCollapse: (() => void) | undefined;\n /** The pane's designed open width, published for the panes beside it. */\n size: number;\n};\n\nexport type PaneController = ReturnType<typeof usePane>;\n\nconst isMap = (value: ResponsiveValue | undefined): value is Partial<Record<Breakpoint, PaneValue>> => typeof value === 'object' && value !== null;\n\n/** The first value a responsive object states, smallest breakpoint first. */\nfunction firstStated(map: Partial<Record<Breakpoint, PaneValue>>): PaneValue {\n for (const bp of ['initial', 'xs', 'sm', 'md', 'lg', 'xl'] as const) {\n const value = map[bp];\n if (value !== undefined) return value;\n }\n return 'closed';\n}\n\n/** Everything the togglable panes share: their state, their registry entry and their callbacks. */\nexport function usePane(options: UsePaneOptions) {\n const { name, label, propNames, presentationTable, builtIn } = options;\n const store = useShellStore(`Shell.${label}`);\n const generatedId = React.useId();\n const id = options.id ?? `shell-${name}${generatedId}`;\n\n const controlled = options.controlled !== undefined;\n const controlledIsMap = isMap(options.controlled);\n if (controlledIsMap) {\n warnOnce(\n `Shell.${label}: a responsive \\`${propNames.controlled}\\` is deprecated and is removed in 1.0. ` +\n `Pass a boolean and decide it from your own state, or use \\`${propNames.default}\\` with a responsive object.`,\n );\n }\n\n // A responsive controlled value is resolved the way a responsive default\n // is: it becomes the table an untouched pane follows, so the stylesheet\n // answers it at each breakpoint (right in the server HTML, with no\n // callback on a crossing) and the app's prop is still the only writer.\n const controlledMap = controlledIsMap ? (options.controlled as Partial<Record<Breakpoint, PaneValue>>) : undefined;\n const autoSource = controlledMap ?? (isMap(options.defaultValue) ? options.defaultValue : undefined);\n const autoKey = useStableKey(autoSource);\n const [inner, setInner] = React.useState<'auto' | PaneValue>(() => (typeof options.defaultValue === 'string' ? options.defaultValue : 'auto'));\n\n // What an untouched pane shows at each breakpoint: a responsive default\n // where it states one, the pane's own default where it does not.\n const autoTable = React.useMemo(\n () => (controlledMap ? tableOf<PaneValue>(controlledMap, () => firstStated(controlledMap)) : tableOf<PaneValue>(autoSource, (bp) => builtIn(presentationTable[bp]))),\n // `autoKey` stands for the responsive object, which is usually a new literal each render.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [autoKey, controlledIsMap, presentationTable, builtIn],\n );\n\n let state: 'auto' | PaneValue = inner;\n if (controlled) state = controlledMap ? 'auto' : (options.controlled as PaneValue);\n\n // Only a pane whose answer depends on the window subscribes to it, so a\n // pane with one presentation and one default never re-renders on a resize.\n const needsBreakpoint = constantOf(presentationTable) === undefined || (state === 'auto' && constantOf(autoTable) === undefined);\n const { breakpoint, ready } = useBreakpoint(needsBreakpoint);\n\n /** A table's value now: known without the window when it holds one value, else once the breakpoint is known. */\n const now = <T,>(table: Table<T>): T | undefined => {\n const constant = constantOf(table);\n if (constant !== undefined) return constant;\n return ready ? table[breakpoint] : undefined;\n };\n\n const value: PaneValue | undefined = state === 'auto' ? now(autoTable) : state;\n const presentation = now(presentationTable);\n const overlaying = presentation === 'overlay';\n const shown = value === undefined ? undefined : value !== 'closed';\n const overlayLive = shown === true && overlaying;\n\n // Stable actions over the latest values, so the registry entry changes only\n // when a fact it carries changes.\n const defaultValue = options.defaultValue;\n const latest = React.useRef({ state, value, autoTable, defaultValue, controlled, onChange: options.onChange, toggleNext: options.toggleNext });\n React.useLayoutEffect(() => {\n latest.current = { state, value, autoTable, defaultValue, controlled, onChange: options.onChange, toggleNext: options.toggleNext };\n });\n\n /**\n * What the pane shows, and its default, at the window's breakpoint right\n * now. Asked at the moment of an action rather than taken from the last\n * render: a touched pane no longer follows the window, and a click can land\n * before the mirror has resolved after hydration.\n */\n const valueNow = React.useCallback((): PaneValue | undefined => {\n const current = latest.current;\n if (current.value !== undefined) return current.value;\n return current.state === 'auto' ? current.autoTable[readBreakpoint()] : undefined;\n }, []);\n const defaultHereNow = React.useCallback((): PaneValue | undefined => {\n const current = latest.current;\n if (typeof current.defaultValue === 'string') return current.defaultValue;\n return isMap(current.defaultValue) ? current.autoTable[readBreakpoint()] : undefined;\n }, []);\n\n const setValue = React.useCallback(\n (next: PaneValue, reason: OpenChangeReason) => {\n const current = latest.current;\n if (valueNow() === next) return;\n current.onChange?.(next, reason);\n if (!current.controlled) setInner(next);\n },\n [valueNow],\n );\n\n const toggle = React.useCallback(\n (reason: OpenChangeReason) => {\n const current = latest.current;\n const from = valueNow() ?? 'closed';\n const next = current.toggleNext ? current.toggleNext(from, defaultHereNow()) : from === 'closed' ? 'open' : 'closed';\n setValue(next, reason);\n },\n [setValue, valueNow, defaultHereNow],\n );\n\n // The pane's element, for the Root's containment and focus.\n const elementRef = React.useRef<HTMLElement | null>(null);\n const setElement = React.useCallback((node: HTMLElement | null) => {\n elementRef.current = node;\n }, []);\n\n // Registration. A layout effect so a Trigger's aria attributes and the\n // Root's containment are right before the browser paints.\n React.useLayoutEffect(() => {\n const entry: PaneEntry = {\n name,\n id,\n el: elementRef.current,\n value,\n presentation,\n presentationTable,\n overlayLive,\n size: options.size,\n setValue,\n toggle,\n };\n store.entries.set(name, entry);\n notifyShellStore(store);\n return () => {\n if (store.entries.get(name) === entry) {\n store.entries.delete(name);\n notifyShellStore(store);\n }\n };\n }, [store, name, id, value, presentation, presentationTable, overlayLive, options.size, setValue, toggle]);\n\n // onExpand/onCollapse fire when the pane's state changes and that changes\n // whether it is shown: a user's toggle, or a controlled prop. Never on\n // mount, and never because the window crossed a breakpoint.\n const callbacks = React.useRef({ onExpand: options.onExpand, onCollapse: options.onCollapse });\n React.useLayoutEffect(() => {\n callbacks.current = { onExpand: options.onExpand, onCollapse: options.onCollapse };\n });\n const previous = React.useRef({ state, shown });\n React.useEffect(() => {\n const before = previous.current;\n if (before.state !== state && before.shown !== undefined && shown !== undefined && before.shown !== shown) {\n if (shown) callbacks.current.onExpand?.();\n else callbacks.current.onCollapse?.();\n }\n previous.current = { state, shown };\n }, [state, shown]);\n\n // Development guards. Once per mount, not once per render.\n React.useLayoutEffect(() => {\n if (process.env.NODE_ENV === 'production') return;\n if (options.controlled !== undefined && options.defaultValue !== undefined) {\n console.error(`Shell.${label}: Do not pass both \\`${propNames.controlled}\\` and \\`${propNames.default}\\`. Choose one.`);\n }\n // Mount only: this is the once-per-mount guard.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const wasControlled = React.useRef(controlled);\n React.useEffect(() => {\n if (process.env.NODE_ENV === 'production') return;\n if (wasControlled.current !== controlled) {\n console.warn(`Shell.${label}: Switching between controlled and uncontrolled \\`${propNames.controlled}\\` is not supported.`);\n wasControlled.current = controlled;\n }\n }, [controlled, label, propNames.controlled]);\n\n const peeking = usePeeking(store, name) && shown === false && !overlaying;\n\n return {\n store,\n id,\n state,\n value,\n shown,\n presentation,\n overlaying,\n overlayLive,\n peeking,\n ready,\n breakpoint,\n autoTable,\n setValue,\n toggle,\n defaultHereNow,\n setElement,\n };\n}\n\n/** The data attributes every togglable pane renders. */\nexport function paneAttributes(pane: PaneController, presentationAttributes: Record<string, string>) {\n const { state, value, presentation, shown } = pane;\n return {\n ...presentationAttributes,\n 'data-state': state,\n ...(state === 'auto' ? tableAttributes('auto', pane.autoTable) : {}),\n 'data-presentation': presentation,\n 'data-mode': value === undefined ? undefined : value === 'closed' ? 'collapsed' : 'expanded',\n // Kept for stylesheets written against 0.7: set while a stacked pane is open.\n 'data-open': presentation === 'stacked' && shown ? '' : undefined,\n 'data-peek': pane.peeking ? '' : undefined,\n } as const;\n}\n\n/** A pane's own presentation, as a table and as the attributes the stylesheet reads. */\nexport function usePresentationTable(presentation: Parameters<typeof tableOf<PresentationValue>>[0], fallback: PresentationValue) {\n const key = useStableKey(presentation);\n const table = React.useMemo(\n () => tableOf<PresentationValue>(presentation, () => fallback),\n // `key` stands for `presentation`, which is usually a new literal each render.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [key, fallback],\n );\n // One value is the plain `data-presentation` the pane renders anyway; several\n // are written per breakpoint, so the stylesheet can place the pane before\n // any script runs.\n const attributes = React.useMemo(() => (constantOf(table) === undefined ? tableAttributes('presentation', table) : ({} as Record<string, string>)), [table]);\n return { table, attributes };\n}\n"],
5
- "mappings": "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",
6
- "names": ["React", "isMap", "value", "firstStated", "map", "bp", "usePane", "options", "name", "label", "propNames", "presentationTable", "builtIn", "store", "useShellStore", "generatedId", "id", "controlled", "controlledIsMap", "controlledMap", "autoSource", "autoKey", "useStableKey", "inner", "setInner", "autoTable", "tableOf", "state", "needsBreakpoint", "constantOf", "breakpoint", "ready", "useBreakpoint", "now", "table", "constant", "presentation", "overlaying", "shown", "overlayLive", "defaultValue", "latest", "valueNow", "current", "readBreakpoint", "defaultHereNow", "setValue", "next", "reason", "toggle", "from", "elementRef", "setElement", "node", "entry", "notifyShellStore", "callbacks", "previous", "before", "wasControlled", "peeking", "usePeeking", "paneAttributes", "pane", "presentationAttributes", "tableAttributes", "usePresentationTable", "fallback", "key", "attributes"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a as e}from"./chunk-IAEAXIBI.js";import{a as p}from"./chunk-7FTUTUMD.js";import{a as s}from"./chunk-YLDV2HKZ.js";import{b as t}from"./chunk-FWB47YCH.js";import{a as o}from"./chunk-ELAW7ZUG.js";import*as r from"react";import f from"classnames";var G=r.forwardRef((i,m)=>{let{className:a,asChild:d,as:n="div",...P}=o(i,e,p,s);return r.createElement(d?t:n,{...P,ref:m,className:f("kui-Grid",a)})});G.displayName="Grid";export{G as a};
2
- //# sourceMappingURL=chunk-63PQNLFJ.js.map
@@ -1 +0,0 @@
1
- //# sourceMappingURL=chunk-6DWDNKLS.js.map
@@ -1,2 +0,0 @@
1
- import{b as Z}from"./chunk-HWQ3NTJP.js";import*as t from"react";import de from"classnames";var x=t.forwardRef(({className:d,children:m,...R},g)=>{let{containerRef:E,controls:_,cssVarName:A,minSize:L,maxSize:b,defaultSize:D,orientation:v,edge:ee,growth:k,onResize:y,onResizeStart:W,onResizeEnd:z,snapPoints:T,snapTolerance:te,collapseThreshold:U,collapsible:q,target:V,requestCollapse:ne,requestToggle:re}=Z(),S=t.useRef(null),oe=t.useCallback(e=>{S.current=e,typeof g=="function"?g(e):g&&(g.current=e)},[g]),C=t.useRef(null);t.useEffect(()=>()=>{C.current?.(),C.current=null},[]);let F=t.useCallback(()=>{let e=E.current;if(!e)return D;let n=Number.parseFloat(getComputedStyle(e).getPropertyValue(A));return Number.isFinite(n)?n:D},[E,A,D]),B=t.useCallback(()=>{let e=E.current,n=S.current,r=e?.closest(".kui-ShellRoot")?.getBoundingClientRect();if(!e||!r||!n)return b;let c=e.getBoundingClientRect(),p=n.getBoundingClientRect(),s=k(getComputedStyle(e).direction==="rtl"),o;v==="vertical"?o=s>0?r.right-c.left:c.right-r.left:o=s>0?r.bottom-c.top:c.bottom-r.top;let H=v==="vertical"?p.width:p.height;return!(r.width>0&&r.height>0)||!Number.isFinite(o)?b:Math.max(L,Math.min(b,Math.round(o-H)))},[E,k,b,L,v]),ie=()=>{S.current?.setAttribute("aria-valuemax",String(B()))};t.useLayoutEffect(()=>{S.current?.setAttribute("aria-valuenow",String(Math.round(F())))},[F]);let M=(e,n)=>{e.style.setProperty(A,`${n}px`),S.current?.setAttribute("aria-valuenow",String(Math.round(n)))},ae=V.charAt(0).toUpperCase()+V.slice(1);return t.createElement("div",{ref:oe,className:de("kui-ShellResizer",d),"data-orientation":v,"data-edge":ee,role:"separator",tabIndex:0,"aria-label":`Resize ${ae} pane`,"aria-controls":_,"aria-orientation":v,"aria-valuemin":L,"aria-valuemax":b,...R,onPointerDown:e=>{R.onPointerDown?.(e);let n=E.current;if(!n||e.defaultPrevented||e.button!==0)return;e.preventDefault();let r=e.currentTarget,c=e.pointerId;C.current?.();try{r.setPointerCapture(c)}catch{}let p=getComputedStyle(n),s=Number.parseFloat(p.getPropertyValue(A)),o=Number.isFinite(s)?s:D,H=v==="vertical"?e.clientX:e.clientY,se=k(p.direction==="rtl"),j=B();r.setAttribute("aria-valuemax",String(j));let X=i=>Math.min(Math.max(i,L),j);n.setAttribute("data-resizing",""),r.setAttribute("data-dragging","");let h=document.body,le=h.style.cursor,ce=h.style.userSelect;h.style.cursor=v==="vertical"?"col-resize":"row-resize",h.style.userSelect="none",W?.(o);let f=o,I=o,l=0,P=null,Y=()=>{if(l=0,P===null)return;let i=P;P=null,y?.(i)},$=null,O=!1,ue=(i,w)=>{if(i.type===w)O=!0;else if(O)return!1;return!0},u=i=>{if(!ue(i,"pointermove")||i===$)return;$=i;let w=v==="vertical"?i.clientX:i.clientY;I=o+(w-H)*se,f=X(I),M(n,f),P=f,l||(l=requestAnimationFrame(Y))},N=()=>{l&&cancelAnimationFrame(l),l=0;try{r.releasePointerCapture(c)}catch{}window.removeEventListener("pointermove",u),document.removeEventListener("pointermove",u),window.removeEventListener("mousemove",u),document.removeEventListener("mousemove",u),r.removeEventListener("pointermove",u),window.removeEventListener("pointerup",a),document.removeEventListener("pointerup",a),window.removeEventListener("mouseup",a),document.removeEventListener("mouseup",a),window.removeEventListener("pointercancel",a),document.removeEventListener("pointercancel",a),window.removeEventListener("keydown",G),r.removeEventListener("lostpointercapture",a),n.removeAttribute("data-resizing"),r.removeAttribute("data-dragging"),h.style.cursor=le,h.style.userSelect=ce,C.current=null},K=!1,a=()=>{if(K)return;if(K=!0,l&&cancelAnimationFrame(l),Y(),q&&typeof U=="number"&&I<=U){M(n,o),y?.(o),N(),ne?.(),z?.(o);return}let i=f;if(T&&T.length){let w=T.reduce((J,Q)=>Math.abs(Q-f)<Math.abs(J-f)?Q:J,T[0]);Math.abs(w-f)<=te&&(i=X(w),M(n,i),y?.(i))}z?.(i),N()},G=i=>{i.key==="Escape"&&(l&&cancelAnimationFrame(l),l=0,P=null,M(n,o),y?.(o),K=!0,z?.(o),N())};window.addEventListener("pointermove",u),document.addEventListener("pointermove",u),window.addEventListener("mousemove",u),document.addEventListener("mousemove",u),r.addEventListener("pointermove",u),window.addEventListener("pointerup",a),document.addEventListener("pointerup",a),window.addEventListener("mouseup",a),document.addEventListener("mouseup",a),window.addEventListener("pointercancel",a),document.addEventListener("pointercancel",a),window.addEventListener("keydown",G),r.addEventListener("lostpointercapture",a),C.current=N},onDoubleClick:e=>{R.onDoubleClick?.(e),!e.defaultPrevented&&q&&re?.()},onFocus:e=>{R.onFocus?.(e),ie()},onKeyDown:e=>{R.onKeyDown?.(e);let n=E.current;if(!n||e.defaultPrevented)return;let r=F(),c=B(),p=o=>Math.min(Math.max(o,L),c),s;if(e.key==="Home")s=p(L);else if(e.key==="End")s=p(c);else{let o=v==="vertical"?e.key==="ArrowRight"?1:e.key==="ArrowLeft"?-1:0:e.key==="ArrowDown"?1:e.key==="ArrowUp"?-1:0;if(o===0)return;let H=e.shiftKey?32:8;s=p(r+o*H*k(getComputedStyle(n).direction==="rtl"))}e.preventDefault(),W?.(r),M(n,s),y?.(s),z?.(s)}},m)});x.displayName="Shell.Handle";var me=t.forwardRef((d,m)=>t.createElement(x,{...d,ref:m}));me.displayName="Shell.Panel.Handle";var ve=t.forwardRef((d,m)=>t.createElement(x,{...d,ref:m}));ve.displayName="Shell.Sidebar.Handle";var pe=t.forwardRef((d,m)=>t.createElement(x,{...d,ref:m}));pe.displayName="Shell.Inspector.Handle";var fe=t.forwardRef((d,m)=>t.createElement(x,{...d,ref:m}));fe.displayName="Shell.Bottom.Handle";export{x as a,me as b,ve as c,pe as d,fe as e};
2
- //# sourceMappingURL=chunk-7CUQMU3T.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/_internal/shell-handles.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { usePaneResize } from './shell-resize.js';\n\n/**\n * The resize handle: the WAI-ARIA window splitter. `role=\"separator\"` with a\n * value, focusable because it is operable, `aria-controls` naming its pane.\n *\n * A drag writes the size variable directly on the pane and sets no React\n * state, so nothing re-renders per move. `onResize` is called at most once per\n * animation frame, and once more with the final size when the drag ends. The\n * direction and the ceiling are read once, when the drag starts.\n */\nexport const PaneHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>(({ className, children, ...props }, ref) => {\n const {\n containerRef,\n controls,\n cssVarName,\n minSize,\n maxSize,\n defaultSize,\n orientation,\n edge,\n growth,\n onResize,\n onResizeStart,\n onResizeEnd,\n snapPoints,\n snapTolerance,\n collapseThreshold,\n collapsible,\n target,\n requestCollapse,\n requestToggle,\n } = usePaneResize();\n\n const handleRef = React.useRef<HTMLDivElement | null>(null);\n const setRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n handleRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) (ref as React.MutableRefObject<HTMLDivElement | null>).current = node;\n },\n [ref],\n );\n\n const activeCleanupRef = React.useRef<(() => void) | null>(null);\n React.useEffect(\n () => () => {\n activeCleanupRef.current?.();\n activeCleanupRef.current = null;\n },\n [],\n );\n\n /** The pane's size as the stylesheet sees it. Read at the edges of a gesture, never during one. */\n const readSize = React.useCallback(() => {\n const container = containerRef.current;\n if (!container) return defaultSize;\n const parsed = Number.parseFloat(getComputedStyle(container).getPropertyValue(cssVarName));\n return Number.isFinite(parsed) ? parsed : defaultSize;\n }, [containerRef, cssVarName, defaultSize]);\n\n /**\n * The largest size a resize may reach: the stated maximum, and never so\n * large that the handle leaves the frame. The room is measured from the\n * pane's anchored edge, which does not move, to the far edge of the frame,\n * so a pane that starts after a Rail has less room than the frame's width.\n * Without the cap a pane with a generous `maxSize` could be resized until\n * its own handle was off screen.\n */\n const ceiling = React.useCallback(() => {\n const container = containerRef.current;\n const handle = handleRef.current;\n const frame = container?.closest('.kui-ShellRoot')?.getBoundingClientRect();\n if (!container || !frame || !handle) return maxSize;\n const pane = container.getBoundingClientRect();\n const hitBox = handle.getBoundingClientRect();\n const sign = growth(getComputedStyle(container).direction === 'rtl');\n let room: number;\n if (orientation === 'vertical') room = sign > 0 ? frame.right - pane.left : pane.right - frame.left;\n else room = sign > 0 ? frame.bottom - pane.top : pane.bottom - frame.top;\n const hit = orientation === 'vertical' ? hitBox.width : hitBox.height;\n if (!(frame.width > 0 && frame.height > 0) || !Number.isFinite(room)) return maxSize;\n return Math.max(minSize, Math.min(maxSize, Math.round(room - hit)));\n }, [containerRef, growth, maxSize, minSize, orientation]);\n\n // The announced maximum is what a resize can reach now, not only the prop.\n const announceCeiling = () => {\n handleRef.current?.setAttribute('aria-valuemax', String(ceiling()));\n };\n\n // The announced value is seeded from the real size once the pane has a box.\n React.useLayoutEffect(() => {\n handleRef.current?.setAttribute('aria-valuenow', String(Math.round(readSize())));\n }, [readSize]);\n\n const write = (container: HTMLElement, size: number) => {\n container.style.setProperty(cssVarName, `${size}px`);\n handleRef.current?.setAttribute('aria-valuenow', String(Math.round(size)));\n };\n\n const targetLabel = target.charAt(0).toUpperCase() + target.slice(1);\n\n return (\n // A focusable separator with a value is the WAI-ARIA window splitter, an\n // interactive widget; jsx-a11y classes every separator as static.\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <div\n ref={setRef}\n className={classNames('kui-ShellResizer', className)}\n data-orientation={orientation}\n data-edge={edge}\n role=\"separator\"\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n tabIndex={0}\n aria-label={`Resize ${targetLabel} pane`}\n aria-controls={controls}\n aria-orientation={orientation}\n aria-valuemin={minSize}\n aria-valuemax={maxSize}\n {...props}\n onPointerDown={(e) => {\n props.onPointerDown?.(e);\n const container = containerRef.current;\n if (!container || e.defaultPrevented || e.button !== 0) return;\n e.preventDefault();\n const handleEl = e.currentTarget as HTMLElement;\n const pointerId = e.pointerId;\n activeCleanupRef.current?.();\n try {\n handleEl.setPointerCapture(pointerId);\n } catch {\n // Capture can fail for a pointer that is already gone; the window listeners below still carry the drag.\n }\n\n // Everything a move needs is read here, once.\n const startStyle = getComputedStyle(container);\n const parsedStart = Number.parseFloat(startStyle.getPropertyValue(cssVarName));\n const startSize = Number.isFinite(parsedStart) ? parsedStart : defaultSize;\n const startClient = orientation === 'vertical' ? e.clientX : e.clientY;\n const sign = growth(startStyle.direction === 'rtl');\n const cap = ceiling();\n handleEl.setAttribute('aria-valuemax', String(cap));\n const clamp = (v: number) => Math.min(Math.max(v, minSize), cap);\n\n container.setAttribute('data-resizing', '');\n handleEl.setAttribute('data-dragging', '');\n const body = document.body;\n const prevCursor = body.style.cursor;\n const prevUserSelect = body.style.userSelect;\n body.style.cursor = orientation === 'vertical' ? 'col-resize' : 'row-resize';\n body.style.userSelect = 'none';\n onResizeStart?.(startSize);\n\n let current = startSize;\n // The unclamped size, so `collapseThreshold` is compared before the\n // clamp: a threshold below `minSize` can then still collapse the pane.\n let raw = startSize;\n let frame = 0;\n let pending: number | null = null;\n const flush = () => {\n frame = 0;\n if (pending === null) return;\n const size = pending;\n pending = null;\n onResize?.(size);\n };\n\n // The move handler listens on the handle, the document and the window,\n // so a drag survives environments where pointer events do not reach\n // all three. One movement can therefore arrive several times: once per\n // node it propagates through, and again as the compatibility mouse\n // event. Only the first copy does any work.\n let lastHandledMove: Event | null = null;\n let seenPointerEvent = false;\n const shouldHandle = (ev: Event, pointerType: string) => {\n if (ev.type === pointerType) seenPointerEvent = true;\n else if (seenPointerEvent) return false;\n return true;\n };\n\n const handleMove = (ev: PointerEvent) => {\n if (!shouldHandle(ev, 'pointermove')) return;\n if (ev === lastHandledMove) return;\n lastHandledMove = ev;\n const client = orientation === 'vertical' ? ev.clientX : ev.clientY;\n raw = startSize + (client - startClient) * sign;\n current = clamp(raw);\n write(container, current);\n pending = current;\n if (!frame) frame = requestAnimationFrame(flush);\n };\n\n const cleanup = () => {\n if (frame) cancelAnimationFrame(frame);\n frame = 0;\n try {\n handleEl.releasePointerCapture(pointerId);\n } catch {\n // Already released.\n }\n window.removeEventListener('pointermove', handleMove as EventListener);\n document.removeEventListener('pointermove', handleMove as EventListener);\n window.removeEventListener('mousemove', handleMove as EventListener);\n document.removeEventListener('mousemove', handleMove as EventListener);\n handleEl.removeEventListener('pointermove', handleMove as EventListener);\n window.removeEventListener('pointerup', handleUp as EventListener);\n document.removeEventListener('pointerup', handleUp as EventListener);\n window.removeEventListener('mouseup', handleUp as EventListener);\n document.removeEventListener('mouseup', handleUp as EventListener);\n window.removeEventListener('pointercancel', handleUp as EventListener);\n document.removeEventListener('pointercancel', handleUp as EventListener);\n window.removeEventListener('keydown', handleKey as EventListener);\n handleEl.removeEventListener('lostpointercapture', handleUp as EventListener);\n container.removeAttribute('data-resizing');\n handleEl.removeAttribute('data-dragging');\n body.style.cursor = prevCursor;\n body.style.userSelect = prevUserSelect;\n activeCleanupRef.current = null;\n };\n\n let finished = false;\n const handleUp = () => {\n if (finished) return;\n finished = true;\n // The last move's size is delivered now rather than on the next frame.\n if (frame) cancelAnimationFrame(frame);\n flush();\n\n if (collapsible && typeof collapseThreshold === 'number' && raw <= collapseThreshold) {\n // A drag past the threshold closes the pane and keeps no size: the\n // pane opens again at the size it had before the drag. The drag\n // still ends, at that size, so a consumer that started something\n // in onResizeStart can stop it.\n write(container, startSize);\n onResize?.(startSize);\n cleanup();\n requestCollapse?.();\n onResizeEnd?.(startSize);\n return;\n }\n\n let settled = current;\n if (snapPoints && snapPoints.length) {\n const nearest = snapPoints.reduce((acc, p) => (Math.abs(p - current) < Math.abs(acc - current) ? p : acc), snapPoints[0]);\n if (Math.abs(nearest - current) <= snapTolerance) {\n settled = clamp(nearest);\n write(container, settled);\n onResize?.(settled);\n }\n }\n onResizeEnd?.(settled);\n cleanup();\n };\n\n const handleKey = (kev: KeyboardEvent) => {\n if (kev.key !== 'Escape') return;\n if (frame) cancelAnimationFrame(frame);\n frame = 0;\n pending = null;\n write(container, startSize);\n onResize?.(startSize);\n finished = true;\n onResizeEnd?.(startSize);\n cleanup();\n };\n\n window.addEventListener('pointermove', handleMove as EventListener);\n document.addEventListener('pointermove', handleMove as EventListener);\n window.addEventListener('mousemove', handleMove as EventListener);\n document.addEventListener('mousemove', handleMove as EventListener);\n handleEl.addEventListener('pointermove', handleMove as EventListener);\n window.addEventListener('pointerup', handleUp as EventListener);\n document.addEventListener('pointerup', handleUp as EventListener);\n window.addEventListener('mouseup', handleUp as EventListener);\n document.addEventListener('mouseup', handleUp as EventListener);\n window.addEventListener('pointercancel', handleUp as EventListener);\n document.addEventListener('pointercancel', handleUp as EventListener);\n window.addEventListener('keydown', handleKey as EventListener);\n handleEl.addEventListener('lostpointercapture', handleUp as EventListener);\n activeCleanupRef.current = cleanup;\n }}\n onDoubleClick={(e) => {\n props.onDoubleClick?.(e);\n if (!e.defaultPrevented && collapsible) requestToggle?.();\n }}\n onFocus={(e) => {\n props.onFocus?.(e);\n announceCeiling();\n }}\n onKeyDown={(e) => {\n props.onKeyDown?.(e);\n const container = containerRef.current;\n if (!container || e.defaultPrevented) return;\n const current = readSize();\n // The keys reach as far as a drag does: the frame caps both.\n const cap = ceiling();\n const clamp = (v: number) => Math.min(Math.max(v, minSize), cap);\n let next: number | undefined;\n if (e.key === 'Home') next = clamp(minSize);\n else if (e.key === 'End') next = clamp(cap);\n else {\n // The key moves the boundary along its axis; the pane grows or\n // shrinks the way a drag in that direction would, so Bottom's\n // ArrowUp grows it and an end-anchored pane mirrors in RTL.\n const along = orientation === 'vertical' ? (e.key === 'ArrowRight' ? 1 : e.key === 'ArrowLeft' ? -1 : 0) : e.key === 'ArrowDown' ? 1 : e.key === 'ArrowUp' ? -1 : 0;\n if (along === 0) return;\n const step = e.shiftKey ? 32 : 8;\n next = clamp(current + along * step * growth(getComputedStyle(container).direction === 'rtl'));\n }\n e.preventDefault();\n onResizeStart?.(current);\n write(container, next);\n onResize?.(next);\n onResizeEnd?.(next);\n }}\n >\n {children}\n </div>\n );\n});\nPaneHandle.displayName = 'Shell.Handle';\n\nexport const PanelHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nPanelHandle.displayName = 'Shell.Panel.Handle';\n\nexport const SidebarHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nSidebarHandle.displayName = 'Shell.Sidebar.Handle';\n\nexport const InspectorHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nInspectorHandle.displayName = 'Shell.Inspector.Handle';\n\nexport const BottomHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nBottomHandle.displayName = 'Shell.Bottom.Handle';\n"],
5
- "mappings": "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",
6
- "names": ["React", "classNames", "PaneHandle", "className", "children", "props", "ref", "containerRef", "controls", "cssVarName", "minSize", "maxSize", "defaultSize", "orientation", "edge", "growth", "onResize", "onResizeStart", "onResizeEnd", "snapPoints", "snapTolerance", "collapseThreshold", "collapsible", "target", "requestCollapse", "requestToggle", "usePaneResize", "handleRef", "setRef", "node", "activeCleanupRef", "readSize", "container", "parsed", "ceiling", "handle", "frame", "pane", "hitBox", "sign", "room", "hit", "announceCeiling", "write", "size", "targetLabel", "classNames", "handleEl", "pointerId", "startStyle", "parsedStart", "startSize", "startClient", "cap", "clamp", "v", "body", "prevCursor", "prevUserSelect", "current", "raw", "pending", "flush", "lastHandledMove", "seenPointerEvent", "shouldHandle", "ev", "pointerType", "handleMove", "client", "cleanup", "handleUp", "handleKey", "finished", "settled", "nearest", "acc", "p", "kev", "next", "along", "step", "PanelHandle", "SidebarHandle", "InspectorHandle", "BottomHandle"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a as m}from"./chunk-CHPT42BY.js";import{a as f}from"./chunk-PS6NEG5A.js";import{e as v}from"./chunk-3YLYGKFB.js";import{a as c}from"./chunk-ELAW7ZUG.js";import*as a from"react";import A from"classnames";import{Avatar as u}from"radix-ui";var k=a.forwardRef((e,o)=>{let i=v(e,m.size),{asChild:t,children:r,className:n,style:s,color:g,radius:y,status:d,statusLabel:p,badge:l,...b}=c(i,m),h=t&&r!=null&&a.isValidElement(r)&&(r.props.disabled===!0||r.props["data-disabled"]===!0),R=l!==void 0||d!==void 0,N=l!==void 0?a.createElement("span",{className:"kui-AvatarBadge"},l):d!==void 0?a.createElement("span",{className:"kui-AvatarStatus","data-accent-color":d,role:p?"img":void 0,"aria-label":p||void 0,"aria-hidden":p?void 0:!0}):null;return a.createElement(u.Root,{ref:o,"data-accent-color":g,"data-radius":y,"data-disabled":h||void 0,"data-has-indicator":R||void 0,className:A("kui-reset","kui-AvatarRoot",n),style:s,asChild:t},f({asChild:t,children:r},a.createElement(a.Fragment,null,a.createElement(P,{...b}),N)))});k.displayName="Avatar";var P=a.memo(({fallback:e,onLoadingStatusChange:o,...i})=>{let[t,r]=a.useState("idle"),n=a.useCallback(s=>{o?.(s),r(s)},[o]);return a.createElement(a.Fragment,null,t==="idle"||t==="loading"?a.createElement("span",{className:"kui-AvatarFallback"}):null,t==="error"?a.createElement(u.Fallback,{className:A("kui-AvatarFallback",{"kui-one-letter":typeof e=="string"&&e.length===1,"kui-two-letters":typeof e=="string"&&e.length===2}),delayMs:0},e):null,a.createElement(u.Image,{className:"kui-AvatarImage",...i,onLoadingStatusChange:n}))});P.displayName="AvatarImpl";export{k as a};
2
- //# sourceMappingURL=chunk-BGAJ2MDF.js.map
@@ -1,7 +0,0 @@
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 '../helpers/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 { asChild, children, className, style, color, radius, status, statusLabel, badge, ...imageProps } = extractProps(props, avatarPropDefs);\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 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\nconst AvatarImpl = React.memo(({ fallback, onLoadingStatusChange, ...imageProps }: AvatarImplProps) => {\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 delayMs={0}\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,CAAE,QAAAC,EAAS,SAAAC,EAAU,UAAAC,EAAW,MAAAC,EAAO,MAAAC,EAAO,OAAAC,EAAQ,OAAAC,EAAQ,YAAAC,EAAa,MAAAC,EAAO,GAAGC,CAAW,EAAIC,EAAab,EAAOE,CAAc,EAStIY,EAAaX,GAAWC,GAAY,MAAc,iBAAeA,CAAQ,IAAOA,EAAS,MAAc,WAAa,IAASA,EAAS,MAAc,eAAe,IAAM,IAEzKW,EAAeJ,IAAU,QAAaF,IAAW,OAEjDO,EACJL,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,gBAACO,EAAgB,KAAhB,CACC,IAAKlB,EACL,oBAAmBQ,EACnB,cAAaC,EACb,gBAAeM,GAAc,OAC7B,qBAAoBC,GAAgB,OACpC,UAAWG,EAAW,YAAa,iBAAkBb,CAAS,EAC9D,MAAOC,EACP,QAASH,GAGRgB,EACC,CAAE,QAAAhB,EAAS,SAAAC,CAAS,EACpB,gCACE,gBAACgB,EAAA,CAAY,GAAGR,EAAY,EAC3BI,CACH,CACF,CACF,CAEJ,CAAC,EACDnB,EAAO,YAAc,SAUrB,IAAMuB,EAAmB,OAAK,CAAC,CAAE,SAAAC,EAAU,sBAAAC,EAAuB,GAAGV,CAAW,IAAuB,CACrG,GAAM,CAACH,EAAQc,CAAS,EAAU,WAAkD,MAAM,EAEpFC,EAAkC,cACrCC,GAAuD,CACtDH,IAAwBG,CAAS,EACjCF,EAAUE,CAAS,CACrB,EACA,CAACH,CAAqB,CACxB,EAEA,OACE,gCACGb,IAAW,QAAUA,IAAW,UAAY,gBAAC,QAAK,UAAU,qBAAqB,EAAK,KAEtFA,IAAW,QACV,gBAACQ,EAAgB,SAAhB,CACC,UAAWC,EAAW,qBAAsB,CAC1C,iBAAkB,OAAOG,GAAa,UAAYA,EAAS,SAAW,EACtE,kBAAmB,OAAOA,GAAa,UAAYA,EAAS,SAAW,CACzE,CAAC,EACD,QAAS,GAERA,CACH,EACE,KAEJ,gBAACJ,EAAgB,MAAhB,CAAsB,UAAU,kBAAmB,GAAGL,EAAY,sBAAuBY,EAA2B,CACvH,CAEJ,CAAC,EAEDJ,EAAW,YAAc",
6
- "names": ["React", "classNames", "AvatarPrimitive", "Avatar", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "avatarPropDefs", "asChild", "children", "className", "style", "color", "radius", "status", "statusLabel", "badge", "imageProps", "extractProps", "isDisabled", "hasIndicator", "indicator", "AvatarPrimitive", "classNames", "getSubtree", "AvatarImpl", "fallback", "onLoadingStatusChange", "setStatus", "handleLoadingStatusChange", "newStatus"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a as t}from"./chunk-KKMOGHIY.js";import{a as r}from"./chunk-7FTUTUMD.js";import{a as e}from"./chunk-YLDV2HKZ.js";import{b as s}from"./chunk-FWB47YCH.js";import{a as p}from"./chunk-ELAW7ZUG.js";import*as o from"react";import x from"classnames";var f=o.forwardRef((m,a)=>{let{className:l,asChild:n,as:i="div",...P}=p(m,t,r,e);return o.createElement(n?s:i,{...P,ref:a,className:x("kui-Flex",l)})});f.displayName="Flex";export{f as a};
2
- //# sourceMappingURL=chunk-BJUCBOGU.js.map
@@ -1,2 +0,0 @@
1
- import{b as e}from"./chunk-KRJTW535.js";var o=["1","2","3","4"],s=["horizontal","vertical"],r={disabled:{type:"boolean",className:"disabled",default:!1},size:{type:"enum",className:"kui-r-size",values:o,default:"2",responsive:!0},orientation:{type:"enum",className:"kui-r-orientation",values:s,default:"horizontal",responsive:!0},...e};export{r as a};
2
- //# sourceMappingURL=chunk-CLZW2IDD.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/segmented-control.props.tsx"],
4
- "sourcesContent": ["import { radiusPropDef } from '../props/radius.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4'] as const;\nconst orientations = ['horizontal', 'vertical'] as const;\n\nconst segmentedControlRootPropDefs = {\n disabled: { type: 'boolean', className: 'disabled', default: false },\n size: { type: 'enum', className: 'kui-r-size', values: sizes, default: '2', responsive: true },\n orientation: {\n type: 'enum',\n className: 'kui-r-orientation',\n values: orientations,\n default: 'horizontal',\n responsive: true,\n },\n ...radiusPropDef,\n} satisfies {\n disabled?: PropDef<boolean>;\n size: PropDef<(typeof sizes)[number]>;\n orientation: PropDef<(typeof orientations)[number]>;\n};\n\nexport { segmentedControlRootPropDefs };\n"],
5
- "mappings": "wCAIA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAC3BC,EAAe,CAAC,aAAc,UAAU,EAExCC,EAA+B,CACnC,SAAU,CAAE,KAAM,UAAW,UAAW,WAAY,QAAS,EAAM,EACnE,KAAM,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQF,EAAO,QAAS,IAAK,WAAY,EAAK,EAC7F,YAAa,CACX,KAAM,OACN,UAAW,oBACX,OAAQC,EACR,QAAS,aACT,WAAY,EACd,EACA,GAAGE,CACL",
6
- "names": ["sizes", "orientations", "segmentedControlRootPropDefs", "radiusPropDef"]
7
- }
@@ -1,2 +0,0 @@
1
- import{e as m}from"./chunk-3YLYGKFB.js";import{a as T}from"./chunk-ELAW7ZUG.js";import{a as n}from"./chunk-ETQNRMHU.js";import{a as l}from"./chunk-OS3FCYZY.js";var R={};l(R,{Content:()=>c,List:()=>P,Root:()=>b,Trigger:()=>f});import*as e from"react";import a from"classnames";import{Tabs as i}from"radix-ui";var b=e.forwardRef((t,o)=>{let{className:r,...s}=t;return e.createElement(i.Root,{...s,ref:o,className:a("kui-TabsRoot",r)})});b.displayName="Tabs.Root";var P=e.forwardRef((t,o)=>{let r=m(t,n.size),{className:s,color:p,...g}=T(r,n);return e.createElement(i.List,{"data-accent-color":p,...g,asChild:!1,ref:o,className:a("kui-BaseTabList","kui-TabsList",s)})});P.displayName="Tabs.List";var f=e.forwardRef((t,o)=>{let{className:r,children:s,...p}=t;return e.createElement(i.Trigger,{...p,asChild:!1,ref:o,className:a("kui-reset","kui-BaseTabListTrigger","kui-TabsTrigger",r)},e.createElement("span",{className:"kui-BaseTabListTriggerInner kui-TabsTriggerInner"},s),e.createElement("span",{className:"kui-BaseTabListTriggerInnerHidden kui-TabsTriggerInnerHidden"},s))});f.displayName="Tabs.Trigger";var c=e.forwardRef((t,o)=>{let{className:r,...s}=t;return e.createElement(i.Content,{...s,ref:o,className:a("kui-TabsContent",r)})});c.displayName="Tabs.Content";export{b as a,P as b,f as c,c as d,R as e};
2
- //# sourceMappingURL=chunk-CMHUK7OG.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/tabs.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Tabs as TabsPrimitive } from 'radix-ui';\n\nimport { tabsListPropDefs } from './tabs.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\n\nimport type { tabsContentPropDefs, tabsRootPropDefs } from './tabs.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype TabsRootElement = React.ElementRef<typeof TabsPrimitive.Root>;\ntype TabsRootOwnProps = GetPropDefTypes<typeof tabsRootPropDefs>;\ninterface TabsRootProps\n extends ComponentPropsWithout<typeof TabsPrimitive.Root, 'asChild' | 'color' | 'defaultChecked'>,\n TabsRootOwnProps {}\nconst TabsRoot = React.forwardRef<TabsRootElement, TabsRootProps>((props, forwardedRef) => {\n const { className, ...rootProps } = props;\n return (\n <TabsPrimitive.Root\n {...rootProps}\n ref={forwardedRef}\n className={classNames('kui-TabsRoot', className)}\n />\n );\n});\nTabsRoot.displayName = 'Tabs.Root';\n\ntype TabsListElement = React.ElementRef<typeof TabsPrimitive.List>;\ntype TabsListOwnProps = GetPropDefTypes<typeof tabsListPropDefs>;\ninterface TabsListProps\n extends ComponentPropsWithout<typeof TabsPrimitive.List, RemovedProps>,\n TabsListOwnProps {}\nconst TabsList = React.forwardRef<TabsListElement, TabsListProps>((ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, tabsListPropDefs.size);\n const { className, color, ...listProps } = extractProps(\n props,\n tabsListPropDefs,\n );\n return (\n <TabsPrimitive.List\n data-accent-color={color}\n {...listProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-BaseTabList', 'kui-TabsList', className)}\n />\n );\n});\nTabsList.displayName = 'Tabs.List';\n\ntype TabsTriggerElement = React.ElementRef<typeof TabsPrimitive.Trigger>;\ninterface TabsTriggerProps\n extends ComponentPropsWithout<typeof TabsPrimitive.Trigger, RemovedProps> {}\nconst TabsTrigger = React.forwardRef<TabsTriggerElement, TabsTriggerProps>(\n (props, forwardedRef) => {\n const { className, children, ...triggerProps } = props;\n return (\n <TabsPrimitive.Trigger\n {...triggerProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-reset', 'kui-BaseTabListTrigger', 'kui-TabsTrigger', className)}\n >\n <span className=\"kui-BaseTabListTriggerInner kui-TabsTriggerInner\">{children}</span>\n <span className=\"kui-BaseTabListTriggerInnerHidden kui-TabsTriggerInnerHidden\">\n {children}\n </span>\n </TabsPrimitive.Trigger>\n );\n },\n);\nTabsTrigger.displayName = 'Tabs.Trigger';\n\ntype TabsContentElement = React.ElementRef<typeof TabsPrimitive.Content>;\ntype TabsContentOwnProps = GetPropDefTypes<typeof tabsContentPropDefs>;\ninterface TabsContentProps\n extends ComponentPropsWithout<typeof TabsPrimitive.Content, RemovedProps>,\n TabsContentOwnProps {}\nconst TabsContent = React.forwardRef<TabsContentElement, TabsContentProps>(\n (props, forwardedRef) => {\n const { className, ...contentProps } = props;\n return (\n <TabsPrimitive.Content\n {...contentProps}\n ref={forwardedRef}\n className={classNames('kui-TabsContent', className)}\n />\n );\n },\n);\nTabsContent.displayName = 'Tabs.Content';\n\nexport { TabsRoot as Root, TabsList as List, TabsTrigger as Trigger, TabsContent as Content };\nexport type {\n TabsRootProps as RootProps,\n TabsListProps as ListProps,\n TabsTriggerProps as TriggerProps,\n TabsContentProps as ContentProps,\n};\n"],
5
- "mappings": "gKAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,SAAAC,EAAA,SAAAC,EAAA,YAAAC,IAAA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,QAAQC,MAAqB,WAetC,IAAMC,EAAiB,aAA2C,CAACC,EAAOC,IAAiB,CACzF,GAAM,CAAE,UAAAC,EAAW,GAAGC,CAAU,EAAIH,EACpC,OACE,gBAACI,EAAc,KAAd,CACE,GAAGD,EACJ,IAAKF,EACL,UAAWI,EAAW,eAAgBH,CAAS,EACjD,CAEJ,CAAC,EACDH,EAAS,YAAc,YAOvB,IAAMO,EAAiB,aAA2C,CAACC,EAAUN,IAAiB,CAC5F,IAAMD,EAAQQ,EAAkBD,EAAUE,EAAiB,IAAI,EACzD,CAAE,UAAAP,EAAW,MAAAQ,EAAO,GAAGC,CAAU,EAAIC,EACzCZ,EACAS,CACF,EACA,OACE,gBAACL,EAAc,KAAd,CACC,oBAAmBM,EAClB,GAAGC,EACJ,QAAS,GACT,IAAKV,EACL,UAAWI,EAAW,kBAAmB,eAAgBH,CAAS,EACpE,CAEJ,CAAC,EACDI,EAAS,YAAc,YAKvB,IAAMO,EAAoB,aACxB,CAACb,EAAOC,IAAiB,CACvB,GAAM,CAAE,UAAAC,EAAW,SAAAY,EAAU,GAAGC,CAAa,EAAIf,EACjD,OACE,gBAACI,EAAc,QAAd,CACE,GAAGW,EACJ,QAAS,GACT,IAAKd,EACL,UAAWI,EAAW,YAAa,yBAA0B,kBAAmBH,CAAS,GAEzF,gBAAC,QAAK,UAAU,oDAAoDY,CAAS,EAC7E,gBAAC,QAAK,UAAU,gEACbA,CACH,CACF,CAEJ,CACF,EACAD,EAAY,YAAc,eAO1B,IAAMG,EAAoB,aACxB,CAAChB,EAAOC,IAAiB,CACvB,GAAM,CAAE,UAAAC,EAAW,GAAGe,CAAa,EAAIjB,EACvC,OACE,gBAACI,EAAc,QAAd,CACE,GAAGa,EACJ,IAAKhB,EACL,UAAWI,EAAW,kBAAmBH,CAAS,EACpD,CAEJ,CACF,EACAc,EAAY,YAAc",
6
- "names": ["tabs_exports", "__export", "TabsContent", "TabsList", "TabsRoot", "TabsTrigger", "React", "classNames", "TabsPrimitive", "TabsRoot", "props", "forwardedRef", "className", "rootProps", "TabsPrimitive", "classNames", "TabsList", "ownProps", "useThemeSizeProps", "baseTabListPropDefs", "color", "listProps", "extractProps", "TabsTrigger", "children", "triggerProps", "TabsContent", "contentProps"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a as e}from"./chunk-FNAE6HUI.js";var o={...e};export{o as a};
2
- //# sourceMappingURL=chunk-DFGY2NZB.js.map
@@ -1,2 +0,0 @@
1
- import{a}from"./chunk-3QZBWH2A.js";import{a as t}from"./chunk-ELAW7ZUG.js";import*as r from"react";import c from"classnames";var f=r.forwardRef((e,p)=>{let{className:s,color:n,decorative:o,...i}=t(e,a),m=typeof e.orientation=="object"?e.orientation.initial:e.orientation;return r.createElement("span",{"data-accent-color":n,role:o?void 0:"separator","aria-orientation":!o&&m==="vertical"?"vertical":void 0,...i,ref:p,className:c("kui-Separator",s)})});f.displayName="Separator";export{f as a};
2
- //# sourceMappingURL=chunk-DUTZUWZP.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/separator.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\n\nimport { separatorPropDefs } from './separator.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype SeparatorElement = React.ElementRef<'span'>;\ntype SeparatorOwnProps = GetPropDefTypes<typeof separatorPropDefs>;\ninterface SeparatorProps extends ComponentPropsWithout<'span', RemovedProps>, SeparatorOwnProps {}\nconst Separator = React.forwardRef<SeparatorElement, SeparatorProps>((props, forwardedRef) => {\n const { className, color, decorative, ...separatorProps } = extractProps(props, separatorPropDefs);\n // A responsive orientation announces the one it starts with.\n const orientation =\n typeof props.orientation === 'object' ? props.orientation.initial : props.orientation;\n return (\n <span\n data-accent-color={color}\n role={decorative ? undefined : 'separator'}\n aria-orientation={!decorative && orientation === 'vertical' ? 'vertical' : undefined}\n {...separatorProps}\n ref={forwardedRef}\n className={classNames('kui-Separator', className)}\n />\n );\n});\nSeparator.displayName = 'Separator';\n\nexport { Separator };\nexport type { SeparatorProps };\n"],
5
- "mappings": "2EAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aAWvB,IAAMC,EAAkB,aAA6C,CAACC,EAAOC,IAAiB,CAC5F,GAAM,CAAE,UAAAC,EAAW,MAAAC,EAAO,WAAAC,EAAY,GAAGC,CAAe,EAAIC,EAAaN,EAAOO,CAAiB,EAE3FC,EACJ,OAAOR,EAAM,aAAgB,SAAWA,EAAM,YAAY,QAAUA,EAAM,YAC5E,OACE,gBAAC,QACC,oBAAmBG,EACnB,KAAMC,EAAa,OAAY,YAC/B,mBAAkB,CAACA,GAAcI,IAAgB,WAAa,WAAa,OAC1E,GAAGH,EACJ,IAAKJ,EACL,UAAWQ,EAAW,gBAAiBP,CAAS,EAClD,CAEJ,CAAC,EACDH,EAAU,YAAc",
6
- "names": ["React", "classNames", "Separator", "props", "forwardedRef", "className", "color", "decorative", "separatorProps", "extractProps", "separatorPropDefs", "orientation", "classNames"]
7
- }
@@ -1,2 +0,0 @@
1
- import{b as e}from"./chunk-KRJTW535.js";var o=["cover","contain","fill","scale-down","none"],s={...e,fit:{type:"enum",className:"kui-r-fit",values:o,default:"cover"}};export{s as a};
2
- //# sourceMappingURL=chunk-EZYXYLR2.js.map
@@ -1,2 +0,0 @@
1
- import{a as T}from"./chunk-VW46DG7H.js";import{a as R}from"./chunk-MJJ7XDIP.js";import{c as h}from"./chunk-PPZY7PJA.js";import{e as d}from"./chunk-3YLYGKFB.js";import{a as b}from"./chunk-ELAW7ZUG.js";import{a as W}from"./chunk-OS3FCYZY.js";var w={};W(w,{Anchor:()=>M,Close:()=>N,Content:()=>x,Root:()=>E,Toolbar:()=>S,Trigger:()=>L});import*as o from"react";import c from"classnames";import{Popover as P}from"radix-ui";var y=o.createContext(null),g=t=>{let e=o.useContext(y);return e},E=t=>o.createElement(P.Root,{...t});E.displayName="Popover.Root";var L=o.forwardRef(({children:t,...e},r)=>o.createElement(P.Trigger,{...e,ref:r,asChild:!0},R(t)));L.displayName="Popover.Trigger";var x=o.forwardRef((t,e)=>{let r=d(t,T.size),{className:s,forceMount:n,container:i,...a}=b(r,T),p=o.useRef(null),m=o.useCallback(l=>{p.current=l,typeof e=="function"?e(l):e&&(e.current=l)},[e]),[f,u]=o.useState(void 0),C=o.useCallback(l=>{let v=p.current;v&&(l>0?(v.style.setProperty("--popover-toolbar-offset",`${l}px`),v.setAttribute("data-has-toolbar","true")):(v.style.removeProperty("--popover-toolbar-offset"),v.removeAttribute("data-has-toolbar")))},[]);return o.createElement(P.Portal,{container:i,forceMount:n},o.createElement(h,{asChild:!0},o.createElement(P.Content,{align:"start",sideOffset:8,collisionPadding:10,...a,ref:m,"aria-labelledby":f,className:c("kui-PopperContent","kui-PopoverContent",s)},o.createElement(y.Provider,{value:o.useMemo(()=>({contentRef:p,setToolbarOffset:C,setLabelId:u}),[C])},r.children))))});x.displayName="Popover.Content";var N=o.forwardRef(({children:t,...e},r)=>o.createElement(P.Close,{...e,ref:r,asChild:!0},R(t)));N.displayName="Popover.Close";var M=o.forwardRef(({children:t,...e},r)=>o.createElement(P.Anchor,{...e,ref:r}));M.displayName="Popover.Anchor";var A=o.forwardRef(({className:t,children:e,...r},s)=>{let n=g("Popover.Toolbar"),i=o.useRef(null),a=o.useCallback(p=>{i.current=p,typeof s=="function"?s(p):s&&(s.current=p)},[s]);return o.useEffect(()=>{if(!n||!i.current)return;let p=i.current,m=()=>{let u=p.getBoundingClientRect().height;n.setToolbarOffset(u)};m();let f=new ResizeObserver(m);return f.observe(p),()=>{f.disconnect(),n.setToolbarOffset(0)}},[n]),o.createElement("div",{...r,ref:a,className:c("kui-PopoverToolbar",t)},e)});A.displayName="Popover.Toolbar";var k=o.forwardRef(({className:t,...e},r)=>o.createElement("div",{...e,ref:r,className:c("kui-PopoverToolbarSection","kui-PopoverToolbarLeft",t)}));k.displayName="Popover.Toolbar.Left";var D=o.forwardRef(({className:t,...e},r)=>o.createElement("div",{...e,ref:r,className:c("kui-PopoverToolbarSection","kui-PopoverToolbarCenter",t)}));D.displayName="Popover.Toolbar.Center";var H=o.forwardRef(({className:t,...e},r)=>o.createElement("div",{...e,ref:r,className:c("kui-PopoverToolbarSection","kui-PopoverToolbarRight",t)}));H.displayName="Popover.Toolbar.Right";var O=o.forwardRef(({className:t,id:e,...r},s)=>{let n=g("Popover.Toolbar.Title"),i=o.useId(),a=e??`kui-popover-toolbar-title-${i}`;return o.useEffect(()=>(n?.setLabelId(a),()=>n?.setLabelId(void 0)),[n,a]),o.createElement("span",{...r,id:a,ref:s,className:c("kui-PopoverToolbarTitle",t)})});O.displayName="Popover.Toolbar.Title";var S=Object.assign(A,{Left:k,Center:D,Right:H,Title:O});export{E as a,L as b,x as c,N as d,M as e,S as f,w as g};
2
- //# sourceMappingURL=chunk-FDHWAC6W.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/popover.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Popover as PopoverPrimitive } from 'radix-ui';\n\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\nimport { popoverContentPropDefs } from './popover.props.js';\nimport { Theme } from './theme.js';\n\nimport type { PopoverContentOwnProps } from './popover.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\n// ---------------------------------------------\n// Popover Content Context\n// ---------------------------------------------\ntype PopoverContentContextValue = {\n /** Ref to the Popover.Content DOM node */\n contentRef: React.MutableRefObject<HTMLDivElement | null>;\n /** Update content's toolbar offset variable and presence flag */\n setToolbarOffset: (offsetPx: number) => void;\n /** Wire up aria-labelledby for toolbar title */\n setLabelId: (id: string | undefined) => void;\n};\n\nconst PopoverContentContext = React.createContext<PopoverContentContextValue | null>(null);\nconst usePopoverContentContext = (caller: string) => {\n const ctx = React.useContext(PopoverContentContext);\n if (!ctx) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`${caller} must be used within Popover.Content`);\n }\n }\n return ctx;\n};\n\ninterface PopoverRootProps extends React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Root> {}\nconst PopoverRoot: React.FC<PopoverRootProps> = (props: PopoverRootProps) => (\n <PopoverPrimitive.Root {...props} />\n);\nPopoverRoot.displayName = 'Popover.Root';\n\ntype PopoverTriggerElement = React.ElementRef<typeof PopoverPrimitive.Trigger>;\ninterface PopoverTriggerProps\n extends ComponentPropsWithout<typeof PopoverPrimitive.Trigger, RemovedProps> {}\nconst PopoverTrigger = React.forwardRef<PopoverTriggerElement, PopoverTriggerProps>(\n ({ children, ...props }, forwardedRef) => (\n <PopoverPrimitive.Trigger {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </PopoverPrimitive.Trigger>\n ),\n);\nPopoverTrigger.displayName = 'Popover.Trigger';\n\ntype PopoverContentElement = React.ElementRef<typeof PopoverPrimitive.Content>;\ninterface PopoverContentProps\n extends ComponentPropsWithout<typeof PopoverPrimitive.Content, RemovedProps>,\n PopoverContentOwnProps {\n container?: React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Portal>['container'];\n}\nconst PopoverContent = React.forwardRef<PopoverContentElement, PopoverContentProps>(\n (ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, popoverContentPropDefs.size);\n const {\n className,\n forceMount,\n container,\n ...contentProps\n } = extractProps(props, popoverContentPropDefs);\n\n // Manage refs (we need the DOM node to apply CSS variables)\n const contentRef = React.useRef<HTMLDivElement>(null);\n const combinedRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n contentRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n (forwardedRef as React.MutableRefObject<HTMLDivElement | null>).current = node;\n }\n },\n [forwardedRef],\n );\n\n const [labelId, setLabelId] = React.useState<string | undefined>(undefined);\n\n const setToolbarOffset = React.useCallback((offsetPx: number) => {\n const el = contentRef.current;\n if (!el) return;\n if (offsetPx > 0) {\n el.style.setProperty('--popover-toolbar-offset', `${offsetPx}px`);\n el.setAttribute('data-has-toolbar', 'true');\n } else {\n el.style.removeProperty('--popover-toolbar-offset');\n el.removeAttribute('data-has-toolbar');\n }\n }, []);\n\n return (\n <PopoverPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <PopoverPrimitive.Content\n align=\"start\"\n sideOffset={8}\n collisionPadding={10}\n {...contentProps}\n ref={combinedRef}\n aria-labelledby={labelId}\n className={classNames('kui-PopperContent', 'kui-PopoverContent', className)}\n >\n <PopoverContentContext.Provider value={React.useMemo(() => ({ contentRef, setToolbarOffset, setLabelId }), [setToolbarOffset])}>\n {props.children}\n </PopoverContentContext.Provider>\n </PopoverPrimitive.Content>\n </Theme>\n </PopoverPrimitive.Portal>\n );\n },\n);\nPopoverContent.displayName = 'Popover.Content';\n\ntype PopoverCloseElement = React.ElementRef<typeof PopoverPrimitive.Close>;\ninterface PopoverCloseProps\n extends ComponentPropsWithout<typeof PopoverPrimitive.Close, RemovedProps> {}\nconst PopoverClose = React.forwardRef<PopoverCloseElement, PopoverCloseProps>(\n ({ children, ...props }, forwardedRef) => (\n <PopoverPrimitive.Close {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </PopoverPrimitive.Close>\n ),\n);\nPopoverClose.displayName = 'Popover.Close';\n\ntype PopoverAnchorElement = React.ElementRef<typeof PopoverPrimitive.Anchor>;\ninterface PopoverAnchorProps\n extends React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Anchor> {}\nconst PopoverAnchor = React.forwardRef<PopoverAnchorElement, PopoverAnchorProps>(\n ({ children, ...props }, forwardedRef) => (\n <PopoverPrimitive.Anchor {...props} ref={forwardedRef} />\n ),\n);\n\nPopoverAnchor.displayName = 'Popover.Anchor';\n\n// ---------------------------------------------\n// Toolbar (Popover-only)\n// ---------------------------------------------\n\ntype PopoverToolbarElement = HTMLDivElement;\ntype PopoverToolbarProps = React.ComponentPropsWithoutRef<'div'>;\n\nconst PopoverToolbarBase = React.forwardRef<PopoverToolbarElement, PopoverToolbarProps>(\n ({ className, children, ...props }, forwardedRef) => {\n const ctx = usePopoverContentContext('Popover.Toolbar');\n\n const localRef = React.useRef<HTMLDivElement | null>(null);\n const setRefs = React.useCallback(\n (node: HTMLDivElement | null) => {\n localRef.current = node;\n if (typeof forwardedRef === 'function') forwardedRef(node);\n else if (forwardedRef)\n (forwardedRef as React.MutableRefObject<HTMLDivElement | null>).current = node;\n },\n [forwardedRef],\n );\n\n React.useEffect(() => {\n if (!ctx || !localRef.current) return;\n const el = localRef.current;\n const update = () => {\n const height = el.getBoundingClientRect().height;\n ctx.setToolbarOffset(height);\n };\n update();\n const ro = new ResizeObserver(update);\n ro.observe(el);\n return () => {\n ro.disconnect();\n ctx.setToolbarOffset(0);\n };\n }, [ctx]);\n\n return (\n <div {...props} ref={setRefs} className={classNames('kui-PopoverToolbar', className)}>\n {children}\n </div>\n );\n },\n);\n(PopoverToolbarBase as any).displayName = 'Popover.Toolbar';\n\ntype SectionProps = React.ComponentPropsWithoutRef<'div'>;\n\nconst PopoverToolbarLeft = React.forwardRef<HTMLDivElement, SectionProps>(\n ({ className, ...props }, ref) => (\n <div\n {...props}\n ref={ref}\n className={classNames('kui-PopoverToolbarSection', 'kui-PopoverToolbarLeft', className)}\n />\n ),\n);\nPopoverToolbarLeft.displayName = 'Popover.Toolbar.Left';\n\nconst PopoverToolbarCenter = React.forwardRef<HTMLDivElement, SectionProps>(\n ({ className, ...props }, ref) => (\n <div\n {...props}\n ref={ref}\n className={classNames('kui-PopoverToolbarSection', 'kui-PopoverToolbarCenter', className)}\n />\n ),\n);\nPopoverToolbarCenter.displayName = 'Popover.Toolbar.Center';\n\nconst PopoverToolbarRight = React.forwardRef<HTMLDivElement, SectionProps>(\n ({ className, ...props }, ref) => (\n <div\n {...props}\n ref={ref}\n className={classNames('kui-PopoverToolbarSection', 'kui-PopoverToolbarRight', className)}\n />\n ),\n);\nPopoverToolbarRight.displayName = 'Popover.Toolbar.Right';\n\ntype TitleProps = React.ComponentPropsWithoutRef<'span'>;\nconst PopoverToolbarTitle = React.forwardRef<HTMLSpanElement, TitleProps>(\n ({ className, id: idProp, ...props }, ref) => {\n const ctx = usePopoverContentContext('Popover.Toolbar.Title');\n const reactId = React.useId();\n const id = idProp ?? `kui-popover-toolbar-title-${reactId}`;\n React.useEffect(() => {\n ctx?.setLabelId(id);\n return () => ctx?.setLabelId(undefined);\n }, [ctx, id]);\n return (\n <span\n {...props}\n id={id}\n ref={ref}\n className={classNames('kui-PopoverToolbarTitle', className)}\n />\n );\n },\n);\nPopoverToolbarTitle.displayName = 'Popover.Toolbar.Title';\n\ntype PopoverToolbarComponent = React.ForwardRefExoticComponent<\n React.PropsWithoutRef<PopoverToolbarProps> & React.RefAttributes<HTMLDivElement>\n> & {\n Left: typeof PopoverToolbarLeft;\n Center: typeof PopoverToolbarCenter;\n Right: typeof PopoverToolbarRight;\n Title: typeof PopoverToolbarTitle;\n};\n\nconst PopoverToolbar = Object.assign(PopoverToolbarBase, {\n Left: PopoverToolbarLeft,\n Center: PopoverToolbarCenter,\n Right: PopoverToolbarRight,\n Title: PopoverToolbarTitle,\n}) as PopoverToolbarComponent;\n\nexport {\n PopoverRoot as Root,\n PopoverContent as Content,\n PopoverTrigger as Trigger,\n PopoverClose as Close,\n PopoverAnchor as Anchor,\n PopoverToolbar as Toolbar,\n};\nexport type {\n PopoverRootProps as RootProps,\n PopoverContentProps as ContentProps,\n PopoverTriggerProps as TriggerProps,\n PopoverCloseProps as CloseProps,\n PopoverAnchorProps as AnchorProps,\n};\n"],
5
- "mappings": "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",
6
- "names": ["popover_exports", "__export", "PopoverAnchor", "PopoverClose", "PopoverContent", "PopoverRoot", "PopoverToolbar", "PopoverTrigger", "React", "classNames", "PopoverPrimitive", "PopoverContentContext", "usePopoverContentContext", "caller", "ctx", "PopoverRoot", "props", "PopoverPrimitive", "PopoverTrigger", "children", "forwardedRef", "requireReactElement", "PopoverContent", "ownProps", "useThemeSizeProps", "popoverContentPropDefs", "className", "forceMount", "container", "contentProps", "extractProps", "contentRef", "combinedRef", "node", "labelId", "setLabelId", "setToolbarOffset", "offsetPx", "el", "Theme", "classNames", "PopoverClose", "PopoverAnchor", "PopoverToolbarBase", "localRef", "setRefs", "update", "height", "ro", "PopoverToolbarLeft", "ref", "PopoverToolbarCenter", "PopoverToolbarRight", "PopoverToolbarTitle", "idProp", "reactId", "id", "PopoverToolbar"]
7
- }