@womp/kookie-ui 0.21.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1009) hide show
  1. package/README.md +7 -6
  2. package/codemods/_shared.py +314 -0
  3. package/codemods/components-0.21.py +98 -42
  4. package/codemods/names-0.22.py +65 -0
  5. package/codemods/space-0.17.py +47 -23
  6. package/codemods/test_codemods.py +220 -0
  7. package/codemods/type-0.20.py +60 -31
  8. package/components.css +3527 -3516
  9. package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
  10. package/dist/cjs/components/_internal/base-button.js +1 -1
  11. package/dist/cjs/components/_internal/base-button.js.map +3 -3
  12. package/dist/cjs/components/_internal/base-button.props.js +1 -1
  13. package/dist/cjs/components/_internal/base-button.props.js.map +2 -2
  14. package/dist/cjs/components/_internal/base-checkbox.props.js +1 -1
  15. package/dist/cjs/components/_internal/base-checkbox.props.js.map +2 -2
  16. package/dist/cjs/components/_internal/base-menu.props.js +1 -1
  17. package/dist/cjs/components/_internal/base-menu.props.js.map +2 -2
  18. package/dist/cjs/components/_internal/base-menu.utils.js +1 -1
  19. package/dist/cjs/components/_internal/base-menu.utils.js.map +2 -2
  20. package/dist/cjs/components/_internal/base-radio.props.js +1 -1
  21. package/dist/cjs/components/_internal/base-radio.props.js.map +2 -2
  22. package/dist/cjs/components/_internal/base-tab-list.props.js +1 -1
  23. package/dist/cjs/components/_internal/base-tab-list.props.js.map +2 -2
  24. package/dist/cjs/components/_internal/dropdown-menu-drill-down.js +1 -1
  25. package/dist/cjs/components/_internal/dropdown-menu-drill-down.js.map +2 -2
  26. package/dist/cjs/components/_internal/menu-context.js.map +1 -1
  27. package/dist/cjs/components/_internal/pane-chrome.js +1 -1
  28. package/dist/cjs/components/_internal/pane-chrome.js.map +2 -2
  29. package/dist/cjs/components/_internal/shell-bottom.js +1 -1
  30. package/dist/cjs/components/_internal/shell-bottom.js.map +2 -2
  31. package/dist/cjs/components/_internal/shell-handles.js +1 -1
  32. package/dist/cjs/components/_internal/shell-handles.js.map +2 -2
  33. package/dist/cjs/components/_internal/shell-inspector.js +1 -1
  34. package/dist/cjs/components/_internal/shell-inspector.js.map +2 -2
  35. package/dist/cjs/components/_internal/shell-resizable.js +1 -1
  36. package/dist/cjs/components/_internal/shell-resizable.js.map +2 -2
  37. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  38. package/dist/cjs/components/_internal/shell-sidebar.js.map +2 -2
  39. package/dist/cjs/components/accordion.js +1 -1
  40. package/dist/cjs/components/accordion.js.map +2 -2
  41. package/dist/cjs/components/accordion.props.js +1 -1
  42. package/dist/cjs/components/accordion.props.js.map +2 -2
  43. package/dist/cjs/components/alert-dialog.js +1 -1
  44. package/dist/cjs/components/alert-dialog.js.map +2 -2
  45. package/dist/cjs/components/alert-dialog.props.js +1 -1
  46. package/dist/cjs/components/alert-dialog.props.js.map +2 -2
  47. package/dist/cjs/components/avatar.d.ts.map +1 -1
  48. package/dist/cjs/components/avatar.js +1 -1
  49. package/dist/cjs/components/avatar.js.map +4 -4
  50. package/dist/cjs/components/avatar.props.d.ts +1 -1
  51. package/dist/cjs/components/avatar.props.d.ts.map +1 -1
  52. package/dist/cjs/components/avatar.props.js +1 -1
  53. package/dist/cjs/components/avatar.props.js.map +2 -2
  54. package/dist/cjs/components/blockquote.js +1 -1
  55. package/dist/cjs/components/blockquote.js.map +2 -2
  56. package/dist/cjs/components/blockquote.props.js +1 -1
  57. package/dist/cjs/components/blockquote.props.js.map +2 -2
  58. package/dist/cjs/components/box.js +1 -1
  59. package/dist/cjs/components/box.js.map +2 -2
  60. package/dist/cjs/components/box.props.js +1 -1
  61. package/dist/cjs/components/box.props.js.map +2 -2
  62. package/dist/cjs/components/button.js +1 -1
  63. package/dist/cjs/components/button.js.map +3 -3
  64. package/dist/cjs/components/button.props.js +1 -1
  65. package/dist/cjs/components/button.props.js.map +2 -2
  66. package/dist/cjs/components/card.js +1 -1
  67. package/dist/cjs/components/card.js.map +2 -2
  68. package/dist/cjs/components/card.props.js +1 -1
  69. package/dist/cjs/components/card.props.js.map +2 -2
  70. package/dist/cjs/components/chatbar.js +1 -1
  71. package/dist/cjs/components/chatbar.js.map +3 -3
  72. package/dist/cjs/components/checkbox-group.js +1 -1
  73. package/dist/cjs/components/checkbox-group.js.map +2 -2
  74. package/dist/cjs/components/checkbox-group.props.js +1 -1
  75. package/dist/cjs/components/checkbox-group.props.js.map +2 -2
  76. package/dist/cjs/components/checkbox.js +1 -1
  77. package/dist/cjs/components/checkbox.js.map +3 -3
  78. package/dist/cjs/components/checkbox.props.js +1 -1
  79. package/dist/cjs/components/checkbox.props.js.map +2 -2
  80. package/dist/cjs/components/chip.js +1 -1
  81. package/dist/cjs/components/chip.js.map +2 -2
  82. package/dist/cjs/components/chip.props.js +1 -1
  83. package/dist/cjs/components/chip.props.js.map +2 -2
  84. package/dist/cjs/components/code.js +1 -1
  85. package/dist/cjs/components/code.js.map +2 -2
  86. package/dist/cjs/components/code.props.js +1 -1
  87. package/dist/cjs/components/code.props.js.map +2 -2
  88. package/dist/cjs/components/combobox.d.ts.map +1 -1
  89. package/dist/cjs/components/combobox.js +1 -1
  90. package/dist/cjs/components/combobox.js.map +3 -3
  91. package/dist/cjs/components/combobox.props.js +1 -1
  92. package/dist/cjs/components/combobox.props.js.map +2 -2
  93. package/dist/cjs/components/context-menu.js +1 -1
  94. package/dist/cjs/components/context-menu.js.map +2 -2
  95. package/dist/cjs/components/context-menu.props.js +1 -1
  96. package/dist/cjs/components/context-menu.props.js.map +2 -2
  97. package/dist/cjs/components/dialog.js +1 -1
  98. package/dist/cjs/components/dialog.js.map +2 -2
  99. package/dist/cjs/components/dialog.props.js +1 -1
  100. package/dist/cjs/components/dialog.props.js.map +2 -2
  101. package/dist/cjs/components/dropdown-menu.js +1 -1
  102. package/dist/cjs/components/dropdown-menu.js.map +3 -3
  103. package/dist/cjs/components/dropdown-menu.props.js +1 -1
  104. package/dist/cjs/components/dropdown-menu.props.js.map +2 -2
  105. package/dist/cjs/components/flex.js +1 -1
  106. package/dist/cjs/components/flex.js.map +2 -2
  107. package/dist/cjs/components/flex.props.js +1 -1
  108. package/dist/cjs/components/flex.props.js.map +2 -2
  109. package/dist/cjs/components/grid.js +1 -1
  110. package/dist/cjs/components/grid.js.map +2 -2
  111. package/dist/cjs/components/grid.props.js +1 -1
  112. package/dist/cjs/components/grid.props.js.map +2 -2
  113. package/dist/cjs/components/heading.js +1 -1
  114. package/dist/cjs/components/heading.js.map +2 -2
  115. package/dist/cjs/components/heading.props.js +1 -1
  116. package/dist/cjs/components/heading.props.js.map +2 -2
  117. package/dist/cjs/components/index.js +5 -5
  118. package/dist/cjs/components/index.js.map +3 -3
  119. package/dist/cjs/components/kbd.js +1 -1
  120. package/dist/cjs/components/kbd.js.map +2 -2
  121. package/dist/cjs/components/kbd.props.js +1 -1
  122. package/dist/cjs/components/kbd.props.js.map +2 -2
  123. package/dist/cjs/components/link.js +1 -1
  124. package/dist/cjs/components/link.js.map +2 -2
  125. package/dist/cjs/components/link.props.js +1 -1
  126. package/dist/cjs/components/link.props.js.map +2 -2
  127. package/dist/cjs/components/message-scroller.js +1 -1
  128. package/dist/cjs/components/message-scroller.js.map +3 -3
  129. package/dist/cjs/components/navbar.js +1 -1
  130. package/dist/cjs/components/navbar.js.map +2 -2
  131. package/dist/cjs/components/notice.js +1 -1
  132. package/dist/cjs/components/notice.js.map +3 -3
  133. package/dist/cjs/components/popover.js +1 -1
  134. package/dist/cjs/components/popover.js.map +2 -2
  135. package/dist/cjs/components/popover.props.js +1 -1
  136. package/dist/cjs/components/popover.props.js.map +2 -2
  137. package/dist/cjs/components/progress.js +1 -1
  138. package/dist/cjs/components/progress.js.map +2 -2
  139. package/dist/cjs/components/progress.props.js +1 -1
  140. package/dist/cjs/components/progress.props.js.map +2 -2
  141. package/dist/cjs/components/radio-group.js +1 -1
  142. package/dist/cjs/components/radio-group.js.map +2 -2
  143. package/dist/cjs/components/radio-group.props.js +1 -1
  144. package/dist/cjs/components/radio-group.props.js.map +2 -2
  145. package/dist/cjs/components/radio.js +1 -1
  146. package/dist/cjs/components/radio.js.map +2 -2
  147. package/dist/cjs/components/radio.props.js +1 -1
  148. package/dist/cjs/components/radio.props.js.map +2 -2
  149. package/dist/cjs/components/reset.js +1 -1
  150. package/dist/cjs/components/reset.js.map +2 -2
  151. package/dist/cjs/components/schemas/button.schema.d.ts +146 -0
  152. package/dist/cjs/components/schemas/button.schema.d.ts.map +1 -1
  153. package/dist/cjs/components/schemas/button.schema.js +1 -1
  154. package/dist/cjs/components/schemas/button.schema.js.map +3 -3
  155. package/dist/cjs/components/schemas/index.js +1 -1
  156. package/dist/cjs/components/schemas/index.js.map +3 -3
  157. package/dist/cjs/components/schemas/toggle.schema.js +1 -1
  158. package/dist/cjs/components/schemas/toggle.schema.js.map +3 -3
  159. package/dist/cjs/components/scroll-area.js +1 -1
  160. package/dist/cjs/components/scroll-area.js.map +2 -2
  161. package/dist/cjs/components/segmented-control.js +1 -1
  162. package/dist/cjs/components/segmented-control.js.map +2 -2
  163. package/dist/cjs/components/segmented-control.props.js +1 -1
  164. package/dist/cjs/components/segmented-control.props.js.map +2 -2
  165. package/dist/cjs/components/select.d.ts.map +1 -1
  166. package/dist/cjs/components/select.js +1 -1
  167. package/dist/cjs/components/select.js.map +3 -3
  168. package/dist/cjs/components/select.props.js +1 -1
  169. package/dist/cjs/components/select.props.js.map +2 -2
  170. package/dist/cjs/components/separator.js +1 -1
  171. package/dist/cjs/components/separator.js.map +2 -2
  172. package/dist/cjs/components/separator.props.js +1 -1
  173. package/dist/cjs/components/separator.props.js.map +2 -2
  174. package/dist/cjs/components/sheet.js +1 -1
  175. package/dist/cjs/components/sheet.js.map +2 -2
  176. package/dist/cjs/components/shell.js +1 -1
  177. package/dist/cjs/components/shell.js.map +2 -2
  178. package/dist/cjs/components/sidebar.js +1 -1
  179. package/dist/cjs/components/sidebar.js.map +2 -2
  180. package/dist/cjs/components/slider.js +1 -1
  181. package/dist/cjs/components/slider.js.map +2 -2
  182. package/dist/cjs/components/slider.props.js +1 -1
  183. package/dist/cjs/components/slider.props.js.map +2 -2
  184. package/dist/cjs/components/spinner.js +1 -1
  185. package/dist/cjs/components/spinner.js.map +2 -2
  186. package/dist/cjs/components/switch.js +1 -1
  187. package/dist/cjs/components/switch.js.map +2 -2
  188. package/dist/cjs/components/switch.props.js +1 -1
  189. package/dist/cjs/components/switch.props.js.map +2 -2
  190. package/dist/cjs/components/table.js +1 -1
  191. package/dist/cjs/components/table.js.map +3 -3
  192. package/dist/cjs/components/table.props.js +1 -1
  193. package/dist/cjs/components/table.props.js.map +2 -2
  194. package/dist/cjs/components/tabs.js +1 -1
  195. package/dist/cjs/components/tabs.js.map +2 -2
  196. package/dist/cjs/components/tabs.props.js +1 -1
  197. package/dist/cjs/components/tabs.props.js.map +2 -2
  198. package/dist/cjs/components/text-area.js +1 -1
  199. package/dist/cjs/components/text-area.js.map +2 -2
  200. package/dist/cjs/components/text-area.props.js +1 -1
  201. package/dist/cjs/components/text-area.props.js.map +2 -2
  202. package/dist/cjs/components/text-field.js +4 -4
  203. package/dist/cjs/components/text-field.js.map +2 -2
  204. package/dist/cjs/components/text-field.props.js +1 -1
  205. package/dist/cjs/components/text-field.props.js.map +2 -2
  206. package/dist/cjs/components/text.js +1 -1
  207. package/dist/cjs/components/text.js.map +2 -2
  208. package/dist/cjs/components/text.props.js +1 -1
  209. package/dist/cjs/components/text.props.js.map +2 -2
  210. package/dist/cjs/components/theme.js +1 -1
  211. package/dist/cjs/components/theme.js.map +2 -2
  212. package/dist/cjs/components/toggle.js +2 -2
  213. package/dist/cjs/components/toggle.js.map +3 -3
  214. package/dist/cjs/components/toolbar.js +1 -1
  215. package/dist/cjs/components/toolbar.js.map +3 -3
  216. package/dist/cjs/components/toolbar.props.js +1 -1
  217. package/dist/cjs/components/toolbar.props.js.map +2 -2
  218. package/dist/cjs/components/tooltip.js +1 -1
  219. package/dist/cjs/components/tooltip.js.map +2 -2
  220. package/dist/cjs/components/tooltip.props.js +1 -1
  221. package/dist/cjs/components/tooltip.props.js.map +2 -2
  222. package/dist/cjs/components/virtual-menu.js +1 -1
  223. package/dist/cjs/components/virtual-menu.js.map +2 -2
  224. package/dist/cjs/helpers/font-config.d.ts.map +1 -1
  225. package/dist/cjs/helpers/font-config.js +3 -3
  226. package/dist/cjs/helpers/font-config.js.map +2 -2
  227. package/dist/cjs/helpers/get-margin-styles.js +1 -1
  228. package/dist/cjs/helpers/get-margin-styles.js.map +2 -2
  229. package/dist/cjs/helpers/index.js +3 -3
  230. package/dist/cjs/helpers/index.js.map +2 -2
  231. package/dist/cjs/hooks/index.js +2 -2
  232. package/dist/cjs/hooks/index.js.map +2 -2
  233. package/dist/cjs/hooks/use-live-announcer.js +2 -2
  234. package/dist/cjs/hooks/use-live-announcer.js.map +2 -2
  235. package/dist/cjs/hooks/use-thumb-sync.js +1 -1
  236. package/dist/cjs/hooks/use-thumb-sync.js.map +2 -2
  237. package/dist/cjs/hooks/use-toggle-state.js +2 -2
  238. package/dist/cjs/hooks/use-toggle-state.js.map +2 -2
  239. package/dist/cjs/index.js +6 -6
  240. package/dist/cjs/index.js.map +3 -3
  241. package/dist/cjs/props/emphasis.prop.js +1 -1
  242. package/dist/cjs/props/emphasis.prop.js.map +2 -2
  243. package/dist/cjs/props/font-family.prop.js +1 -1
  244. package/dist/cjs/props/font-family.prop.js.map +2 -2
  245. package/dist/cjs/props/gap.props.js +1 -1
  246. package/dist/cjs/props/gap.props.js.map +2 -2
  247. package/dist/cjs/props/height.props.js +1 -1
  248. package/dist/cjs/props/height.props.js.map +2 -2
  249. package/dist/cjs/props/index.js +1 -1
  250. package/dist/cjs/props/index.js.map +2 -2
  251. package/dist/cjs/props/layout.props.d.ts +5 -5
  252. package/dist/cjs/props/layout.props.js +1 -1
  253. package/dist/cjs/props/layout.props.js.map +2 -2
  254. package/dist/cjs/props/leading-trim.prop.js +1 -1
  255. package/dist/cjs/props/leading-trim.prop.js.map +2 -2
  256. package/dist/cjs/props/margin.props.js +1 -1
  257. package/dist/cjs/props/margin.props.js.map +2 -2
  258. package/dist/cjs/props/padding.props.js +1 -1
  259. package/dist/cjs/props/padding.props.js.map +2 -2
  260. package/dist/cjs/props/shadow.props.js +1 -1
  261. package/dist/cjs/props/shadow.props.js.map +2 -2
  262. package/dist/cjs/props/text-align.prop.js +1 -1
  263. package/dist/cjs/props/text-align.prop.js.map +2 -2
  264. package/dist/cjs/props/text-wrap.prop.js +1 -1
  265. package/dist/cjs/props/text-wrap.prop.js.map +2 -2
  266. package/dist/cjs/props/truncate.prop.js +1 -1
  267. package/dist/cjs/props/truncate.prop.js.map +2 -2
  268. package/dist/cjs/props/weight.prop.js +1 -1
  269. package/dist/cjs/props/weight.prop.js.map +2 -2
  270. package/dist/cjs/props/width.props.js +1 -1
  271. package/dist/cjs/props/width.props.js.map +2 -2
  272. package/dist/esm/chunk-23KT3D2Z.js +2 -0
  273. package/dist/esm/{chunk-DL6F2TIU.js.map → chunk-23KT3D2Z.js.map} +2 -2
  274. package/dist/esm/chunk-25FNCKUM.js +2 -0
  275. package/dist/esm/chunk-25FNCKUM.js.map +7 -0
  276. package/dist/esm/chunk-2E4P5XQL.js +2 -0
  277. package/dist/esm/chunk-2E4P5XQL.js.map +7 -0
  278. package/dist/esm/chunk-3BUQ7ADW.js +2 -0
  279. package/dist/esm/{chunk-OA2BZDKL.js.map → chunk-3BUQ7ADW.js.map} +2 -2
  280. package/dist/esm/chunk-3JA7SJDT.js +2 -0
  281. package/dist/esm/chunk-3JA7SJDT.js.map +7 -0
  282. package/dist/esm/{chunk-PEP6MQJ2.js → chunk-3KQE2PSJ.js} +2 -2
  283. package/dist/esm/chunk-3QZBWH2A.js +2 -0
  284. package/dist/esm/chunk-3QZBWH2A.js.map +7 -0
  285. package/dist/esm/chunk-3XHTJZNP.js +2 -0
  286. package/dist/esm/chunk-3XHTJZNP.js.map +7 -0
  287. package/dist/esm/chunk-3YWVE5GL.js +2 -0
  288. package/dist/esm/chunk-3YWVE5GL.js.map +7 -0
  289. package/dist/esm/chunk-4BU4R7UM.js +2 -0
  290. package/dist/esm/{chunk-XEW4BRIL.js.map → chunk-4BU4R7UM.js.map} +2 -2
  291. package/dist/esm/chunk-4P6TKZCA.js +2 -0
  292. package/dist/esm/{chunk-P3WB3K2M.js.map → chunk-4P6TKZCA.js.map} +2 -2
  293. package/dist/esm/{chunk-HZNOHY6O.js → chunk-63PQNLFJ.js} +2 -2
  294. package/dist/esm/{chunk-HZNOHY6O.js.map → chunk-63PQNLFJ.js.map} +2 -2
  295. package/dist/esm/chunk-677CX2QF.js +2 -0
  296. package/dist/esm/{chunk-MQWH2IFO.js.map → chunk-677CX2QF.js.map} +2 -2
  297. package/dist/esm/chunk-6CK7UTNH.js +2 -0
  298. package/dist/esm/{chunk-TCSPZ27B.js.map → chunk-6CK7UTNH.js.map} +2 -2
  299. package/dist/esm/chunk-6RK26HIY.js +2 -0
  300. package/dist/esm/chunk-6RK26HIY.js.map +7 -0
  301. package/dist/esm/chunk-7CUQMU3T.js +2 -0
  302. package/dist/esm/chunk-7CUQMU3T.js.map +7 -0
  303. package/dist/esm/chunk-7ESWH773.js +2 -0
  304. package/dist/esm/{chunk-7QPXLSVR.js.map → chunk-7ESWH773.js.map} +2 -2
  305. package/dist/esm/chunk-7FTUTUMD.js +2 -0
  306. package/dist/esm/chunk-7FTUTUMD.js.map +7 -0
  307. package/dist/esm/chunk-7SS4UUJH.js +2 -0
  308. package/dist/esm/{chunk-T4L4QDBG.js.map → chunk-7SS4UUJH.js.map} +2 -2
  309. package/dist/esm/chunk-A3YQIJDA.js +2 -0
  310. package/dist/esm/{chunk-MC3GY6ET.js.map → chunk-A3YQIJDA.js.map} +2 -2
  311. package/dist/esm/chunk-AB3QCCUM.js +2 -0
  312. package/dist/esm/chunk-AB3QCCUM.js.map +7 -0
  313. package/dist/esm/{chunk-GBFGUOFS.js → chunk-BE7LMBBC.js} +2 -2
  314. package/dist/esm/chunk-BEP4AH5V.js +2 -0
  315. package/dist/esm/chunk-BEP4AH5V.js.map +7 -0
  316. package/dist/esm/{chunk-FGORMEAO.js → chunk-BIITGC3Z.js} +2 -2
  317. package/dist/esm/{chunk-FGORMEAO.js.map → chunk-BIITGC3Z.js.map} +2 -2
  318. package/dist/esm/{chunk-4VBH3W2S.js → chunk-BJUCBOGU.js} +2 -2
  319. package/dist/esm/{chunk-4VBH3W2S.js.map → chunk-BJUCBOGU.js.map} +2 -2
  320. package/dist/esm/chunk-BWLCTTTN.js +2 -0
  321. package/dist/esm/{chunk-5P4JTWBK.js.map → chunk-BWLCTTTN.js.map} +2 -2
  322. package/dist/esm/chunk-CLZW2IDD.js +2 -0
  323. package/dist/esm/{chunk-R2FUNQTI.js.map → chunk-CLZW2IDD.js.map} +2 -2
  324. package/dist/esm/chunk-DBROSD2J.js +2 -0
  325. package/dist/esm/chunk-DBROSD2J.js.map +7 -0
  326. package/dist/esm/chunk-DFGY2NZB.js +2 -0
  327. package/dist/esm/chunk-DNOQ6E3W.js +2 -0
  328. package/dist/esm/{chunk-24CVW6P7.js.map → chunk-DNOQ6E3W.js.map} +2 -2
  329. package/dist/esm/chunk-DSPYHO3L.js +2 -0
  330. package/dist/esm/{chunk-ZCWDURKJ.js.map → chunk-DSPYHO3L.js.map} +2 -2
  331. package/dist/esm/chunk-E2D2VWUI.js +2 -0
  332. package/dist/esm/chunk-E2D2VWUI.js.map +7 -0
  333. package/dist/esm/chunk-EKTVL6SS.js +2 -0
  334. package/dist/esm/chunk-EKTVL6SS.js.map +7 -0
  335. package/dist/esm/chunk-EMNSA65L.js +2 -0
  336. package/dist/esm/chunk-EMNSA65L.js.map +7 -0
  337. package/dist/esm/chunk-ETQNRMHU.js +2 -0
  338. package/dist/esm/chunk-ETQNRMHU.js.map +7 -0
  339. package/dist/esm/chunk-FDHWAC6W.js +2 -0
  340. package/dist/esm/{chunk-HGG3ULNK.js.map → chunk-FDHWAC6W.js.map} +2 -2
  341. package/dist/esm/chunk-FFG32ERA.js +5 -0
  342. package/dist/esm/chunk-FFG32ERA.js.map +7 -0
  343. package/dist/esm/chunk-FHPHEIYJ.js +2 -0
  344. package/dist/esm/chunk-FHPHEIYJ.js.map +7 -0
  345. package/dist/esm/chunk-FJFBM7HW.js +2 -0
  346. package/dist/esm/{chunk-IQBSUN5B.js.map → chunk-FJFBM7HW.js.map} +2 -2
  347. package/dist/esm/chunk-FNAE6HUI.js +2 -0
  348. package/dist/esm/chunk-FNAE6HUI.js.map +7 -0
  349. package/dist/esm/{chunk-VA5A4MHU.js → chunk-FQ3QJOYE.js} +4 -4
  350. package/dist/esm/{chunk-VA5A4MHU.js.map → chunk-FQ3QJOYE.js.map} +2 -2
  351. package/dist/esm/chunk-FVY44PTM.js +2 -0
  352. package/dist/esm/{chunk-KRDRQU4G.js.map → chunk-FVY44PTM.js.map} +2 -2
  353. package/dist/esm/chunk-GBQZ4Z2H.js +2 -0
  354. package/dist/esm/chunk-GBQZ4Z2H.js.map +7 -0
  355. package/dist/esm/chunk-GNTNGLYR.js +2 -0
  356. package/dist/esm/{chunk-IZPDJN6O.js.map → chunk-GNTNGLYR.js.map} +2 -2
  357. package/dist/esm/{chunk-BPVVFHYD.js → chunk-H3IAGAEL.js} +2 -2
  358. package/dist/esm/chunk-HCBR74BW.js +2 -0
  359. package/dist/esm/chunk-HCBR74BW.js.map +7 -0
  360. package/dist/esm/chunk-HIKMKGPT.js +2 -0
  361. package/dist/esm/{chunk-EGSMLRSO.js.map → chunk-HIKMKGPT.js.map} +2 -2
  362. package/dist/esm/chunk-HKPXDQ2B.js +2 -0
  363. package/dist/esm/{chunk-5WLSAUNJ.js.map → chunk-HKPXDQ2B.js.map} +2 -2
  364. package/dist/esm/chunk-IAEAXIBI.js +2 -0
  365. package/dist/esm/chunk-IAEAXIBI.js.map +7 -0
  366. package/dist/esm/chunk-IDOZJVO6.js +2 -0
  367. package/dist/esm/{chunk-VCU6VCPH.js.map → chunk-IDOZJVO6.js.map} +2 -2
  368. package/dist/esm/chunk-IJRBX6EV.js +2 -0
  369. package/dist/esm/chunk-IJRBX6EV.js.map +7 -0
  370. package/dist/esm/chunk-IVQHRM33.js +2 -0
  371. package/dist/esm/chunk-IVQHRM33.js.map +7 -0
  372. package/dist/esm/chunk-IWCFJJBI.js +2 -0
  373. package/dist/esm/{chunk-DDFONGSM.js.map → chunk-IWCFJJBI.js.map} +2 -2
  374. package/dist/esm/chunk-JBHRV364.js +2 -0
  375. package/dist/esm/{chunk-A2NG5NRN.js.map → chunk-JBHRV364.js.map} +2 -2
  376. package/dist/esm/chunk-KEWNXANF.js +2 -0
  377. package/dist/esm/{chunk-KNQBAOMV.js.map → chunk-KEWNXANF.js.map} +2 -2
  378. package/dist/esm/chunk-KKMOGHIY.js +2 -0
  379. package/dist/esm/chunk-KKMOGHIY.js.map +7 -0
  380. package/dist/esm/chunk-KL73COYX.js +2 -0
  381. package/dist/esm/{chunk-K7VO7TND.js.map → chunk-KL73COYX.js.map} +2 -2
  382. package/dist/esm/chunk-KMDXIZAG.js +2 -0
  383. package/dist/esm/{chunk-YB7CENHH.js.map → chunk-KMDXIZAG.js.map} +2 -2
  384. package/dist/esm/chunk-KS4U4VPH.js +2 -0
  385. package/dist/esm/chunk-KS4U4VPH.js.map +7 -0
  386. package/dist/esm/chunk-KT2CMUS5.js +2 -0
  387. package/dist/esm/{chunk-LNFN35ZE.js.map → chunk-KT2CMUS5.js.map} +2 -2
  388. package/dist/esm/{chunk-EOWG5SIY.js → chunk-KZEZDBE7.js} +2 -2
  389. package/dist/esm/{chunk-EOWG5SIY.js.map → chunk-KZEZDBE7.js.map} +2 -2
  390. package/dist/esm/{chunk-4I4NJNYO.js → chunk-LC5AK2ZD.js} +2 -2
  391. package/dist/esm/{chunk-4I4NJNYO.js.map → chunk-LC5AK2ZD.js.map} +2 -2
  392. package/dist/esm/chunk-LHIS3UKQ.js +2 -0
  393. package/dist/esm/{chunk-36GV4H3C.js.map → chunk-LHIS3UKQ.js.map} +2 -2
  394. package/dist/esm/chunk-LUNWI377.js +2 -0
  395. package/dist/esm/chunk-LUNWI377.js.map +7 -0
  396. package/dist/esm/chunk-LVCUY2OS.js +2 -0
  397. package/dist/esm/{chunk-LVCP5WGX.js.map → chunk-LVCUY2OS.js.map} +2 -2
  398. package/dist/esm/chunk-LXTGEI62.js +2 -0
  399. package/dist/esm/chunk-LXTGEI62.js.map +7 -0
  400. package/dist/esm/chunk-MPTTUBFU.js +2 -0
  401. package/dist/esm/{chunk-7MPFZIZX.js.map → chunk-MPTTUBFU.js.map} +2 -2
  402. package/dist/esm/chunk-N6KH2EOU.js +2 -0
  403. package/dist/esm/{chunk-2WSD2H23.js.map → chunk-N6KH2EOU.js.map} +2 -2
  404. package/dist/esm/chunk-NA237RHQ.js +2 -0
  405. package/dist/esm/chunk-NA237RHQ.js.map +7 -0
  406. package/dist/esm/chunk-NLXJZJNN.js +2 -0
  407. package/dist/esm/{chunk-DSV3XBHM.js.map → chunk-NLXJZJNN.js.map} +2 -2
  408. package/dist/esm/chunk-NNZTSXKH.js +2 -0
  409. package/dist/esm/{chunk-UEHCCJYY.js.map → chunk-NNZTSXKH.js.map} +2 -2
  410. package/dist/esm/chunk-NUVUXNHF.js +2 -0
  411. package/dist/esm/chunk-NUVUXNHF.js.map +7 -0
  412. package/dist/esm/{chunk-672FI4OH.js → chunk-OJQNLROL.js} +2 -2
  413. package/dist/esm/{chunk-672FI4OH.js.map → chunk-OJQNLROL.js.map} +2 -2
  414. package/dist/esm/chunk-OSSNMF5U.js +2 -0
  415. package/dist/esm/{chunk-E4KCVRBQ.js.map → chunk-OSSNMF5U.js.map} +2 -2
  416. package/dist/esm/chunk-OY5NT7VT.js +2 -0
  417. package/dist/esm/chunk-OY5NT7VT.js.map +7 -0
  418. package/dist/esm/chunk-P7VSZYG3.js +2 -0
  419. package/dist/esm/chunk-P7VSZYG3.js.map +7 -0
  420. package/dist/esm/chunk-PJR6GRZC.js +2 -0
  421. package/dist/esm/chunk-PJR6GRZC.js.map +7 -0
  422. package/dist/esm/chunk-PNAB6KCN.js +2 -0
  423. package/dist/esm/chunk-PNAB6KCN.js.map +7 -0
  424. package/dist/esm/{chunk-RGZKWVJC.js → chunk-PPZY7PJA.js} +2 -2
  425. package/dist/esm/{chunk-RGZKWVJC.js.map → chunk-PPZY7PJA.js.map} +2 -2
  426. package/dist/esm/chunk-PSPENFPH.js +2 -0
  427. package/dist/esm/{chunk-VOEZ5HJL.js.map → chunk-PSPENFPH.js.map} +2 -2
  428. package/dist/esm/{chunk-AYZRLA7F.js → chunk-Q4IA622Q.js} +2 -2
  429. package/dist/esm/{chunk-AYZRLA7F.js.map → chunk-Q4IA622Q.js.map} +2 -2
  430. package/dist/esm/chunk-QOHJIF25.js +2 -0
  431. package/dist/esm/{chunk-MYO2E46Z.js.map → chunk-QOHJIF25.js.map} +2 -2
  432. package/dist/esm/{chunk-RBTTIDON.js → chunk-QWDCLL6R.js} +2 -2
  433. package/dist/esm/chunk-QWDCLL6R.js.map +7 -0
  434. package/dist/esm/chunk-R4XJNQX5.js +2 -0
  435. package/dist/esm/{chunk-7XWAXYZD.js.map → chunk-R4XJNQX5.js.map} +2 -2
  436. package/dist/esm/chunk-RAVZ7F5L.js +2 -0
  437. package/dist/esm/{chunk-RDS3AJWW.js.map → chunk-RAVZ7F5L.js.map} +2 -2
  438. package/dist/esm/chunk-RWTSGUVJ.js +2 -0
  439. package/dist/esm/{chunk-LHYX53XA.js.map → chunk-RWTSGUVJ.js.map} +2 -2
  440. package/dist/esm/chunk-S6GWR6EZ.js +2 -0
  441. package/dist/esm/{chunk-4ZAJVYU6.js.map → chunk-S6GWR6EZ.js.map} +2 -2
  442. package/dist/esm/chunk-SBRPXQWH.js +2 -0
  443. package/dist/esm/{chunk-WYADYDPN.js.map → chunk-SBRPXQWH.js.map} +2 -2
  444. package/dist/esm/chunk-SJXV4BWZ.js +2 -0
  445. package/dist/esm/{chunk-ZE2KAVXW.js.map → chunk-SJXV4BWZ.js.map} +2 -2
  446. package/dist/esm/chunk-SKOYHBIE.js +2 -0
  447. package/dist/esm/{chunk-TKSG7KBZ.js.map → chunk-SKOYHBIE.js.map} +2 -2
  448. package/dist/esm/chunk-SUPFDIJL.js +10 -0
  449. package/dist/esm/chunk-SUPFDIJL.js.map +7 -0
  450. package/dist/esm/{chunk-IN6ZEGDK.js → chunk-T62PRLPN.js} +2 -2
  451. package/dist/esm/{chunk-IN6ZEGDK.js.map → chunk-T62PRLPN.js.map} +2 -2
  452. package/dist/esm/chunk-THUBY6L2.js +2 -0
  453. package/dist/esm/{chunk-UMIDPKFZ.js.map → chunk-THUBY6L2.js.map} +2 -2
  454. package/dist/esm/chunk-TJL47GIO.js +2 -0
  455. package/dist/esm/chunk-TJL47GIO.js.map +7 -0
  456. package/dist/esm/chunk-VCV7RACK.js +2 -0
  457. package/dist/esm/{chunk-AXUDFYLY.js.map → chunk-VCV7RACK.js.map} +2 -2
  458. package/dist/esm/chunk-VPSMETY2.js +2 -0
  459. package/dist/esm/chunk-VS2ZWRGO.js +2 -0
  460. package/dist/esm/{chunk-WWF3IU3P.js.map → chunk-VS2ZWRGO.js.map} +2 -2
  461. package/dist/esm/chunk-VVWYAVHM.js +2 -0
  462. package/dist/esm/{chunk-IAC5IOPN.js.map → chunk-VVWYAVHM.js.map} +2 -2
  463. package/dist/esm/chunk-VW46DG7H.js +2 -0
  464. package/dist/esm/chunk-VW46DG7H.js.map +7 -0
  465. package/dist/esm/chunk-VXQQ6KXI.js +2 -0
  466. package/dist/esm/{chunk-BZZXXZ3O.js.map → chunk-VXQQ6KXI.js.map} +2 -2
  467. package/dist/esm/chunk-WKSXMFFF.js +2 -0
  468. package/dist/esm/{chunk-5B6JDZ3S.js.map → chunk-WKSXMFFF.js.map} +2 -2
  469. package/dist/esm/chunk-WTCZAUFY.js +2 -0
  470. package/dist/esm/{chunk-G2CKYO2I.js.map → chunk-WTCZAUFY.js.map} +2 -2
  471. package/dist/esm/chunk-X4A3XRBY.js +2 -0
  472. package/dist/esm/{chunk-K6QKUX3C.js.map → chunk-X4A3XRBY.js.map} +2 -2
  473. package/dist/esm/chunk-XKSU3NLG.js +2 -0
  474. package/dist/esm/{chunk-TDQTMR5T.js.map → chunk-XKSU3NLG.js.map} +2 -2
  475. package/dist/esm/{chunk-FHEHX7CE.js → chunk-XTDXXQTB.js} +2 -2
  476. package/dist/esm/{chunk-FHEHX7CE.js.map → chunk-XTDXXQTB.js.map} +2 -2
  477. package/dist/esm/chunk-XZQSSRTG.js +2 -0
  478. package/dist/esm/{chunk-M4M4OZTS.js.map → chunk-XZQSSRTG.js.map} +2 -2
  479. package/dist/esm/chunk-Y3JYEEFB.js +2 -0
  480. package/dist/esm/chunk-Y3JYEEFB.js.map +7 -0
  481. package/dist/esm/chunk-YEHM3FZN.js +2 -0
  482. package/dist/esm/{chunk-JMBCX5XR.js.map → chunk-YEHM3FZN.js.map} +2 -2
  483. package/dist/esm/chunk-YHYPIJCR.js +2 -0
  484. package/dist/esm/{chunk-K4BDLRCC.js.map → chunk-YHYPIJCR.js.map} +2 -2
  485. package/dist/esm/chunk-YK3ZUMRQ.js +2 -0
  486. package/dist/esm/chunk-YK3ZUMRQ.js.map +7 -0
  487. package/dist/esm/chunk-YLDV2HKZ.js +2 -0
  488. package/dist/esm/chunk-YLDV2HKZ.js.map +7 -0
  489. package/dist/esm/chunk-YXLDRDHW.js +2 -0
  490. package/dist/esm/chunk-YXLDRDHW.js.map +7 -0
  491. package/dist/esm/chunk-YZM54IJE.js +2 -0
  492. package/dist/esm/{chunk-LPVDR7V3.js.map → chunk-YZM54IJE.js.map} +2 -2
  493. package/dist/esm/chunk-ZJI2IK7C.js +2 -0
  494. package/dist/esm/chunk-ZJI2IK7C.js.map +7 -0
  495. package/dist/esm/chunk-ZNDCZM5A.js +2 -0
  496. package/dist/esm/{chunk-W7YHNMAO.js.map → chunk-ZNDCZM5A.js.map} +2 -2
  497. package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
  498. package/dist/esm/components/_internal/base-button.js +1 -1
  499. package/dist/esm/components/_internal/base-button.props.js +1 -1
  500. package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
  501. package/dist/esm/components/_internal/base-menu.props.js +1 -1
  502. package/dist/esm/components/_internal/base-menu.utils.js +1 -1
  503. package/dist/esm/components/_internal/base-radio.props.js +1 -1
  504. package/dist/esm/components/_internal/base-tab-list.props.js +1 -1
  505. package/dist/esm/components/_internal/dropdown-menu-drill-down.js +1 -1
  506. package/dist/esm/components/_internal/menu-context.js +1 -1
  507. package/dist/esm/components/_internal/pane-chrome.js +1 -1
  508. package/dist/esm/components/_internal/shell-bottom.js +1 -1
  509. package/dist/esm/components/_internal/shell-handles.js +1 -1
  510. package/dist/esm/components/_internal/shell-inspector.js +1 -1
  511. package/dist/esm/components/_internal/shell-resizable.js +1 -1
  512. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  513. package/dist/esm/components/accordion.js +1 -1
  514. package/dist/esm/components/accordion.props.js +1 -1
  515. package/dist/esm/components/alert-dialog.js +1 -1
  516. package/dist/esm/components/alert-dialog.props.js +1 -1
  517. package/dist/esm/components/avatar.d.ts.map +1 -1
  518. package/dist/esm/components/avatar.js +1 -1
  519. package/dist/esm/components/avatar.props.d.ts +1 -1
  520. package/dist/esm/components/avatar.props.d.ts.map +1 -1
  521. package/dist/esm/components/avatar.props.js +1 -1
  522. package/dist/esm/components/blockquote.js +1 -1
  523. package/dist/esm/components/blockquote.props.js +1 -1
  524. package/dist/esm/components/box.js +1 -1
  525. package/dist/esm/components/box.props.js +1 -1
  526. package/dist/esm/components/button.js +1 -1
  527. package/dist/esm/components/button.props.js +1 -1
  528. package/dist/esm/components/card.js +1 -1
  529. package/dist/esm/components/card.props.js +1 -1
  530. package/dist/esm/components/chatbar.js +1 -1
  531. package/dist/esm/components/checkbox-group.js +1 -1
  532. package/dist/esm/components/checkbox-group.props.js +1 -1
  533. package/dist/esm/components/checkbox.js +1 -1
  534. package/dist/esm/components/checkbox.props.js +1 -1
  535. package/dist/esm/components/chip.js +1 -1
  536. package/dist/esm/components/chip.props.js +1 -1
  537. package/dist/esm/components/code.js +1 -1
  538. package/dist/esm/components/code.props.js +1 -1
  539. package/dist/esm/components/combobox.d.ts.map +1 -1
  540. package/dist/esm/components/combobox.js +1 -1
  541. package/dist/esm/components/combobox.props.js +1 -1
  542. package/dist/esm/components/context-menu.js +1 -1
  543. package/dist/esm/components/context-menu.props.js +1 -1
  544. package/dist/esm/components/dialog.js +1 -1
  545. package/dist/esm/components/dialog.props.js +1 -1
  546. package/dist/esm/components/dropdown-menu.js +1 -1
  547. package/dist/esm/components/dropdown-menu.props.js +1 -1
  548. package/dist/esm/components/flex.js +1 -1
  549. package/dist/esm/components/flex.props.js +1 -1
  550. package/dist/esm/components/grid.js +1 -1
  551. package/dist/esm/components/grid.props.js +1 -1
  552. package/dist/esm/components/heading.js +1 -1
  553. package/dist/esm/components/heading.props.js +1 -1
  554. package/dist/esm/components/index.js +1 -1
  555. package/dist/esm/components/kbd.js +1 -1
  556. package/dist/esm/components/kbd.props.js +1 -1
  557. package/dist/esm/components/link.js +1 -1
  558. package/dist/esm/components/link.props.js +1 -1
  559. package/dist/esm/components/message-scroller.js +1 -1
  560. package/dist/esm/components/navbar.js +1 -1
  561. package/dist/esm/components/notice.js +1 -1
  562. package/dist/esm/components/popover.js +1 -1
  563. package/dist/esm/components/popover.props.js +1 -1
  564. package/dist/esm/components/progress.js +1 -1
  565. package/dist/esm/components/progress.props.js +1 -1
  566. package/dist/esm/components/radio-group.js +1 -1
  567. package/dist/esm/components/radio-group.props.js +1 -1
  568. package/dist/esm/components/radio.js +1 -1
  569. package/dist/esm/components/radio.props.js +1 -1
  570. package/dist/esm/components/reset.js +1 -1
  571. package/dist/esm/components/schemas/button.schema.d.ts +146 -0
  572. package/dist/esm/components/schemas/button.schema.d.ts.map +1 -1
  573. package/dist/esm/components/schemas/button.schema.js +1 -1
  574. package/dist/esm/components/schemas/index.js +1 -1
  575. package/dist/esm/components/schemas/toggle.schema.js +1 -1
  576. package/dist/esm/components/scroll-area.js +1 -1
  577. package/dist/esm/components/segmented-control.js +1 -1
  578. package/dist/esm/components/segmented-control.props.js +1 -1
  579. package/dist/esm/components/select.d.ts.map +1 -1
  580. package/dist/esm/components/select.js +1 -1
  581. package/dist/esm/components/select.props.js +1 -1
  582. package/dist/esm/components/separator.js +1 -1
  583. package/dist/esm/components/separator.props.js +1 -1
  584. package/dist/esm/components/sheet.js +1 -1
  585. package/dist/esm/components/shell.js +1 -1
  586. package/dist/esm/components/sidebar.js +1 -1
  587. package/dist/esm/components/slider.js +1 -1
  588. package/dist/esm/components/slider.props.js +1 -1
  589. package/dist/esm/components/spinner.js +1 -1
  590. package/dist/esm/components/switch.js +1 -1
  591. package/dist/esm/components/switch.props.js +1 -1
  592. package/dist/esm/components/table.js +1 -1
  593. package/dist/esm/components/table.props.js +1 -1
  594. package/dist/esm/components/tabs.js +1 -1
  595. package/dist/esm/components/tabs.props.js +1 -1
  596. package/dist/esm/components/text-area.js +1 -1
  597. package/dist/esm/components/text-area.props.js +1 -1
  598. package/dist/esm/components/text-field.js +1 -1
  599. package/dist/esm/components/text-field.props.js +1 -1
  600. package/dist/esm/components/text.js +1 -1
  601. package/dist/esm/components/text.props.js +1 -1
  602. package/dist/esm/components/theme.js +1 -1
  603. package/dist/esm/components/toggle.js +1 -1
  604. package/dist/esm/components/toolbar.js +1 -1
  605. package/dist/esm/components/toolbar.props.js +1 -1
  606. package/dist/esm/components/tooltip.js +1 -1
  607. package/dist/esm/components/tooltip.props.js +1 -1
  608. package/dist/esm/components/virtual-menu.js +1 -1
  609. package/dist/esm/helpers/font-config.d.ts.map +1 -1
  610. package/dist/esm/helpers/font-config.js +1 -1
  611. package/dist/esm/helpers/get-margin-styles.js +1 -1
  612. package/dist/esm/helpers/index.js +1 -1
  613. package/dist/esm/hooks/index.js +1 -1
  614. package/dist/esm/hooks/use-live-announcer.js +1 -1
  615. package/dist/esm/hooks/use-thumb-sync.js +1 -1
  616. package/dist/esm/hooks/use-toggle-state.js +1 -1
  617. package/dist/esm/index.js +1 -1
  618. package/dist/esm/props/emphasis.prop.js +1 -1
  619. package/dist/esm/props/font-family.prop.js +1 -1
  620. package/dist/esm/props/gap.props.js +1 -1
  621. package/dist/esm/props/height.props.js +1 -1
  622. package/dist/esm/props/index.js +1 -1
  623. package/dist/esm/props/layout.props.d.ts +5 -5
  624. package/dist/esm/props/layout.props.js +1 -1
  625. package/dist/esm/props/leading-trim.prop.js +1 -1
  626. package/dist/esm/props/margin.props.js +1 -1
  627. package/dist/esm/props/padding.props.js +1 -1
  628. package/dist/esm/props/shadow.props.js +1 -1
  629. package/dist/esm/props/text-align.prop.js +1 -1
  630. package/dist/esm/props/text-wrap.prop.js +1 -1
  631. package/dist/esm/props/truncate.prop.js +1 -1
  632. package/dist/esm/props/weight.prop.js +1 -1
  633. package/dist/esm/props/width.props.js +1 -1
  634. package/layout/components.css +3 -3
  635. package/layout/tokens.css +1 -1
  636. package/layout/utilities.css +4716 -4446
  637. package/layout.css +4720 -4450
  638. package/package.json +1 -1
  639. package/postcss-breakpoints.cjs +10 -10
  640. package/src/components/_internal/base-button.css +36 -36
  641. package/src/components/_internal/base-button.props.ts +4 -4
  642. package/src/components/_internal/base-button.tsx +54 -27
  643. package/src/components/_internal/base-card.css +44 -44
  644. package/src/components/_internal/base-checkbox.css +45 -45
  645. package/src/components/_internal/base-checkbox.props.ts +2 -2
  646. package/src/components/_internal/base-dialog.css +17 -15
  647. package/src/components/_internal/base-menu.css +54 -54
  648. package/src/components/_internal/base-menu.props.ts +1 -1
  649. package/src/components/_internal/base-menu.utils.tsx +1 -1
  650. package/src/components/_internal/base-radio.css +33 -33
  651. package/src/components/_internal/base-radio.props.ts +2 -2
  652. package/src/components/_internal/base-sidebar-menu.css +25 -25
  653. package/src/components/_internal/base-sidebar.css +9 -12
  654. package/src/components/_internal/base-tab-list.css +37 -37
  655. package/src/components/_internal/base-tab-list.props.ts +3 -3
  656. package/src/components/_internal/dropdown-menu-drill-down.tsx +4 -4
  657. package/src/components/_internal/pane-chrome.tsx +6 -6
  658. package/src/components/_internal/shell-bottom.tsx +2 -2
  659. package/src/components/_internal/shell-handles.tsx +2 -2
  660. package/src/components/_internal/shell-inspector.tsx +2 -2
  661. package/src/components/_internal/shell-resizable.tsx +1 -1
  662. package/src/components/_internal/shell-sidebar.tsx +2 -2
  663. package/src/components/accordion.css +55 -55
  664. package/src/components/accordion.props.tsx +2 -2
  665. package/src/components/accordion.tsx +6 -6
  666. package/src/components/alert-dialog.css +1 -1
  667. package/src/components/alert-dialog.tsx +5 -5
  668. package/src/components/avatar.css +84 -84
  669. package/src/components/avatar.props.tsx +3 -3
  670. package/src/components/avatar.tsx +12 -9
  671. package/src/components/blockquote.css +1 -1
  672. package/src/components/blockquote.props.tsx +1 -1
  673. package/src/components/blockquote.tsx +1 -1
  674. package/src/components/box.css +1 -1
  675. package/src/components/box.props.tsx +1 -1
  676. package/src/components/box.tsx +1 -1
  677. package/src/components/button.css +6 -6
  678. package/src/components/button.tsx +1 -1
  679. package/src/components/card.css +16 -2
  680. package/src/components/card.props.tsx +2 -2
  681. package/src/components/card.tsx +1 -1
  682. package/src/components/chatbar.css +94 -94
  683. package/src/components/chatbar.tsx +26 -26
  684. package/src/components/checkbox-group.css +5 -5
  685. package/src/components/checkbox-group.tsx +7 -7
  686. package/src/components/checkbox.css +2 -2
  687. package/src/components/checkbox.tsx +2 -2
  688. package/src/components/chip.css +23 -23
  689. package/src/components/chip.props.tsx +2 -2
  690. package/src/components/chip.tsx +1 -1
  691. package/src/components/code.css +29 -29
  692. package/src/components/code.props.tsx +2 -2
  693. package/src/components/code.tsx +1 -1
  694. package/src/components/combobox.css +22 -22
  695. package/src/components/combobox.props.tsx +4 -4
  696. package/src/components/combobox.tsx +27 -28
  697. package/src/components/context-menu.css +1 -1
  698. package/src/components/context-menu.tsx +39 -39
  699. package/src/components/dialog.css +1 -1
  700. package/src/components/dialog.props.tsx +2 -2
  701. package/src/components/dialog.tsx +5 -5
  702. package/src/components/dropdown-menu.css +18 -18
  703. package/src/components/dropdown-menu.tsx +56 -56
  704. package/src/components/flex.css +1 -1
  705. package/src/components/flex.props.tsx +5 -5
  706. package/src/components/flex.tsx +1 -1
  707. package/src/components/grid.css +1 -1
  708. package/src/components/grid.props.tsx +9 -9
  709. package/src/components/grid.tsx +1 -1
  710. package/src/components/heading.css +22 -22
  711. package/src/components/heading.props.tsx +1 -1
  712. package/src/components/heading.tsx +1 -1
  713. package/src/components/index.css +1 -1
  714. package/src/components/kbd.css +39 -39
  715. package/src/components/kbd.props.tsx +2 -2
  716. package/src/components/kbd.tsx +1 -1
  717. package/src/components/link.css +11 -11
  718. package/src/components/link.props.tsx +2 -2
  719. package/src/components/link.tsx +1 -1
  720. package/src/components/message-scroller.css +7 -7
  721. package/src/components/message-scroller.tsx +5 -5
  722. package/src/components/navbar.css +14 -14
  723. package/src/components/navbar.tsx +8 -8
  724. package/src/components/notice.css +16 -14
  725. package/src/components/notice.tsx +6 -6
  726. package/src/components/popover.css +16 -14
  727. package/src/components/popover.props.tsx +1 -1
  728. package/src/components/popover.tsx +7 -7
  729. package/src/components/progress.css +15 -15
  730. package/src/components/progress.props.tsx +1 -1
  731. package/src/components/progress.tsx +2 -2
  732. package/src/components/radio-group.css +3 -3
  733. package/src/components/radio-group.props.tsx +2 -2
  734. package/src/components/radio-group.tsx +4 -4
  735. package/src/components/radio.tsx +1 -1
  736. package/src/components/reset.css +1 -1
  737. package/src/components/reset.tsx +1 -1
  738. package/src/components/schemas/button.schema.ts +13 -1
  739. package/src/components/schemas/toggle.schema.ts +2 -2
  740. package/src/components/scroll-area.css +16 -16
  741. package/src/components/scroll-area.tsx +8 -8
  742. package/src/components/segmented-control.css +97 -97
  743. package/src/components/segmented-control.props.tsx +2 -2
  744. package/src/components/segmented-control.tsx +7 -7
  745. package/src/components/select.css +78 -78
  746. package/src/components/select.props.tsx +2 -2
  747. package/src/components/select.tsx +39 -29
  748. package/src/components/separator.css +5 -5
  749. package/src/components/separator.props.tsx +2 -2
  750. package/src/components/separator.tsx +1 -1
  751. package/src/components/sheet.css +6 -6
  752. package/src/components/sheet.tsx +3 -3
  753. package/src/components/shell.css +456 -456
  754. package/src/components/shell.tsx +12 -12
  755. package/src/components/sidebar.css +199 -199
  756. package/src/components/sidebar.tsx +37 -37
  757. package/src/components/slider.css +50 -50
  758. package/src/components/slider.props.tsx +4 -4
  759. package/src/components/slider.tsx +9 -9
  760. package/src/components/spinner.css +6 -6
  761. package/src/components/spinner.tsx +9 -9
  762. package/src/components/switch.css +28 -28
  763. package/src/components/switch.props.tsx +2 -2
  764. package/src/components/switch.tsx +2 -2
  765. package/src/components/table.css +28 -28
  766. package/src/components/table.props.tsx +5 -5
  767. package/src/components/table.tsx +8 -8
  768. package/src/components/tabs.css +2 -2
  769. package/src/components/tabs.tsx +6 -6
  770. package/src/components/text-area.css +84 -84
  771. package/src/components/text-area.props.tsx +3 -3
  772. package/src/components/text-area.tsx +4 -4
  773. package/src/components/text-field.css +112 -107
  774. package/src/components/text-field.props.tsx +2 -2
  775. package/src/components/text-field.tsx +8 -8
  776. package/src/components/text.css +23 -23
  777. package/src/components/text.props.tsx +1 -1
  778. package/src/components/text.tsx +1 -1
  779. package/src/components/theme.tsx +1 -1
  780. package/src/components/toggle.tsx +1 -1
  781. package/src/components/toolbar.css +15 -15
  782. package/src/components/toolbar.props.tsx +1 -1
  783. package/src/components/toolbar.tsx +4 -4
  784. package/src/components/tooltip.css +6 -6
  785. package/src/components/tooltip.tsx +3 -3
  786. package/src/components/virtual-menu.css +6 -6
  787. package/src/components/virtual-menu.tsx +4 -4
  788. package/src/helpers/font-config.ts +4 -4
  789. package/src/helpers/get-margin-styles.ts +7 -7
  790. package/src/hooks/use-live-announcer.ts +4 -4
  791. package/src/hooks/use-thumb-sync.ts +1 -1
  792. package/src/props/emphasis.prop.ts +1 -1
  793. package/src/props/font-family.prop.ts +1 -1
  794. package/src/props/gap.props.ts +3 -3
  795. package/src/props/height.props.ts +3 -3
  796. package/src/props/layout.props.ts +22 -22
  797. package/src/props/leading-trim.prop.ts +1 -1
  798. package/src/props/margin.props.ts +7 -7
  799. package/src/props/padding.props.ts +7 -7
  800. package/src/props/shadow.props.ts +1 -1
  801. package/src/props/text-align.prop.ts +1 -1
  802. package/src/props/text-wrap.prop.ts +1 -1
  803. package/src/props/truncate.prop.ts +1 -1
  804. package/src/props/weight.prop.ts +1 -1
  805. package/src/props/width.props.ts +3 -3
  806. package/src/styles/scrollbar.css +3 -3
  807. package/src/styles/tokens/color.css +241 -235
  808. package/src/styles/tokens/constants.css +1 -1
  809. package/src/styles/tokens/cursor.css +1 -1
  810. package/src/styles/tokens/font-family.css +4 -4
  811. package/src/styles/tokens/radius.css +12 -12
  812. package/src/styles/tokens/shadow.css +28 -28
  813. package/src/styles/tokens/space.css +1 -1
  814. package/src/styles/tokens/typography.css +2 -2
  815. package/src/styles/utilities/align-content.css +8 -8
  816. package/src/styles/utilities/align-items.css +5 -5
  817. package/src/styles/utilities/align-self.css +5 -5
  818. package/src/styles/utilities/display.css +9 -9
  819. package/src/styles/utilities/flex-basis.css +6 -6
  820. package/src/styles/utilities/flex-direction.css +4 -4
  821. package/src/styles/utilities/flex-grow.css +9 -9
  822. package/src/styles/utilities/flex-shrink.css +9 -9
  823. package/src/styles/utilities/flex-wrap.css +3 -3
  824. package/src/styles/utilities/font-weight.css +3 -3
  825. package/src/styles/utilities/gap.css +60 -60
  826. package/src/styles/utilities/grid-area.css +6 -6
  827. package/src/styles/utilities/grid-auto-flow.css +5 -5
  828. package/src/styles/utilities/grid-column-end.css +16 -16
  829. package/src/styles/utilities/grid-column-start.css +16 -16
  830. package/src/styles/utilities/grid-column.css +16 -16
  831. package/src/styles/utilities/grid-row-end.css +16 -16
  832. package/src/styles/utilities/grid-row-start.css +16 -16
  833. package/src/styles/utilities/grid-row.css +16 -16
  834. package/src/styles/utilities/grid-template-areas.css +6 -6
  835. package/src/styles/utilities/grid-template-columns.css +16 -16
  836. package/src/styles/utilities/grid-template-rows.css +16 -16
  837. package/src/styles/utilities/height.css +6 -6
  838. package/src/styles/utilities/inset.css +130 -85
  839. package/src/styles/utilities/justify-content.css +4 -4
  840. package/src/styles/utilities/justify-items.css +5 -5
  841. package/src/styles/utilities/justify-self.css +5 -5
  842. package/src/styles/utilities/leading-trim.css +12 -12
  843. package/src/styles/utilities/margin.css +420 -420
  844. package/src/styles/utilities/max-height.css +6 -6
  845. package/src/styles/utilities/max-width.css +6 -6
  846. package/src/styles/utilities/min-height.css +6 -6
  847. package/src/styles/utilities/min-width.css +6 -6
  848. package/src/styles/utilities/overflow.css +15 -15
  849. package/src/styles/utilities/padding.css +140 -140
  850. package/src/styles/utilities/position.css +5 -5
  851. package/src/styles/utilities/resize.css +4 -4
  852. package/src/styles/utilities/table-layout.css +2 -2
  853. package/src/styles/utilities/text-align.css +3 -3
  854. package/src/styles/utilities/text-wrap.css +4 -4
  855. package/src/styles/utilities/truncate.css +1 -1
  856. package/src/styles/utilities/vertical-align.css +4 -4
  857. package/src/styles/utilities/width.css +6 -6
  858. package/styles.css +8937 -8648
  859. package/tokens/base.css +490 -482
  860. package/tokens.css +485 -477
  861. package/utilities.css +4909 -4639
  862. package/dist/esm/chunk-24CVW6P7.js +0 -2
  863. package/dist/esm/chunk-2FPJ6Q2N.js +0 -2
  864. package/dist/esm/chunk-2FPJ6Q2N.js.map +0 -7
  865. package/dist/esm/chunk-2KZ44I6T.js +0 -2
  866. package/dist/esm/chunk-2KZ44I6T.js.map +0 -7
  867. package/dist/esm/chunk-2WSD2H23.js +0 -2
  868. package/dist/esm/chunk-36GV4H3C.js +0 -2
  869. package/dist/esm/chunk-4ITIXBIP.js +0 -2
  870. package/dist/esm/chunk-4ITIXBIP.js.map +0 -7
  871. package/dist/esm/chunk-4YQXYWDQ.js +0 -2
  872. package/dist/esm/chunk-4YQXYWDQ.js.map +0 -7
  873. package/dist/esm/chunk-4ZAJVYU6.js +0 -2
  874. package/dist/esm/chunk-5B6JDZ3S.js +0 -2
  875. package/dist/esm/chunk-5P4JTWBK.js +0 -2
  876. package/dist/esm/chunk-5WLSAUNJ.js +0 -2
  877. package/dist/esm/chunk-6WANXT2G.js +0 -2
  878. package/dist/esm/chunk-6WANXT2G.js.map +0 -7
  879. package/dist/esm/chunk-72FU5FEC.js +0 -2
  880. package/dist/esm/chunk-7AXEPJYF.js +0 -2
  881. package/dist/esm/chunk-7AXEPJYF.js.map +0 -7
  882. package/dist/esm/chunk-7FPLWHMT.js +0 -2
  883. package/dist/esm/chunk-7FPLWHMT.js.map +0 -7
  884. package/dist/esm/chunk-7MPFZIZX.js +0 -2
  885. package/dist/esm/chunk-7OQXCYCW.js +0 -2
  886. package/dist/esm/chunk-7OQXCYCW.js.map +0 -7
  887. package/dist/esm/chunk-7QPXLSVR.js +0 -2
  888. package/dist/esm/chunk-7XWAXYZD.js +0 -2
  889. package/dist/esm/chunk-A2NG5NRN.js +0 -2
  890. package/dist/esm/chunk-AXUDFYLY.js +0 -2
  891. package/dist/esm/chunk-BHGES72S.js +0 -2
  892. package/dist/esm/chunk-BHGES72S.js.map +0 -7
  893. package/dist/esm/chunk-BQD7XS4K.js +0 -2
  894. package/dist/esm/chunk-BQD7XS4K.js.map +0 -7
  895. package/dist/esm/chunk-BZZXXZ3O.js +0 -2
  896. package/dist/esm/chunk-CTZ467AB.js +0 -2
  897. package/dist/esm/chunk-CTZ467AB.js.map +0 -7
  898. package/dist/esm/chunk-CYO6CRMQ.js +0 -2
  899. package/dist/esm/chunk-CYO6CRMQ.js.map +0 -7
  900. package/dist/esm/chunk-DDFONGSM.js +0 -2
  901. package/dist/esm/chunk-DL6F2TIU.js +0 -2
  902. package/dist/esm/chunk-DSV3XBHM.js +0 -2
  903. package/dist/esm/chunk-E4KCVRBQ.js +0 -2
  904. package/dist/esm/chunk-EDEYYJ3Q.js +0 -2
  905. package/dist/esm/chunk-EDEYYJ3Q.js.map +0 -7
  906. package/dist/esm/chunk-EDP2TJVB.js +0 -2
  907. package/dist/esm/chunk-EDP2TJVB.js.map +0 -7
  908. package/dist/esm/chunk-EE54S7YV.js +0 -10
  909. package/dist/esm/chunk-EE54S7YV.js.map +0 -7
  910. package/dist/esm/chunk-EGSMLRSO.js +0 -2
  911. package/dist/esm/chunk-ENPQJYXZ.js +0 -2
  912. package/dist/esm/chunk-ENPQJYXZ.js.map +0 -7
  913. package/dist/esm/chunk-ERGJN7FJ.js +0 -2
  914. package/dist/esm/chunk-ERGJN7FJ.js.map +0 -7
  915. package/dist/esm/chunk-FSMUCDLI.js +0 -2
  916. package/dist/esm/chunk-FSMUCDLI.js.map +0 -7
  917. package/dist/esm/chunk-G2CKYO2I.js +0 -2
  918. package/dist/esm/chunk-G46OLCM2.js +0 -2
  919. package/dist/esm/chunk-G46OLCM2.js.map +0 -7
  920. package/dist/esm/chunk-GOV5I7I2.js +0 -2
  921. package/dist/esm/chunk-GOV5I7I2.js.map +0 -7
  922. package/dist/esm/chunk-GWGQ73PU.js +0 -2
  923. package/dist/esm/chunk-GWGQ73PU.js.map +0 -7
  924. package/dist/esm/chunk-HAGKI7NA.js +0 -2
  925. package/dist/esm/chunk-HAGKI7NA.js.map +0 -7
  926. package/dist/esm/chunk-HCNO7PX6.js +0 -2
  927. package/dist/esm/chunk-HCNO7PX6.js.map +0 -7
  928. package/dist/esm/chunk-HELY5CSU.js +0 -2
  929. package/dist/esm/chunk-HELY5CSU.js.map +0 -7
  930. package/dist/esm/chunk-HGG3ULNK.js +0 -2
  931. package/dist/esm/chunk-IAC5IOPN.js +0 -2
  932. package/dist/esm/chunk-IQBSUN5B.js +0 -2
  933. package/dist/esm/chunk-IZPDJN6O.js +0 -2
  934. package/dist/esm/chunk-JMBCX5XR.js +0 -2
  935. package/dist/esm/chunk-JSW6J6RS.js +0 -2
  936. package/dist/esm/chunk-JSW6J6RS.js.map +0 -7
  937. package/dist/esm/chunk-K4BDLRCC.js +0 -2
  938. package/dist/esm/chunk-K53W3ELO.js +0 -2
  939. package/dist/esm/chunk-K53W3ELO.js.map +0 -7
  940. package/dist/esm/chunk-K6QKUX3C.js +0 -2
  941. package/dist/esm/chunk-K6WT5ZEA.js +0 -2
  942. package/dist/esm/chunk-K6WT5ZEA.js.map +0 -7
  943. package/dist/esm/chunk-K7VO7TND.js +0 -2
  944. package/dist/esm/chunk-KIYCILXL.js +0 -2
  945. package/dist/esm/chunk-KIYCILXL.js.map +0 -7
  946. package/dist/esm/chunk-KNQBAOMV.js +0 -2
  947. package/dist/esm/chunk-KRDRQU4G.js +0 -2
  948. package/dist/esm/chunk-KRZL245C.js +0 -2
  949. package/dist/esm/chunk-KRZL245C.js.map +0 -7
  950. package/dist/esm/chunk-LHYX53XA.js +0 -2
  951. package/dist/esm/chunk-LNFN35ZE.js +0 -2
  952. package/dist/esm/chunk-LPVDR7V3.js +0 -2
  953. package/dist/esm/chunk-LVCP5WGX.js +0 -2
  954. package/dist/esm/chunk-M4M4OZTS.js +0 -2
  955. package/dist/esm/chunk-MC3GY6ET.js +0 -2
  956. package/dist/esm/chunk-MKY2IRPO.js +0 -2
  957. package/dist/esm/chunk-MKY2IRPO.js.map +0 -7
  958. package/dist/esm/chunk-MQWH2IFO.js +0 -2
  959. package/dist/esm/chunk-MYO2E46Z.js +0 -2
  960. package/dist/esm/chunk-OA2BZDKL.js +0 -2
  961. package/dist/esm/chunk-P3WB3K2M.js +0 -2
  962. package/dist/esm/chunk-QQVA2PJ3.js +0 -2
  963. package/dist/esm/chunk-QQVA2PJ3.js.map +0 -7
  964. package/dist/esm/chunk-QWLKMVZY.js +0 -2
  965. package/dist/esm/chunk-QZ6OCMH4.js +0 -2
  966. package/dist/esm/chunk-QZ6OCMH4.js.map +0 -7
  967. package/dist/esm/chunk-R2FUNQTI.js +0 -2
  968. package/dist/esm/chunk-RBTTIDON.js.map +0 -7
  969. package/dist/esm/chunk-RDS3AJWW.js +0 -2
  970. package/dist/esm/chunk-SMGDH54W.js +0 -2
  971. package/dist/esm/chunk-SMGDH54W.js.map +0 -7
  972. package/dist/esm/chunk-SNR5VFWG.js +0 -2
  973. package/dist/esm/chunk-SNR5VFWG.js.map +0 -7
  974. package/dist/esm/chunk-T4L4QDBG.js +0 -2
  975. package/dist/esm/chunk-TCSPZ27B.js +0 -2
  976. package/dist/esm/chunk-TDQTMR5T.js +0 -2
  977. package/dist/esm/chunk-TKSG7KBZ.js +0 -2
  978. package/dist/esm/chunk-TTFUM47A.js +0 -2
  979. package/dist/esm/chunk-TTFUM47A.js.map +0 -7
  980. package/dist/esm/chunk-UEHCCJYY.js +0 -2
  981. package/dist/esm/chunk-UMIDPKFZ.js +0 -2
  982. package/dist/esm/chunk-UW5IJ64A.js +0 -5
  983. package/dist/esm/chunk-UW5IJ64A.js.map +0 -7
  984. package/dist/esm/chunk-VCU6VCPH.js +0 -2
  985. package/dist/esm/chunk-VJOJGAGA.js +0 -2
  986. package/dist/esm/chunk-VJOJGAGA.js.map +0 -7
  987. package/dist/esm/chunk-VNONKPH7.js +0 -2
  988. package/dist/esm/chunk-VNONKPH7.js.map +0 -7
  989. package/dist/esm/chunk-VOEZ5HJL.js +0 -2
  990. package/dist/esm/chunk-VX44UTQ5.js +0 -2
  991. package/dist/esm/chunk-VX44UTQ5.js.map +0 -7
  992. package/dist/esm/chunk-W7YHNMAO.js +0 -2
  993. package/dist/esm/chunk-WQT6UULR.js +0 -2
  994. package/dist/esm/chunk-WQT6UULR.js.map +0 -7
  995. package/dist/esm/chunk-WW7WTPM6.js +0 -2
  996. package/dist/esm/chunk-WW7WTPM6.js.map +0 -7
  997. package/dist/esm/chunk-WWF3IU3P.js +0 -2
  998. package/dist/esm/chunk-WYADYDPN.js +0 -2
  999. package/dist/esm/chunk-XEW4BRIL.js +0 -2
  1000. package/dist/esm/chunk-YB7CENHH.js +0 -2
  1001. package/dist/esm/chunk-YEIZ43KW.js +0 -2
  1002. package/dist/esm/chunk-YEIZ43KW.js.map +0 -7
  1003. package/dist/esm/chunk-ZCWDURKJ.js +0 -2
  1004. package/dist/esm/chunk-ZE2KAVXW.js +0 -2
  1005. /package/dist/esm/{chunk-PEP6MQJ2.js.map → chunk-3KQE2PSJ.js.map} +0 -0
  1006. /package/dist/esm/{chunk-GBFGUOFS.js.map → chunk-BE7LMBBC.js.map} +0 -0
  1007. /package/dist/esm/{chunk-QWLKMVZY.js.map → chunk-DFGY2NZB.js.map} +0 -0
  1008. /package/dist/esm/{chunk-BPVVFHYD.js.map → chunk-H3IAGAEL.js.map} +0 -0
  1009. /package/dist/esm/{chunk-72FU5FEC.js.map → chunk-VPSMETY2.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{c as e}from"./chunk-CUNKWFKA.js";var s=["1","2","3","4"],r=["raised","solid","soft","outline","surface"],t={size:{type:"enum",className:"rt-r-size",values:s,default:"2",responsive:!0},variant:{type:"enum",className:"rt-variant",values:r,default:"raised"},...e};export{t as a};
2
- //# sourceMappingURL=chunk-24CVW6P7.js.map
@@ -1,2 +0,0 @@
1
- var e=["0","1","2","3","4","5","6","7","8","9","10","11","12","-1","-2","-3","-4","-5","-6","-7","-8","-9","-10","-11","-12","bleed"],r={m:{type:"enum | string",values:e,responsive:!0,className:"rt-r-m",customProperties:["--m"]},mx:{type:"enum | string",values:e,responsive:!0,className:"rt-r-mx",customProperties:["--ml","--mr"]},my:{type:"enum | string",values:e,responsive:!0,className:"rt-r-my",customProperties:["--mt","--mb"]},mt:{type:"enum | string",values:e,responsive:!0,className:"rt-r-mt",customProperties:["--mt"]},mr:{type:"enum | string",values:e,responsive:!0,className:"rt-r-mr",customProperties:["--mr"]},mb:{type:"enum | string",values:e,responsive:!0,className:"rt-r-mb",customProperties:["--mb"]},ml:{type:"enum | string",values:e,responsive:!0,className:"rt-r-ml",customProperties:["--ml"]}};export{r as a};
2
- //# sourceMappingURL=chunk-2FPJ6Q2N.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/props/margin.props.ts"],
4
- "sourcesContent": ["import type { PropDef, GetPropDefTypes } from './prop-def.js';\n\n// prettier-ignore\nconst marginValues = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '-1', '-2', '-3', '-4', '-5', '-6', '-7', '-8', '-9', '-10', '-11', '-12', 'bleed'] as const;\n\nconst marginPropDefs = {\n /**\n * Sets the CSS **margin** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * m=\"4\"\n * m=\"100px\"\n * m={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin\n */\n m: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-m',\n customProperties: ['--m'],\n },\n /**\n * Sets the CSS **margin-left** and **margin-right** properties.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mx=\"4\"\n * mx=\"100px\"\n * mx={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right\n */\n mx: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mx',\n customProperties: ['--ml', '--mr'],\n },\n /**\n * Sets the CSS **margin-top** and **margin-bottom** properties.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * my=\"4\"\n * my=\"100px\"\n * my={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom\n */\n my: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-my',\n customProperties: ['--mt', '--mb'],\n },\n /**\n * Sets the CSS **margin-top** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mt=\"4\"\n * mt=\"100px\"\n * mt={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top\n */\n mt: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mt',\n customProperties: ['--mt'],\n },\n /**\n * Sets the CSS **margin-right** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mr=\"4\"\n * mr=\"100px\"\n * mr={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right\n */\n mr: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mr',\n customProperties: ['--mr'],\n },\n /**\n * Sets the CSS **margin-bottom** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * mb=\"4\"\n * mb=\"100px\"\n * mb={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom\n */\n mb: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-mb',\n customProperties: ['--mb'],\n },\n /**\n * Sets the CSS **margin-left** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * ml=\"4\"\n * ml=\"100px\"\n * ml={{ sm: '6', lg: '9' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left\n */\n ml: {\n type: 'enum | string',\n values: marginValues,\n responsive: true,\n className: 'rt-r-ml',\n customProperties: ['--ml'],\n },\n} satisfies {\n m: PropDef<(typeof marginValues)[number]>;\n mx: PropDef<(typeof marginValues)[number]>;\n my: PropDef<(typeof marginValues)[number]>;\n mt: PropDef<(typeof marginValues)[number]>;\n mr: PropDef<(typeof marginValues)[number]>;\n mb: PropDef<(typeof marginValues)[number]>;\n ml: PropDef<(typeof marginValues)[number]>;\n};\n\ntype MarginProps = GetPropDefTypes<typeof marginPropDefs>;\n\nexport { marginPropDefs };\nexport type { MarginProps };\n"],
5
- "mappings": "AAGA,IAAMA,EAAe,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,OAAO,EAEtKC,EAAiB,CAarB,EAAG,CACD,KAAM,gBACN,OAAQD,EACR,WAAY,GACZ,UAAW,SACX,iBAAkB,CAAC,KAAK,CAC1B,EAcA,GAAI,CACF,KAAM,gBACN,OAAQA,EACR,WAAY,GACZ,UAAW,UACX,iBAAkB,CAAC,OAAQ,MAAM,CACnC,EAcA,GAAI,CACF,KAAM,gBACN,OAAQA,EACR,WAAY,GACZ,UAAW,UACX,iBAAkB,CAAC,OAAQ,MAAM,CACnC,EAaA,GAAI,CACF,KAAM,gBACN,OAAQA,EACR,WAAY,GACZ,UAAW,UACX,iBAAkB,CAAC,MAAM,CAC3B,EAaA,GAAI,CACF,KAAM,gBACN,OAAQA,EACR,WAAY,GACZ,UAAW,UACX,iBAAkB,CAAC,MAAM,CAC3B,EAaA,GAAI,CACF,KAAM,gBACN,OAAQA,EACR,WAAY,GACZ,UAAW,UACX,iBAAkB,CAAC,MAAM,CAC3B,EAaA,GAAI,CACF,KAAM,gBACN,OAAQA,EACR,WAAY,GACZ,UAAW,UACX,iBAAkB,CAAC,MAAM,CAC3B,CACF",
6
- "names": ["marginValues", "marginPropDefs"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a as U}from"./chunk-36GV4H3C.js";import{a as K,b as F,c as j,e as A,f as O}from"./chunk-K6WT5ZEA.js";import{a as P}from"./chunk-ZCWDURKJ.js";import{a as H,b as z,c as W}from"./chunk-HGG3ULNK.js";import{d as G}from"./chunk-IX5HIHVI.js";import{b as N}from"./chunk-BHGES72S.js";import{b as D}from"./chunk-FWB47YCH.js";import{a as E}from"./chunk-LHYX53XA.js";import{a as ae}from"./chunk-OS3FCYZY.js";var oe={};ae(oe,{Group:()=>_,GroupContent:()=>re,GroupLabel:()=>ee,Menu:()=>$,MenuButton:()=>J,MenuItem:()=>X,MenuSub:()=>Q,MenuSubContent:()=>Z,MenuSubTrigger:()=>Y,Search:()=>te,Separator:()=>V});import*as e from"react";import p from"classnames";import*as f from"@radix-ui/react-accordion";var V=e.forwardRef(({className:r,...t},n)=>e.createElement(U,{...t,ref:n,className:p("rt-SidebarSeparator",r)}));V.displayName="Sidebar.Separator";var $=e.forwardRef(({className:r,...t},n)=>e.createElement("ul",{...t,ref:n,className:p("rt-SidebarMenu",r)}));$.displayName="Sidebar.Menu";var X=e.forwardRef(({className:r,...t},n)=>e.createElement("li",{...t,ref:n,className:p("rt-SidebarMenuItem",r)}));X.displayName="Sidebar.MenuItem";function ne(r){let t=[],n=[];return e.Children.forEach(r,a=>{if(typeof a=="string"||typeof a=="number")n.push(e.createElement("span",{key:n.length,className:"rt-SidebarMenuLabel"},a));else if(e.isValidElement(a)){let s=a;s.type==="svg"||s.props&&s.props.icon||typeof s.type=="function"&&(s.type.displayName?.includes("Icon")||s.type.name?.includes("Icon"))?t.push(a):n.push(a)}else a&&n.push(a)}),{icons:t,labels:n}}function B(r){if(typeof r=="string"||typeof r=="number")return e.createElement("span",{className:"rt-SidebarMenuLabel"},r);if(Array.isArray(r))return r.map((t,n)=>e.createElement(e.Fragment,{key:n},B(t)));if(e.isValidElement(r)){let t=r,n=t.props&&t.props.className||"";if(typeof t.type=="string"&&n.split(" ").includes("rt-SidebarMenuLabel"))return t;let s=B(t.props?.children);return e.cloneElement(t,{...t.props},s)}return r}var J=e.forwardRef(({asChild:r=!1,isActive:t=!1,shortcut:n,badge:a,className:s,children:l,onKeyDown:m,...M},i)=>{let c=N(),u=c?.size??"2",h=c?.presentation==="thin",w=r?D:"button",I=e.useCallback(o=>{if(o.key==="ArrowDown"||o.key==="ArrowUp"){let b=o.currentTarget.closest(".rt-SidebarContent, .rt-SidebarSearchPopover"),y=b?Array.from(b.querySelectorAll(".rt-SidebarMenuButton")).filter(v=>v.offsetParent!==null):[],d=y.indexOf(o.currentTarget),g=y[d+(o.key==="ArrowDown"?1:-1)];d!==-1&&g&&(o.preventDefault(),g.focus())}m?.(o)},[m]),S=e.useMemo(()=>B(l),[l]),{icons:R,labels:T}=e.useMemo(()=>h?ne(l):{icons:[],labels:[]},[h,l]),x=e.useMemo(()=>{if(!r)return null;try{let o=e.Children.only(S),b=o.props?.children,y=e.createElement(e.Fragment,null,b,a&&e.createElement("div",{className:"rt-SidebarMenuBadge"},typeof a=="string"?e.createElement(P,{size:u,variant:"soft"},a):e.createElement(P,{size:a.size||u,variant:a.variant||"soft",color:a.color,radius:a.radius},a.content)),n&&e.createElement("div",{className:"rt-BaseMenuShortcut rt-SidebarMenuShortcut"},e.createElement(E,{size:u},n)));return e.cloneElement(o,{...o.props},y)}catch{return S}},[r,S,a,n,u]);return e.createElement(w,{...M,ref:i,"aria-current":t?"page":void 0,className:p("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton",s),"data-active":t||void 0,onKeyDown:I},r?x:h&&R.length>0?e.createElement(e.Fragment,null,e.createElement("span",{className:"rt-SidebarMenuIconWrapper"},R),T.map((o,b)=>e.createElement(e.Fragment,{key:b},typeof o=="string"||typeof o=="number"?e.createElement("span",{className:"rt-SidebarMenuLabel"},o):o))):e.createElement(e.Fragment,null,S,a&&e.createElement("div",{className:"rt-SidebarMenuBadge"},typeof a=="string"?e.createElement(P,{size:u,variant:"soft"},a):e.createElement(P,{size:a.size||u,variant:a.variant||"soft",color:a.color,radius:a.radius},a.content)),n&&e.createElement("div",{className:"rt-BaseMenuShortcut rt-SidebarMenuShortcut"},e.createElement(E,{size:u},n))))});J.displayName="Sidebar.MenuButton";var L=e.createContext("accordion"),Q=e.forwardRef(({defaultOpen:r=!1,children:t,...n},a)=>(N()?.presentation==="thin"?"dropdown":"accordion")==="dropdown"?e.createElement("div",{...n,ref:a},e.createElement(K,null,e.createElement(L.Provider,{value:"dropdown"},t))):e.createElement("div",{...n,ref:a},e.createElement(L.Provider,{value:"accordion"},e.createElement(f.Root,{type:"single",collapsible:!0,defaultValue:r?"item":void 0},e.createElement(f.Item,{value:"item"},t)))));Q.displayName="Sidebar.MenuSub";var Y=e.forwardRef(({asChild:r=!1,className:t,children:n,...a},s)=>e.useContext(L)==="dropdown"?e.createElement(F,null,e.createElement("button",{...a,ref:s,type:"button","aria-haspopup":"menu",className:p("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarMenuSubTrigger",t)},n)):e.createElement(f.Header,{asChild:!0},e.createElement("div",null,e.createElement(f.Trigger,{...a,ref:s,asChild:r,className:p("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarMenuSubTrigger",t)},r?n:e.createElement(e.Fragment,null,n,e.createElement(G,{className:p("rt-BaseMenuSubTriggerIcon","rt-SidebarMenuSubTriggerIcon")}))))));Y.displayName="Sidebar.MenuSubTrigger";var Z=e.forwardRef(({className:r,children:t,...n},a)=>{let s=N();if(e.useContext(L)==="dropdown"){let m=i=>{if(Array.isArray(i))return i.map((c,u)=>e.createElement(e.Fragment,{key:u},m(c)));if(e.isValidElement(i)){if(i.type?.displayName==="Sidebar.MenuButton")return i.props?.children;let u=i.props?.children;if(u!==void 0)return e.cloneElement(i,{...i.props,children:m(u)})}return i},M=e.Children.map(t,(i,c)=>{if(e.isValidElement(i)&&i.type?.displayName==="Sidebar.MenuItem"){let u=i.props?.children,h=m(u);return e.createElement(A,{key:c,asChild:!0},h)}return e.createElement(A,{key:c,asChild:!0},m(i))});return e.createElement(j,{size:s?.size,className:p(r)},e.createElement(O,null,M))}return e.createElement(f.Content,{...n,ref:a,className:p("rt-SidebarMenuSubContent",r)},e.createElement("div",{className:"rt-SidebarMenuSubList"},t))});Z.displayName="Sidebar.MenuSubContent";var _=e.forwardRef(({className:r,...t},n)=>e.createElement("div",{...t,ref:n,className:p("rt-BaseMenuGroup","rt-SidebarGroup",r)}));_.displayName="Sidebar.Group";var ee=e.forwardRef(({asChild:r=!1,className:t,...n},a)=>e.createElement(r?D:"div",{...n,ref:a,className:p("rt-BaseMenuLabel","rt-SidebarGroupLabel",t)}));ee.displayName="Sidebar.GroupLabel";var re=e.forwardRef(({className:r,...t},n)=>e.createElement("div",{...t,ref:n,className:p("rt-SidebarGroupContent",r)}));re.displayName="Sidebar.GroupContent";var k=({className:r})=>e.createElement("svg",{className:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true"},e.createElement("circle",{cx:"11",cy:"11",r:"8"}),e.createElement("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})),q=({className:r})=>e.createElement("svg",{className:r,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true"},e.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),te=e.forwardRef(({value:r,onValueChange:t,placeholder:n="Search...",children:a,className:s,...l},m)=>{let M=N(),i=M?.presentation==="thin",c=e.useRef(null),u=e.useRef(null),w=`${e.useId()}-results`,I=e.useRef(r);I.current=r;let S=e.useRef(t);S.current=t;let R=n.replace(/\.+$/,""),T=e.useCallback(o=>{o.key==="Escape"&&I.current&&(o.preventDefault(),o.stopPropagation(),S.current(""),c.current?.focus())},[]),x=e.useCallback(o=>{let b=u.current;if(!b)return;let y=b.querySelector('[role="group"]');if(!y)return;let d=Array.from(y.querySelectorAll("a, button"));if(d.length===0)return;let g=document.activeElement,v=g===c.current,C=d.indexOf(g);if(o.key.length===1&&!o.ctrlKey&&!o.metaKey&&!o.altKey&&!v&&C!==-1){c.current?.focus();return}switch(o.key){case"ArrowDown":{o.preventDefault(),v||C===-1?d[0]?.focus():C<d.length-1&&d[C+1]?.focus();break}case"ArrowUp":{o.preventDefault(),C<=0?c.current?.focus():d[C-1]?.focus();break}case"Home":{v||(o.preventDefault(),d[0]?.focus());break}case"End":{v||(o.preventDefault(),d[d.length-1]?.focus());break}}},[]);return i?e.createElement("div",{...l,ref:m,className:p("rt-SidebarSearch","rt-SidebarSearch--thin",s)},e.createElement(H,null,e.createElement(z,null,e.createElement("button",{type:"button",className:p("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarSearchTrigger"),"aria-label":R},e.createElement("span",{className:"rt-SidebarMenuIconWrapper"},e.createElement(k,null)),e.createElement("span",{className:"rt-SidebarMenuLabel"},"Search"))),e.createElement(W,{side:"right",align:"start",size:"2",width:"280px","aria-label":R},e.createElement("div",{ref:u,className:"rt-SidebarSearchPopover",role:"search",onKeyDown:x},e.createElement("div",{className:"rt-SidebarSearchInputWrapper"},e.createElement(k,{className:"rt-SidebarSearchIcon"}),e.createElement("input",{ref:c,type:"search",className:"rt-SidebarSearchInput",value:r,onChange:o=>t(o.target.value),onKeyDown:T,placeholder:n,"aria-label":R,"aria-controls":a?w:void 0,autoFocus:!0}),r&&e.createElement("button",{type:"button",className:"rt-reset rt-SidebarSearchClear",onClick:()=>{t(""),c.current?.focus()},"aria-label":"Clear search"},e.createElement(q,null))),a&&e.createElement("div",{id:w,role:"group","aria-label":"Search results"},a))))):e.createElement("div",{...l,ref:m,className:p("rt-SidebarSearch","rt-SidebarSearch--expanded","rt-ShellPaneChrome",`rt-r-size-${M?.size??"2"}`,s),role:"search"},e.createElement("div",{className:"rt-SidebarSearchInputWrapper"},e.createElement(k,{className:"rt-SidebarSearchIcon"}),e.createElement("input",{ref:c,type:"search",className:"rt-SidebarSearchInput",value:r,onChange:o=>t(o.target.value),onKeyDown:T,placeholder:n,"aria-label":R}),r&&e.createElement("button",{type:"button",className:"rt-reset rt-SidebarSearchClear",onClick:()=>{t(""),c.current?.focus()},"aria-label":"Clear search"},e.createElement(q,null))))});te.displayName="Sidebar.Search";export{V as a,$ as b,X as c,J as d,Q as e,Y as f,Z as g,_ as h,ee as i,re as j,te as k,oe as l};
2
- //# sourceMappingURL=chunk-2KZ44I6T.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/sidebar.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from './slot.js';\nimport * as Accordion from '@radix-ui/react-accordion';\nimport * as DropdownMenu from './dropdown-menu.js';\nimport * as Popover from './popover.js';\n\nimport { Separator } from './separator.js';\nimport { ThickChevronRightIcon } from './icons.js';\nimport { Kbd } from './kbd.js';\nimport { Chip } from './chip.js';\nimport { useSidebarVisual } from './_internal/pane-chrome.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { ChipProps } from './chip.js';\n\n// Chip configuration for the `badge` slot of sidebar menu buttons\ntype BadgeConfig = {\n content: React.ReactNode;\n variant?: ChipProps['variant'];\n size?: ChipProps['size'];\n color?: ChipProps['color'];\n radius?: ChipProps['radius'];\n};\n\n// Sidebar separator\ninterface SidebarSeparatorProps extends ComponentPropsWithout<typeof Separator, RemovedProps> {}\n\nconst SidebarSeparator = React.forwardRef<React.ComponentRef<typeof Separator>, SidebarSeparatorProps>(({ className, ...props }, forwardedRef) => (\n <Separator {...props} ref={forwardedRef} className={classNames('rt-SidebarSeparator', className)} />\n));\nSidebarSeparator.displayName = 'Sidebar.Separator';\n\n// Menu components - styled like dropdown menus, but semantically a navigation list.\n// No menu/menuitem roles: those promise an application menu, which a list of links is not.\ninterface SidebarMenuProps extends React.ComponentPropsWithoutRef<'ul'> {}\n\nconst SidebarMenu = React.forwardRef<HTMLUListElement, SidebarMenuProps>(({ className, ...props }, forwardedRef) => (\n <ul {...props} ref={forwardedRef} className={classNames('rt-SidebarMenu', className)} />\n));\nSidebarMenu.displayName = 'Sidebar.Menu';\n\ninterface SidebarMenuItemProps extends React.ComponentPropsWithoutRef<'li'> {}\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, SidebarMenuItemProps>(({ className, ...props }, forwardedRef) => (\n <li {...props} ref={forwardedRef} className={classNames('rt-SidebarMenuItem', className)} />\n));\nSidebarMenuItem.displayName = 'Sidebar.MenuItem';\n\ninterface SidebarMenuButtonProps extends React.ComponentPropsWithoutRef<'button'> {\n asChild?: boolean;\n isActive?: boolean;\n shortcut?: React.ReactNode;\n badge?: string | BadgeConfig;\n}\n\n// Extracted to module scope to avoid re-creation on every render\nfunction separateIconsAndLabels(node: React.ReactNode): { icons: React.ReactNode[]; labels: React.ReactNode[] } {\n const icons: React.ReactNode[] = [];\n const labels: React.ReactNode[] = [];\n\n React.Children.forEach(node, (child) => {\n if (typeof child === 'string' || typeof child === 'number') {\n labels.push(<span key={labels.length} className=\"rt-SidebarMenuLabel\">{child}</span>);\n } else if (React.isValidElement(child)) {\n const el = child as React.ReactElement<any>;\n if (el.type === 'svg' || (el.props && el.props.icon) || (typeof el.type === 'function' && ((el.type as any).displayName?.includes('Icon') || (el.type as any).name?.includes('Icon')))) {\n icons.push(child);\n } else {\n labels.push(child);\n }\n } else if (child) {\n labels.push(child);\n }\n });\n\n return { icons, labels };\n}\n\nfunction wrapTextNodes(node: React.ReactNode): React.ReactNode {\n if (typeof node === 'string' || typeof node === 'number') {\n return <span className=\"rt-SidebarMenuLabel\">{node}</span>;\n }\n if (Array.isArray(node)) {\n return node.map((child, index) => <React.Fragment key={index}>{wrapTextNodes(child)}</React.Fragment>);\n }\n if (React.isValidElement(node)) {\n const el = node as React.ReactElement<any>;\n const className: string = (el.props && (el.props as any).className) || '';\n const isAlreadyLabel = typeof el.type === 'string' && className.split(' ').includes('rt-SidebarMenuLabel');\n if (isAlreadyLabel) return el;\n const newChildren = wrapTextNodes((el.props as any)?.children);\n return React.cloneElement(el, { ...(el.props as any) }, newChildren);\n }\n return node;\n}\n\nconst SidebarMenuButton = React.forwardRef<HTMLButtonElement, SidebarMenuButtonProps>(\n ({ asChild = false, isActive = false, shortcut, badge, className, children, onKeyDown, ...props }, forwardedRef) => {\n const visual = useSidebarVisual();\n const sidebarSize = visual?.size ?? '2';\n const isThinMode = visual?.presentation === 'thin';\n\n const Comp = asChild ? Slot : 'button';\n\n // Enter and Space are left to the native button or link. Arrow keys move between\n // the visible buttons of the same sidebar, as a convenience on top of Tab.\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n const scope = event.currentTarget.closest('.rt-SidebarContent, .rt-SidebarSearchPopover');\n const buttons = scope\n ? Array.from(scope.querySelectorAll<HTMLElement>('.rt-SidebarMenuButton')).filter((el) => el.offsetParent !== null)\n : [];\n const index = buttons.indexOf(event.currentTarget);\n const next = buttons[index + (event.key === 'ArrowDown' ? 1 : -1)];\n if (index !== -1 && next) {\n event.preventDefault();\n next.focus();\n }\n }\n onKeyDown?.(event);\n },\n [onKeyDown],\n );\n\n // Memoize child processing to avoid re-traversal on every render\n const processedChildren = React.useMemo(() => wrapTextNodes(children), [children]);\n\n // For thin mode, separate icons into a wrapper for targeted background styling\n const { icons, labels } = React.useMemo(\n () => isThinMode ? separateIconsAndLabels(children) : { icons: [] as React.ReactNode[], labels: [] as React.ReactNode[] },\n [isThinMode, children],\n );\n\n // When rendering asChild, Slot expects a single child element. We still want to\n // append optional badge/shortcut inside that element so they render with Link.\n const slottedChildren = React.useMemo(() => {\n if (!asChild) return null;\n try {\n const onlyChild = React.Children.only(processedChildren as React.ReactElement<any>) as React.ReactElement<any>;\n const originalInnerChildren = (onlyChild.props as any)?.children;\n const enhancedInnerChildren = (\n <>\n {originalInnerChildren}\n {badge && (\n <div className=\"rt-SidebarMenuBadge\">\n {typeof badge === 'string' ? (\n <Chip size={sidebarSize} variant=\"soft\">\n {badge}\n </Chip>\n ) : (\n <Chip size={badge.size || sidebarSize} variant={badge.variant || 'soft'} color={badge.color} radius={badge.radius}>\n {badge.content}\n </Chip>\n )}\n </div>\n )}\n {shortcut && (\n <div className=\"rt-BaseMenuShortcut rt-SidebarMenuShortcut\">\n <Kbd size={sidebarSize}>{shortcut}</Kbd>\n </div>\n )}\n </>\n );\n return React.cloneElement(onlyChild, { ...(onlyChild.props as any) }, enhancedInnerChildren);\n } catch {\n // Fallback: if multiple children were passed incorrectly, just return processedChildren\n return processedChildren as React.ReactNode;\n }\n }, [asChild, processedChildren, badge, shortcut, sidebarSize]);\n\n return (\n <Comp\n {...props}\n ref={forwardedRef}\n aria-current={isActive ? 'page' : undefined}\n className={classNames('rt-reset', 'rt-BaseMenuItem', 'rt-SidebarMenuButton', className)}\n data-active={isActive || undefined}\n onKeyDown={handleKeyDown}\n >\n {asChild ? (\n slottedChildren\n ) : isThinMode && icons.length > 0 ? (\n <>\n <span className=\"rt-SidebarMenuIconWrapper\">{icons}</span>\n {labels.map((label, index) => (\n <React.Fragment key={index}>\n {typeof label === 'string' || typeof label === 'number' ? (\n <span className=\"rt-SidebarMenuLabel\">{label}</span>\n ) : (\n label\n )}\n </React.Fragment>\n ))}\n </>\n ) : (\n <>\n {processedChildren}\n {badge && (\n <div className=\"rt-SidebarMenuBadge\">\n {typeof badge === 'string' ? (\n <Chip size={sidebarSize} variant=\"soft\">\n {badge}\n </Chip>\n ) : (\n <Chip size={badge.size || sidebarSize} variant={badge.variant || 'soft'} color={badge.color} radius={badge.radius}>\n {badge.content}\n </Chip>\n )}\n </div>\n )}\n {shortcut && (\n <div className=\"rt-BaseMenuShortcut rt-SidebarMenuShortcut\">\n <Kbd size={sidebarSize}>{shortcut}</Kbd>\n </div>\n )}\n </>\n )}\n </Comp>\n );\n },\n);\nSidebarMenuButton.displayName = 'Sidebar.MenuButton';\n\n// Sub-menu components: Accordion in expanded, Dropdown in thin\nconst SidebarSubMenuModeContext = React.createContext<'accordion' | 'dropdown'>('accordion');\ninterface SidebarMenuSubProps extends React.ComponentPropsWithoutRef<'div'> {\n defaultOpen?: boolean;\n}\n\nconst SidebarMenuSub = React.forwardRef<HTMLDivElement, SidebarMenuSubProps>(({ defaultOpen = false, children, ...props }, forwardedRef) => {\n const visual = useSidebarVisual();\n const mode: 'accordion' | 'dropdown' = visual?.presentation === 'thin' ? 'dropdown' : 'accordion';\n\n if (mode === 'dropdown') {\n return (\n <div {...props} ref={forwardedRef}>\n <DropdownMenu.Root>\n <SidebarSubMenuModeContext.Provider value=\"dropdown\">{children}</SidebarSubMenuModeContext.Provider>\n </DropdownMenu.Root>\n </div>\n );\n }\n\n return (\n <div {...props} ref={forwardedRef}>\n <SidebarSubMenuModeContext.Provider value=\"accordion\">\n <Accordion.Root type=\"single\" collapsible defaultValue={defaultOpen ? 'item' : undefined}>\n <Accordion.Item value=\"item\">{children}</Accordion.Item>\n </Accordion.Root>\n </SidebarSubMenuModeContext.Provider>\n </div>\n );\n});\nSidebarMenuSub.displayName = 'Sidebar.MenuSub';\n\ninterface SidebarMenuSubTriggerProps extends React.ComponentPropsWithoutRef<typeof Accordion.Trigger> {\n asChild?: boolean;\n}\n\nconst SidebarMenuSubTrigger = React.forwardRef<React.ElementRef<typeof Accordion.Trigger>, SidebarMenuSubTriggerProps>(\n ({ asChild = false, className, children, ...props }, forwardedRef) => {\n const mode = React.useContext(SidebarSubMenuModeContext);\n\n if (mode === 'dropdown') {\n return (\n <DropdownMenu.Trigger>\n <button\n {...(props as any)}\n ref={forwardedRef as any}\n type=\"button\"\n aria-haspopup=\"menu\"\n className={classNames('rt-reset', 'rt-BaseMenuItem', 'rt-SidebarMenuButton', 'rt-SidebarMenuSubTrigger', className)}\n >\n {children}\n </button>\n </DropdownMenu.Trigger>\n );\n }\n\n return (\n <Accordion.Header asChild>\n <div>\n <Accordion.Trigger\n {...props}\n ref={forwardedRef}\n asChild={asChild}\n className={classNames('rt-reset', 'rt-BaseMenuItem', 'rt-SidebarMenuButton', 'rt-SidebarMenuSubTrigger', className)}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n <ThickChevronRightIcon className={classNames('rt-BaseMenuSubTriggerIcon', 'rt-SidebarMenuSubTriggerIcon')} />\n </>\n )}\n </Accordion.Trigger>\n </div>\n </Accordion.Header>\n );\n },\n);\nSidebarMenuSubTrigger.displayName = 'Sidebar.MenuSubTrigger';\n\ninterface SidebarMenuSubContentProps extends React.ComponentPropsWithoutRef<typeof Accordion.Content> {}\n\nconst SidebarMenuSubContent = React.forwardRef<React.ElementRef<typeof Accordion.Content>, SidebarMenuSubContentProps>(({ className, children, ...props }, forwardedRef) => {\n const visual = useSidebarVisual();\n const mode = React.useContext(SidebarSubMenuModeContext);\n\n if (mode === 'dropdown') {\n const unwrapMenuButton = (node: React.ReactNode): React.ReactNode => {\n if (Array.isArray(node)) {\n return node.map((n, i) => <React.Fragment key={i}>{unwrapMenuButton(n)}</React.Fragment>);\n }\n if (React.isValidElement(node)) {\n const typeDisplay = (node.type as any)?.displayName;\n if (typeDisplay === 'Sidebar.MenuButton') {\n return (node.props as any)?.children;\n }\n const child = (node.props as any)?.children;\n if (child !== undefined) {\n return React.cloneElement(node as any, { ...(node.props as any), children: unwrapMenuButton(child) });\n }\n }\n return node;\n };\n\n const normalized = React.Children.map(children as React.ReactNode, (child, index) => {\n if (React.isValidElement(child) && (child.type as any)?.displayName === 'Sidebar.MenuItem') {\n const itemChildren = (child.props as any)?.children;\n const content = unwrapMenuButton(itemChildren);\n return (\n <DropdownMenu.Item key={index} asChild>\n {content as any}\n </DropdownMenu.Item>\n );\n }\n // Fallback: wrap raw nodes too for consistent menu styling\n return (\n <DropdownMenu.Item key={index} asChild>\n {unwrapMenuButton(child) as any}\n </DropdownMenu.Item>\n );\n });\n\n return (\n <DropdownMenu.Content size={visual?.size} className={classNames(className)}>\n <DropdownMenu.Group>{normalized}</DropdownMenu.Group>\n </DropdownMenu.Content>\n );\n }\n\n return (\n <Accordion.Content {...props} ref={forwardedRef} className={classNames('rt-SidebarMenuSubContent', className)}>\n <div className=\"rt-SidebarMenuSubList\">{children}</div>\n </Accordion.Content>\n );\n});\nSidebarMenuSubContent.displayName = 'Sidebar.MenuSubContent';\n\n// Group components. The label is plain text: no role, so it isn't announced as an empty group.\ninterface SidebarGroupProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, SidebarGroupProps>(({ className, ...props }, forwardedRef) => (\n <div {...props} ref={forwardedRef} className={classNames('rt-BaseMenuGroup', 'rt-SidebarGroup', className)} />\n));\nSidebarGroup.displayName = 'Sidebar.Group';\n\ninterface SidebarGroupLabelProps extends React.ComponentPropsWithoutRef<'div'> {\n asChild?: boolean;\n}\n\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, SidebarGroupLabelProps>(({ asChild = false, className, ...props }, forwardedRef) => {\n const Comp = asChild ? Slot : 'div';\n\n return <Comp {...props} ref={forwardedRef} className={classNames('rt-BaseMenuLabel', 'rt-SidebarGroupLabel', className)} />;\n});\nSidebarGroupLabel.displayName = 'Sidebar.GroupLabel';\n\ninterface SidebarGroupContentProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, SidebarGroupContentProps>(({ className, ...props }, forwardedRef) => (\n <div {...props} ref={forwardedRef} className={classNames('rt-SidebarGroupContent', className)} />\n));\nSidebarGroupContent.displayName = 'Sidebar.GroupContent';\n\n// Search component: inline input in expanded, popover trigger in thin\ninterface SidebarSearchProps extends React.ComponentPropsWithoutRef<'div'> {\n value: string;\n onValueChange: (value: string) => void;\n placeholder?: string;\n children?: React.ReactNode;\n}\n\nconst SearchIcon = ({ className }: { className?: string }) => (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n);\n\nconst ClearIcon = ({ className }: { className?: string }) => (\n <svg className={className} width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n);\n\nconst SidebarSearch = React.forwardRef<HTMLDivElement, SidebarSearchProps>(\n ({ value, onValueChange, placeholder = 'Search...', children, className, ...props }, forwardedRef) => {\n const visual = useSidebarVisual();\n const isThin = visual?.presentation === 'thin';\n const inputRef = React.useRef<HTMLInputElement>(null);\n const popoverRef = React.useRef<HTMLDivElement>(null);\n const searchId = React.useId();\n const resultsId = `${searchId}-results`;\n\n // Stable refs for values used in callbacks \u2014 avoids recreating handlers on every keystroke\n const valueRef = React.useRef(value);\n valueRef.current = value;\n const onValueChangeRef = React.useRef(onValueChange);\n onValueChangeRef.current = onValueChange;\n\n // Derive a clean aria-label from placeholder (strip trailing dots/ellipsis)\n const searchLabel = placeholder.replace(/\\.+$/, '');\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Escape' && valueRef.current) {\n e.preventDefault();\n e.stopPropagation();\n onValueChangeRef.current('');\n inputRef.current?.focus();\n }\n },\n [],\n );\n\n // Arrow key navigation within the popover (input \u2194 results)\n const handlePopoverKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n const container = popoverRef.current;\n if (!container) return;\n\n const resultsGroup = container.querySelector('[role=\"group\"]');\n if (!resultsGroup) return;\n\n const items = Array.from(\n resultsGroup.querySelectorAll<HTMLElement>('a, button'),\n );\n if (items.length === 0) return;\n\n const active = document.activeElement as HTMLElement;\n const isOnInput = active === inputRef.current;\n const currentIndex = items.indexOf(active);\n\n // Typing while a result is focused \u2192 redirect focus to input\n if (\n e.key.length === 1 &&\n !e.ctrlKey &&\n !e.metaKey &&\n !e.altKey &&\n !isOnInput &&\n currentIndex !== -1\n ) {\n inputRef.current?.focus();\n return;\n }\n\n switch (e.key) {\n case 'ArrowDown': {\n e.preventDefault();\n if (isOnInput || currentIndex === -1) {\n items[0]?.focus();\n } else if (currentIndex < items.length - 1) {\n items[currentIndex + 1]?.focus();\n }\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n if (currentIndex <= 0) {\n inputRef.current?.focus();\n } else {\n items[currentIndex - 1]?.focus();\n }\n break;\n }\n case 'Home': {\n // Only intercept when focused on a result, not the input (where Home moves cursor)\n if (!isOnInput) {\n e.preventDefault();\n items[0]?.focus();\n }\n break;\n }\n case 'End': {\n if (!isOnInput) {\n e.preventDefault();\n items[items.length - 1]?.focus();\n }\n break;\n }\n }\n },\n [],\n );\n\n if (isThin) {\n return (\n <div {...props} ref={forwardedRef} className={classNames('rt-SidebarSearch', 'rt-SidebarSearch--thin', className)}>\n <Popover.Root>\n <Popover.Trigger>\n <button\n type=\"button\"\n className={classNames('rt-reset', 'rt-BaseMenuItem', 'rt-SidebarMenuButton', 'rt-SidebarSearchTrigger')}\n aria-label={searchLabel}\n >\n <span className=\"rt-SidebarMenuIconWrapper\">\n <SearchIcon />\n </span>\n <span className=\"rt-SidebarMenuLabel\">Search</span>\n </button>\n </Popover.Trigger>\n <Popover.Content side=\"right\" align=\"start\" size=\"2\" width=\"280px\" aria-label={searchLabel}>\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions -- keyDown manages arrow-key navigation between input and results, which is accessibility-enhancing */}\n <div\n ref={popoverRef}\n className=\"rt-SidebarSearchPopover\"\n role=\"search\"\n onKeyDown={handlePopoverKeyDown}\n >\n <div className=\"rt-SidebarSearchInputWrapper\">\n <SearchIcon className=\"rt-SidebarSearchIcon\" />\n <input\n ref={inputRef}\n type=\"search\"\n className=\"rt-SidebarSearchInput\"\n value={value}\n onChange={(e) => onValueChange(e.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n aria-label={searchLabel}\n aria-controls={children ? resultsId : undefined}\n // eslint-disable-next-line jsx-a11y/no-autofocus -- intentional: popover opens on user action, focusing the input is expected UX\n autoFocus\n />\n {value && (\n <button\n type=\"button\"\n className=\"rt-reset rt-SidebarSearchClear\"\n onClick={() => {\n onValueChange('');\n inputRef.current?.focus();\n }}\n aria-label=\"Clear search\"\n >\n <ClearIcon />\n </button>\n )}\n </div>\n {children && (\n <div id={resultsId} role=\"group\" aria-label=\"Search results\">\n {children}\n </div>\n )}\n </div>\n </Popover.Content>\n </Popover.Root>\n </div>\n );\n }\n\n // Expanded mode: inline input\n return (\n <div {...props} ref={forwardedRef} className={classNames('rt-SidebarSearch', 'rt-SidebarSearch--expanded', 'rt-ShellPaneChrome', `rt-r-size-${visual?.size ?? '2'}`, className)} role=\"search\">\n <div className=\"rt-SidebarSearchInputWrapper\">\n <SearchIcon className=\"rt-SidebarSearchIcon\" />\n <input\n ref={inputRef}\n type=\"search\"\n className=\"rt-SidebarSearchInput\"\n value={value}\n onChange={(e) => onValueChange(e.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n aria-label={searchLabel}\n />\n {value && (\n <button\n type=\"button\"\n className=\"rt-reset rt-SidebarSearchClear\"\n onClick={() => {\n onValueChange('');\n inputRef.current?.focus();\n }}\n aria-label=\"Clear search\"\n >\n <ClearIcon />\n </button>\n )}\n </div>\n </div>\n );\n },\n);\nSidebarSearch.displayName = 'Sidebar.Search';\n\n// Export all components following shadcn's pattern\nexport {\n SidebarSeparator as Separator,\n SidebarMenu as Menu,\n SidebarMenuItem as MenuItem,\n SidebarMenuButton as MenuButton,\n SidebarMenuSub as MenuSub,\n SidebarMenuSubTrigger as MenuSubTrigger,\n SidebarMenuSubContent as MenuSubContent,\n SidebarGroup as Group,\n SidebarGroupLabel as GroupLabel,\n SidebarGroupContent as GroupContent,\n SidebarSearch as Search,\n};\n\nexport type { BadgeConfig };\n"],
5
- "mappings": "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",
6
- "names": ["sidebar_exports", "__export", "SidebarGroup", "SidebarGroupContent", "SidebarGroupLabel", "SidebarMenu", "SidebarMenuButton", "SidebarMenuItem", "SidebarMenuSub", "SidebarMenuSubContent", "SidebarMenuSubTrigger", "SidebarSearch", "SidebarSeparator", "React", "classNames", "Accordion", "SidebarSeparator", "className", "props", "forwardedRef", "Separator", "classNames", "SidebarMenu", "SidebarMenuItem", "separateIconsAndLabels", "node", "icons", "labels", "child", "el", "wrapTextNodes", "index", "newChildren", "SidebarMenuButton", "asChild", "isActive", "shortcut", "badge", "children", "onKeyDown", "visual", "useSidebarVisual", "sidebarSize", "isThinMode", "Comp", "Slot", "handleKeyDown", "event", "scope", "buttons", "next", "processedChildren", "slottedChildren", "onlyChild", "originalInnerChildren", "enhancedInnerChildren", "Chip", "Kbd", "label", "SidebarSubMenuModeContext", "SidebarMenuSub", "defaultOpen", "DropdownMenuRoot", "SidebarMenuSubTrigger", "DropdownMenuTrigger", "ThickChevronRightIcon", "SidebarMenuSubContent", "unwrapMenuButton", "n", "i", "normalized", "itemChildren", "content", "DropdownMenuItem", "DropdownMenuContent", "DropdownMenuGroup", "SidebarGroup", "SidebarGroupLabel", "SidebarGroupContent", "SearchIcon", "ClearIcon", "SidebarSearch", "value", "onValueChange", "placeholder", "isThin", "inputRef", "popoverRef", "resultsId", "valueRef", "onValueChangeRef", "searchLabel", "e", "handlePopoverKeyDown", "container", "resultsGroup", "items", "active", "isOnInput", "currentIndex", "PopoverRoot", "PopoverTrigger", "PopoverContent"]
7
- }
@@ -1,2 +0,0 @@
1
- var e=["regular","medium","semibold"],t={weight:{type:"enum",className:"rt-r-weight",values:e,responsive:!0}};export{t as a};
2
- //# sourceMappingURL=chunk-2WSD2H23.js.map
@@ -1,2 +0,0 @@
1
- import{a as o}from"./chunk-7FPLWHMT.js";import{a as e}from"./chunk-ELAW7ZUG.js";import*as r from"react";import f from"classnames";var c=r.forwardRef((p,t)=>{let{className:a,color:s,decorative:m,...n}=e(p,o);return r.createElement("span",{"data-accent-color":s,role:m?void 0:"separator",...n,ref:t,className:f("rt-Separator",a)})});c.displayName="Separator";export{c as a};
2
- //# sourceMappingURL=chunk-36GV4H3C.js.map
@@ -1,2 +0,0 @@
1
- import{a as o}from"./chunk-VX44UTQ5.js";import{a as e}from"./chunk-ERGJN7FJ.js";import{a as t}from"./chunk-NZJGC6ZW.js";var r=["1","2","3","4"],n={...t,align:{type:"enum",className:"rt-r-align",values:["start","center"],default:"center"},size:{type:"enum",className:"rt-r-size",values:r,default:"2",responsive:!0},width:e.width,minWidth:e.minWidth,maxWidth:e.maxWidth,...o};export{n as a};
2
- //# sourceMappingURL=chunk-4ITIXBIP.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/dialog.props.tsx"],
4
- "sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\nimport { widthPropDefs } from '../props/width.props.js';\nimport { heightPropDefs } from '../props/height.props.js';\n\nimport type { PropDef, GetPropDefTypes } from '../props/prop-def.js';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst alignValues = ['start', 'center'] as const;\nconst contentSizes = ['1', '2', '3', '4'] as const;\n\nconst dialogContentPropDefs = {\n ...asChildPropDef,\n align: {\n type: 'enum',\n className: 'rt-r-align',\n values: ['start', 'center'],\n default: 'center',\n },\n size: {\n type: 'enum',\n className: 'rt-r-size',\n values: contentSizes,\n default: '2',\n responsive: true,\n },\n width: widthPropDefs.width,\n minWidth: widthPropDefs.minWidth,\n // No default: the size's --overlay-w is the max width until a maxWidth is given.\n maxWidth: widthPropDefs.maxWidth,\n ...heightPropDefs,\n} satisfies {\n align: PropDef<(typeof alignValues)[number]>;\n size: PropDef<(typeof contentSizes)[number]>;\n width: PropDef<string>;\n minWidth: PropDef<string>;\n maxWidth: PropDef<string>;\n};\n\ntype DialogContentOwnProps = GetPropDefTypes<\n typeof dialogContentPropDefs & typeof asChildPropDef & typeof widthPropDefs\n>;\n\nexport { dialogContentPropDefs };\nexport type { DialogContentOwnProps };\n"],
5
- "mappings": "wHAQA,IAAMA,EAAe,CAAC,IAAK,IAAK,IAAK,GAAG,EAElCC,EAAwB,CAC5B,GAAGC,EACH,MAAO,CACL,KAAM,OACN,UAAW,aACX,OAAQ,CAAC,QAAS,QAAQ,EAC1B,QAAS,QACX,EACA,KAAM,CACJ,KAAM,OACN,UAAW,YACX,OAAQF,EACR,QAAS,IACT,WAAY,EACd,EACA,MAAOG,EAAc,MACrB,SAAUA,EAAc,SAExB,SAAUA,EAAc,SACxB,GAAGC,CACL",
6
- "names": ["contentSizes", "dialogContentPropDefs", "asChildPropDef", "widthPropDefs", "heightPropDefs"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a as s}from"./chunk-TTFUM47A.js";import{a as t}from"./chunk-ERGJN7FJ.js";var r=["1","2","3","4"],a=["surface","ghost"],o=["auto","fixed"],c={size:{type:"enum",className:"rt-r-size",values:r,default:"2",responsive:!0},variant:{type:"enum",className:"rt-variant",values:a,default:"ghost"},layout:{type:"enum",className:"rt-r-tl",values:o,responsive:!0}},n=["start","center","end","baseline"],m={align:{type:"enum",className:"rt-r-va",values:n,parseValue:i,responsive:!0}};function i(e){return{baseline:"baseline",start:"top",center:"middle",end:"bottom"}[e]}var u=["start","center","end"],y={justify:{type:"enum",className:"rt-r-ta",values:u,parseValue:l,responsive:!0},...t,...s};function l(e){return{start:"left",center:"center",end:"right"}[e]}export{c as a,m as b,y as c};
2
- //# sourceMappingURL=chunk-4YQXYWDQ.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/table.props.tsx"],
4
- "sourcesContent": ["import { paddingPropDefs } from '../props/padding.props.js';\nimport { widthPropDefs } from '../props/width.props.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4'] as const;\nconst variants = ['surface', 'ghost'] as const;\nconst layoutValues = ['auto', 'fixed'] as const;\n\nconst tableRootPropDefs = {\n size: {\n type: 'enum',\n className: 'rt-r-size',\n values: sizes,\n default: '2',\n responsive: true,\n },\n variant: {\n type: 'enum',\n className: 'rt-variant',\n values: variants,\n default: 'ghost',\n },\n layout: {\n type: 'enum',\n className: 'rt-r-tl',\n values: layoutValues,\n responsive: true,\n },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n layout: PropDef<(typeof layoutValues)[number]>;\n};\n\nconst rowAlign = ['start', 'center', 'end', 'baseline'] as const;\n\nconst tableRowPropDefs = {\n align: {\n type: 'enum',\n className: 'rt-r-va',\n values: rowAlign,\n parseValue: parseAlignValue,\n responsive: true,\n },\n} satisfies {\n align: PropDef<(typeof rowAlign)[number]>;\n};\n\nfunction parseAlignValue(value: string) {\n return {\n baseline: 'baseline',\n start: 'top',\n center: 'middle',\n end: 'bottom',\n }[value];\n}\n\nconst justifyValues = ['start', 'center', 'end'] as const;\n\nconst tableCellPropDefs = {\n justify: {\n type: 'enum',\n className: 'rt-r-ta',\n values: justifyValues,\n parseValue: parseJustifyValue,\n responsive: true,\n },\n ...widthPropDefs,\n ...paddingPropDefs,\n} satisfies {\n justify: PropDef<(typeof justifyValues)[number]>;\n};\n\nfunction parseJustifyValue(value: string) {\n return {\n start: 'left',\n center: 'center',\n end: 'right',\n }[value];\n}\n\nexport { tableRootPropDefs, tableRowPropDefs, tableCellPropDefs };\n"],
5
- "mappings": "gFAKA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAC3BC,EAAW,CAAC,UAAW,OAAO,EAC9BC,EAAe,CAAC,OAAQ,OAAO,EAE/BC,EAAoB,CACxB,KAAM,CACJ,KAAM,OACN,UAAW,YACX,OAAQH,EACR,QAAS,IACT,WAAY,EACd,EACA,QAAS,CACP,KAAM,OACN,UAAW,aACX,OAAQC,EACR,QAAS,OACX,EACA,OAAQ,CACN,KAAM,OACN,UAAW,UACX,OAAQC,EACR,WAAY,EACd,CACF,EAMME,EAAW,CAAC,QAAS,SAAU,MAAO,UAAU,EAEhDC,EAAmB,CACvB,MAAO,CACL,KAAM,OACN,UAAW,UACX,OAAQD,EACR,WAAYE,EACZ,WAAY,EACd,CACF,EAIA,SAASA,EAAgBC,EAAe,CACtC,MAAO,CACL,SAAU,WACV,MAAO,MACP,OAAQ,SACR,IAAK,QACP,EAAEA,CAAK,CACT,CAEA,IAAMC,EAAgB,CAAC,QAAS,SAAU,KAAK,EAEzCC,EAAoB,CACxB,QAAS,CACP,KAAM,OACN,UAAW,UACX,OAAQD,EACR,WAAYE,EACZ,WAAY,EACd,EACA,GAAGC,EACH,GAAGC,CACL,EAIA,SAASF,EAAkBH,EAAe,CACxC,MAAO,CACL,MAAO,OACP,OAAQ,SACR,IAAK,OACP,EAAEA,CAAK,CACT",
6
- "names": ["sizes", "variants", "layoutValues", "tableRootPropDefs", "rowAlign", "tableRowPropDefs", "parseAlignValue", "value", "justifyValues", "tableCellPropDefs", "parseJustifyValue", "widthPropDefs", "paddingPropDefs"]
7
- }
@@ -1,2 +0,0 @@
1
- import{b as e}from"./chunk-WWF3IU3P.js";import{a as p}from"./chunk-WYADYDPN.js";import{a as s}from"./chunk-ZE2KAVXW.js";import{a as t}from"./chunk-2WSD2H23.js";import{a as o}from"./chunk-NZJGC6ZW.js";import{c as r}from"./chunk-CUNKWFKA.js";var f=["1","2","3","4","5","6","7","8","9"],n={...o,size:{type:"enum",className:"rt-r-size",values:f,responsive:!0},...t,...r,...e,...s,...p};export{n as a};
2
- //# sourceMappingURL=chunk-4ZAJVYU6.js.map
@@ -1,2 +0,0 @@
1
- import{a as at}from"./chunk-DSV3XBHM.js";import{g as et,j as tt}from"./chunk-IX5HIHVI.js";import{a as Be}from"./chunk-IN6ZEGDK.js";import{a as we}from"./chunk-P3WB3K2M.js";import{a as Ze}from"./chunk-7XWAXYZD.js";import{a as ze}from"./chunk-MC3GY6ET.js";import{a as Ie}from"./chunk-4VBH3W2S.js";import{a as De}from"./chunk-AGAQC4HH.js";import{b as U}from"./chunk-FWB47YCH.js";import{d as Qe}from"./chunk-3YLYGKFB.js";import{a as Ot}from"./chunk-OS3FCYZY.js";var Vt={};Ot(Vt,{AttachTrigger:()=>bt,Attachment:()=>$e,AttachmentsRow:()=>mt,InlineEnd:()=>ut,InlineStart:()=>dt,Item:()=>ft,Root:()=>it,Row:()=>Rt,RowEnd:()=>gt,RowStart:()=>Ct,Send:()=>vt,Textarea:()=>lt});import*as e from"react";import E from"classnames";import{useComposedRefs as ot}from"radix-ui/internal";import{useDropzone as Ht}from"react-dropzone";var je=typeof window<"u"?e.useLayoutEffect:e.useEffect;function nt(t,o){let{placeholder:a}=t;if(!a){o();return}t.placeholder="";try{o()}finally{t.placeholder=a}}var Ft={values:["1","2","3"]},st=e.createContext(null),We=e.createContext(""),F=()=>{let t=e.useContext(st);if(!t)throw new Error("Chatbar context not found. Wrap parts in <Chatbar.Root>.");return t},me=t=>Array.isArray(t)?t:typeof t=="string"?t.split(",").map(o=>o.trim()).filter(Boolean):[],It=(t,o)=>{if(o.length===0)return!0;let a=t.type.toLowerCase(),c=t.name.toLowerCase();for(let i of o){let l=i.toLowerCase();if(l.includes("/")){let[d,u]=l.split("/"),[h,f]=a.split("/");if(d==="*"||d===h&&(u==="*"||u===f))return!0}else if(l.startsWith(".")&&c.endsWith(l))return!0}return!1},zt=/\.(png|jpe?g|gif|webp|bmp|svg|avif)$/i,ct=(t,o)=>(o||"").toLowerCase().startsWith("image/")||zt.test(t),Ve=t=>t.trim().length>0,rt=(t,o)=>`${t} ${o}${t===1?"":"s"}`,Dt=0,Bt=()=>`chatbar-attachment-${Date.now()}-${++Dt}`,it=e.forwardRef((t,o)=>{let{className:a,style:c,children:i,value:l,defaultValue:d="",onValueChange:u,open:h,defaultOpen:f=!1,onOpenChange:g,expandOn:v="both",minLines:C=3,maxLines:w=6,sendMode:I="whenDirty",disabled:b,readOnly:S,onSubmit:D,size:M,variant:z,color:O,radius:H,width:Q,maxWidth:R,attachments:G,defaultAttachments:B,onAttachmentsChange:se,accept:P,multiple:L=!0,maxAttachments:Z,maxFileSize:_,paste:j=!0,pasteAccept:q,clearOnSubmit:V=!0,onAttachmentReject:k,dropzone:N=!0,apiRef:Se,onBlurCapture:pe,notices:he,context:fe,...Ee}=t,W=Qe(M,Ft),be=l!=null,[r,y]=e.useState(d),A=be?l:r,ee=h!=null,[X,te]=e.useState(f),ce=ee?h:X,Y="attachments"in t,[ie,Re]=e.useState(()=>B??[]),le=e.useMemo(()=>Y?G??[]:ie,[Y,G,ie]),[Ke,yt]=e.useState({text:"",id:0}),de=e.useCallback(n=>yt(s=>({text:n,id:s.id+1})),[]),Ue=e.useRef(null),xt=ot(o,Ue),Te=e.useRef(null),Le=e.useRef(null),ue=e.useRef(!1),Ce=e.useRef(!1),ge=e.useRef(void 0),ke=e.useRef(null),Ge=me(P).join(","),Ne=me(q).join(","),Me=e.useMemo(()=>me(Ge),[Ge]),Pt=e.useMemo(()=>Ne?me(Ne):Me,[Ne,Me]),_e={value:A,attachments:le,accepts:Me,pasteAccepts:Pt,multiple:L,maxAttachments:Z,maxFileSize:_,disabled:b,readOnly:S,expandOn:v,isValueControlled:be,isOpenControlled:ee,isAttachmentsControlled:Y,onValueChange:u,onOpenChange:g,onAttachmentsChange:se,onAttachmentReject:k,onSubmit:D},x=e.useRef(_e);x.current=_e;let Oe=e.useRef(null),$=e.useCallback(()=>Oe.current??x.current.attachments,[]),ae=e.useCallback(n=>{x.current.isOpenControlled||te(n),x.current.onOpenChange?.(n)},[]),ve=e.useCallback(n=>{x.current.isValueControlled||y(n),x.current.onValueChange?.(n)},[]),ne=e.useCallback(n=>{Oe.current=n,queueMicrotask(()=>{Oe.current=null}),x.current.isAttachmentsControlled||Re(n),x.current.onAttachmentsChange?.(n)},[]),ye=e.useRef(new Set),re=e.useCallback((n,s,m=x.current.multiple)=>{let p=x.current;if(p.disabled||p.readOnly||n.length===0)return 0;let K=$(),J=[],oe=[],Nt=typeof p.maxAttachments=="number"?Math.max(p.maxAttachments-K.length,0):1/0,Mt=m?1/0:1;for(let T of n){if(J.length>=Nt||J.length>=Mt){oe.push({file:T,reason:"count"});continue}if(typeof p.maxFileSize=="number"&&T.size>p.maxFileSize){oe.push({file:T,reason:"size"});continue}if(!It(T,s)){oe.push({file:T,reason:"type"});continue}let Fe=ct(T.name,T.type)?URL.createObjectURL(T):void 0;Fe&&ye.current.add(Fe),J.push({id:Bt(),name:T.name,size:T.size,type:T.type,file:T,url:Fe,status:"idle"})}let Ae=[];return J.length>0&&(ne(K.concat(J)),p.expandOn!=="none"&&ae(!0),Ae.push(`${rt(J.length,"file")} attached.`)),oe.length>0&&(p.onAttachmentReject?.(oe),Ae.push(`${rt(oe.length,"file")} could not be attached.`)),Ae.length>0&&de(Ae.join(" ")),J.length},[$,ne,ae,de]),xe=e.useCallback(n=>re(n,x.current.accepts),[re]),qe=e.useCallback(n=>re(n,x.current.pasteAccepts),[re]),Xe=e.useCallback(n=>{let s=$(),m=s.find(p=>p.id===n);m&&(ne(s.filter(p=>p.id!==n)),de(`Removed ${m.name}.`))},[$,ne,de]),Ye=e.useCallback(n=>{let s=x.current;if(s.disabled||s.readOnly)return!1;let m=$();if(!Ve(s.value)&&m.length===0)return!1;let p={value:s.value,attachments:m};if(n&&s.onSubmit)for(let K of m)K.url&&ye.current.delete(K.url);return s.onSubmit?.(p),n&&(ve(""),ne([])),!0},[$,ve,ne]);e.useEffect(()=>{let n=ye.current;if(n.size===0)return;let s=new Set(le.map(m=>m.url));for(let m of Array.from(n))s.has(m)||(URL.revokeObjectURL(m),n.delete(m))},[le]),e.useEffect(()=>{let n=ye.current;return()=>{if(!x.current.isAttachmentsControlled){for(let s of Array.from(n))URL.revokeObjectURL(s);n.clear()}}},[]);let Pe=e.useCallback(n=>{let s=x.current,m=Le.current;if(clearTimeout(ge.current),Ce.current=!1,!m||s.disabled||s.readOnly)return;let p=n?.accept!=null?me(n.accept):s.accepts,K=n?.multiple??s.multiple;ke.current={patterns:p,multiple:K},m.accept=p.join(","),m.multiple=K,ue.current=!0,m.click(),setTimeout(()=>{document.hasFocus()&&(ue.current=!1)},1e3)},[]),Je=e.useCallback(()=>{Ce.current=!0,clearTimeout(ge.current),ge.current=setTimeout(()=>{Ce.current=!1},800)},[]);e.useEffect(()=>()=>clearTimeout(ge.current),[]),e.useEffect(()=>{let n=Le.current,s=()=>{ue.current=!1};return window.addEventListener("focus",s),n?.addEventListener("cancel",s),()=>{window.removeEventListener("focus",s),n?.removeEventListener("cancel",s)}},[]);let At=e.useCallback(n=>{let s=n.currentTarget,m=Array.from(s.files??[]),p=ke.current;re(m,p?.patterns??x.current.accepts,p?.multiple),ue.current=!1,ke.current=null,s.value=""},[re]),wt=e.useCallback(n=>{pe?.(n);let s=x.current,m=Ue.current;if(!m||s.expandOn==="none")return;let p=n.relatedTarget;p&&m.contains(p)||ue.current||Ce.current||!Ve(s.value)&&$().length===0&&ae(!1)},[pe,ae,$]),St=e.useCallback(n=>{xe(n)},[xe]),{getRootProps:Et,isDragActive:Tt}=Ht({onDrop:St,onDragEnter:()=>de(""),noClick:!0,noKeyboard:!0,noPaste:!0,disabled:!N||b||S}),He=N&&Tt;e.useImperativeHandle(Se,()=>({focusTextarea:()=>Te.current?.focus({preventScroll:!0}),openFilePicker:()=>Pe()}),[Pe]);let Lt=e.useCallback(n=>{if(b||n.pointerType==="mouse"&&n.button!==0)return;let s=n.target;s instanceof Element&&s.closest('button, [role="button"], a[href], input, textarea, select, [contenteditable], [tabindex]:not([tabindex="-1"])')||(n.preventDefault(),Te.current?.focus({preventScroll:!0}))},[b]),kt=e.useMemo(()=>({open:ce,setOpen:ae,setValue:ve,size:W,expandOn:v,minLines:C,maxLines:w,sendMode:I,disabled:b,readOnly:S,paste:j,clearOnSubmit:V,multiple:L,textareaRef:Te,attachments:le,removeAttachment:Xe,submit:Ye,appendFiles:xe,appendFilesFromPaste:qe,openFilePicker:Pe,beginFilePickerPress:Je}),[ce,ae,ve,W,v,C,w,I,b,S,j,V,L,le,Xe,Ye,xe,qe,Pe,Je]);return e.createElement(st.Provider,{value:kt},e.createElement(We.Provider,{value:A},e.createElement(e.Fragment,null,e.createElement("div",{...Ee,ref:xt,className:E("rt-ChatbarRoot",`rt-r-size-${W}`,a),style:{position:"relative",width:Q,maxWidth:R,...c},"data-state":ce?"open":"closed","data-disabled":b?"":void 0,"data-readonly":S?"":void 0,"data-drop-active":He?"":void 0,"data-accent-color":O,"data-radius":H,onBlurCapture:wt},e.createElement("input",{ref:Le,type:"file",tabIndex:-1,"aria-hidden":!0,style:{display:"none"},onChange:At}),he?e.createElement("div",{className:"rt-ChatbarNotices"},e.createElement(at.Provider,{value:W},he)):null,e.createElement("div",{...N?Et():{},style:{width:"100%",flex:"1 1 auto",minHeight:0},onPointerDown:Lt},e.createElement("div",{className:E("rt-ChatbarBox",`rt-variant-${z??"raised"}`),style:{position:"relative"},"data-accent-color":O,"data-radius":H},e.createElement("div",{className:"rt-ChatbarGrid"},i),He&&e.createElement("div",{className:"rt-ChatbarDropOverlay","aria-hidden":!0},e.createElement("div",{className:"rt-ChatbarDropContent"},e.createElement(we,{emphasis:"medium",size:W,weight:"medium"},"Drop files here to attach"))))),fe?e.createElement(we,{as:"div",size:W==="3"?"2":"1",emphasis:"medium",className:"rt-ChatbarContext"},fe):null,e.createElement(De,{role:"status","aria-live":"polite"},He?"Drop files here to attach.":e.createElement("span",{key:Ke.id},Ke.text))))))});it.displayName="Chatbar.Root";var lt=e.forwardRef((t,o)=>{let{className:a,style:c,asChild:i,onFocus:l,onChange:d,onPaste:u,onKeyDown:h,onCompositionStart:f,onCompositionEnd:g,submitOnEnter:v=!1,...C}=t,w=F(),I=e.useContext(We),{open:b,minLines:S,maxLines:D,expandOn:M,disabled:z,readOnly:O,setOpen:H,setValue:Q,textareaRef:R,paste:G,appendFilesFromPaste:B,size:se,submit:P,clearOnSubmit:L}=w,Z=ot(o,R),_=e.useRef(0),j=e.useRef(0),q=e.useRef(!1),V=e.useRef({open:b,minLines:S,maxLines:D});je(()=>{V.current={open:b,minLines:S,maxLines:D}},[b,S,D]);let k=e.useCallback(()=>{let r=R.current;if(!r)return;let y=window.getComputedStyle(r);_.current=parseFloat(y.lineHeight)||20,j.current=(parseFloat(y.paddingTop)||0)+(parseFloat(y.paddingBottom)||0)},[R]),N=e.useCallback((r,y)=>{let{minLines:A,maxLines:ee}=V.current,X=_.current,te=j.current,ce=Math.ceil((y?A:1)*X)+te,Y=Math.ceil((y?ee:1)*X)+te,ie=Math.max(r.scrollHeight,ce);r.style.height=`${Math.min(ie,Y)}px`;let Re=ie>Y;r.style.overflowY=Re?"auto":"hidden",r.style.maxHeight=Re?`${Y}px`:"none"},[]);je(()=>{k()},[k,se]),je(()=>{let r=R.current;r&&(_.current===0&&k(),nt(r,()=>{r.style.height="auto";let y=b;if(!b&&(M==="overflow"||M==="both")){let A=Math.ceil(_.current)+j.current;r.scrollHeight>A+1&&(y=!0,H(!0))}N(r,y)}))},[I,b,M,S,D,se,H,R,k,N]),e.useEffect(()=>{let r=R.current;if(!r||typeof ResizeObserver>"u")return;let y=-1,A=new ResizeObserver(ee=>{let X=ee[0]?.contentRect.width??0;if(X===y)return;let te=y===-1;y=X,!te&&(k(),nt(r,()=>{r.style.height="auto",N(r,V.current.open)}))});return A.observe(r),()=>A.disconnect()},[R,k,N]),e.useEffect(()=>{},[]);let Se=e.useCallback(r=>{l?.(r),!(z||O)&&(M==="focus"||M==="both")&&!b&&H(!0)},[z,O,M,b,H,l]),pe=e.useCallback(r=>{Q(r.currentTarget.value),d?.(r)},[Q,d]),he=e.useCallback(r=>{if(u?.(r),r.defaultPrevented||!G||z||O)return;let y=Array.from(r.clipboardData?.items??[]).filter(A=>A.kind==="file").map(A=>A.getAsFile()).filter(A=>!!A);y.length!==0&&B(y)>0&&r.preventDefault()},[G,z,O,u,B]),fe=e.useCallback(r=>{q.current=!0,f?.(r)},[f]),Ee=e.useCallback(r=>{q.current=!1,g?.(r)},[g]),W=e.useCallback(r=>{h?.(r),!(r.defaultPrevented||!v)&&(r.key!=="Enter"||r.shiftKey||r.altKey||r.ctrlKey||r.metaKey||q.current||r.nativeEvent.isComposing||r.nativeEvent.keyCode===229||(r.preventDefault(),P(L)))},[v,h,P,L]),be=i?U:"textarea";return e.createElement("div",{className:E("rt-ChatbarField","rt-ChatbarTextarea",a)},e.createElement(be,{...C,ref:Z,className:"rt-ChatbarInput",value:I,onChange:pe,onFocus:Se,onPaste:he,onKeyDown:W,onCompositionStart:fe,onCompositionEnd:Ee,disabled:z,readOnly:O,rows:b?S:1,spellCheck:C.spellCheck??!0,autoCorrect:C.autoCorrect??"on",style:c}))});lt.displayName="Chatbar.Textarea";var dt=e.forwardRef((t,o)=>{let{children:a,asChild:c,className:i,...l}=t;return F().open?null:e.createElement(c?U:"div",{...l,ref:o,className:E("rt-ChatbarInlineStart",i)},a)});dt.displayName="Chatbar.InlineStart";var ut=e.forwardRef((t,o)=>{let{children:a,asChild:c,className:i,...l}=t;return F().open?null:e.createElement(c?U:"div",{...l,ref:o,className:E("rt-ChatbarInlineEnd",i)},a)});ut.displayName="Chatbar.InlineEnd";var mt=e.forwardRef((t,o)=>{let{asChild:a,forceMount:c,renderAttachment:i,className:l,children:d,...u}=t,h=F(),f=e.Children.toArray(d).length>0;return h.attachments.length===0&&!f&&!c?null:e.createElement("div",null,e.createElement(a?U:"div",{...u,ref:o,className:E("rt-ChatbarAttachmentsRow",l),role:"list","aria-label":u["aria-label"]??"Attachments"},e.createElement(Ze,{className:"rt-ChatbarScrollArea",scrollbars:"horizontal"},e.createElement(Ie,{align:"center",gap:"3",minWidth:"fit-content"},h.attachments.map(v=>e.createElement($e,{key:v.id,attachment:v,asChild:!!i},i?.(v))),d))))});mt.displayName="Chatbar.AttachmentsRow";function pt(t,o){let a=t.closest('[role="listitem"]'),c=a?.parentElement?Array.from(a.parentElement.children):[],i=a?c.indexOf(a):-1,d=(c[i+1]??c[i-1])?.querySelector(".rt-ChatbarItemRemove");d?d.focus():o.current?.focus({preventScroll:!0})}var ht=({lead:t,leadKind:o,label:a,detail:c,removeLabel:i,onRemove:l})=>{let d=F();return e.createElement(e.Fragment,null,e.createElement("span",{className:"rt-ChatbarItemLead","data-kind":o,"aria-hidden":!0},t),e.createElement(we,{className:"rt-ChatbarItemLabel",size:d.size,truncate:!0},a,c?e.createElement(De,null,", ",c):null),l&&e.createElement(Be,{iconOnly:!0,className:"rt-ChatbarItemRemove","aria-label":i,size:"1",variant:"ghost",color:"gray",onClick:l},e.createElement(et,null)))},jt={uploading:"uploading",error:"failed to upload"},$e=e.forwardRef((t,o)=>{let{attachment:a,asChild:c,className:i,children:l,...d}=t,u=F(),h=c?U:"div",f=!!a.url&&ct(a.name,a.type),g=`${Math.ceil(a.size/1024)} KB`,v=a.status?jt[a.status]:void 0,C=u.disabled||u.readOnly,w=b=>{pt(b.currentTarget,u.textareaRef),u.removeAttachment(a.id)},I=a.status==="uploading"?e.createElement(ze,null):f?e.createElement("img",{className:"rt-ChatbarAttachmentImage",src:a.url,alt:""}):e.createElement(tt,null);return e.createElement(h,{...d,ref:o,className:E(l?"rt-ChatbarAttachment":"rt-ChatbarAttachment rt-ChatbarItem",i),role:"listitem","data-kind":f?"image":"file","data-status":a.status,title:a.name},l??e.createElement(ht,{lead:I,leadKind:f&&a.status!=="uploading"?"image":"icon",label:a.name,detail:v?`${g}, ${v}`:g,removeLabel:`Remove ${a.name}`,onRemove:C?void 0:w}))});$e.displayName="Chatbar.Attachment";var ft=e.forwardRef((t,o)=>{let{children:a,icon:c,image:i,color:l,onRemove:d,removeLabel:u,className:h,...f}=t,g=F(),v=g.disabled||g.readOnly,C=d?w=>{pt(w.currentTarget,g.textareaRef),d()}:void 0;return e.createElement("div",{...f,ref:o,className:E("rt-ChatbarItem",h),role:"listitem","data-accent-color":i?void 0:l??"gray",title:a},e.createElement(ht,{lead:i?e.createElement("img",{className:"rt-ChatbarAttachmentImage",src:i,alt:""}):c,leadKind:i?"image":"icon",label:a,removeLabel:u??`Remove ${a}`,onRemove:v?void 0:C}))});ft.displayName="Chatbar.Item";var bt=e.forwardRef((t,o)=>{let{asChild:a,accept:c,multiple:i,disabled:l,onPointerDown:d,onClick:u,...h}=t,f=F(),g=l||f.disabled||f.readOnly;return e.createElement(a?U:"button",{...h,ref:o,className:E("rt-ChatbarAttachTrigger",h.className),type:h.type??"button","aria-label":h["aria-label"]??"Add attachments",disabled:g,onPointerDown:C=>{d?.(C),!g&&!C.defaultPrevented&&f.beginFilePickerPress()},onClick:C=>{u?.(C),!(g||C.defaultPrevented)&&f.openFilePicker({accept:c,multiple:i})}})});bt.displayName="Chatbar.AttachTrigger";var Rt=e.forwardRef((t,o)=>{let{asChild:a,children:c,className:i,...l}=t;return F().open?e.createElement("div",null,e.createElement(a?U:"div",{...l,ref:o,className:E("rt-ChatbarRow",i)},e.createElement(Ie,{align:"center",justify:"between",width:"100%"},c))):null});Rt.displayName="Chatbar.Row";var Ct=e.forwardRef((t,o)=>{let{className:a,...c}=t;return e.createElement("div",{...c,ref:o,className:E("rt-ChatbarRowStart",a)})});Ct.displayName="Chatbar.RowStart";var gt=e.forwardRef((t,o)=>{let{className:a,...c}=t;return e.createElement("div",{...c,ref:o,className:E("rt-ChatbarRowEnd",a)})});gt.displayName="Chatbar.RowEnd";var vt=e.forwardRef((t,o)=>{let{asChild:a,clearOnSend:c,disabled:i,children:l,style:d,className:u,size:h,variant:f,emphasis:g,tabIndex:v,onClick:C,status:w="ready",onStop:I,onRetry:b,stopLabel:S="Stop",retryLabel:D="Retry",stopIcon:M,retryIcon:z,"aria-label":O,"aria-labelledby":H,...Q}=t,R=F(),G=e.useContext(We),B=Ve(G)||R.attachments.length>0,P=B?"send":w==="submitted"||w==="streaming"?"stop":w==="error"?"retry":"send";if(R.sendMode==="never"&&P==="send")return null;let L=P!=="send"||R.sendMode==="always"||B,Z=P==="send"?i||R.disabled||R.readOnly||!B:i||R.disabled,j=P==="stop"?{"aria-label":S}:P==="retry"?{"aria-label":D}:H?{"aria-labelledby":H}:{"aria-label":O??"Send"},q=k=>{if(C?.(k),k.defaultPrevented||Z)return;if(P==="stop"){I?.();return}if(P==="retry"){b?.();return}let N=c??R.clearOnSubmit;R.submit(N)&&N&&R.textareaRef.current?.focus({preventScroll:!0})},V=P==="stop"?M??(w==="submitted"?e.createElement(ze,null):e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0},e.createElement("rect",{x:"7",y:"7",width:"10",height:"10",rx:"2"}))):P==="retry"?z??e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.createElement("path",{d:"M3 12a9 9 0 1 0 3-6.7L3 8"}),e.createElement("path",{d:"M3 3v5h5"})):l??e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.createElement("path",{d:"M5 12h14"}),e.createElement("path",{d:"m12 5 7 7-7 7"}));return e.createElement(Be,{iconOnly:!0,...Q,ref:o,size:h??R.size,...g?{emphasis:g}:{variant:f??(R.open||P!=="send"?"solid":"ghost")},disabled:Z,className:E("rt-ChatbarSend",u),style:{opacity:L?1:0,pointerEvents:L?void 0:"none",...d},"aria-hidden":L?void 0:!0,tabIndex:L?v:-1,asChild:a,onClick:q,"data-status":w,"data-mode":P,...j},V)});vt.displayName="Chatbar.Send";export{it as a,lt as b,dt as c,ut as d,mt as e,$e as f,ft as g,bt as h,Rt as i,Ct as j,gt as k,vt as l,Vt as m};
2
- //# sourceMappingURL=chunk-5B6JDZ3S.js.map
@@ -1,2 +0,0 @@
1
- import{b as s}from"./chunk-KRJTW535.js";import{a as e}from"./chunk-NZJGC6ZW.js";import{d as o}from"./chunk-CUNKWFKA.js";var a=["1","2","3","4"],t=["raised","solid","soft","surface","outline","ghost"],f={...e,size:{type:"enum",className:"rt-r-size",values:a,default:"2",responsive:!0},variant:{type:"enum",className:"rt-variant",values:t,default:"solid"},...o,...s,loading:{type:"boolean",className:"rt-loading",default:!1},fullWidth:{type:"boolean",className:"rt-full-width",default:!1}};export{f as a};
2
- //# sourceMappingURL=chunk-5P4JTWBK.js.map
@@ -1,2 +0,0 @@
1
- import{a as s,b as i}from"./chunk-IX5HIHVI.js";import{e as p}from"./chunk-3YLYGKFB.js";import{a as o}from"./chunk-24CVW6P7.js";import{a as c}from"./chunk-ELAW7ZUG.js";import*as e from"react";import b from"classnames";import{Checkbox as h}from"radix-ui";import{useControllableState as P}from"radix-ui/internal";var u=e.forwardRef((a,m)=>{let n=p(a,o.size),{className:k,color:C,checked:d,defaultChecked:t,onCheckedChange:f,...l}=c(n,o),[r,x]=P({prop:d,defaultProp:t??!1,onChange:f});return e.createElement(h.Root,{"data-accent-color":C,...l,defaultChecked:t,checked:r,onCheckedChange:x,asChild:!1,ref:m,className:b("rt-reset","rt-BaseCheckboxRoot","rt-CheckboxRoot",k)},e.createElement(h.Indicator,{asChild:!0,className:"rt-BaseCheckboxIndicator rt-CheckboxIndicator"},r==="indeterminate"?e.createElement(s,null):e.createElement(i,null)))});u.displayName="Checkbox";export{u as a};
2
- //# sourceMappingURL=chunk-5WLSAUNJ.js.map
@@ -1,2 +0,0 @@
1
- import{a as P}from"./chunk-MC3GY6ET.js";import{a as h}from"./chunk-4VBH3W2S.js";import{a as g}from"./chunk-AGAQC4HH.js";import{e as C}from"./chunk-3YLYGKFB.js";import{a as m}from"./chunk-5P4JTWBK.js";import{a as b}from"./chunk-ELAW7ZUG.js";import*as e from"react";import F from"classnames";import{Slot as O}from"radix-ui";var z=e.forwardRef((E,x)=>{let a=C(E,m.size),{className:N,children:t,asChild:o,as:s,color:T,radius:v,disabled:f,...p}=b(a,m),i=!!a.loading,M=!!f||i,{onClick:y}=p,k=e.useCallback(r=>{if(i){r.preventDefault();return}y?.(r)},[i,y]),{iconStart:w,iconEnd:D}=e.useMemo(()=>{let r=o&&e.isValidElement(t)?t.props.children:t,B=n=>e.Children.toArray(n).flatMap(d=>e.isValidElement(d)&&d.type===e.Fragment?B(d.props.children):[d]),u=B(r),R=n=>e.isValidElement(n)&&(n.type==="svg"||typeof n.type!="string");return{iconStart:R(u[0]),iconEnd:R(u[u.length-1])}},[o,t]),V=o?O.Root:s||"button",H=o||!s||["button","input","textarea","select"].includes(s),S=!o&&(!s||s==="button"),I="type"in p,j=e.useId(),l=i?`${j}-loading`:void 0,c=e.useMemo(()=>typeof t=="string"?t:e.isValidElement(t)&&typeof t.props?.children=="string"?t.props.children:"button",[t]),A=e.useMemo(()=>a.loading?{"aria-busy":!0,"aria-disabled":!0,"aria-describedby":l,"aria-label":`${c} (loading)`}:{},[a.loading,l,c]);return e.createElement(V,{"data-accent-color":T,"data-radius":v,"data-icon-start":w||void 0,"data-icon-end":D||void 0,...p,...A,"data-disabled":M||void 0,onClick:k,ref:x,className:F("rt-reset","rt-BaseButton",N),...H&&{disabled:f},...S&&!I?{type:"button"}:{}},a.loading?e.createElement(e.Fragment,null,e.createElement("span",{style:{display:"contents",visibility:"hidden"},"aria-hidden":!0},t),e.createElement(g,null,e.createElement("span",{id:l},c," is loading, please wait..."),t),e.createElement(h,{asChild:!0,align:"center",justify:"center",position:"absolute",inset:"0"},e.createElement("span",null,e.createElement(P,{"aria-hidden":"true"})))):t)});z.displayName="BaseButton";export{z as a};
2
- //# sourceMappingURL=chunk-6WANXT2G.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';\n\nimport { baseButtonPropDefs } from './base-button.props.js';\nimport { Flex } from '../flex.js';\nimport { Spinner } from '../spinner.js';\nimport { VisuallyHidden } from '../visually-hidden.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 ComponentPropsWithout<C, RemovedProps | keyof BaseButtonOwnProps | 'as'>;\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 ...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.\n const loading = Boolean(props.loading);\n const disabled = Boolean(nativeDisabled) || loading;\n const { onClick } = baseButtonProps as { onClick?: React.MouseEventHandler<HTMLElement> };\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n if (loading) {\n event.preventDefault();\n return;\n }\n onClick?.(event);\n },\n [loading, 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 const { iconStart, iconEnd } = 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 flatten = (nodes: React.ReactNode): React.ReactNode[] =>\n React.Children.toArray(nodes).flatMap((node) =>\n React.isValidElement(node) && node.type === React.Fragment\n ? flatten((node.props as { children?: React.ReactNode }).children)\n : [node],\n );\n const items = flatten(content);\n const isIcon = (node: React.ReactNode) =>\n React.isValidElement(node) && (node.type === 'svg' || typeof node.type !== 'string');\n return { iconStart: isIcon(items[0]), iconEnd: isIcon(items[items.length - 1]) };\n }, [asChild, children]);\n\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 // Extract button text for accessibility announcements\n const buttonText = React.useMemo(() => {\n if (typeof children === 'string') return children;\n if (React.isValidElement(children) && typeof (children.props as any)?.children === 'string') {\n return (children.props as any).children;\n }\n return 'button';\n }, [children]);\n\n // Enhanced accessibility props for loading state\n // These ensure screen readers announce the loading state properly\n const accessibilityProps = React.useMemo(() => {\n if (props.loading) {\n return {\n 'aria-busy': true,\n 'aria-disabled': true,\n 'aria-describedby': describedById,\n 'aria-label': `${buttonText} (loading)`,\n };\n }\n return {};\n }, [props.loading, describedById, buttonText]);\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 {...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={forwardedRef}\n className={classNames('rt-reset', 'rt-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 `VisuallyHidden`\n */}\n <span style={{ display: 'contents', visibility: 'hidden' }} aria-hidden>\n {children}\n </span>\n\n {/* Enhanced accessibility for loading state */}\n <VisuallyHidden>\n <span id={describedById}>{buttonText} is loading, please wait...</span>\n {children}\n </VisuallyHidden>\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 children\n )}\n </Comp>\n );\n});\nBaseButton.displayName = 'BaseButton';\n\nexport { BaseButton };\nexport type { BaseButtonProps };\n"],
5
- "mappings": "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",
6
- "names": ["React", "classNames", "Slot", "BaseButton", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "baseButtonPropDefs", "className", "children", "asChild", "as", "color", "radius", "nativeDisabled", "baseButtonProps", "extractProps", "loading", "disabled", "onClick", "handleClick", "event", "iconStart", "iconEnd", "content", "flatten", "nodes", "node", "items", "isIcon", "Comp", "Slot", "shouldPassDisabled", "isNativeButtonElement", "hasExplicitTypeAttribute", "loadingId", "describedById", "buttonText", "accessibilityProps", "classNames", "VisuallyHidden", "Flex", "Spinner"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a as r}from"./chunk-24CVW6P7.js";import{a as o}from"./chunk-NZJGC6ZW.js";var f={...o,...r};export{f as a};
2
- //# sourceMappingURL=chunk-72FU5FEC.js.map
@@ -1,2 +0,0 @@
1
- import{a as m}from"./chunk-7ZOGH5NT.js";import{a as N}from"./chunk-4VBH3W2S.js";import{b as v}from"./chunk-FWB47YCH.js";import{e as b}from"./chunk-3YLYGKFB.js";import{a as l}from"./chunk-ELAW7ZUG.js";import{a as d}from"./chunk-OS3FCYZY.js";var y={};d(y,{Actions:()=>g,Logo:()=>c,Navigation:()=>P,Root:()=>f});import*as o from"react";import n from"classnames";var f=o.forwardRef((s,i)=>{let e=b(s,m.size),{children:p,className:a,...r}=l(e,m),t=e.position??"fixed",R=e.size??"2";return o.createElement("header",{...r,ref:i,className:n("rt-NavbarRoot",a),"data-position":t,"data-size":R},o.createElement("div",{className:"rt-NavbarContainer"},p))});f.displayName="Navbar.Root";var c=o.forwardRef(({asChild:s,gap:i="2",align:e="center",justify:p="start",className:a,...r},t)=>s?o.createElement(v,{ref:t,className:n("rt-NavbarLogo",a),...r}):o.createElement(N,{ref:t,gap:i,align:e,justify:p,className:n("rt-NavbarLogo",a),...r}));c.displayName="Navbar.Logo";var P=o.forwardRef(({asChild:s,gap:i="4",align:e="center",justify:p="center",className:a,...r},t)=>s?o.createElement(v,{ref:t,className:n("rt-NavbarNavigation",a),role:"navigation",...r}):o.createElement(N,{ref:t,gap:i,align:e,justify:p,className:n("rt-NavbarNavigation",a),role:"navigation",...r}));P.displayName="Navbar.Navigation";var g=o.forwardRef(({asChild:s,gap:i="4",align:e="center",justify:p="end",className:a,...r},t)=>s?o.createElement(v,{ref:t,className:n("rt-NavbarActions",a),...r}):o.createElement(N,{ref:t,gap:i,align:e,justify:p,className:n("rt-NavbarActions",a),...r}));g.displayName="Navbar.Actions";export{f as a,c as b,P as c,g as d,y as e};
2
- //# sourceMappingURL=chunk-7AXEPJYF.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/navbar.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Flex } from './flex.js';\nimport { Slot } from './slot.js';\n\nimport type { FlexProps } from './flex.js';\nimport type { MarginProps } from '../props/margin.props.js';\n\n// Navbar slots are parts, not layout primitives: the bar owns their spacing.\ntype NavbarSlotFlexProps = Omit<FlexProps, keyof MarginProps>;\n\nimport { navbarRootPropDefs } from './navbar.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\n/**\n * Navbar Component\n *\n * A horizontal navigation bar component with semantic slots for organizing\n * content. Follows the Shell and Sidebar compound component patterns.\n *\n * @example\n * <Navbar.Root>\n * <Navbar.Logo>Brand/logo content</Navbar.Logo>\n * <Navbar.Navigation>Navigation links</Navbar.Navigation>\n * <Navbar.Actions>CTAs, user menu, etc</Navbar.Actions>\n * </Navbar.Root>\n */\n\n// Root Component\ntype NavbarRootElement = React.ElementRef<'header'>;\ntype NavbarRootOwnProps = GetPropDefTypes<typeof navbarRootPropDefs>;\ninterface NavbarRootProps\n extends ComponentPropsWithout<'header', RemovedProps>,\n NavbarRootOwnProps {}\n\nconst NavbarRoot = React.forwardRef<NavbarRootElement, NavbarRootProps>(\n (ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, navbarRootPropDefs.size);\n const { children, className, ...rootProps } = extractProps(\n props,\n navbarRootPropDefs,\n );\n\n const position = props.position ?? 'fixed';\n const size = props.size ?? '2';\n\n return (\n <header\n {...rootProps}\n ref={forwardedRef}\n className={classNames('rt-NavbarRoot', className)}\n data-position={position}\n data-size={size}\n >\n <div className=\"rt-NavbarContainer\">{children}</div>\n </header>\n );\n },\n);\nNavbarRoot.displayName = 'Navbar.Root';\n\n// Logo Slot - extends FlexProps\ntype NavbarLogoProps = NavbarSlotFlexProps & {\n asChild?: boolean;\n};\n\nconst NavbarLogo = React.forwardRef<HTMLDivElement, NavbarLogoProps>(\n ({ asChild, gap = '2', align = 'center', justify = 'start', className, ...props }, ref) => {\n if (asChild) {\n return (\n <Slot\n ref={ref}\n className={classNames('rt-NavbarLogo', className)}\n {...props}\n />\n );\n }\n\n return (\n <Flex\n ref={ref}\n gap={gap}\n align={align}\n justify={justify}\n className={classNames('rt-NavbarLogo', className)}\n {...props}\n />\n );\n }\n);\nNavbarLogo.displayName = 'Navbar.Logo';\n\n// Navigation Slot - extends FlexProps\ntype NavbarNavigationProps = NavbarSlotFlexProps & {\n asChild?: boolean;\n};\n\nconst NavbarNavigation = React.forwardRef<HTMLDivElement, NavbarNavigationProps>(\n ({ asChild, gap = '4', align = 'center', justify = 'center', className, ...props }, ref) => {\n if (asChild) {\n return (\n <Slot\n ref={ref}\n className={classNames('rt-NavbarNavigation', className)}\n role=\"navigation\"\n {...props}\n />\n );\n }\n\n return (\n <Flex\n ref={ref}\n gap={gap}\n align={align}\n justify={justify}\n className={classNames('rt-NavbarNavigation', className)}\n role=\"navigation\"\n {...props}\n />\n );\n }\n);\nNavbarNavigation.displayName = 'Navbar.Navigation';\n\n// Actions Slot - extends FlexProps\ntype NavbarActionsProps = NavbarSlotFlexProps & {\n asChild?: boolean;\n};\n\nconst NavbarActions = React.forwardRef<HTMLDivElement, NavbarActionsProps>(\n ({ asChild, gap = '4', align = 'center', justify = 'end', className, ...props }, ref) => {\n if (asChild) {\n return (\n <Slot\n ref={ref}\n className={classNames('rt-NavbarActions', className)}\n {...props}\n />\n );\n }\n\n return (\n <Flex\n ref={ref}\n gap={gap}\n align={align}\n justify={justify}\n className={classNames('rt-NavbarActions', className)}\n {...props}\n />\n );\n }\n);\nNavbarActions.displayName = 'Navbar.Actions';\n\nexport {\n NavbarRoot as Root,\n NavbarLogo as Logo,\n NavbarNavigation as Navigation,\n NavbarActions as Actions,\n};\n\nexport type {\n NavbarRootProps as RootProps,\n NavbarLogoProps as LogoProps,\n NavbarNavigationProps as NavigationProps,\n NavbarActionsProps as ActionsProps,\n};\n"],
5
- "mappings": "gPAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,SAAAC,EAAA,eAAAC,EAAA,SAAAC,IAEA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aAsCvB,IAAMC,EAAmB,aACvB,CAACC,EAAUC,IAAiB,CAC1B,IAAMC,EAAQC,EAAkBH,EAAUI,EAAmB,IAAI,EAC3D,CAAE,SAAAC,EAAU,UAAAC,EAAW,GAAGC,CAAU,EAAIC,EAC5CN,EACAE,CACF,EAEMK,EAAWP,EAAM,UAAY,QAC7BQ,EAAOR,EAAM,MAAQ,IAE3B,OACE,gBAAC,UACE,GAAGK,EACJ,IAAKN,EACL,UAAWU,EAAW,gBAAiBL,CAAS,EAChD,gBAAeG,EACf,YAAWC,GAEX,gBAAC,OAAI,UAAU,sBAAsBL,CAAS,CAChD,CAEJ,CACF,EACAN,EAAW,YAAc,cAOzB,IAAMa,EAAmB,aACvB,CAAC,CAAE,QAAAC,EAAS,IAAAC,EAAM,IAAK,MAAAC,EAAQ,SAAU,QAAAC,EAAU,QAAS,UAAAV,EAAW,GAAGJ,CAAM,EAAGe,IAC7EJ,EAEA,gBAACK,EAAA,CACC,IAAKD,EACL,UAAWN,EAAW,gBAAiBL,CAAS,EAC/C,GAAGJ,EACN,EAKF,gBAACiB,EAAA,CACC,IAAKF,EACL,IAAKH,EACL,MAAOC,EACP,QAASC,EACT,UAAWL,EAAW,gBAAiBL,CAAS,EAC/C,GAAGJ,EACN,CAGN,EACAU,EAAW,YAAc,cAOzB,IAAMQ,EAAyB,aAC7B,CAAC,CAAE,QAAAP,EAAS,IAAAC,EAAM,IAAK,MAAAC,EAAQ,SAAU,QAAAC,EAAU,SAAU,UAAAV,EAAW,GAAGJ,CAAM,EAAGe,IAC9EJ,EAEA,gBAACK,EAAA,CACC,IAAKD,EACL,UAAWN,EAAW,sBAAuBL,CAAS,EACtD,KAAK,aACJ,GAAGJ,EACN,EAKF,gBAACiB,EAAA,CACC,IAAKF,EACL,IAAKH,EACL,MAAOC,EACP,QAASC,EACT,UAAWL,EAAW,sBAAuBL,CAAS,EACtD,KAAK,aACJ,GAAGJ,EACN,CAGN,EACAkB,EAAiB,YAAc,oBAO/B,IAAMC,EAAsB,aAC1B,CAAC,CAAE,QAAAR,EAAS,IAAAC,EAAM,IAAK,MAAAC,EAAQ,SAAU,QAAAC,EAAU,MAAO,UAAAV,EAAW,GAAGJ,CAAM,EAAGe,IAC3EJ,EAEA,gBAACK,EAAA,CACC,IAAKD,EACL,UAAWN,EAAW,mBAAoBL,CAAS,EAClD,GAAGJ,EACN,EAKF,gBAACiB,EAAA,CACC,IAAKF,EACL,IAAKH,EACL,MAAOC,EACP,QAASC,EACT,UAAWL,EAAW,mBAAoBL,CAAS,EAClD,GAAGJ,EACN,CAGN,EACAmB,EAAc,YAAc",
6
- "names": ["navbar_exports", "__export", "NavbarActions", "NavbarLogo", "NavbarNavigation", "NavbarRoot", "React", "classNames", "NavbarRoot", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "navbarRootPropDefs", "children", "className", "rootProps", "extractProps", "position", "size", "classNames", "NavbarLogo", "asChild", "gap", "align", "justify", "ref", "Slot", "Flex", "NavbarNavigation", "NavbarActions"]
7
- }
@@ -1,2 +0,0 @@
1
- import{c as o}from"./chunk-CUNKWFKA.js";var e=["horizontal","vertical"],t={orientation:{type:"enum",className:"rt-r-orientation",values:e,default:"horizontal",responsive:!0},color:{...o.color,default:"gray"},decorative:{type:"boolean",default:!0},light:{type:"boolean",className:"rt-light",default:!1}};export{t as a};
2
- //# sourceMappingURL=chunk-7FPLWHMT.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/separator.props.tsx"],
4
- "sourcesContent": ["import { colorPropDef } from '../props/color.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst orientationValues = ['horizontal', 'vertical'] as const;\n\nconst separatorPropDefs = {\n orientation: {\n type: 'enum',\n className: 'rt-r-orientation',\n values: orientationValues,\n default: 'horizontal',\n responsive: true,\n },\n color: { ...colorPropDef.color, default: 'gray' },\n decorative: { type: 'boolean', default: true },\n light: { type: 'boolean', className: 'rt-light', default: false },\n} satisfies {\n orientation: PropDef<(typeof orientationValues)[number]>;\n color: typeof colorPropDef.color;\n decorative: PropDef<boolean>;\n light: PropDef<boolean>;\n};\n\nexport { separatorPropDefs };\n"],
5
- "mappings": "wCAIA,IAAMA,EAAoB,CAAC,aAAc,UAAU,EAE7CC,EAAoB,CACxB,YAAa,CACX,KAAM,OACN,UAAW,mBACX,OAAQD,EACR,QAAS,aACT,WAAY,EACd,EACA,MAAO,CAAE,GAAGE,EAAa,MAAO,QAAS,MAAO,EAChD,WAAY,CAAE,KAAM,UAAW,QAAS,EAAK,EAC7C,MAAO,CAAE,KAAM,UAAW,UAAW,WAAY,QAAS,EAAM,CAClE",
6
- "names": ["orientationValues", "separatorPropDefs", "colorPropDef"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a as i}from"./chunk-LVCP5WGX.js";import{a as n}from"./chunk-ELAW7ZUG.js";import*as e from"react";import{Slot as P}from"radix-ui";var g=e.memo(e.forwardRef((d,o)=>{let{children:p,className:t,asChild:m,as:H="h1",color:r,...s}=n(d,i),a=t?`rt-Heading ${t}`:"rt-Heading";return m?e.createElement(P.Root,{"data-accent-color":r,...s,ref:o,className:a},p):e.createElement(H,{"data-accent-color":r,...s,ref:o,className:a},p)}));g.displayName="Heading";export{g as a};
2
- //# sourceMappingURL=chunk-7MPFZIZX.js.map
@@ -1,2 +0,0 @@
1
- import{a as De,b as Fe}from"./chunk-I53SGTKV.js";import{a as Be}from"./chunk-MGQ4A2FI.js";import{a as Ae}from"./chunk-UEHCCJYY.js";import{c as le,d as ae,g as ge,h as Se,i as be}from"./chunk-BHGES72S.js";import{a as Ie}from"./chunk-672FI4OH.js";import{a as Oe}from"./chunk-A2NG5NRN.js";import{a as $,b as He,c as we,d as Ne,g as ke}from"./chunk-3J6AUDID.js";import{a as Ee,b as re}from"./chunk-HCNO7PX6.js";import{a as de,b as ue,c as pe}from"./chunk-5ROQAZ7J.js";import{e as se,f as ye,h as Me,i as ee,j as Te,k as ie,l as ce,n as ze,o as te}from"./chunk-3PTKPDSA.js";import{a as Le,b as xe}from"./chunk-BZZXXZ3O.js";import{a as Ce}from"./chunk-HWQ3NTJP.js";import{d as Re}from"./chunk-3YLYGKFB.js";import{a as ve}from"./chunk-TBZO22XK.js";import{a as Ge}from"./chunk-OS3FCYZY.js";var et={};Ge(et,{Bottom:()=>Ie,Content:()=>qe,Header:()=>_e,Inspector:()=>Oe,Left:()=>Ke,PaneFooter:()=>Se,PaneHeader:()=>ge,Panel:()=>Pe,Rail:()=>$e,Root:()=>We,Scroll:()=>be,Sidebar:()=>Ae,Trigger:()=>je,useResponsivePresentation:()=>Be,useShell:()=>Fe,useSidebarMode:()=>De});import*as e from"react";import U from"classnames";import{useComposedRefs as he}from"radix-ui/internal";var fe=0;function Ve(a){fe=Math.max(0,fe+a);let r=document.documentElement;fe>0?r.setAttribute("data-rt-shell-lock",""):r.removeAttribute("data-rt-shell-lock")}var me="data-rt-shell-inert",Xe=30;function q(a,r){return r===null||r===a||r===a.body||r===a.documentElement}function Ue(a,r,s){for(let d of a.querySelectorAll("[data-shell-trigger][aria-controls]"))if(!(d.getAttribute("aria-controls")!==r||d.closest("[inert]"))&&!(s&&!s.some(R=>R.contains(d))))return d;return null}var Je={values:["1","2","3"]},We=e.forwardRef(({className:a,children:r,height:s="full",size:d,style:R,onKeyDown:A,onFocus:L,...x},H)=>{let p=Re(d,Je),[i]=e.useState(ye),S=e.useCallback(t=>Me(i,t),[i]);e.useSyncExternalStore(S,()=>i.version,()=>0);let h=e.useRef(null),E=he(H,h),[y,b]=e.useState(()=>new Set),P=e.useCallback(t=>{b(n=>n.has(t)?n:new Set(n).add(t))},[]),f=e.useCallback(t=>{b(n=>{if(!n.has(t))return n;let o=new Set(n);return o.delete(t),o})},[]),M=e.useMemo(()=>({registerInset:P,unregisterInset:f}),[P,f]),g=e.useCallback(()=>{for(let t of i.entries.values())t.overlayLive&&t.setValue("closed","dismiss")},[i]),w=e.useCallback(()=>[...i.entries.values()].filter(t=>t.overlayLive&&t.el).map(t=>({name:t.name,id:t.id,el:t.el})),[i]),v=[...i.entries.values()].filter(t=>t.overlayLive&&t.el).length,W=s!=="full"&&s!=="auto",N=e.useCallback(()=>{let t=h.current;if(!t)return;let n=w().map(o=>o.el);for(let o of t.children){if(!(o instanceof HTMLElement)||o.classList.contains("rt-ShellScrim"))continue;let c=n.some(z=>o===z||o.contains(z));n.length===0||c?o.hasAttribute(me)&&(o.removeAttribute(me),o.inert=!1):o.inert||(o.setAttribute(me,""),o.inert=!0)}},[w]),_=e.useRef(null),j=e.useRef([]),G=e.useRef(null),D=e.useRef(!1),T=e.useRef(0),k=e.useCallback(()=>{T.current&&cancelAnimationFrame(T.current),T.current=0},[]),X=e.useCallback((t,n)=>{k();let o=0,c=()=>{if(T.current=0,!!t.isConnected){if(n(t.ownerDocument.activeElement)){t.focus({preventScroll:!0});return}o+=1,o<Xe&&(T.current=requestAnimationFrame(c))}};T.current=requestAnimationFrame(c)},[k]);e.useEffect(()=>()=>{k(),D.current&&(D.current=!1,Ve(-1))},[k]),e.useEffect(()=>{let t=h.current;if(!t)return;let n=t.ownerDocument,o=w(),c=o.map(l=>l.el),z=!W&&o.length>0;z!==D.current&&(D.current=z,Ve(z?1:-1));let B=j.current;j.current=o;let O=B.filter(l=>{if(c.includes(l.el))return!1;let u=i.entries.get(l.name);return!l.el.isConnected||!u||u.el!==l.el||u.value==="closed"}),K=l=>l!==null&&O.some(u=>u.el.contains(l));if(B.length===0&&o.length>0){let l=n.activeElement,u=l instanceof HTMLElement&&!q(n,l)&&!c.some(m=>m.contains(l))?l:null;if(u&&!t.contains(u)){let m=G.current;m&&m.isConnected&&!c.some(Z=>Z.contains(m))&&(u=m)}_.current=u}if(N(),o.length===0){let l=_.current;if(_.current=null,O.length===0)return;let m=(C=>C!==null&&C.isConnected&&!C.closest("[inert]")&&!K(C))(l)?l:null;for(let C of O)m??(m=Ue(n,C.id));if(!m)return;let Z=C=>q(n,C)||K(C);Z(n.activeElement)?m.focus({preventScroll:!0}):X(m,Z);return}if(O.length>0){let l=n.activeElement;if(q(n,l)||K(l)){let u=null;for(let m of O)u??(u=Ue(n,m.id,c));(u??c[c.length-1]).focus({preventScroll:!0})}}let V=c.filter(l=>!B.some(u=>u.el===l)),oe=n.activeElement;V.length>0&&!c.some(l=>l.contains(oe))&&(V[0].focus({preventScroll:!0}),X(V[0],l=>q(n,l)||l instanceof Element&&l.closest("[inert]")!==null))}),e.useEffect(()=>{let t=h.current;if(!t||v===0||typeof MutationObserver>"u")return;let n=new MutationObserver(N);return n.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["inert"]}),()=>n.disconnect()},[v,N]);let J=t=>{A?.(t),!(t.key!=="Escape"||t.defaultPrevented||v===0)&&(g(),t.stopPropagation())};e.useEffect(()=>{let t=h.current;if(!t||v===0)return;let n=t.ownerDocument,o=c=>{c.key!=="Escape"||c.defaultPrevented||!q(n,c.target)||g()};return n.addEventListener("keydown",o),()=>n.removeEventListener("keydown",o)},[v,g]);let Q=t=>{L?.(t),t.target instanceof HTMLElement&&h.current?.contains(t.target)&&(G.current=t.target)},I=i.entries.get("rail"),F=I!==void 0&&I.value!==void 0&&I.value!=="closed"?y.has("rail")?`calc(${I.size}px + 2 * var(--shell-inset-gap))`:`${I.size}px`:void 0,ne=s==="full"?{}:s==="auto"?{height:"auto"}:typeof s=="number"?{height:`${s}px`}:{height:s};return e.createElement(Te.Provider,{value:i},e.createElement(le.Provider,{value:p},e.createElement(ze.Provider,{value:M},e.createElement("div",{...x,ref:E,className:U("rt-ShellRoot",a),"data-height":s==="auto"?"auto":void 0,"data-has-inset":y.size>0||void 0,"data-overlay-live":v>0||void 0,onKeyDown:J,onFocus:Q,style:{...ne,...F?{"--shell-rail-offset":F}:{},...R}},r,e.createElement("div",{className:"rt-ShellScrim","aria-hidden":!0,onClick:g})))))});We.displayName="Shell.Root";var _e=e.forwardRef(({className:a,height:r=64,style:s,...d},R)=>e.createElement("header",{...d,ref:R,className:U("rt-ShellHeader",a),style:{...s,"--shell-header-height":`${r}px`}}));_e.displayName="Shell.Header";var Ke=e.forwardRef(({children:a},r)=>(e.useEffect(()=>{},[]),e.createElement(e.Fragment,null,a)));Ke.displayName="Shell.Left";var Qe={controlled:"open",default:"defaultOpen"},$e=e.forwardRef((a,r)=>{let{className:s,presentation:d,expandedSize:R=64,collapsible:A,onExpand:L,onCollapse:x,children:H,style:p,open:i,defaultOpen:S,onOpenChange:h,inset:E,id:y,...b}=a,{table:P,attributes:f}=pe(d,"fixed"),M=de({name:"rail",label:"Rail",propNames:Qe,id:y,controlled:$(i),defaultValue:$(S),presentationTable:P,builtIn:He,onChange:(w,v)=>h?.(w!=="closed",{reason:v}),onExpand:L,onCollapse:x,size:R});te("rail",E);let g=he(r,M.setElement);return e.createElement("div",{...b,id:M.id,ref:g,className:U("rt-ShellPane","rt-ShellRail",s),...ue(M,f),"data-inset":E||void 0,tabIndex:M.overlaying?-1:b.tabIndex,style:{...p,"--rail-size":`${R}px`}},e.createElement(Ye,null,H))});$e.displayName="Shell.Rail";function Ye({children:a}){let r=e.useContext(le);return e.createElement("div",{className:U("rt-ShellRailContent",`rt-r-size-${r}`)},e.createElement(ae,{presentation:"thin"},a))}var Ze={controlled:"open",default:"defaultOpen"},Pe=e.forwardRef((a,r)=>{let{className:s,presentation:d,defaultOpen:R,open:A,onOpenChange:L,size:x,defaultSize:H,expandedSize:p=288,minSize:i=100,maxSize:S=800,resizable:h=!1,collapsible:E=!0,onExpand:y,onCollapse:b,onResize:P,onResizeStart:f,onResizeEnd:M,snapPoints:g,snapTolerance:w,collapseThreshold:v,paneId:W,persistence:N,children:_,style:j,onSizeChange:G,sizeUpdate:D,sizeUpdateMs:T=50,inset:k,id:X,...J}=a,Q=ie("Shell.Panel"),I=ce(Q,"rail"),Y=pe(d,"fixed"),F=d===void 0,ne=F?I?.presentationTable??se:Y.table,t=F?{"data-presentation-follows":""}:Y.attributes,n=de({name:"panel",label:"Panel",propNames:Ze,id:X,controlled:$(A),defaultValue:$(R),presentationTable:ne,builtIn:we,onChange:(V,oe)=>L?.(V!=="closed",{reason:oe}),onExpand:y,onCollapse:b,size:p});te("panel",k),e.useEffect(()=>{(g!==void 0||v!==void 0||W!==void 0||N!==void 0)&&void 0},[g,v,W,N]);let o=e.useRef(null),c=he(r,n.setElement,o),z=Le({name:"panel",elementId:n.id,elementRef:o,cssVarName:"--panel-size",orientation:"vertical",edge:"end",growth:Ne,expandedSize:p,minSize:i,maxSize:S,resizable:h,collapsible:E,size:x,defaultSize:H,onSizeChange:G,sizeUpdate:D,sizeUpdateMs:T,onResize:P,onResizeStart:f,onResizeEnd:M,snapPoints:g,snapTolerance:w,collapseThreshold:v,paneId:W,persistence:N,overlaying:n.overlaying,overlayingNow:()=>(F?Q.entries.get("rail")?.presentationTable??se:Y.table)[ve()]==="overlay",requestCollapse:()=>n.setValue("closed","toggle"),requestToggle:()=>n.toggle("toggle")}),{handles:B,content:O}=xe(_,re),K=h&&n.shown!==!1&&!n.overlaying?e.createElement(Ce.Provider,{value:z},B.length>0?B:e.createElement(Ee,null)):null;return e.createElement("div",{...ke(J),id:n.id,ref:c,className:U("rt-ShellPane","rt-ShellPanel",s),...ue(n,t),"data-inset":k||void 0,tabIndex:n.overlaying?-1:J.tabIndex,style:{...j,"--panel-expanded-size":`${p}px`}},e.createElement("div",{className:"rt-ShellPanelContent"},e.createElement(ae,null,O)),K)});Pe.displayName="Shell.Panel";Pe.Handle=re;var qe=e.forwardRef(({className:a,inset:r,...s},d)=>(te("content",r),e.createElement("main",{...s,ref:d,className:U("rt-ShellContent",a),"data-inset":r||void 0})));qe.displayName="Shell.Content";var je=e.forwardRef(({target:a,action:r="toggle",peekOnHover:s,onClick:d,onMouseEnter:R,onMouseLeave:A,children:L,...x},H)=>{let p=ie("Shell.Trigger");e.useEffect(()=>{a==="left"&&void 0,s&&void 0},[a,s]);let i=a==="left"?"rail":a,S=ce(p,i),h=S?.value===void 0?void 0:S.value!=="closed",E=P=>{if(d?.(P),P.defaultPrevented)return;let f=p.entries.get(i);f&&(p.peek===i&&ee(p,null),r==="toggle"?f.toggle("toggle"):r==="expand"?f.setValue("open","toggle"):f.setValue("closed","toggle"))},y=P=>{if(R?.(P),!s)return;let f=p.entries.get(i);f&&f.value==="closed"&&f.presentation!=="overlay"&&ee(p,i)},b=P=>{A?.(P),s&&p.peek===i&&ee(p,null)};return e.createElement("button",{type:"button","aria-controls":S?.id,"aria-expanded":h,...x,ref:H,onClick:E,onMouseEnter:y,onMouseLeave:b,"data-shell-trigger":a,"data-shell-action":r},L)});je.displayName="Shell.Trigger";export{We as a,_e as b,Ke as c,$e as d,Pe as e,qe as f,je as g,et as h};
2
- //# sourceMappingURL=chunk-7OQXCYCW.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/shell.tsx"],
4
- "sourcesContent": ["/**\n * Shell: the app frame.\n *\n * Since 0.8.0 the Shell is built on kookie-ui-v2's model, behind v1's API:\n *\n * - The Root is a CSS grid and renders its children as given, in JSX order.\n * Each pane claims its own grid area, so the Root never scans or reorders\n * children, any child renders, and a pane mounted after the Root works.\n * - State lives on each pane: `auto` (untouched), `open` or `closed`. An\n * untouched pane follows the window, resolved by the\n * stylesheet, so first paint needs no script and no open-state callback\n * fires on mount or on a resize.\n * - A pane is one element at every width. `overlay` is a posture of that\n * element, not a Sheet swapped in: crossing a breakpoint keeps its scroll\n * position, its focus and its children's state.\n * - The Root owns what an overlay needs: one scrim, `inert` on everything\n * else, focus moved in and returned, Escape, and a scroll lock.\n * - Nothing links panes to each other. A Rail closing no longer closes the\n * Panel; an app that wants that writes it in `onOpenChange`.\n */\n'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useComposedRefs } from 'radix-ui/internal';\nimport { PaneResizeContext } from './_internal/shell-resize.js';\nimport { PaneHandle, PanelHandle } from './_internal/shell-handles.js';\nimport { Sidebar } from './_internal/shell-sidebar.js';\nimport { Bottom } from './_internal/shell-bottom.js';\nimport { Inspector } from './_internal/shell-inspector.js';\nimport { usePane, paneAttributes, usePresentationTable } from './_internal/shell-pane.js';\nimport { splitHandles, useResizablePane } from './_internal/shell-resizable.js';\nimport {\n FIXED_TABLE,\n ShellInsetContext,\n ShellStoreContext,\n createShellStore,\n setShellPeek,\n subscribeShellStore,\n useInsetRegistration,\n usePaneEntry,\n useShellStore,\n warnOnce,\n type InsetPaneId,\n} from './_internal/shell-store.js';\nimport { navigationRest, detailRest, toPaneValue, startAnchoredGrowth, withoutRemovedPaneProps } from './_internal/shell-rest.js';\nimport { useShell, useSidebarMode } from './shell.context.js';\nimport { useResponsivePresentation } from './shell.hooks.js';\nimport { readBreakpoint } from '../hooks/use-breakpoint.js';\nimport { useThemeSize } from '../helpers/theme-size.js';\nimport { PaneChromeScope, PaneFooter, PaneHeader, Scroll, ShellSizeContext } from './_internal/pane-chrome.js';\nimport type { PaneSize } from './_internal/pane-chrome.js';\nimport type { Breakpoint, CSSPropertiesWithVars, PaneBaseProps, PaneMode, PaneName, PaneTarget, ResponsivePresentation, SidebarMode } from './shell.types.js';\n\n/* \u2500\u2500 Root \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\nexport interface ShellRootProps extends React.ComponentPropsWithoutRef<'div'> {\n children: React.ReactNode;\n height?: 'full' | 'auto' | string | number;\n /** The index the panes' chrome takes: `Shell.PaneHeader`, `Shell.Scroll`, `Shell.PaneFooter` and the Sidebar rows in them. Defaults to the nearest Theme's size (3 when the Theme is 4), else `2`. */\n size?: PaneSize;\n}\n\n/**\n * Every Shell with a live overlay holds the page still, counted across Shells,\n * through an attribute the stylesheet reads. Saving and restoring the\n * document's inline `overflow` would fight any other scroll lock on the page.\n */\nlet pageLockHolders = 0;\nfunction updatePageLock(delta: 1 | -1) {\n pageLockHolders = Math.max(0, pageLockHolders + delta);\n const doc = document.documentElement;\n if (pageLockHolders > 0) doc.setAttribute('data-rt-shell-lock', '');\n else doc.removeAttribute('data-rt-shell-lock');\n}\n\n/** Marks a child the Root made inert, so closing removes only what the Root added. */\nconst INERT_MARK = 'data-rt-shell-inert';\n\n/** How many frames a focus rescue watches after an overlay opens or closes. */\nconst RESCUE_FRAMES = 30;\n\n/** Focus that is nowhere useful: the document, or nothing at all. */\nfunction isNowhere(doc: Document, el: Element | EventTarget | null): boolean {\n return el === null || el === doc || el === doc.body || el === doc.documentElement;\n}\n\n/** A Trigger that drives the pane with this id and can take focus, optionally only inside `within`. */\nfunction triggerFor(doc: Document, id: string, within?: HTMLElement[]): HTMLElement | null {\n for (const el of doc.querySelectorAll<HTMLElement>('[data-shell-trigger][aria-controls]')) {\n if (el.getAttribute('aria-controls') !== id || el.closest('[inert]')) continue;\n if (within && !within.some((pane) => pane.contains(el))) continue;\n return el;\n }\n return null;\n}\n\ntype LivePane = { name: PaneName; id: string; el: HTMLElement };\n\n/** Shell.Root's own range; a Theme size above it maps to 3. */\nconst shellSizePropDef = { values: ['1', '2', '3'] as const };\n\nconst Root = React.forwardRef<HTMLDivElement, ShellRootProps>(({ className, children, height = 'full', size: sizeProp, style, onKeyDown, onFocus, ...props }, ref) => {\n // No size of its own: the nearest Theme's, mapped into 1-3.\n const size = useThemeSize(sizeProp, shellSizePropDef);\n const [store] = React.useState(createShellStore);\n const subscribe = React.useCallback((listener: () => void) => subscribeShellStore(store, listener), [store]);\n // Subscribed for the re-render, not for a value: a pane opening or closing\n // must bring the Root back so containment and the scrim follow it.\n React.useSyncExternalStore(\n subscribe,\n () => store.version,\n () => 0,\n );\n\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const composedRef = useComposedRefs(ref, rootRef);\n\n // Inset: the Root paints the backdrop while any pane is inset.\n const [insetPanes, setInsetPanes] = React.useState<ReadonlySet<InsetPaneId>>(() => new Set());\n const registerInset = React.useCallback((id: InsetPaneId) => {\n setInsetPanes((prev) => (prev.has(id) ? prev : new Set(prev).add(id)));\n }, []);\n const unregisterInset = React.useCallback((id: InsetPaneId) => {\n setInsetPanes((prev) => {\n if (!prev.has(id)) return prev;\n const next = new Set(prev);\n next.delete(id);\n return next;\n });\n }, []);\n const insetContext = React.useMemo(() => ({ registerInset, unregisterInset }), [registerInset, unregisterInset]);\n\n const closeOverlays = React.useCallback(() => {\n for (const entry of store.entries.values()) {\n if (entry.overlayLive) entry.setValue('closed', 'dismiss');\n }\n }, [store]);\n\n const livePanes = React.useCallback(\n (): LivePane[] => [...store.entries.values()].filter((entry) => entry.overlayLive && entry.el).map((entry) => ({ name: entry.name, id: entry.id, el: entry.el as HTMLElement })),\n [store],\n );\n const liveCount = [...store.entries.values()].filter((entry) => entry.overlayLive && entry.el).length;\n\n // A Shell given a height of its own sits inside a page, and its overlays\n // cover only its box: it holds no page lock. `full` is the page, and\n // `auto` grows with its content, so its overlays are placed on the window.\n const contained = height !== 'full' && height !== 'auto';\n\n /*\n * Containment is the Root's, not the pane's. Only the Root can see every live\n * overlay and every child at once. A per-pane effect, given two overlays,\n * inerts the other live overlay and restores values the other effect wrote,\n * which can leave the whole frame inert for good.\n *\n * Exempt are the scrim and each root child that CONTAINS a live overlay, so\n * a pane wrapped in a plain element is not inerted with its wrapper. A child\n * the Root inerts is marked, and closing clears only marked children, so\n * `inert` the app sets on a child is the app's before, during and after.\n */\n const contain = React.useCallback(() => {\n const rootEl = rootRef.current;\n if (!rootEl) return;\n const liveEls = livePanes().map((pane) => pane.el);\n for (const child of rootEl.children) {\n if (!(child instanceof HTMLElement) || child.classList.contains('rt-ShellScrim')) continue;\n const holdsLive = liveEls.some((el) => child === el || child.contains(el));\n if (liveEls.length === 0 || holdsLive) {\n if (child.hasAttribute(INERT_MARK)) {\n child.removeAttribute(INERT_MARK);\n child.inert = false;\n }\n } else if (!child.inert) {\n child.setAttribute(INERT_MARK, '');\n child.inert = true;\n }\n }\n }, [livePanes]);\n\n const returnFocusTo = React.useRef<HTMLElement | null>(null);\n const lastLive = React.useRef<LivePane[]>([]);\n const lastFocusInRoot = React.useRef<HTMLElement | null>(null);\n const holdsLock = React.useRef(false);\n\n /*\n * Focus can be taken away after the commit that moved it: a menu that\n * opened or closed a pane restores focus to its own trigger when it\n * finishes closing, which may be inert or hidden by then. For a few frames\n * after an overlay opens or closes, focus that ends up nowhere useful is\n * put back where it belongs.\n */\n const rescueFrame = React.useRef(0);\n const cancelRescue = React.useCallback(() => {\n if (rescueFrame.current) cancelAnimationFrame(rescueFrame.current);\n rescueFrame.current = 0;\n }, []);\n const rescueFocus = React.useCallback(\n (target: HTMLElement, lost: (active: Element | null) => boolean) => {\n cancelRescue();\n let frames = 0;\n const tick = () => {\n rescueFrame.current = 0;\n if (!target.isConnected) return;\n if (lost(target.ownerDocument.activeElement)) {\n target.focus({ preventScroll: true });\n return;\n }\n frames += 1;\n if (frames < RESCUE_FRAMES) rescueFrame.current = requestAnimationFrame(tick);\n };\n rescueFrame.current = requestAnimationFrame(tick);\n },\n [cancelRescue],\n );\n\n React.useEffect(\n () => () => {\n cancelRescue();\n if (holdsLock.current) {\n holdsLock.current = false;\n updatePageLock(-1);\n }\n },\n [cancelRescue],\n );\n\n // No dependency array, on purpose: a pane opening or closing is a render\n // of this component, and so is a child appearing through the Root.\n React.useEffect(() => {\n const rootEl = rootRef.current;\n if (!rootEl) return;\n const doc = rootEl.ownerDocument;\n const live = livePanes();\n const liveEls = live.map((pane) => pane.el);\n\n const wantsLock = !contained && live.length > 0;\n if (wantsLock !== holdsLock.current) {\n holdsLock.current = wantsLock;\n updatePageLock(wantsLock ? 1 : -1);\n }\n\n const previous = lastLive.current;\n lastLive.current = live;\n // A pane that left the live set because it closed, as opposed to one\n // that is still open but stopped being an overlay at a breakpoint.\n const closed = previous.filter((pane) => {\n if (liveEls.includes(pane.el)) return false;\n const entry = store.entries.get(pane.name);\n return !pane.el.isConnected || !entry || entry.el !== pane.el || entry.value === 'closed';\n });\n const inClosed = (active: Element | null) => active !== null && closed.some((pane) => pane.el.contains(active));\n\n // The return target is taken on the opening edge, before inerting: inerting\n // the subtree that holds the trigger blurs it. Focus already inside the\n // overlay (a pane that became one at a breakpoint) is no place to return\n // to, and an opener in a portal (a menu item) goes away with its menu, so\n // the last place focus held inside the frame stands in for it.\n if (previous.length === 0 && live.length > 0) {\n const active = doc.activeElement;\n let target = active instanceof HTMLElement && !isNowhere(doc, active) && !liveEls.some((el) => el.contains(active)) ? active : null;\n if (target && !rootEl.contains(target)) {\n const inRoot = lastFocusInRoot.current;\n if (inRoot && inRoot.isConnected && !liveEls.some((el) => el.contains(inRoot))) target = inRoot;\n }\n returnFocusTo.current = target;\n }\n\n contain();\n\n if (live.length === 0) {\n const before = returnFocusTo.current;\n returnFocusTo.current = null;\n // Every overlay that left only stopped being one: focus stays where it is.\n if (closed.length === 0) return;\n const usable = (el: HTMLElement | null) => el !== null && el.isConnected && !el.closest('[inert]') && !inClosed(el);\n let target = usable(before) ? before : null;\n for (const pane of closed) target ??= triggerFor(doc, pane.id);\n if (!target) return;\n const lost = (active: Element | null) => isNowhere(doc, active) || inClosed(active);\n if (lost(doc.activeElement)) target.focus({ preventScroll: true });\n else rescueFocus(target, lost);\n return;\n }\n\n // Some overlays closed while others stay: focus left in a closed one goes\n // to the Trigger that opened it, if a live pane holds it, or to the pane\n // on top.\n if (closed.length > 0) {\n const active = doc.activeElement;\n if (isNowhere(doc, active) || inClosed(active)) {\n let target: HTMLElement | null = null;\n for (const pane of closed) target ??= triggerFor(doc, pane.id, liveEls);\n (target ?? liveEls[liveEls.length - 1]).focus({ preventScroll: true });\n }\n }\n\n // Focus moves in on the opening edge and nowhere else, and only when it\n // is not already somewhere the user put it inside the live set.\n const opened = liveEls.filter((el) => !previous.some((pane) => pane.el === el));\n const active = doc.activeElement;\n if (opened.length > 0 && !liveEls.some((el) => el.contains(active))) {\n opened[0].focus({ preventScroll: true });\n rescueFocus(opened[0], (now) => isNowhere(doc, now) || (now instanceof Element && now.closest('[inert]') !== null));\n }\n });\n\n // A child that appears through its own state while an overlay is live does\n // not render the Root, so the Root watches its children while one is.\n React.useEffect(() => {\n const rootEl = rootRef.current;\n if (!rootEl || liveCount === 0 || typeof MutationObserver === 'undefined') return;\n const observer = new MutationObserver(contain);\n observer.observe(rootEl, { childList: true, subtree: true, attributes: true, attributeFilter: ['inert'] });\n return () => observer.disconnect();\n }, [liveCount, contain]);\n\n /*\n * Escape closes the overlays. It is handled as a React event on the Root, so\n * a component inside a pane that answers Escape in its own onKeyDown runs\n * first, and its preventDefault() or stopPropagation() keeps the pane open.\n * When the Root closes something it stops the event there, so a React\n * Escape handler above the Shell does not act on it too. A layer that\n * listens on the document in the capture phase (Radix dialogs, menus and\n * popovers) answers first and calls preventDefault() when it closes, so an\n * enclosing Kookie Dialog closes before a Shell inside it is asked.\n */\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(event);\n if (event.key !== 'Escape' || event.defaultPrevented || liveCount === 0) return;\n closeOverlays();\n event.stopPropagation();\n };\n\n // With focus on the document itself (a pane closed under it, or a menu that\n // closed and took focus with it), the Root never sees the key. While an\n // overlay is live the document answers that one case.\n React.useEffect(() => {\n const rootEl = rootRef.current;\n if (!rootEl || liveCount === 0) return;\n const doc = rootEl.ownerDocument;\n const onDocumentKeyDown = (event: KeyboardEvent) => {\n if (event.key !== 'Escape' || event.defaultPrevented || !isNowhere(doc, event.target)) return;\n closeOverlays();\n };\n doc.addEventListener('keydown', onDocumentKeyDown);\n return () => doc.removeEventListener('keydown', onDocumentKeyDown);\n }, [liveCount, closeOverlays]);\n\n const handleFocus = (event: React.FocusEvent<HTMLDivElement>) => {\n onFocus?.(event);\n if (event.target instanceof HTMLElement && rootRef.current?.contains(event.target)) lastFocusInRoot.current = event.target;\n };\n\n // A floating Panel sits beside the Rail when the Rail is showing, and\n // beside its card when the Rail is inset.\n const rail = store.entries.get('rail');\n const railShown = rail !== undefined && rail.value !== undefined && rail.value !== 'closed';\n const railOffset = railShown ? (insetPanes.has('rail') ? `calc(${rail.size}px + 2 * var(--shell-inset-gap))` : `${rail.size}px`) : undefined;\n\n // `full` writes no inline height: the stylesheet states it as 100vh with a\n // 100dvh override where supported, and an inline value would beat both.\n const heightStyle: React.CSSProperties = height === 'full' ? {} : height === 'auto' ? { height: 'auto' } : typeof height === 'number' ? { height: `${height}px` } : { height };\n\n return (\n <ShellStoreContext.Provider value={store}>\n <ShellSizeContext.Provider value={size}>\n <ShellInsetContext.Provider value={insetContext}>\n {/* The Root is not a widget: it hears Escape bubbling up from the panes,\n after their own handlers, to close the overlays. */}\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n {...props}\n ref={composedRef}\n className={classNames('rt-ShellRoot', className)}\n data-height={height === 'auto' ? 'auto' : undefined}\n data-has-inset={insetPanes.size > 0 || undefined}\n data-overlay-live={liveCount > 0 || undefined}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n style={{ ...heightStyle, ...(railOffset ? ({ '--shell-rail-offset': railOffset } as CSSPropertiesWithVars) : {}), ...style }}\n >\n {children}\n {/* Root-owned and always mounted. The stylesheet shows it while an\n overlay is live; containment takes the rest of the frame out of\n the accessibility tree, so the scrim itself is hidden from it. */}\n <div className=\"rt-ShellScrim\" aria-hidden onClick={closeOverlays} />\n </div>\n </ShellInsetContext.Provider>\n </ShellSizeContext.Provider>\n </ShellStoreContext.Provider>\n );\n});\nRoot.displayName = 'Shell.Root';\n\n/* \u2500\u2500 Header \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ninterface ShellHeaderProps extends React.ComponentPropsWithoutRef<'header'> {\n height?: number;\n}\n\nconst Header = React.forwardRef<HTMLElement, ShellHeaderProps>(({ className, height = 64, style, ...props }, ref) => (\n <header\n {...props}\n ref={ref}\n className={classNames('rt-ShellHeader', className)}\n style={\n {\n ...style,\n '--shell-header-height': `${height}px`,\n } as CSSPropertiesWithVars\n }\n />\n));\nHeader.displayName = 'Shell.Header';\n\n/* \u2500\u2500 Left (deprecated) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ninterface LeftProps extends React.ComponentPropsWithoutRef<'div'> {\n presentation?: ResponsivePresentation;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean, meta: { reason: 'init' | 'toggle' | 'panel' | 'responsive' | 'dismiss' }) => void;\n collapsible?: boolean;\n onExpand?: () => void;\n onCollapse?: () => void;\n inset?: boolean;\n}\n\n/**\n * @deprecated The Root no longer wraps the Rail and Panel in a Left\n * container: each is its own pane. `Shell.Left` renders its children and\n * ignores its own props. Removed in 1.0.\n */\nconst Left = React.forwardRef<HTMLDivElement, LeftProps>(({ children }, _ref) => {\n React.useEffect(() => {\n warnOnce('Shell.Left is deprecated and is removed in 1.0. Render Shell.Rail and Shell.Panel directly in Shell.Root.');\n }, []);\n return <>{children}</>;\n});\nLeft.displayName = 'Shell.Left';\n\n/* \u2500\u2500 Rail \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ntype RailOpenChangeMeta = { reason: 'init' | 'toggle' | 'responsive' | 'panel' | 'dismiss' };\n\ntype RailControlledProps = { open: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: RailOpenChangeMeta) => void; defaultOpen?: never };\ntype RailUncontrolledProps = { defaultOpen?: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: RailOpenChangeMeta) => void; open?: never };\n\ntype RailProps = React.ComponentPropsWithoutRef<'div'> & {\n presentation?: ResponsivePresentation;\n expandedSize?: number;\n collapsible?: boolean;\n /** @deprecated Use `onOpenChange`. */\n onExpand?: () => void;\n /** @deprecated Use `onOpenChange`. */\n onCollapse?: () => void;\n /** When true, adds margin and triggers the gray backdrop on the Shell. */\n inset?: boolean;\n} & (RailControlledProps | RailUncontrolledProps);\n\nconst RAIL_PROP_NAMES = { controlled: 'open', default: 'defaultOpen' };\n\nconst Rail = React.forwardRef<HTMLDivElement, RailProps>((props, ref) => {\n const { className, presentation, expandedSize = 64, collapsible: _collapsible, onExpand, onCollapse, children, style, open, defaultOpen, onOpenChange, inset, id, ...domProps } = props;\n const { table, attributes } = usePresentationTable(presentation, 'fixed');\n const pane = usePane({\n name: 'rail',\n label: 'Rail',\n propNames: RAIL_PROP_NAMES,\n id,\n controlled: toPaneValue(open),\n defaultValue: toPaneValue(defaultOpen),\n presentationTable: table,\n builtIn: navigationRest,\n onChange: (value, reason) => onOpenChange?.(value !== 'closed', { reason }),\n onExpand,\n onCollapse,\n size: expandedSize,\n });\n useInsetRegistration('rail', inset);\n const composedRef = useComposedRefs(ref, pane.setElement);\n\n return (\n <div\n {...domProps}\n id={pane.id}\n ref={composedRef}\n className={classNames('rt-ShellPane', 'rt-ShellRail', className)}\n {...paneAttributes(pane, attributes)}\n data-inset={inset || undefined}\n tabIndex={pane.overlaying ? -1 : domProps.tabIndex}\n style={{ ...style, '--rail-size': `${expandedSize}px` } as CSSPropertiesWithVars}\n >\n <RailContent>{children}</RailContent>\n </div>\n );\n});\nRail.displayName = 'Shell.Rail';\n\n/** The Rail's content carries the index, so the thin row styles can size themselves by it. */\nfunction RailContent({ children }: { children: React.ReactNode }) {\n const size = React.useContext(ShellSizeContext);\n return (\n <div className={classNames('rt-ShellRailContent', `rt-r-size-${size}`)}>\n <PaneChromeScope presentation=\"thin\">{children}</PaneChromeScope>\n </div>\n );\n}\n\n/* \u2500\u2500 Panel \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ntype HandleComponent = React.ForwardRefExoticComponent<React.ComponentPropsWithoutRef<'div'> & React.RefAttributes<HTMLDivElement>>;\n\ntype PanelOpenChangeMeta = { reason: 'toggle' | 'left' | 'init' | 'responsive' | 'dismiss' };\ntype PanelControlledProps = { open: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: PanelOpenChangeMeta) => void; defaultOpen?: never };\ntype PanelUncontrolledProps = { defaultOpen?: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: PanelOpenChangeMeta) => void; open?: never };\n\ntype PanelSizeControlledProps = { size: number | string; defaultSize?: never };\ntype PanelSizeUncontrolledProps = { defaultSize?: number | string; size?: never };\n\ntype PanelSizeChangeMeta = { reason: 'init' | 'resize' | 'controlled' };\ntype PanelPublicProps = PaneBaseProps &\n (PanelControlledProps | PanelUncontrolledProps) &\n (PanelSizeControlledProps | PanelSizeUncontrolledProps) & {\n onSizeChange?: (size: number, meta: PanelSizeChangeMeta) => void;\n sizeUpdate?: 'throttle' | 'debounce';\n sizeUpdateMs?: number;\n /** When true, adds margin and triggers the gray backdrop on the Shell. */\n inset?: boolean;\n };\ntype PanelComponent = React.ForwardRefExoticComponent<PanelPublicProps & React.RefAttributes<HTMLDivElement>> & {\n Handle: HandleComponent;\n};\n\nconst PANEL_PROP_NAMES = { controlled: 'open', default: 'defaultOpen' };\n\n/**\n * A Panel with a `presentation` of its own uses it. One without follows the\n * Rail rendered before it, which is how 0.7 placed a Panel; the stylesheet\n * reads the Rail's attributes for the first paint and the registry carries\n * the Rail's table for the JS mirror.\n */\nconst Panel = React.forwardRef<HTMLDivElement, PanelPublicProps>((props, ref) => {\n const {\n className,\n presentation,\n defaultOpen,\n open,\n onOpenChange,\n size,\n defaultSize,\n expandedSize = 288,\n minSize = 100,\n maxSize = 800,\n resizable = false,\n collapsible = true,\n onExpand,\n onCollapse,\n onResize,\n onResizeStart,\n onResizeEnd,\n snapPoints,\n snapTolerance,\n collapseThreshold,\n paneId,\n persistence,\n children,\n style,\n onSizeChange,\n sizeUpdate,\n sizeUpdateMs = 50,\n inset,\n id,\n ...domProps\n } = props;\n const store = useShellStore('Shell.Panel');\n const rail = usePaneEntry(store, 'rail');\n const own = usePresentationTable(presentation, 'fixed');\n const followsRail = presentation === undefined;\n const presentationTable = followsRail ? (rail?.presentationTable ?? FIXED_TABLE) : own.table;\n const presentationAttributes = followsRail ? { 'data-presentation-follows': '' } : own.attributes;\n\n const pane = usePane({\n name: 'panel',\n label: 'Panel',\n propNames: PANEL_PROP_NAMES,\n id,\n controlled: toPaneValue(open),\n defaultValue: toPaneValue(defaultOpen),\n presentationTable,\n builtIn: detailRest,\n onChange: (value, reason) => onOpenChange?.(value !== 'closed', { reason }),\n onExpand,\n onCollapse,\n size: expandedSize,\n });\n useInsetRegistration('panel', inset);\n\n React.useEffect(() => {\n if (snapPoints !== undefined || collapseThreshold !== undefined || paneId !== undefined || persistence !== undefined) {\n warnOnce('Shell.Panel: `snapPoints`, `collapseThreshold`, `paneId` and `persistence` are deprecated and are removed in 1.0. Keep the size in your own state with `size`/`onSizeChange`.');\n }\n }, [snapPoints, collapseThreshold, paneId, persistence]);\n\n const elementRef = React.useRef<HTMLElement | null>(null);\n const composedRef = useComposedRefs(ref, pane.setElement, elementRef);\n\n const resize = useResizablePane({\n name: 'panel',\n elementId: pane.id,\n elementRef,\n cssVarName: '--panel-size',\n orientation: 'vertical',\n edge: 'end',\n growth: startAnchoredGrowth,\n expandedSize,\n minSize,\n maxSize,\n resizable,\n collapsible,\n size,\n defaultSize,\n onSizeChange,\n sizeUpdate,\n sizeUpdateMs,\n onResize,\n onResizeStart,\n onResizeEnd,\n snapPoints,\n snapTolerance,\n collapseThreshold,\n paneId,\n persistence,\n overlaying: pane.overlaying,\n // Asked when the effect runs: the Rail registers its table after this\n // Panel first renders, so the render's answer can be out of date.\n overlayingNow: () => {\n const table = followsRail ? (store.entries.get('rail')?.presentationTable ?? FIXED_TABLE) : own.table;\n return table[readBreakpoint()] === 'overlay';\n },\n requestCollapse: () => pane.setValue('closed', 'toggle'),\n requestToggle: () => pane.toggle('toggle'),\n });\n\n const { handles, content } = splitHandles(children, PanelHandle);\n const handle = resizable && pane.shown !== false && !pane.overlaying ? <PaneResizeContext.Provider value={resize}>{handles.length > 0 ? handles : <PaneHandle />}</PaneResizeContext.Provider> : null;\n\n return (\n <div\n {...withoutRemovedPaneProps(domProps)}\n id={pane.id}\n ref={composedRef}\n className={classNames('rt-ShellPane', 'rt-ShellPanel', className)}\n {...paneAttributes(pane, presentationAttributes)}\n data-inset={inset || undefined}\n tabIndex={pane.overlaying ? -1 : domProps.tabIndex}\n style={\n {\n ...style,\n '--panel-expanded-size': `${expandedSize}px`,\n } as CSSPropertiesWithVars\n }\n >\n <div className=\"rt-ShellPanelContent\">\n <PaneChromeScope>{content}</PaneChromeScope>\n </div>\n {handle}\n </div>\n );\n}) as PanelComponent;\nPanel.displayName = 'Shell.Panel';\nPanel.Handle = PanelHandle;\n\n/* \u2500\u2500 Content \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ninterface ShellContentProps extends React.ComponentPropsWithoutRef<'main'> {\n /** When true, adds margin and triggers the gray backdrop on the Shell. */\n inset?: boolean;\n}\n\nconst Content = React.forwardRef<HTMLElement, ShellContentProps>(({ className, inset, ...props }, ref) => {\n useInsetRegistration('content', inset);\n return <main {...props} ref={ref} className={classNames('rt-ShellContent', className)} data-inset={inset || undefined} />;\n});\nContent.displayName = 'Shell.Content';\n\n/* \u2500\u2500 Trigger \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ntype TriggerAction = 'toggle' | 'expand' | 'collapse';\n\ninterface TriggerProps extends React.ComponentPropsWithoutRef<'button'> {\n target: PaneTarget;\n action?: TriggerAction;\n /**\n * Whether to show a preview of the target pane on hover while it is closed\n * and not an overlay. Defaults to false.\n *\n * @deprecated Removed in 1.0. A preview reachable only by mouse hover has no\n * keyboard or touch equivalent; open the pane instead.\n */\n peekOnHover?: boolean;\n}\n\n/**\n * A button that drives a pane by name, through the registry. It sets\n * `aria-controls` and `aria-expanded` (left off while an untouched pane\n * cannot know its state yet), renders `type=\"button\"`, and runs the\n * consumer's `onClick` first: calling `preventDefault()` there cancels it.\n */\nconst Trigger = React.forwardRef<HTMLButtonElement, TriggerProps>(({ target, action = 'toggle', peekOnHover, onClick, onMouseEnter, onMouseLeave, children, ...props }, ref) => {\n const store = useShellStore('Shell.Trigger');\n React.useEffect(() => {\n if (target === 'left') warnOnce('Shell.Trigger target=\"left\" is deprecated and is removed in 1.0. Use target=\"rail\".');\n if (peekOnHover) warnOnce('Shell.Trigger: `peekOnHover` is deprecated and is removed in 1.0.');\n }, [target, peekOnHover]);\n const name: PaneName = target === 'left' ? 'rail' : target;\n // Subscribes to its own pane only.\n const entry = usePaneEntry(store, name);\n const shown = entry?.value === undefined ? undefined : entry.value !== 'closed';\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(event);\n if (event.defaultPrevented) return;\n const current = store.entries.get(name);\n if (!current) return;\n if (store.peek === name) setShellPeek(store, null);\n if (action === 'toggle') current.toggle('toggle');\n else if (action === 'expand') current.setValue('open', 'toggle');\n else current.setValue('closed', 'toggle');\n };\n\n const handleMouseEnter = (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseEnter?.(event);\n if (!peekOnHover) return;\n const current = store.entries.get(name);\n if (current && current.value === 'closed' && current.presentation !== 'overlay') setShellPeek(store, name);\n };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseLeave?.(event);\n if (peekOnHover && store.peek === name) setShellPeek(store, null);\n };\n\n return (\n <button\n // A button's default type is `submit`. Stated before the spread, so a consumer's own wins.\n type=\"button\"\n aria-controls={entry?.id}\n aria-expanded={shown}\n {...props}\n ref={ref}\n onClick={handleClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n data-shell-trigger={target}\n data-shell-action={action}\n >\n {children}\n </button>\n );\n});\nTrigger.displayName = 'Shell.Trigger';\n\n// Exports\nexport {\n Root,\n Header,\n Left,\n Rail,\n Panel,\n Sidebar,\n Content,\n Inspector,\n Bottom,\n Trigger,\n PaneHeader,\n PaneFooter,\n Scroll,\n useShell,\n useSidebarMode,\n useResponsivePresentation,\n type PaneMode,\n type SidebarMode,\n type ResponsivePresentation,\n type PaneTarget,\n type TriggerAction,\n};\n"],
5
- "mappings": "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",
6
- "names": ["shell_exports", "__export", "Bottom", "Content", "Header", "Inspector", "Left", "PaneFooter", "PaneHeader", "Panel", "Rail", "Root", "Scroll", "Sidebar", "Trigger", "useResponsivePresentation", "useShell", "useSidebarMode", "React", "classNames", "useComposedRefs", "pageLockHolders", "updatePageLock", "delta", "doc", "INERT_MARK", "RESCUE_FRAMES", "isNowhere", "el", "triggerFor", "id", "within", "pane", "shellSizePropDef", "Root", "className", "children", "height", "sizeProp", "style", "onKeyDown", "onFocus", "props", "ref", "size", "useThemeSize", "store", "createShellStore", "subscribe", "listener", "subscribeShellStore", "rootRef", "composedRef", "useComposedRefs", "insetPanes", "setInsetPanes", "registerInset", "prev", "unregisterInset", "next", "insetContext", "closeOverlays", "entry", "livePanes", "liveCount", "contained", "contain", "rootEl", "liveEls", "child", "holdsLive", "returnFocusTo", "lastLive", "lastFocusInRoot", "holdsLock", "rescueFrame", "cancelRescue", "rescueFocus", "target", "lost", "frames", "tick", "live", "wantsLock", "previous", "closed", "inClosed", "active", "inRoot", "before", "opened", "now", "observer", "handleKeyDown", "event", "onDocumentKeyDown", "handleFocus", "rail", "railOffset", "heightStyle", "ShellStoreContext", "ShellSizeContext", "ShellInsetContext", "classNames", "Header", "Left", "_ref", "RAIL_PROP_NAMES", "Rail", "presentation", "expandedSize", "_collapsible", "onExpand", "onCollapse", "open", "defaultOpen", "onOpenChange", "inset", "domProps", "table", "attributes", "usePresentationTable", "usePane", "toPaneValue", "navigationRest", "value", "reason", "useInsetRegistration", "paneAttributes", "RailContent", "PaneChromeScope", "PANEL_PROP_NAMES", "Panel", "defaultSize", "minSize", "maxSize", "resizable", "collapsible", "onResize", "onResizeStart", "onResizeEnd", "snapPoints", "snapTolerance", "collapseThreshold", "paneId", "persistence", "onSizeChange", "sizeUpdate", "sizeUpdateMs", "useShellStore", "usePaneEntry", "own", "followsRail", "presentationTable", "FIXED_TABLE", "presentationAttributes", "detailRest", "elementRef", "resize", "useResizablePane", "startAnchoredGrowth", "readBreakpoint", "handles", "content", "splitHandles", "PanelHandle", "handle", "PaneResizeContext", "PaneHandle", "withoutRemovedPaneProps", "Content", "Trigger", "action", "peekOnHover", "onClick", "onMouseEnter", "onMouseLeave", "name", "shown", "handleClick", "current", "setShellPeek", "handleMouseEnter", "handleMouseLeave"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a as P}from"./chunk-7MPFZIZX.js";import{a as s}from"./chunk-MJJ7XDIP.js";import{c as C}from"./chunk-RGZKWVJC.js";import{a as d}from"./chunk-P3WB3K2M.js";import{a as f}from"./chunk-QWLKMVZY.js";import{e as A}from"./chunk-3YLYGKFB.js";import{a as c}from"./chunk-ELAW7ZUG.js";import{a as O}from"./chunk-OS3FCYZY.js";var k={};O(k,{Action:()=>h,Cancel:()=>N,Content:()=>v,Description:()=>E,Root:()=>u,Title:()=>T,Trigger:()=>R});import*as e from"react";import S from"classnames";import{AlertDialog as l}from"radix-ui";var u=t=>e.createElement(l.Root,{...t});u.displayName="AlertDialog.Root";var R=e.forwardRef(({children:t,...o},r)=>e.createElement(l.Trigger,{...o,ref:r,asChild:!0},s(t)));R.displayName="AlertDialog.Trigger";var{align:z,...y}=f,B={align:z},v=e.forwardRef(({align:t,...o},r)=>{let x=A(o,y.size),{className:b}=c({align:t},B),{className:w,forceMount:H,container:M,...W}=c(x,y),g=e.useRef(null),L=e.useMemo(()=>i=>{g.current=i,typeof r=="function"?r(i):r&&(r.current=i)},[r]);return e.useEffect(()=>{if(typeof window>"u")return;let i=g.current;if(!i)return;let a=i.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(a.length===0)return;let p=a[0],m=a[a.length-1],D=n=>{n.key==="Tab"&&(n.shiftKey?document.activeElement===p&&(n.preventDefault(),m.focus()):document.activeElement===m&&(n.preventDefault(),p.focus()))};return i.addEventListener("keydown",D),p.focus(),()=>{i.removeEventListener("keydown",D)}},[]),e.createElement(l.Portal,{container:M,forceMount:H},e.createElement(C,{asChild:!0},e.createElement(l.Overlay,{className:"rt-BaseDialogOverlay rt-AlertDialogOverlay"},e.createElement("div",{className:"rt-BaseDialogScroll rt-AlertDialogScroll"},e.createElement("div",{className:`rt-BaseDialogScrollPadding rt-AlertDialogScrollPadding ${b}`},e.createElement(l.Content,{...W,ref:L,className:S("rt-BaseDialogContent","rt-AlertDialogContent",w),tabIndex:-1,role:"alertdialog","aria-modal":"true","aria-describedby":"alert-dialog-description",onCloseAutoFocus:i=>{i.preventDefault(),document.body.style.pointerEvents=""}}),e.createElement("div",{"aria-live":"assertive","aria-atomic":"true",className:"rt-sr-only",id:"alert-dialog-announcement"}))))))});v.displayName="AlertDialog.Content";var T=e.forwardRef((t,o)=>e.createElement(l.Title,{asChild:!0},e.createElement(P,{size:"5",trim:"start",...t,asChild:!1,ref:o})));T.displayName="AlertDialog.Title";var E=e.forwardRef((t,o)=>e.createElement(l.Description,{asChild:!0},e.createElement(d,{as:"p",size:"3",...t,asChild:!1,ref:o})));E.displayName="AlertDialog.Description";var h=e.forwardRef(({children:t,...o},r)=>e.createElement(l.Action,{...o,ref:r,asChild:!0},s(t)));h.displayName="AlertDialog.Action";var N=e.forwardRef(({children:t,...o},r)=>e.createElement(l.Cancel,{...o,ref:r,asChild:!0},s(t)));N.displayName="AlertDialog.Cancel";export{u as a,R as b,v as c,T as d,E as e,h as f,N as g,k as h};
2
- //# sourceMappingURL=chunk-7QPXLSVR.js.map
@@ -1,2 +0,0 @@
1
- import{a as p}from"./chunk-DDFONGSM.js";import{a as o}from"./chunk-UONSKZQT.js";import{a as c}from"./chunk-5BWLY27A.js";import{a as m}from"./chunk-PS6NEG5A.js";import*as r from"react";import R from"classnames";import{ScrollArea as e}from"radix-ui";import{useComposedRefs as w}from"radix-ui/internal";var N=r.forwardRef((n,d)=>{let{asChild:t,children:S,className:f,style:A,type:a,scrollHideDelay:u=a!=="scroll"?0:void 0,dir:T,radius:s=o.radius.default,scrollbars:l=o.scrollbars.default,fade:i=o.fade.default,...P}=n,y=c(i),v=p(),b=w(d,y,v);return r.createElement(e.Root,{type:a,scrollHideDelay:u,className:R("rt-ScrollAreaRoot",f),"data-fade":i?"":void 0,style:A,asChild:t},m({asChild:t,children:S},h=>r.createElement(r.Fragment,null,r.createElement(e.Viewport,{...P,ref:b,className:"rt-ScrollAreaViewport"},h),r.createElement("div",{className:"rt-ScrollAreaViewportFocusRing"}),l!=="vertical"?r.createElement(e.Scrollbar,{"data-radius":s,orientation:"horizontal",className:"rt-ScrollAreaScrollbar"},r.createElement(e.Thumb,{className:"rt-ScrollAreaThumb"})):null,l!=="horizontal"?r.createElement(e.Scrollbar,{"data-radius":s,orientation:"vertical",className:"rt-ScrollAreaScrollbar"},r.createElement(e.Thumb,{className:"rt-ScrollAreaThumb"})):null,l==="both"?r.createElement(e.Corner,{className:"rt-ScrollAreaCorner"}):null)))});N.displayName="ScrollArea";export{N as a};
2
- //# sourceMappingURL=chunk-7XWAXYZD.js.map