@d4gger/design-system 2.7.0 → 3.0.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 (1127) hide show
  1. package/README.md +116 -136
  2. package/dist/_internal/BaseDialog.cjs +11 -1
  3. package/dist/_internal/BaseDialog.cjs.map +2 -2
  4. package/dist/_internal/BaseDialog.d.cts.map +1 -1
  5. package/dist/_internal/BaseDialog.d.mts.map +1 -1
  6. package/dist/_internal/BaseDialog.d.ts.map +1 -1
  7. package/dist/_internal/BaseDialog.js +11 -1
  8. package/dist/_internal/BaseDialog.js.map +2 -2
  9. package/dist/_internal/constants.cjs +1 -1
  10. package/dist/_internal/constants.cjs.map +2 -2
  11. package/dist/_internal/constants.d.cts +1 -1
  12. package/dist/_internal/constants.d.cts.map +1 -1
  13. package/dist/_internal/constants.d.mts +1 -1
  14. package/dist/_internal/constants.d.mts.map +1 -1
  15. package/dist/_internal/constants.d.ts +1 -1
  16. package/dist/_internal/constants.d.ts.map +1 -1
  17. package/dist/_internal/constants.js +1 -1
  18. package/dist/_internal/constants.js.map +2 -2
  19. package/dist/_internal/props/height.prop.cjs +1 -2
  20. package/dist/_internal/props/height.prop.cjs.map +2 -2
  21. package/dist/_internal/props/height.prop.d.cts.map +1 -1
  22. package/dist/_internal/props/height.prop.d.mts.map +1 -1
  23. package/dist/_internal/props/height.prop.d.ts.map +1 -1
  24. package/dist/_internal/props/height.prop.js +1 -2
  25. package/dist/_internal/props/height.prop.js.map +2 -2
  26. package/dist/_internal/props/layout.prop.cjs +16 -17
  27. package/dist/_internal/props/layout.prop.cjs.map +2 -2
  28. package/dist/_internal/props/layout.prop.d.cts.map +1 -1
  29. package/dist/_internal/props/layout.prop.d.mts.map +1 -1
  30. package/dist/_internal/props/layout.prop.d.ts.map +1 -1
  31. package/dist/_internal/props/layout.prop.js +1 -2
  32. package/dist/_internal/props/layout.prop.js.map +2 -2
  33. package/dist/_internal/props/margin.prop.cjs +2 -3
  34. package/dist/_internal/props/margin.prop.cjs.map +2 -2
  35. package/dist/_internal/props/margin.prop.d.cts.map +1 -1
  36. package/dist/_internal/props/margin.prop.d.mts.map +1 -1
  37. package/dist/_internal/props/margin.prop.d.ts.map +1 -1
  38. package/dist/_internal/props/margin.prop.js +1 -1
  39. package/dist/_internal/props/margin.prop.js.map +2 -2
  40. package/dist/_internal/props/padding.prop.cjs +8 -9
  41. package/dist/_internal/props/padding.prop.cjs.map +2 -2
  42. package/dist/_internal/props/padding.prop.d.cts.map +1 -1
  43. package/dist/_internal/props/padding.prop.d.mts.map +1 -1
  44. package/dist/_internal/props/padding.prop.d.ts.map +1 -1
  45. package/dist/_internal/props/padding.prop.js +1 -1
  46. package/dist/_internal/props/padding.prop.js.map +2 -2
  47. package/dist/_internal/props/propDef.cjs +11 -0
  48. package/dist/_internal/props/propDef.cjs.map +2 -2
  49. package/dist/_internal/props/propDef.d.cts +17 -3
  50. package/dist/_internal/props/propDef.d.cts.map +1 -1
  51. package/dist/_internal/props/propDef.d.mts +17 -3
  52. package/dist/_internal/props/propDef.d.mts.map +1 -1
  53. package/dist/_internal/props/propDef.d.ts +17 -3
  54. package/dist/_internal/props/propDef.d.ts.map +1 -1
  55. package/dist/_internal/props/propDef.js +11 -0
  56. package/dist/_internal/props/propDef.js.map +2 -2
  57. package/dist/_internal/props/radius.prop.cjs +2 -2
  58. package/dist/_internal/props/radius.prop.cjs.map +2 -2
  59. package/dist/_internal/props/radius.prop.d.cts +1 -1
  60. package/dist/_internal/props/radius.prop.d.cts.map +1 -1
  61. package/dist/_internal/props/radius.prop.d.mts +1 -1
  62. package/dist/_internal/props/radius.prop.d.mts.map +1 -1
  63. package/dist/_internal/props/radius.prop.d.ts +1 -1
  64. package/dist/_internal/props/radius.prop.d.ts.map +1 -1
  65. package/dist/_internal/props/radius.prop.js +1 -1
  66. package/dist/_internal/props/radius.prop.js.map +2 -2
  67. package/dist/_internal/props/width.prop.cjs +1 -2
  68. package/dist/_internal/props/width.prop.cjs.map +2 -2
  69. package/dist/_internal/props/width.prop.d.cts.map +1 -1
  70. package/dist/_internal/props/width.prop.d.mts.map +1 -1
  71. package/dist/_internal/props/width.prop.d.ts.map +1 -1
  72. package/dist/_internal/props/width.prop.js +1 -2
  73. package/dist/_internal/props/width.prop.js.map +2 -2
  74. package/dist/components/alert-dialog.css +7 -0
  75. package/dist/components/alert.css +24 -0
  76. package/dist/components/articleNodes/ArticleNodes.cjs.map +2 -2
  77. package/dist/components/articleNodes/ArticleNodes.d.cts +2 -31
  78. package/dist/components/articleNodes/ArticleNodes.d.cts.map +1 -1
  79. package/dist/components/articleNodes/ArticleNodes.d.mts +2 -31
  80. package/dist/components/articleNodes/ArticleNodes.d.mts.map +1 -1
  81. package/dist/components/articleNodes/ArticleNodes.d.ts +2 -31
  82. package/dist/components/articleNodes/ArticleNodes.d.ts.map +1 -1
  83. package/dist/components/articleNodes/ArticleNodes.js.map +2 -2
  84. package/dist/components/articleNodes/articleNodes.props.cjs +17 -0
  85. package/dist/components/articleNodes/articleNodes.props.cjs.map +7 -0
  86. package/dist/components/articleNodes/articleNodes.props.d.cts +32 -0
  87. package/dist/components/articleNodes/articleNodes.props.d.cts.map +1 -0
  88. package/dist/components/articleNodes/articleNodes.props.d.mts +32 -0
  89. package/dist/components/articleNodes/articleNodes.props.d.mts.map +1 -0
  90. package/dist/components/articleNodes/articleNodes.props.d.ts +32 -0
  91. package/dist/components/articleNodes/articleNodes.props.d.ts.map +1 -0
  92. package/dist/components/articleNodes/articleNodes.props.js +1 -0
  93. package/dist/components/articleNodes/articleNodes.props.js.map +7 -0
  94. package/dist/components/avatar.css +14 -3
  95. package/dist/components/badge/Badge.cjs +1 -1
  96. package/dist/components/badge/Badge.cjs.map +2 -2
  97. package/dist/components/badge/Badge.js +1 -1
  98. package/dist/components/badge/Badge.js.map +2 -2
  99. package/dist/components/badge/badge.props.cjs +1 -1
  100. package/dist/components/badge/badge.props.cjs.map +2 -2
  101. package/dist/components/badge/badge.props.d.cts +1 -1
  102. package/dist/components/badge/badge.props.d.mts +1 -1
  103. package/dist/components/badge/badge.props.d.ts +1 -1
  104. package/dist/components/badge/badge.props.js +1 -1
  105. package/dist/components/badge/badge.props.js.map +2 -2
  106. package/dist/components/badge.css +62 -28
  107. package/dist/components/button/Button.cjs +2 -0
  108. package/dist/components/button/Button.cjs.map +2 -2
  109. package/dist/components/button/Button.d.cts.map +1 -1
  110. package/dist/components/button/Button.d.mts.map +1 -1
  111. package/dist/components/button/Button.d.ts.map +1 -1
  112. package/dist/components/button/Button.js +2 -0
  113. package/dist/components/button/Button.js.map +2 -2
  114. package/dist/components/button/button.props.cjs +4 -0
  115. package/dist/components/button/button.props.cjs.map +2 -2
  116. package/dist/components/button/button.props.d.cts +4 -0
  117. package/dist/components/button/button.props.d.cts.map +1 -1
  118. package/dist/components/button/button.props.d.mts +4 -0
  119. package/dist/components/button/button.props.d.mts.map +1 -1
  120. package/dist/components/button/button.props.d.ts +4 -0
  121. package/dist/components/button/button.props.d.ts.map +1 -1
  122. package/dist/components/button/button.props.js +4 -0
  123. package/dist/components/button/button.props.js.map +2 -2
  124. package/dist/components/button.css +37 -7
  125. package/dist/components/card/Card.cjs +2 -0
  126. package/dist/components/card/Card.cjs.map +2 -2
  127. package/dist/components/card/Card.d.cts.map +1 -1
  128. package/dist/components/card/Card.d.mts.map +1 -1
  129. package/dist/components/card/Card.d.ts.map +1 -1
  130. package/dist/components/card/Card.js +2 -0
  131. package/dist/components/card/Card.js.map +2 -2
  132. package/dist/components/card/card.props.cjs +12 -1
  133. package/dist/components/card/card.props.cjs.map +2 -2
  134. package/dist/components/card/card.props.d.cts +12 -1
  135. package/dist/components/card/card.props.d.cts.map +1 -1
  136. package/dist/components/card/card.props.d.mts +12 -1
  137. package/dist/components/card/card.props.d.mts.map +1 -1
  138. package/dist/components/card/card.props.d.ts +12 -1
  139. package/dist/components/card/card.props.d.ts.map +1 -1
  140. package/dist/components/card/card.props.js +12 -1
  141. package/dist/components/card/card.props.js.map +2 -2
  142. package/dist/components/card.css +7 -9
  143. package/dist/components/carousel.css +21 -7
  144. package/dist/components/chart/Chart.cjs +76 -14
  145. package/dist/components/chart/Chart.cjs.map +2 -2
  146. package/dist/components/chart/Chart.d.cts +42 -5
  147. package/dist/components/chart/Chart.d.cts.map +1 -1
  148. package/dist/components/chart/Chart.d.mts +42 -5
  149. package/dist/components/chart/Chart.d.mts.map +1 -1
  150. package/dist/components/chart/Chart.d.ts +42 -5
  151. package/dist/components/chart/Chart.d.ts.map +1 -1
  152. package/dist/components/chart/Chart.js +80 -14
  153. package/dist/components/chart/Chart.js.map +2 -2
  154. package/dist/components/chart.css +20 -4
  155. package/dist/components/checkbox-cards.css +8 -0
  156. package/dist/components/checkbox.css +4 -4
  157. package/dist/components/code.css +9 -6
  158. package/dist/components/collapsible/Collapsible.cjs +7 -1
  159. package/dist/components/collapsible/Collapsible.cjs.map +2 -2
  160. package/dist/components/collapsible/Collapsible.d.cts.map +1 -1
  161. package/dist/components/collapsible/Collapsible.d.mts.map +1 -1
  162. package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
  163. package/dist/components/collapsible/Collapsible.js +7 -1
  164. package/dist/components/collapsible/Collapsible.js.map +2 -2
  165. package/dist/components/color-picker.css +3 -2
  166. package/dist/components/color-swatch.css +16 -4
  167. package/dist/components/colorPicker/ColorPicker.cjs +14 -0
  168. package/dist/components/colorPicker/ColorPicker.cjs.map +2 -2
  169. package/dist/components/colorPicker/ColorPicker.d.cts.map +1 -1
  170. package/dist/components/colorPicker/ColorPicker.d.mts.map +1 -1
  171. package/dist/components/colorPicker/ColorPicker.d.ts.map +1 -1
  172. package/dist/components/colorPicker/ColorPicker.js +14 -0
  173. package/dist/components/colorPicker/ColorPicker.js.map +2 -2
  174. package/dist/components/colorSwatch/ColorSwatch.cjs +20 -1
  175. package/dist/components/colorSwatch/ColorSwatch.cjs.map +2 -2
  176. package/dist/components/colorSwatch/ColorSwatch.d.cts.map +1 -1
  177. package/dist/components/colorSwatch/ColorSwatch.d.mts.map +1 -1
  178. package/dist/components/colorSwatch/ColorSwatch.d.ts.map +1 -1
  179. package/dist/components/colorSwatch/ColorSwatch.js +20 -1
  180. package/dist/components/colorSwatch/ColorSwatch.js.map +2 -2
  181. package/dist/components/combobox/Combobox.cjs +91 -11
  182. package/dist/components/combobox/Combobox.cjs.map +3 -3
  183. package/dist/components/combobox/Combobox.d.cts +10 -2
  184. package/dist/components/combobox/Combobox.d.cts.map +1 -1
  185. package/dist/components/combobox/Combobox.d.mts +10 -2
  186. package/dist/components/combobox/Combobox.d.mts.map +1 -1
  187. package/dist/components/combobox/Combobox.d.ts +10 -2
  188. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  189. package/dist/components/combobox/Combobox.js +92 -12
  190. package/dist/components/combobox/Combobox.js.map +3 -3
  191. package/dist/components/combobox/combobox.props.cjs +6 -1
  192. package/dist/components/combobox/combobox.props.cjs.map +2 -2
  193. package/dist/components/combobox/combobox.props.d.cts +6 -1
  194. package/dist/components/combobox/combobox.props.d.cts.map +1 -1
  195. package/dist/components/combobox/combobox.props.d.mts +6 -1
  196. package/dist/components/combobox/combobox.props.d.mts.map +1 -1
  197. package/dist/components/combobox/combobox.props.d.ts +6 -1
  198. package/dist/components/combobox/combobox.props.d.ts.map +1 -1
  199. package/dist/components/combobox/combobox.props.js +6 -1
  200. package/dist/components/combobox/combobox.props.js.map +2 -2
  201. package/dist/components/combobox.css +98 -25
  202. package/dist/components/command/Command.cjs +10 -4
  203. package/dist/components/command/Command.cjs.map +2 -2
  204. package/dist/components/command/Command.d.cts +2 -2
  205. package/dist/components/command/Command.d.cts.map +1 -1
  206. package/dist/components/command/Command.d.mts +2 -2
  207. package/dist/components/command/Command.d.mts.map +1 -1
  208. package/dist/components/command/Command.d.ts +2 -2
  209. package/dist/components/command/Command.d.ts.map +1 -1
  210. package/dist/components/command/Command.js +12 -5
  211. package/dist/components/command/Command.js.map +2 -2
  212. package/dist/components/command/command.props.cjs +11 -0
  213. package/dist/components/command/command.props.cjs.map +2 -2
  214. package/dist/components/command/command.props.d.cts +11 -1
  215. package/dist/components/command/command.props.d.cts.map +1 -1
  216. package/dist/components/command/command.props.d.mts +11 -1
  217. package/dist/components/command/command.props.d.mts.map +1 -1
  218. package/dist/components/command/command.props.d.ts +11 -1
  219. package/dist/components/command/command.props.d.ts.map +1 -1
  220. package/dist/components/command/command.props.js +11 -0
  221. package/dist/components/command/command.props.js.map +2 -2
  222. package/dist/components/command.css +3 -2
  223. package/dist/components/commentThread/CommentThread.cjs.map +2 -2
  224. package/dist/components/commentThread/CommentThread.d.cts +5 -20
  225. package/dist/components/commentThread/CommentThread.d.cts.map +1 -1
  226. package/dist/components/commentThread/CommentThread.d.mts +5 -20
  227. package/dist/components/commentThread/CommentThread.d.mts.map +1 -1
  228. package/dist/components/commentThread/CommentThread.d.ts +5 -20
  229. package/dist/components/commentThread/CommentThread.d.ts.map +1 -1
  230. package/dist/components/commentThread/CommentThread.js.map +2 -2
  231. package/dist/components/commentThread/commentThread.props.cjs +17 -0
  232. package/dist/components/commentThread/commentThread.props.cjs.map +7 -0
  233. package/dist/components/commentThread/commentThread.props.d.cts +21 -0
  234. package/dist/components/commentThread/commentThread.props.d.cts.map +1 -0
  235. package/dist/components/commentThread/commentThread.props.d.mts +21 -0
  236. package/dist/components/commentThread/commentThread.props.d.mts.map +1 -0
  237. package/dist/components/commentThread/commentThread.props.d.ts +21 -0
  238. package/dist/components/commentThread/commentThread.props.d.ts.map +1 -0
  239. package/dist/components/commentThread/commentThread.props.js +1 -0
  240. package/dist/components/commentThread/commentThread.props.js.map +7 -0
  241. package/dist/components/config-drawer.css +35 -0
  242. package/dist/components/configDrawer/ConfigDrawer.cjs +47 -23
  243. package/dist/components/configDrawer/ConfigDrawer.cjs.map +2 -2
  244. package/dist/components/configDrawer/ConfigDrawer.d.cts +12 -1
  245. package/dist/components/configDrawer/ConfigDrawer.d.cts.map +1 -1
  246. package/dist/components/configDrawer/ConfigDrawer.d.mts +12 -1
  247. package/dist/components/configDrawer/ConfigDrawer.d.mts.map +1 -1
  248. package/dist/components/configDrawer/ConfigDrawer.d.ts +12 -1
  249. package/dist/components/configDrawer/ConfigDrawer.d.ts.map +1 -1
  250. package/dist/components/configDrawer/ConfigDrawer.js +48 -24
  251. package/dist/components/configDrawer/ConfigDrawer.js.map +2 -2
  252. package/dist/components/context-menu.css +3 -1
  253. package/dist/components/control-group.css +142 -0
  254. package/dist/components/controlGroup/ControlGroup.cjs +56 -0
  255. package/dist/components/controlGroup/ControlGroup.cjs.map +7 -0
  256. package/dist/components/controlGroup/ControlGroup.d.cts +16 -0
  257. package/dist/components/controlGroup/ControlGroup.d.cts.map +1 -0
  258. package/dist/components/controlGroup/ControlGroup.d.mts +16 -0
  259. package/dist/components/controlGroup/ControlGroup.d.mts.map +1 -0
  260. package/dist/components/controlGroup/ControlGroup.d.ts +16 -0
  261. package/dist/components/controlGroup/ControlGroup.d.ts.map +1 -0
  262. package/dist/components/controlGroup/ControlGroup.js +26 -0
  263. package/dist/components/controlGroup/ControlGroup.js.map +7 -0
  264. package/dist/components/controlGroup/controlGroup.props.cjs +40 -0
  265. package/dist/components/controlGroup/controlGroup.props.cjs.map +7 -0
  266. package/dist/components/controlGroup/controlGroup.props.d.cts +18 -0
  267. package/dist/components/controlGroup/controlGroup.props.d.cts.map +1 -0
  268. package/dist/components/controlGroup/controlGroup.props.d.mts +18 -0
  269. package/dist/components/controlGroup/controlGroup.props.d.mts.map +1 -0
  270. package/dist/components/controlGroup/controlGroup.props.d.ts +18 -0
  271. package/dist/components/controlGroup/controlGroup.props.d.ts.map +1 -0
  272. package/dist/components/controlGroup/controlGroup.props.js +20 -0
  273. package/dist/components/controlGroup/controlGroup.props.js.map +7 -0
  274. package/dist/components/copy-button.css +6 -7
  275. package/dist/components/dialog.css +12 -0
  276. package/dist/components/drawer/Drawer.cjs +0 -12
  277. package/dist/components/drawer/Drawer.cjs.map +2 -2
  278. package/dist/components/drawer/Drawer.d.cts +1 -35
  279. package/dist/components/drawer/Drawer.d.cts.map +1 -1
  280. package/dist/components/drawer/Drawer.d.mts +1 -35
  281. package/dist/components/drawer/Drawer.d.mts.map +1 -1
  282. package/dist/components/drawer/Drawer.d.ts +1 -35
  283. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  284. package/dist/components/drawer/Drawer.js +0 -12
  285. package/dist/components/drawer/Drawer.js.map +2 -2
  286. package/dist/components/dropdown-menu.css +15 -3
  287. package/dist/components/dropdownMenu/DropdownMenu.cjs +1 -0
  288. package/dist/components/dropdownMenu/DropdownMenu.cjs.map +2 -2
  289. package/dist/components/dropdownMenu/DropdownMenu.d.cts.map +1 -1
  290. package/dist/components/dropdownMenu/DropdownMenu.d.mts.map +1 -1
  291. package/dist/components/dropdownMenu/DropdownMenu.d.ts.map +1 -1
  292. package/dist/components/dropdownMenu/DropdownMenu.js +1 -0
  293. package/dist/components/dropdownMenu/DropdownMenu.js.map +2 -2
  294. package/dist/components/editable/Editable.cjs +50 -7
  295. package/dist/components/editable/Editable.cjs.map +2 -2
  296. package/dist/components/editable/Editable.d.cts.map +1 -1
  297. package/dist/components/editable/Editable.d.mts.map +1 -1
  298. package/dist/components/editable/Editable.d.ts.map +1 -1
  299. package/dist/components/editable/Editable.js +50 -7
  300. package/dist/components/editable/Editable.js.map +2 -2
  301. package/dist/components/editable/editable.props.cjs +14 -0
  302. package/dist/components/editable/editable.props.cjs.map +2 -2
  303. package/dist/components/editable/editable.props.d.cts +13 -0
  304. package/dist/components/editable/editable.props.d.cts.map +1 -1
  305. package/dist/components/editable/editable.props.d.mts +13 -0
  306. package/dist/components/editable/editable.props.d.mts.map +1 -1
  307. package/dist/components/editable/editable.props.d.ts +13 -0
  308. package/dist/components/editable/editable.props.d.ts.map +1 -1
  309. package/dist/components/editable/editable.props.js +14 -0
  310. package/dist/components/editable/editable.props.js.map +2 -2
  311. package/dist/components/editable.css +22 -0
  312. package/dist/components/field/Field.cjs +3 -0
  313. package/dist/components/field/Field.cjs.map +2 -2
  314. package/dist/components/field/Field.d.cts.map +1 -1
  315. package/dist/components/field/Field.d.mts.map +1 -1
  316. package/dist/components/field/Field.d.ts.map +1 -1
  317. package/dist/components/field/Field.js +3 -0
  318. package/dist/components/field/Field.js.map +2 -2
  319. package/dist/components/field/field.props.cjs +0 -3
  320. package/dist/components/field/field.props.cjs.map +2 -2
  321. package/dist/components/field/field.props.d.cts +0 -3
  322. package/dist/components/field/field.props.d.cts.map +1 -1
  323. package/dist/components/field/field.props.d.mts +0 -3
  324. package/dist/components/field/field.props.d.mts.map +1 -1
  325. package/dist/components/field/field.props.d.ts +0 -3
  326. package/dist/components/field/field.props.d.ts.map +1 -1
  327. package/dist/components/field/field.props.js +0 -3
  328. package/dist/components/field/field.props.js.map +2 -2
  329. package/dist/components/field.css +4 -27
  330. package/dist/components/file-upload.css +10 -1
  331. package/dist/components/fileUpload/FileUpload.cjs +60 -25
  332. package/dist/components/fileUpload/FileUpload.cjs.map +2 -2
  333. package/dist/components/fileUpload/FileUpload.d.cts +4 -0
  334. package/dist/components/fileUpload/FileUpload.d.cts.map +1 -1
  335. package/dist/components/fileUpload/FileUpload.d.mts +4 -0
  336. package/dist/components/fileUpload/FileUpload.d.mts.map +1 -1
  337. package/dist/components/fileUpload/FileUpload.d.ts +4 -0
  338. package/dist/components/fileUpload/FileUpload.d.ts.map +1 -1
  339. package/dist/components/fileUpload/FileUpload.js +61 -26
  340. package/dist/components/fileUpload/FileUpload.js.map +2 -2
  341. package/dist/components/fileUpload/fileUpload.props.cjs +7 -1
  342. package/dist/components/fileUpload/fileUpload.props.cjs.map +2 -2
  343. package/dist/components/fileUpload/fileUpload.props.d.cts +5 -0
  344. package/dist/components/fileUpload/fileUpload.props.d.cts.map +1 -1
  345. package/dist/components/fileUpload/fileUpload.props.d.mts +5 -0
  346. package/dist/components/fileUpload/fileUpload.props.d.mts.map +1 -1
  347. package/dist/components/fileUpload/fileUpload.props.d.ts +5 -0
  348. package/dist/components/fileUpload/fileUpload.props.d.ts.map +1 -1
  349. package/dist/components/fileUpload/fileUpload.props.js +7 -1
  350. package/dist/components/fileUpload/fileUpload.props.js.map +2 -2
  351. package/dist/components/filter-bar.css +1 -0
  352. package/dist/components/flex/Flex.cjs +1 -1
  353. package/dist/components/flex/Flex.cjs.map +2 -2
  354. package/dist/components/flex/Flex.d.cts.map +1 -1
  355. package/dist/components/flex/Flex.d.mts.map +1 -1
  356. package/dist/components/flex/Flex.d.ts.map +1 -1
  357. package/dist/components/flex/Flex.js +1 -1
  358. package/dist/components/flex/Flex.js.map +2 -2
  359. package/dist/components/flex.css +24 -0
  360. package/dist/components/floating-panel.css +5 -4
  361. package/dist/components/fontProvider/FontProvider.cjs +44 -20
  362. package/dist/components/fontProvider/FontProvider.cjs.map +2 -2
  363. package/dist/components/fontProvider/FontProvider.d.cts.map +1 -1
  364. package/dist/components/fontProvider/FontProvider.d.mts.map +1 -1
  365. package/dist/components/fontProvider/FontProvider.d.ts.map +1 -1
  366. package/dist/components/fontProvider/FontProvider.js +44 -20
  367. package/dist/components/fontProvider/FontProvider.js.map +2 -2
  368. package/dist/components/fontProvider/fontProvider.props.cjs.map +1 -1
  369. package/dist/components/fontProvider/fontProvider.props.d.cts +1 -0
  370. package/dist/components/fontProvider/fontProvider.props.d.cts.map +1 -1
  371. package/dist/components/fontProvider/fontProvider.props.d.mts +1 -0
  372. package/dist/components/fontProvider/fontProvider.props.d.mts.map +1 -1
  373. package/dist/components/fontProvider/fontProvider.props.d.ts +1 -0
  374. package/dist/components/fontProvider/fontProvider.props.d.ts.map +1 -1
  375. package/dist/components/form/Form.cjs +1 -1
  376. package/dist/components/form/Form.cjs.map +2 -2
  377. package/dist/components/form/Form.d.cts +0 -2
  378. package/dist/components/form/Form.d.cts.map +1 -1
  379. package/dist/components/form/Form.d.mts +0 -2
  380. package/dist/components/form/Form.d.mts.map +1 -1
  381. package/dist/components/form/Form.d.ts +0 -2
  382. package/dist/components/form/Form.d.ts.map +1 -1
  383. package/dist/components/form/Form.js +1 -1
  384. package/dist/components/form/Form.js.map +2 -2
  385. package/dist/components/form/form.props.cjs +0 -1
  386. package/dist/components/form/form.props.cjs.map +2 -2
  387. package/dist/components/form/form.props.d.cts +0 -1
  388. package/dist/components/form/form.props.d.cts.map +1 -1
  389. package/dist/components/form/form.props.d.mts +0 -1
  390. package/dist/components/form/form.props.d.mts.map +1 -1
  391. package/dist/components/form/form.props.d.ts +0 -1
  392. package/dist/components/form/form.props.d.ts.map +1 -1
  393. package/dist/components/form/form.props.js +0 -1
  394. package/dist/components/form/form.props.js.map +2 -2
  395. package/dist/components/form.css +0 -8
  396. package/dist/components/grid/Grid.cjs +4 -3
  397. package/dist/components/grid/Grid.cjs.map +2 -2
  398. package/dist/components/grid/Grid.d.cts +1 -1
  399. package/dist/components/grid/Grid.d.cts.map +1 -1
  400. package/dist/components/grid/Grid.d.mts +1 -1
  401. package/dist/components/grid/Grid.d.mts.map +1 -1
  402. package/dist/components/grid/Grid.d.ts +1 -1
  403. package/dist/components/grid/Grid.d.ts.map +1 -1
  404. package/dist/components/grid/Grid.js +4 -3
  405. package/dist/components/grid/Grid.js.map +2 -2
  406. package/dist/components/heading.css +14 -0
  407. package/dist/components/hover-card.css +7 -10
  408. package/dist/components/hoverCard/HoverCard.cjs +1 -1
  409. package/dist/components/hoverCard/HoverCard.cjs.map +1 -1
  410. package/dist/components/hoverCard/HoverCard.js +1 -1
  411. package/dist/components/hoverCard/HoverCard.js.map +1 -1
  412. package/dist/components/icon/Icon.cjs +6 -0
  413. package/dist/components/icon/Icon.cjs.map +2 -2
  414. package/dist/components/icon/Icon.d.cts +9 -1
  415. package/dist/components/icon/Icon.d.cts.map +1 -1
  416. package/dist/components/icon/Icon.d.mts +9 -1
  417. package/dist/components/icon/Icon.d.mts.map +1 -1
  418. package/dist/components/icon/Icon.d.ts +9 -1
  419. package/dist/components/icon/Icon.d.ts.map +1 -1
  420. package/dist/components/icon/Icon.js +8 -0
  421. package/dist/components/icon/Icon.js.map +2 -2
  422. package/dist/components/icon/icons.cjs +4 -0
  423. package/dist/components/icon/icons.cjs.map +2 -2
  424. package/dist/components/icon/icons.d.cts +10 -0
  425. package/dist/components/icon/icons.d.cts.map +1 -1
  426. package/dist/components/icon/icons.d.mts +10 -0
  427. package/dist/components/icon/icons.d.mts.map +1 -1
  428. package/dist/components/icon/icons.d.ts +10 -0
  429. package/dist/components/icon/icons.d.ts.map +1 -1
  430. package/dist/components/icon/icons.js +4 -0
  431. package/dist/components/icon/icons.js.map +2 -2
  432. package/dist/components/icon-button.css +15 -8
  433. package/dist/components/iconButton/IconButton.cjs +2 -0
  434. package/dist/components/iconButton/IconButton.cjs.map +2 -2
  435. package/dist/components/iconButton/IconButton.d.cts.map +1 -1
  436. package/dist/components/iconButton/IconButton.d.mts.map +1 -1
  437. package/dist/components/iconButton/IconButton.d.ts.map +1 -1
  438. package/dist/components/iconButton/IconButton.js +2 -0
  439. package/dist/components/iconButton/IconButton.js.map +2 -2
  440. package/dist/components/iconButton/iconButton.props.cjs +4 -0
  441. package/dist/components/iconButton/iconButton.props.cjs.map +2 -2
  442. package/dist/components/iconButton/iconButton.props.d.cts +4 -0
  443. package/dist/components/iconButton/iconButton.props.d.cts.map +1 -1
  444. package/dist/components/iconButton/iconButton.props.d.mts +4 -0
  445. package/dist/components/iconButton/iconButton.props.d.mts.map +1 -1
  446. package/dist/components/iconButton/iconButton.props.d.ts +4 -0
  447. package/dist/components/iconButton/iconButton.props.d.ts.map +1 -1
  448. package/dist/components/iconButton/iconButton.props.js +4 -0
  449. package/dist/components/iconButton/iconButton.props.js.map +2 -2
  450. package/dist/components/index.cjs +2 -7
  451. package/dist/components/index.cjs.map +2 -2
  452. package/dist/components/index.d.cts +2 -7
  453. package/dist/components/index.d.cts.map +1 -1
  454. package/dist/components/index.d.mts +2 -7
  455. package/dist/components/index.d.mts.map +1 -1
  456. package/dist/components/index.d.ts +2 -7
  457. package/dist/components/index.d.ts.map +1 -1
  458. package/dist/components/index.js +2 -7
  459. package/dist/components/index.js.map +2 -2
  460. package/dist/components/input-otp.css +4 -0
  461. package/dist/components/input.css +16 -3
  462. package/dist/components/kbd.css +1 -1
  463. package/dist/components/label/Label.cjs +1 -1
  464. package/dist/components/label/Label.cjs.map +2 -2
  465. package/dist/components/label/Label.js +1 -1
  466. package/dist/components/label/Label.js.map +2 -2
  467. package/dist/components/label.css +1 -1
  468. package/dist/components/menu.css +5 -6
  469. package/dist/components/menubar.css +8 -4
  470. package/dist/components/native-select.css +4 -15
  471. package/dist/components/nativeSelect/NativeSelect.cjs +3 -4
  472. package/dist/components/nativeSelect/NativeSelect.cjs.map +2 -2
  473. package/dist/components/nativeSelect/NativeSelect.d.cts.map +1 -1
  474. package/dist/components/nativeSelect/NativeSelect.d.mts.map +1 -1
  475. package/dist/components/nativeSelect/NativeSelect.d.ts.map +1 -1
  476. package/dist/components/nativeSelect/NativeSelect.js +3 -4
  477. package/dist/components/nativeSelect/NativeSelect.js.map +2 -2
  478. package/dist/components/nativeSelect/nativeSelect.props.cjs +0 -8
  479. package/dist/components/nativeSelect/nativeSelect.props.cjs.map +2 -2
  480. package/dist/components/nativeSelect/nativeSelect.props.d.cts +0 -7
  481. package/dist/components/nativeSelect/nativeSelect.props.d.cts.map +1 -1
  482. package/dist/components/nativeSelect/nativeSelect.props.d.mts +0 -7
  483. package/dist/components/nativeSelect/nativeSelect.props.d.mts.map +1 -1
  484. package/dist/components/nativeSelect/nativeSelect.props.d.ts +0 -7
  485. package/dist/components/nativeSelect/nativeSelect.props.d.ts.map +1 -1
  486. package/dist/components/nativeSelect/nativeSelect.props.js +0 -8
  487. package/dist/components/nativeSelect/nativeSelect.props.js.map +2 -2
  488. package/dist/components/navigation-menu.css +67 -44
  489. package/dist/components/navigationMenu/NavigationMenu.cjs +87 -5
  490. package/dist/components/navigationMenu/NavigationMenu.cjs.map +2 -2
  491. package/dist/components/navigationMenu/NavigationMenu.d.cts.map +1 -1
  492. package/dist/components/navigationMenu/NavigationMenu.d.mts.map +1 -1
  493. package/dist/components/navigationMenu/NavigationMenu.d.ts.map +1 -1
  494. package/dist/components/navigationMenu/NavigationMenu.js +87 -5
  495. package/dist/components/navigationMenu/NavigationMenu.js.map +2 -2
  496. package/dist/components/notification-center.css +3 -2
  497. package/dist/components/number-input.css +44 -3
  498. package/dist/components/numberInput/NumberInput.cjs +106 -14
  499. package/dist/components/numberInput/NumberInput.cjs.map +2 -2
  500. package/dist/components/numberInput/NumberInput.d.cts +2 -0
  501. package/dist/components/numberInput/NumberInput.d.cts.map +1 -1
  502. package/dist/components/numberInput/NumberInput.d.mts +2 -0
  503. package/dist/components/numberInput/NumberInput.d.mts.map +1 -1
  504. package/dist/components/numberInput/NumberInput.d.ts +2 -0
  505. package/dist/components/numberInput/NumberInput.d.ts.map +1 -1
  506. package/dist/components/numberInput/NumberInput.js +107 -15
  507. package/dist/components/numberInput/NumberInput.js.map +2 -2
  508. package/dist/components/numberInput/numberInput.props.cjs +20 -0
  509. package/dist/components/numberInput/numberInput.props.cjs.map +2 -2
  510. package/dist/components/numberInput/numberInput.props.d.cts +18 -0
  511. package/dist/components/numberInput/numberInput.props.d.cts.map +1 -1
  512. package/dist/components/numberInput/numberInput.props.d.mts +18 -0
  513. package/dist/components/numberInput/numberInput.props.d.mts.map +1 -1
  514. package/dist/components/numberInput/numberInput.props.d.ts +18 -0
  515. package/dist/components/numberInput/numberInput.props.d.ts.map +1 -1
  516. package/dist/components/numberInput/numberInput.props.js +20 -0
  517. package/dist/components/numberInput/numberInput.props.js.map +2 -2
  518. package/dist/components/password-input.css +4 -2
  519. package/dist/components/phone-input.css +230 -0
  520. package/dist/components/phoneInput/PhoneInput.cjs +247 -0
  521. package/dist/components/phoneInput/PhoneInput.cjs.map +7 -0
  522. package/dist/components/phoneInput/PhoneInput.d.cts +24 -0
  523. package/dist/components/phoneInput/PhoneInput.d.cts.map +1 -0
  524. package/dist/components/phoneInput/PhoneInput.d.mts +24 -0
  525. package/dist/components/phoneInput/PhoneInput.d.mts.map +1 -0
  526. package/dist/components/phoneInput/PhoneInput.d.ts +24 -0
  527. package/dist/components/phoneInput/PhoneInput.d.ts.map +1 -0
  528. package/dist/components/phoneInput/PhoneInput.js +217 -0
  529. package/dist/components/phoneInput/PhoneInput.js.map +7 -0
  530. package/dist/components/phoneInput/phoneInput.props.cjs +40 -0
  531. package/dist/components/phoneInput/phoneInput.props.cjs.map +7 -0
  532. package/dist/components/phoneInput/phoneInput.props.d.cts +18 -0
  533. package/dist/components/phoneInput/phoneInput.props.d.cts.map +1 -0
  534. package/dist/components/phoneInput/phoneInput.props.d.mts +18 -0
  535. package/dist/components/phoneInput/phoneInput.props.d.mts.map +1 -0
  536. package/dist/components/phoneInput/phoneInput.props.d.ts +18 -0
  537. package/dist/components/phoneInput/phoneInput.props.d.ts.map +1 -0
  538. package/dist/components/phoneInput/phoneInput.props.js +20 -0
  539. package/dist/components/phoneInput/phoneInput.props.js.map +7 -0
  540. package/dist/components/pills/Pills.cjs +11 -2
  541. package/dist/components/pills/Pills.cjs.map +2 -2
  542. package/dist/components/pills/Pills.d.cts.map +1 -1
  543. package/dist/components/pills/Pills.d.mts.map +1 -1
  544. package/dist/components/pills/Pills.d.ts.map +1 -1
  545. package/dist/components/pills/Pills.js +11 -2
  546. package/dist/components/pills/Pills.js.map +2 -2
  547. package/dist/components/pills/pills.props.cjs +6 -1
  548. package/dist/components/pills/pills.props.cjs.map +2 -2
  549. package/dist/components/pills/pills.props.d.cts +6 -1
  550. package/dist/components/pills/pills.props.d.cts.map +1 -1
  551. package/dist/components/pills/pills.props.d.mts +6 -1
  552. package/dist/components/pills/pills.props.d.mts.map +1 -1
  553. package/dist/components/pills/pills.props.d.ts +6 -1
  554. package/dist/components/pills/pills.props.d.ts.map +1 -1
  555. package/dist/components/pills/pills.props.js +6 -1
  556. package/dist/components/pills/pills.props.js.map +2 -2
  557. package/dist/components/pills.css +40 -1
  558. package/dist/components/popover/Popover.cjs +1 -1
  559. package/dist/components/popover/Popover.cjs.map +1 -1
  560. package/dist/components/popover/Popover.js +1 -1
  561. package/dist/components/popover/Popover.js.map +1 -1
  562. package/dist/components/popover.css +10 -0
  563. package/dist/components/progress.css +6 -2
  564. package/dist/components/prose/Prose.cjs.map +2 -2
  565. package/dist/components/prose/Prose.d.cts +2 -5
  566. package/dist/components/prose/Prose.d.cts.map +1 -1
  567. package/dist/components/prose/Prose.d.mts +2 -5
  568. package/dist/components/prose/Prose.d.mts.map +1 -1
  569. package/dist/components/prose/Prose.d.ts +2 -5
  570. package/dist/components/prose/Prose.d.ts.map +1 -1
  571. package/dist/components/prose/Prose.js.map +2 -2
  572. package/dist/components/prose/prose.props.cjs +17 -0
  573. package/dist/components/prose/prose.props.cjs.map +7 -0
  574. package/dist/components/prose/prose.props.d.cts +7 -0
  575. package/dist/components/prose/prose.props.d.cts.map +1 -0
  576. package/dist/components/prose/prose.props.d.mts +7 -0
  577. package/dist/components/prose/prose.props.d.mts.map +1 -0
  578. package/dist/components/prose/prose.props.d.ts +7 -0
  579. package/dist/components/prose/prose.props.d.ts.map +1 -0
  580. package/dist/components/prose/prose.props.js +1 -0
  581. package/dist/components/prose/prose.props.js.map +7 -0
  582. package/dist/components/radio-cards.css +8 -0
  583. package/dist/components/rating/Rating.cjs +2 -1
  584. package/dist/components/rating/Rating.cjs.map +2 -2
  585. package/dist/components/rating/Rating.d.cts.map +1 -1
  586. package/dist/components/rating/Rating.d.mts.map +1 -1
  587. package/dist/components/rating/Rating.d.ts.map +1 -1
  588. package/dist/components/rating/Rating.js +2 -1
  589. package/dist/components/rating/Rating.js.map +2 -2
  590. package/dist/components/result/Result.cjs.map +2 -2
  591. package/dist/components/result/Result.d.cts +2 -11
  592. package/dist/components/result/Result.d.cts.map +1 -1
  593. package/dist/components/result/Result.d.mts +2 -11
  594. package/dist/components/result/Result.d.mts.map +1 -1
  595. package/dist/components/result/Result.d.ts +2 -11
  596. package/dist/components/result/Result.d.ts.map +1 -1
  597. package/dist/components/result/Result.js.map +2 -2
  598. package/dist/components/result/result.props.cjs +17 -0
  599. package/dist/components/result/result.props.cjs.map +7 -0
  600. package/dist/components/result/result.props.d.cts +13 -0
  601. package/dist/components/result/result.props.d.cts.map +1 -0
  602. package/dist/components/result/result.props.d.mts +13 -0
  603. package/dist/components/result/result.props.d.mts.map +1 -0
  604. package/dist/components/result/result.props.d.ts +13 -0
  605. package/dist/components/result/result.props.d.ts.map +1 -0
  606. package/dist/components/result/result.props.js +1 -0
  607. package/dist/components/result/result.props.js.map +7 -0
  608. package/dist/components/result.css +1 -0
  609. package/dist/components/searchBar/SearchBar.cjs +2 -0
  610. package/dist/components/searchBar/SearchBar.cjs.map +2 -2
  611. package/dist/components/searchBar/SearchBar.d.cts.map +1 -1
  612. package/dist/components/searchBar/SearchBar.d.mts.map +1 -1
  613. package/dist/components/searchBar/SearchBar.d.ts.map +1 -1
  614. package/dist/components/searchBar/SearchBar.js +3 -1
  615. package/dist/components/searchBar/SearchBar.js.map +2 -2
  616. package/dist/components/searchBar/searchBar.props.cjs +4 -0
  617. package/dist/components/searchBar/searchBar.props.cjs.map +2 -2
  618. package/dist/components/searchBar/searchBar.props.d.cts +4 -0
  619. package/dist/components/searchBar/searchBar.props.d.cts.map +1 -1
  620. package/dist/components/searchBar/searchBar.props.d.mts +4 -0
  621. package/dist/components/searchBar/searchBar.props.d.mts.map +1 -1
  622. package/dist/components/searchBar/searchBar.props.d.ts +4 -0
  623. package/dist/components/searchBar/searchBar.props.d.ts.map +1 -1
  624. package/dist/components/searchBar/searchBar.props.js +4 -0
  625. package/dist/components/searchBar/searchBar.props.js.map +2 -2
  626. package/dist/components/section/section.props.cjs +8 -0
  627. package/dist/components/section/section.props.cjs.map +2 -2
  628. package/dist/components/section/section.props.d.cts +6 -0
  629. package/dist/components/section/section.props.d.cts.map +1 -1
  630. package/dist/components/section/section.props.d.mts +6 -0
  631. package/dist/components/section/section.props.d.mts.map +1 -1
  632. package/dist/components/section/section.props.d.ts +6 -0
  633. package/dist/components/section/section.props.d.ts.map +1 -1
  634. package/dist/components/section/section.props.js +8 -0
  635. package/dist/components/section/section.props.js.map +2 -2
  636. package/dist/components/segmented-control.css +93 -53
  637. package/dist/components/segmented-meter.css +6 -3
  638. package/dist/components/segmentedControl/SegmentedControl.cjs +105 -13
  639. package/dist/components/segmentedControl/SegmentedControl.cjs.map +2 -2
  640. package/dist/components/segmentedControl/SegmentedControl.d.cts +1 -0
  641. package/dist/components/segmentedControl/SegmentedControl.d.cts.map +1 -1
  642. package/dist/components/segmentedControl/SegmentedControl.d.mts +1 -0
  643. package/dist/components/segmentedControl/SegmentedControl.d.mts.map +1 -1
  644. package/dist/components/segmentedControl/SegmentedControl.d.ts +1 -0
  645. package/dist/components/segmentedControl/SegmentedControl.d.ts.map +1 -1
  646. package/dist/components/segmentedControl/SegmentedControl.js +106 -14
  647. package/dist/components/segmentedControl/SegmentedControl.js.map +2 -2
  648. package/dist/components/segmentedControl/segmentedControl.props.cjs +7 -1
  649. package/dist/components/segmentedControl/segmentedControl.props.cjs.map +2 -2
  650. package/dist/components/segmentedControl/segmentedControl.props.d.cts +6 -1
  651. package/dist/components/segmentedControl/segmentedControl.props.d.cts.map +1 -1
  652. package/dist/components/segmentedControl/segmentedControl.props.d.mts +6 -1
  653. package/dist/components/segmentedControl/segmentedControl.props.d.mts.map +1 -1
  654. package/dist/components/segmentedControl/segmentedControl.props.d.ts +6 -1
  655. package/dist/components/segmentedControl/segmentedControl.props.d.ts.map +1 -1
  656. package/dist/components/segmentedControl/segmentedControl.props.js +7 -1
  657. package/dist/components/segmentedControl/segmentedControl.props.js.map +2 -2
  658. package/dist/components/select/Select.cjs +76 -16
  659. package/dist/components/select/Select.cjs.map +3 -3
  660. package/dist/components/select/Select.d.cts +5 -2
  661. package/dist/components/select/Select.d.cts.map +1 -1
  662. package/dist/components/select/Select.d.mts +5 -2
  663. package/dist/components/select/Select.d.mts.map +1 -1
  664. package/dist/components/select/Select.d.ts +5 -2
  665. package/dist/components/select/Select.d.ts.map +1 -1
  666. package/dist/components/select/Select.js +76 -16
  667. package/dist/components/select/Select.js.map +3 -3
  668. package/dist/components/select/select.props.cjs +5 -1
  669. package/dist/components/select/select.props.cjs.map +2 -2
  670. package/dist/components/select/select.props.d.cts +8 -4
  671. package/dist/components/select/select.props.d.cts.map +1 -1
  672. package/dist/components/select/select.props.d.mts +8 -4
  673. package/dist/components/select/select.props.d.mts.map +1 -1
  674. package/dist/components/select/select.props.d.ts +8 -4
  675. package/dist/components/select/select.props.d.ts.map +1 -1
  676. package/dist/components/select/select.props.js +5 -1
  677. package/dist/components/select/select.props.js.map +2 -2
  678. package/dist/components/select.css +142 -16
  679. package/dist/components/separator.css +8 -2
  680. package/dist/components/sidebar/Sidebar.cjs +513 -113
  681. package/dist/components/sidebar/Sidebar.cjs.map +2 -2
  682. package/dist/components/sidebar/Sidebar.d.cts +61 -5
  683. package/dist/components/sidebar/Sidebar.d.cts.map +1 -1
  684. package/dist/components/sidebar/Sidebar.d.mts +61 -5
  685. package/dist/components/sidebar/Sidebar.d.mts.map +1 -1
  686. package/dist/components/sidebar/Sidebar.d.ts +61 -5
  687. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  688. package/dist/components/sidebar/Sidebar.js +514 -113
  689. package/dist/components/sidebar/Sidebar.js.map +2 -2
  690. package/dist/components/sidebar/sidebar.props.cjs +32 -0
  691. package/dist/components/sidebar/sidebar.props.cjs.map +2 -2
  692. package/dist/components/sidebar/sidebar.props.d.cts +34 -1
  693. package/dist/components/sidebar/sidebar.props.d.cts.map +1 -1
  694. package/dist/components/sidebar/sidebar.props.d.mts +34 -1
  695. package/dist/components/sidebar/sidebar.props.d.mts.map +1 -1
  696. package/dist/components/sidebar/sidebar.props.d.ts +34 -1
  697. package/dist/components/sidebar/sidebar.props.d.ts.map +1 -1
  698. package/dist/components/sidebar/sidebar.props.js +32 -0
  699. package/dist/components/sidebar/sidebar.props.js.map +2 -2
  700. package/dist/components/sidebar.css +408 -51
  701. package/dist/components/skeleton/Skeleton.cjs +1 -1
  702. package/dist/components/skeleton/Skeleton.cjs.map +2 -2
  703. package/dist/components/skeleton/Skeleton.js +1 -1
  704. package/dist/components/skeleton/Skeleton.js.map +2 -2
  705. package/dist/components/skeleton.css +9 -3
  706. package/dist/components/slider.css +15 -7
  707. package/dist/components/sortable-list.css +1 -0
  708. package/dist/components/sortableList/SortableList.cjs +7 -2
  709. package/dist/components/sortableList/SortableList.cjs.map +2 -2
  710. package/dist/components/sortableList/SortableList.d.cts +2 -19
  711. package/dist/components/sortableList/SortableList.d.cts.map +1 -1
  712. package/dist/components/sortableList/SortableList.d.mts +2 -19
  713. package/dist/components/sortableList/SortableList.d.mts.map +1 -1
  714. package/dist/components/sortableList/SortableList.d.ts +2 -19
  715. package/dist/components/sortableList/SortableList.d.ts.map +1 -1
  716. package/dist/components/sortableList/SortableList.js +7 -2
  717. package/dist/components/sortableList/SortableList.js.map +2 -2
  718. package/dist/components/sortableList/sortableList.props.cjs +17 -0
  719. package/dist/components/sortableList/sortableList.props.cjs.map +7 -0
  720. package/dist/components/sortableList/sortableList.props.d.cts +21 -0
  721. package/dist/components/sortableList/sortableList.props.d.cts.map +1 -0
  722. package/dist/components/sortableList/sortableList.props.d.mts +21 -0
  723. package/dist/components/sortableList/sortableList.props.d.mts.map +1 -0
  724. package/dist/components/sortableList/sortableList.props.d.ts +21 -0
  725. package/dist/components/sortableList/sortableList.props.d.ts.map +1 -0
  726. package/dist/components/sortableList/sortableList.props.js +1 -0
  727. package/dist/components/sortableList/sortableList.props.js.map +7 -0
  728. package/dist/components/spinner/Spinner.cjs +22 -3
  729. package/dist/components/spinner/Spinner.cjs.map +2 -2
  730. package/dist/components/spinner/Spinner.d.cts.map +1 -1
  731. package/dist/components/spinner/Spinner.d.mts.map +1 -1
  732. package/dist/components/spinner/Spinner.d.ts.map +1 -1
  733. package/dist/components/spinner/Spinner.js +22 -3
  734. package/dist/components/spinner/Spinner.js.map +2 -2
  735. package/dist/components/spinner/spinner.props.cjs +10 -0
  736. package/dist/components/spinner/spinner.props.cjs.map +2 -2
  737. package/dist/components/spinner/spinner.props.d.cts +9 -0
  738. package/dist/components/spinner/spinner.props.d.cts.map +1 -1
  739. package/dist/components/spinner/spinner.props.d.mts +9 -0
  740. package/dist/components/spinner/spinner.props.d.mts.map +1 -1
  741. package/dist/components/spinner/spinner.props.d.ts +9 -0
  742. package/dist/components/spinner/spinner.props.d.ts.map +1 -1
  743. package/dist/components/spinner/spinner.props.js +10 -0
  744. package/dist/components/spinner/spinner.props.js.map +2 -2
  745. package/dist/components/spinner.css +38 -0
  746. package/dist/components/stepper.css +63 -8
  747. package/dist/components/switch/Switch.cjs +1 -5
  748. package/dist/components/switch/Switch.cjs.map +2 -2
  749. package/dist/components/switch/Switch.d.cts.map +1 -1
  750. package/dist/components/switch/Switch.d.mts.map +1 -1
  751. package/dist/components/switch/Switch.d.ts.map +1 -1
  752. package/dist/components/switch/Switch.js +1 -5
  753. package/dist/components/switch/Switch.js.map +2 -2
  754. package/dist/components/switch.css +38 -16
  755. package/dist/components/tableOfContents/TableOfContents.cjs.map +2 -2
  756. package/dist/components/tableOfContents/TableOfContents.d.cts +2 -12
  757. package/dist/components/tableOfContents/TableOfContents.d.cts.map +1 -1
  758. package/dist/components/tableOfContents/TableOfContents.d.mts +2 -12
  759. package/dist/components/tableOfContents/TableOfContents.d.mts.map +1 -1
  760. package/dist/components/tableOfContents/TableOfContents.d.ts +2 -12
  761. package/dist/components/tableOfContents/TableOfContents.d.ts.map +1 -1
  762. package/dist/components/tableOfContents/TableOfContents.js.map +2 -2
  763. package/dist/components/tableOfContents/tableOfContents.props.cjs +17 -0
  764. package/dist/components/tableOfContents/tableOfContents.props.cjs.map +7 -0
  765. package/dist/components/tableOfContents/tableOfContents.props.d.cts +14 -0
  766. package/dist/components/tableOfContents/tableOfContents.props.d.cts.map +1 -0
  767. package/dist/components/tableOfContents/tableOfContents.props.d.mts +14 -0
  768. package/dist/components/tableOfContents/tableOfContents.props.d.mts.map +1 -0
  769. package/dist/components/tableOfContents/tableOfContents.props.d.ts +14 -0
  770. package/dist/components/tableOfContents/tableOfContents.props.d.ts.map +1 -0
  771. package/dist/components/tableOfContents/tableOfContents.props.js +1 -0
  772. package/dist/components/tableOfContents/tableOfContents.props.js.map +7 -0
  773. package/dist/components/tabs.css +1 -1
  774. package/dist/components/tag/Tag.cjs +75 -0
  775. package/dist/components/tag/Tag.cjs.map +7 -0
  776. package/dist/components/tag/Tag.d.cts +12 -0
  777. package/dist/components/tag/Tag.d.cts.map +1 -0
  778. package/dist/components/tag/Tag.d.mts +12 -0
  779. package/dist/components/tag/Tag.d.mts.map +1 -0
  780. package/dist/components/tag/Tag.d.ts +12 -0
  781. package/dist/components/tag/Tag.d.ts.map +1 -0
  782. package/dist/components/tag/Tag.js +45 -0
  783. package/dist/components/tag/Tag.js.map +7 -0
  784. package/dist/components/tag/tag.props.cjs +52 -0
  785. package/dist/components/tag/tag.props.cjs.map +7 -0
  786. package/dist/components/tag/tag.props.d.cts +32 -0
  787. package/dist/components/tag/tag.props.d.cts.map +1 -0
  788. package/dist/components/tag/tag.props.d.mts +32 -0
  789. package/dist/components/tag/tag.props.d.mts.map +1 -0
  790. package/dist/components/tag/tag.props.d.ts +32 -0
  791. package/dist/components/tag/tag.props.d.ts.map +1 -0
  792. package/dist/components/tag/tag.props.js +32 -0
  793. package/dist/components/tag/tag.props.js.map +7 -0
  794. package/dist/components/tag.css +106 -0
  795. package/dist/components/tags-input.css +31 -9
  796. package/dist/components/tagsInput/TagsInput.cjs +43 -9
  797. package/dist/components/tagsInput/TagsInput.cjs.map +2 -2
  798. package/dist/components/tagsInput/TagsInput.d.cts.map +1 -1
  799. package/dist/components/tagsInput/TagsInput.d.mts.map +1 -1
  800. package/dist/components/tagsInput/TagsInput.d.ts.map +1 -1
  801. package/dist/components/tagsInput/TagsInput.js +43 -9
  802. package/dist/components/tagsInput/TagsInput.js.map +2 -2
  803. package/dist/components/tagsInput/tagsInput.props.cjs +20 -0
  804. package/dist/components/tagsInput/tagsInput.props.cjs.map +2 -2
  805. package/dist/components/tagsInput/tagsInput.props.d.cts +20 -0
  806. package/dist/components/tagsInput/tagsInput.props.d.cts.map +1 -1
  807. package/dist/components/tagsInput/tagsInput.props.d.mts +20 -0
  808. package/dist/components/tagsInput/tagsInput.props.d.mts.map +1 -1
  809. package/dist/components/tagsInput/tagsInput.props.d.ts +20 -0
  810. package/dist/components/tagsInput/tagsInput.props.d.ts.map +1 -1
  811. package/dist/components/tagsInput/tagsInput.props.js +20 -0
  812. package/dist/components/tagsInput/tagsInput.props.js.map +2 -2
  813. package/dist/components/text-area-field.css +177 -0
  814. package/dist/components/text-field.css +39 -2
  815. package/dist/components/text.css +9 -0
  816. package/dist/components/textArea/textArea.props.cjs +1 -1
  817. package/dist/components/textArea/textArea.props.cjs.map +2 -2
  818. package/dist/components/textArea/textArea.props.d.cts +1 -1
  819. package/dist/components/textArea/textArea.props.d.mts +1 -1
  820. package/dist/components/textArea/textArea.props.d.ts +1 -1
  821. package/dist/components/textArea/textArea.props.js +1 -1
  822. package/dist/components/textArea/textArea.props.js.map +2 -2
  823. package/dist/components/textAreaField/TextAreaField.cjs +231 -0
  824. package/dist/components/textAreaField/TextAreaField.cjs.map +7 -0
  825. package/dist/components/textAreaField/TextAreaField.d.cts +24 -0
  826. package/dist/components/textAreaField/TextAreaField.d.cts.map +1 -0
  827. package/dist/components/textAreaField/TextAreaField.d.mts +24 -0
  828. package/dist/components/textAreaField/TextAreaField.d.mts.map +1 -0
  829. package/dist/components/textAreaField/TextAreaField.d.ts +24 -0
  830. package/dist/components/textAreaField/TextAreaField.d.ts.map +1 -0
  831. package/dist/components/textAreaField/TextAreaField.js +201 -0
  832. package/dist/components/textAreaField/TextAreaField.js.map +7 -0
  833. package/dist/components/textAreaField/textAreaField.props.cjs +68 -0
  834. package/dist/components/textAreaField/textAreaField.props.cjs.map +7 -0
  835. package/dist/components/textAreaField/textAreaField.props.d.cts +44 -0
  836. package/dist/components/textAreaField/textAreaField.props.d.cts.map +1 -0
  837. package/dist/components/textAreaField/textAreaField.props.d.mts +44 -0
  838. package/dist/components/textAreaField/textAreaField.props.d.mts.map +1 -0
  839. package/dist/components/textAreaField/textAreaField.props.d.ts +44 -0
  840. package/dist/components/textAreaField/textAreaField.props.d.ts.map +1 -0
  841. package/dist/components/textAreaField/textAreaField.props.js +48 -0
  842. package/dist/components/textAreaField/textAreaField.props.js.map +7 -0
  843. package/dist/components/textField/TextField.cjs +3 -2
  844. package/dist/components/textField/TextField.cjs.map +2 -2
  845. package/dist/components/textField/TextField.d.cts +1 -0
  846. package/dist/components/textField/TextField.d.cts.map +1 -1
  847. package/dist/components/textField/TextField.d.mts +1 -0
  848. package/dist/components/textField/TextField.d.mts.map +1 -1
  849. package/dist/components/textField/TextField.d.ts +1 -0
  850. package/dist/components/textField/TextField.d.ts.map +1 -1
  851. package/dist/components/textField/TextField.js +3 -2
  852. package/dist/components/textField/TextField.js.map +2 -2
  853. package/dist/components/textarea.css +12 -3
  854. package/dist/components/theme-panel.css +2 -1
  855. package/dist/components/themeProvider/ThemeProvider.cjs +22 -1
  856. package/dist/components/themeProvider/ThemeProvider.cjs.map +2 -2
  857. package/dist/components/themeProvider/ThemeProvider.d.cts.map +1 -1
  858. package/dist/components/themeProvider/ThemeProvider.d.mts.map +1 -1
  859. package/dist/components/themeProvider/ThemeProvider.d.ts.map +1 -1
  860. package/dist/components/themeProvider/ThemeProvider.js +22 -1
  861. package/dist/components/themeProvider/ThemeProvider.js.map +2 -2
  862. package/dist/components/themeProvider/ThemeScript.cjs +1 -1
  863. package/dist/components/themeProvider/ThemeScript.cjs.map +2 -2
  864. package/dist/components/themeProvider/ThemeScript.d.cts.map +1 -1
  865. package/dist/components/themeProvider/ThemeScript.d.mts.map +1 -1
  866. package/dist/components/themeProvider/ThemeScript.d.ts.map +1 -1
  867. package/dist/components/themeProvider/ThemeScript.js +1 -1
  868. package/dist/components/themeProvider/ThemeScript.js.map +2 -2
  869. package/dist/components/time-picker.css +3 -2
  870. package/dist/components/toast/Toast.d.cts +1 -1
  871. package/dist/components/toast/Toast.d.mts +1 -1
  872. package/dist/components/toast/Toast.d.ts +1 -1
  873. package/dist/components/toast/toast.props.cjs +1 -1
  874. package/dist/components/toast/toast.props.cjs.map +2 -2
  875. package/dist/components/toast/toast.props.d.cts +2 -2
  876. package/dist/components/toast/toast.props.d.cts.map +1 -1
  877. package/dist/components/toast/toast.props.d.mts +2 -2
  878. package/dist/components/toast/toast.props.d.mts.map +1 -1
  879. package/dist/components/toast/toast.props.d.ts +2 -2
  880. package/dist/components/toast/toast.props.d.ts.map +1 -1
  881. package/dist/components/toast/toast.props.js +1 -1
  882. package/dist/components/toast/toast.props.js.map +2 -2
  883. package/dist/components/toast.css +29 -2
  884. package/dist/components/toggle-group.css +33 -0
  885. package/dist/components/toggle-tip.css +5 -4
  886. package/dist/components/tooltip/Tooltip.cjs +4 -1
  887. package/dist/components/tooltip/Tooltip.cjs.map +2 -2
  888. package/dist/components/tooltip/Tooltip.d.cts +4 -1
  889. package/dist/components/tooltip/Tooltip.d.cts.map +1 -1
  890. package/dist/components/tooltip/Tooltip.d.mts +4 -1
  891. package/dist/components/tooltip/Tooltip.d.mts.map +1 -1
  892. package/dist/components/tooltip/Tooltip.d.ts +4 -1
  893. package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
  894. package/dist/components/tooltip/Tooltip.js +5 -2
  895. package/dist/components/tooltip/Tooltip.js.map +2 -2
  896. package/dist/components/tooltip.css +10 -3
  897. package/dist/components.css +5 -42
  898. package/dist/docs/README.md +154 -0
  899. package/dist/docs/component-contract.md +224 -0
  900. package/dist/docs/component-index.json +1095 -0
  901. package/dist/docs/{accessible-icon.md → components/accessible-icon.md} +1 -8
  902. package/dist/docs/{accordion.md → components/accordion.md} +1 -8
  903. package/dist/docs/{alert-dialog.md → components/alert-dialog.md} +2 -9
  904. package/dist/docs/{alert.md → components/alert.md} +1 -8
  905. package/dist/docs/{article-nodes.md → components/article-nodes.md} +0 -2
  906. package/dist/docs/{aspect-ratio.md → components/aspect-ratio.md} +1 -8
  907. package/dist/docs/{avatar.md → components/avatar.md} +1 -8
  908. package/dist/docs/{badge.md → components/badge.md} +10 -17
  909. package/dist/docs/{blockquote.md → components/blockquote.md} +3 -8
  910. package/dist/docs/{box.md → components/box.md} +2 -9
  911. package/dist/docs/{breadcrumb.md → components/breadcrumb.md} +1 -8
  912. package/dist/docs/{button-group.md → components/button-group.md} +1 -8
  913. package/dist/docs/{button.md → components/button.md} +22 -23
  914. package/dist/docs/{calendar.md → components/calendar.md} +1 -8
  915. package/dist/docs/{callout.md → components/callout.md} +1 -8
  916. package/dist/docs/{card.md → components/card.md} +6 -9
  917. package/dist/docs/{carousel.md → components/carousel.md} +6 -11
  918. package/dist/docs/{chart.md → components/chart.md} +48 -19
  919. package/dist/docs/{checkbox-cards.md → components/checkbox-cards.md} +1 -6
  920. package/dist/docs/{checkbox-group.md → components/checkbox-group.md} +1 -8
  921. package/dist/docs/{checkbox.md → components/checkbox.md} +1 -8
  922. package/dist/docs/{code-input.md → components/code-input.md} +0 -7
  923. package/dist/docs/{code.md → components/code.md} +11 -18
  924. package/dist/docs/{collapsible.md → components/collapsible.md} +1 -8
  925. package/dist/docs/{color-picker.md → components/color-picker.md} +1 -8
  926. package/dist/docs/{color-swatch.md → components/color-swatch.md} +9 -10
  927. package/dist/docs/{combobox.md → components/combobox.md} +28 -30
  928. package/dist/docs/{command.md → components/command.md} +5 -10
  929. package/dist/docs/{comment-thread.md → components/comment-thread.md} +0 -2
  930. package/dist/docs/{config-drawer.md → components/config-drawer.md} +13 -14
  931. package/dist/docs/{container.md → components/container.md} +3 -10
  932. package/dist/docs/{context-menu.md → components/context-menu.md} +2 -12
  933. package/dist/docs/components/control-group.md +261 -0
  934. package/dist/docs/{copy-button.md → components/copy-button.md} +10 -17
  935. package/dist/docs/{copy-field.md → components/copy-field.md} +0 -7
  936. package/dist/docs/{data-list.md → components/data-list.md} +1 -8
  937. package/dist/docs/{data-table.md → components/data-table.md} +1 -8
  938. package/dist/docs/{date-picker.md → components/date-picker.md} +1 -8
  939. package/dist/docs/{dialog.md → components/dialog.md} +3 -10
  940. package/dist/docs/{direction-provider.md → components/direction-provider.md} +1 -7
  941. package/dist/docs/{drawer.md → components/drawer.md} +3 -9
  942. package/dist/docs/{dropdown-menu.md → components/dropdown-menu.md} +3 -13
  943. package/dist/docs/{editable.md → components/editable.md} +4 -6
  944. package/dist/docs/{em.md → components/em.md} +3 -8
  945. package/dist/docs/{empty-state.md → components/empty-state.md} +1 -8
  946. package/dist/docs/{field.md → components/field.md} +10 -14
  947. package/dist/docs/{file-upload.md → components/file-upload.md} +32 -23
  948. package/dist/docs/{filter-bar.md → components/filter-bar.md} +0 -7
  949. package/dist/docs/{flex.md → components/flex.md} +2 -9
  950. package/dist/docs/{floating-panel.md → components/floating-panel.md} +3 -8
  951. package/dist/docs/{font-provider.md → components/font-provider.md} +23 -24
  952. package/dist/docs/{form.md → components/form.md} +5 -10
  953. package/dist/docs/{grid.md → components/grid.md} +2 -8
  954. package/dist/docs/{heading.md → components/heading.md} +6 -11
  955. package/dist/docs/{hover-card.md → components/hover-card.md} +4 -11
  956. package/dist/docs/{icon-button.md → components/icon-button.md} +1 -8
  957. package/dist/docs/{icon.md → components/icon.md} +1 -8
  958. package/dist/docs/{input-group.md → components/input-group.md} +1 -8
  959. package/dist/docs/{input-otp.md → components/input-otp.md} +6 -10
  960. package/dist/docs/{input.md → components/input.md} +1 -8
  961. package/dist/docs/{inset.md → components/inset.md} +1 -8
  962. package/dist/docs/{item.md → components/item.md} +1 -8
  963. package/dist/docs/{kbd.md → components/kbd.md} +3 -10
  964. package/dist/docs/{label.md → components/label.md} +1 -8
  965. package/dist/docs/{layout-props.md → components/layout-props.md} +2 -9
  966. package/dist/docs/{link.md → components/link.md} +15 -22
  967. package/dist/docs/{marquee.md → components/marquee.md} +1 -6
  968. package/dist/docs/{menu.md → components/menu.md} +8 -14
  969. package/dist/docs/{menubar.md → components/menubar.md} +3 -13
  970. package/dist/docs/{metric.md → components/metric.md} +0 -7
  971. package/dist/docs/{native-select.md → components/native-select.md} +19 -31
  972. package/dist/docs/{navigation-menu.md → components/navigation-menu.md} +34 -36
  973. package/dist/docs/{notification-center.md → components/notification-center.md} +3 -10
  974. package/dist/docs/{number-input.md → components/number-input.md} +11 -12
  975. package/dist/docs/{page-content.md → components/page-content.md} +1 -8
  976. package/dist/docs/{page-header.md → components/page-header.md} +1 -8
  977. package/dist/docs/{pagination.md → components/pagination.md} +1 -9
  978. package/dist/docs/{password-input.md → components/password-input.md} +5 -11
  979. package/dist/docs/components/phone-input.md +74 -0
  980. package/dist/docs/{pills.md → components/pills.md} +6 -12
  981. package/dist/docs/{popover.md → components/popover.md} +6 -12
  982. package/dist/docs/{progress.md → components/progress.md} +1 -8
  983. package/dist/docs/{prose.md → components/prose.md} +0 -2
  984. package/dist/docs/{qr-code.md → components/qr-code.md} +2 -7
  985. package/dist/docs/{quote.md → components/quote.md} +3 -8
  986. package/dist/docs/{radio-cards.md → components/radio-cards.md} +1 -6
  987. package/dist/docs/{radio-group.md → components/radio-group.md} +1 -8
  988. package/dist/docs/{rating.md → components/rating.md} +1 -8
  989. package/dist/docs/{resizable.md → components/resizable.md} +1 -8
  990. package/dist/docs/{result.md → components/result.md} +0 -2
  991. package/dist/docs/{rich-text-editor.md → components/rich-text-editor.md} +1 -8
  992. package/dist/docs/{scroll-area.md → components/scroll-area.md} +1 -8
  993. package/dist/docs/{search-bar.md → components/search-bar.md} +5 -11
  994. package/dist/docs/{section.md → components/section.md} +1 -8
  995. package/dist/docs/components/segmented-control.md +253 -0
  996. package/dist/docs/{segmented-meter.md → components/segmented-meter.md} +1 -8
  997. package/dist/docs/{select.md → components/select.md} +23 -29
  998. package/dist/docs/{separator.md → components/separator.md} +1 -8
  999. package/dist/docs/{shared.md → components/shared.md} +2 -7
  1000. package/dist/docs/{sidebar.md → components/sidebar.md} +88 -30
  1001. package/dist/docs/{skeleton.md → components/skeleton.md} +1 -8
  1002. package/dist/docs/{slider.md → components/slider.md} +1 -8
  1003. package/dist/docs/{slot.md → components/slot.md} +1 -8
  1004. package/dist/docs/{sonner.md → components/sonner.md} +1 -8
  1005. package/dist/docs/{sortable-list.md → components/sortable-list.md} +9 -2
  1006. package/dist/docs/{spinner.md → components/spinner.md} +9 -10
  1007. package/dist/docs/{stack.md → components/stack.md} +2 -9
  1008. package/dist/docs/{stat-card.md → components/stat-card.md} +1 -8
  1009. package/dist/docs/{status.md → components/status.md} +1 -6
  1010. package/dist/docs/{stepper.md → components/stepper.md} +1 -8
  1011. package/dist/docs/{strong.md → components/strong.md} +3 -8
  1012. package/dist/docs/{switch.md → components/switch.md} +1 -8
  1013. package/dist/docs/{tab-nav.md → components/tab-nav.md} +2 -7
  1014. package/dist/docs/{table-of-contents.md → components/table-of-contents.md} +0 -2
  1015. package/dist/docs/{table.md → components/table.md} +1 -8
  1016. package/dist/docs/{tabs.md → components/tabs.md} +1 -9
  1017. package/dist/docs/components/tag.md +88 -0
  1018. package/dist/docs/{tags-input.md → components/tags-input.md} +6 -6
  1019. package/dist/docs/components/text-area-field.md +183 -0
  1020. package/dist/docs/{text-area.md → components/text-area.md} +6 -11
  1021. package/dist/docs/{text-field.md → components/text-field.md} +9 -12
  1022. package/dist/docs/{text.md → components/text.md} +6 -11
  1023. package/dist/docs/{theme-panel.md → components/theme-panel.md} +4 -11
  1024. package/dist/docs/{theme-provider.md → components/theme-provider.md} +7 -13
  1025. package/dist/docs/{theme.md → components/theme.md} +9 -15
  1026. package/dist/docs/{time-picker.md → components/time-picker.md} +1 -8
  1027. package/dist/docs/{timeline.md → components/timeline.md} +1 -8
  1028. package/dist/docs/{toast.md → components/toast.md} +3 -10
  1029. package/dist/docs/{toggle-group.md → components/toggle-group.md} +1 -8
  1030. package/dist/docs/{toggle-tip.md → components/toggle-tip.md} +5 -10
  1031. package/dist/docs/{toggle.md → components/toggle.md} +1 -8
  1032. package/dist/docs/{toolbar.md → components/toolbar.md} +1 -8
  1033. package/dist/docs/{tooltip.md → components/tooltip.md} +4 -11
  1034. package/dist/docs/{tree-view.md → components/tree-view.md} +1 -6
  1035. package/dist/docs/{typography.md → components/typography.md} +9 -11
  1036. package/dist/docs/{visually-hidden.md → components/visually-hidden.md} +1 -7
  1037. package/dist/docs/consumer-guide.md +84 -31
  1038. package/dist/docs/theme-guide.md +20 -20
  1039. package/dist/flags.css +266 -0
  1040. package/dist/fonts.css +1 -0
  1041. package/dist/foundations/Typography.cjs.map +2 -2
  1042. package/dist/foundations/Typography.d.cts +1 -1
  1043. package/dist/foundations/Typography.d.cts.map +1 -1
  1044. package/dist/foundations/Typography.d.mts +1 -1
  1045. package/dist/foundations/Typography.d.mts.map +1 -1
  1046. package/dist/foundations/Typography.d.ts +1 -1
  1047. package/dist/foundations/Typography.d.ts.map +1 -1
  1048. package/dist/foundations/Typography.js.map +2 -2
  1049. package/dist/foundations/index.cjs +1 -0
  1050. package/dist/foundations/index.cjs.map +2 -2
  1051. package/dist/foundations/index.d.cts +1 -0
  1052. package/dist/foundations/index.d.cts.map +1 -1
  1053. package/dist/foundations/index.d.mts +1 -0
  1054. package/dist/foundations/index.d.mts.map +1 -1
  1055. package/dist/foundations/index.d.ts +1 -0
  1056. package/dist/foundations/index.d.ts.map +1 -1
  1057. package/dist/foundations/index.js +1 -0
  1058. package/dist/foundations/index.js.map +2 -2
  1059. package/dist/generated/tokens.cjs +67 -8
  1060. package/dist/generated/tokens.cjs.map +2 -2
  1061. package/dist/generated/tokens.d.cts.map +1 -1
  1062. package/dist/generated/tokens.d.mts.map +1 -1
  1063. package/dist/generated/tokens.d.ts.map +1 -1
  1064. package/dist/generated/tokens.js +67 -8
  1065. package/dist/generated/tokens.js.map +2 -2
  1066. package/dist/index.cjs +2 -0
  1067. package/dist/index.cjs.map +2 -2
  1068. package/dist/index.d.cts +1 -0
  1069. package/dist/index.d.cts.map +1 -1
  1070. package/dist/index.d.mts +1 -0
  1071. package/dist/index.d.mts.map +1 -1
  1072. package/dist/index.d.ts +1 -0
  1073. package/dist/index.d.ts.map +1 -1
  1074. package/dist/index.js +2 -0
  1075. package/dist/index.js.map +2 -2
  1076. package/dist/layout/Layout.cjs +6 -1
  1077. package/dist/layout/Layout.cjs.map +2 -2
  1078. package/dist/layout/Layout.d.cts.map +1 -1
  1079. package/dist/layout/Layout.d.mts.map +1 -1
  1080. package/dist/layout/Layout.d.ts.map +1 -1
  1081. package/dist/layout/Layout.js +6 -1
  1082. package/dist/layout/Layout.js.map +2 -2
  1083. package/dist/layout/layout.props.cjs +30 -40
  1084. package/dist/layout/layout.props.cjs.map +2 -2
  1085. package/dist/layout/layout.props.d.cts +3 -11
  1086. package/dist/layout/layout.props.d.cts.map +1 -1
  1087. package/dist/layout/layout.props.d.mts +3 -11
  1088. package/dist/layout/layout.props.d.mts.map +1 -1
  1089. package/dist/layout/layout.props.d.ts +3 -11
  1090. package/dist/layout/layout.props.d.ts.map +1 -1
  1091. package/dist/layout/layout.props.js +2 -11
  1092. package/dist/layout/layout.props.js.map +2 -2
  1093. package/dist/motion.css +497 -0
  1094. package/dist/reset.css +37 -0
  1095. package/dist/styles.css +3902 -1186
  1096. package/dist/tailwind.css +1 -1
  1097. package/dist/tokens.css +776 -359
  1098. package/dist/utilities.css +28 -3
  1099. package/package.json +130 -20
  1100. package/dist/components/sheet/Sheet.cjs +0 -269
  1101. package/dist/components/sheet/Sheet.cjs.map +0 -7
  1102. package/dist/components/sheet/Sheet.d.cts +0 -83
  1103. package/dist/components/sheet/Sheet.d.cts.map +0 -1
  1104. package/dist/components/sheet/Sheet.d.mts +0 -83
  1105. package/dist/components/sheet/Sheet.d.mts.map +0 -1
  1106. package/dist/components/sheet/Sheet.d.ts +0 -83
  1107. package/dist/components/sheet/Sheet.d.ts.map +0 -1
  1108. package/dist/components/sheet/Sheet.js +0 -244
  1109. package/dist/components/sheet/Sheet.js.map +0 -7
  1110. package/dist/components/sheet/sheet.props.cjs +0 -59
  1111. package/dist/components/sheet/sheet.props.cjs.map +0 -7
  1112. package/dist/components/sheet/sheet.props.d.cts +0 -52
  1113. package/dist/components/sheet/sheet.props.d.cts.map +0 -1
  1114. package/dist/components/sheet/sheet.props.d.mts +0 -52
  1115. package/dist/components/sheet/sheet.props.d.mts.map +0 -1
  1116. package/dist/components/sheet/sheet.props.d.ts +0 -52
  1117. package/dist/components/sheet/sheet.props.d.ts.map +0 -1
  1118. package/dist/components/sheet/sheet.props.js +0 -39
  1119. package/dist/components/sheet/sheet.props.js.map +0 -7
  1120. package/dist/components/sheet.css +0 -123
  1121. package/dist/docs/HIERARCHY.md +0 -29
  1122. package/dist/docs/component-roster.md +0 -224
  1123. package/dist/docs/component-spec-template.md +0 -256
  1124. package/dist/docs/index.md +0 -149
  1125. package/dist/docs/segmented-control.md +0 -211
  1126. package/dist/docs/sheet.md +0 -326
  1127. package/dist/docs/sidebar-guide.md +0 -732
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/sidebar/Sidebar.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { Icon } from '../icon/Icon'\nimport { ScrollArea } from '../scrollArea/ScrollArea'\nimport { Tooltip, TooltipContent, TooltipTrigger } from '../tooltip/Tooltip'\nimport {\n sidebarInsetPropDefs,\n sidebarMenuActionPropDefs,\n sidebarMenuButtonPropDefs,\n sidebarMenuSkeletonPropDefs,\n sidebarPropDefs,\n sidebarProviderPropDefs,\n} from './sidebar.props'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\nconst Sheet = React.lazy(() => import('../sheet/Sheet').then((mod) => ({ default: mod.Sheet })))\nconst SheetTrigger = React.lazy(() => import('../sheet/Sheet').then((mod) => ({ default: mod.SheetTrigger })))\nconst SheetContent = React.lazy(() => import('../sheet/Sheet').then((mod) => ({ default: mod.SheetContent })))\n\ntype SidebarStorageType = 'localStorage' | 'cookie' | 'memory'\ntype SidebarCollapsibleMode = 'offcanvas' | 'icon' | 'none'\n\ntype SidebarContextValue = {\n expanded: boolean\n setExpanded: React.Dispatch<React.SetStateAction<boolean>>\n mobileSheetOpen: boolean\n setMobileSheetOpen: React.Dispatch<React.SetStateAction<boolean>>\n isMobile: boolean\n sidebarId?: string\n collapsible: SidebarCollapsibleMode\n manualToggleRef: React.MutableRefObject<boolean>\n autoExpandedRef: React.MutableRefObject<boolean>\n triggerRef: React.MutableRefObject<HTMLElement | null>\n recoveryRailRef: React.MutableRefObject<HTMLButtonElement | null>\n rootRef: React.MutableRefObject<HTMLElement | null>\n}\n\nconst SidebarContext = React.createContext<SidebarContextValue | null>(null)\n\nconst SidebarNestedContext = React.createContext<{\n counter: React.MutableRefObject<number>\n isActive: boolean\n} | null>(null)\n\nconst SidebarLocalContext = React.createContext<SidebarCollapsibleMode | undefined>(undefined)\n\nfunction getSidebarState(expanded: boolean) {\n return expanded ? 'expanded' : 'collapsed'\n}\n\nfunction getSidebarDataAttributes(expanded: boolean, collapsible?: SidebarCollapsibleMode) {\n const effectiveExpanded = collapsible === 'none' ? true : expanded\n return {\n 'data-state': getSidebarState(effectiveExpanded),\n 'data-collapsed': effectiveExpanded ? 'false' : 'true',\n ...(collapsible ? { 'data-collapsible': collapsible } : {}),\n } as const\n}\n\nfunction useSidebarContext() {\n return React.useContext(SidebarContext)\n}\n\nfunction useSidebarNestedContext() {\n return React.useContext(SidebarNestedContext)\n}\n\n// --- Storage helpers ---\n\nfunction readCookie(key: string): string | null {\n if (typeof document === 'undefined') return null\n const match = document.cookie.match(\n new RegExp('(?:^|; )' + key.replace(/([.$?*|{}()[\\]\\\\/+^])/g, '\\\\$1') + '=([^;]*)'),\n )\n return match ? decodeURIComponent(match[1]) : null\n}\n\nfunction writeCookie(key: string, value: string): void {\n if (typeof document === 'undefined') return\n document.cookie =\n key +\n '=' +\n encodeURIComponent(value) +\n '; SameSite=Lax; Path=/; Max-Age=31536000'\n}\n\n// --- Persisted state hook ---\n\nfunction usePersistedState({\n defaultExpanded,\n storageKey,\n storage,\n}: {\n defaultExpanded: boolean\n storageKey: string | undefined\n storage: SidebarStorageType\n}) {\n const [expanded, setExpanded] = React.useState(defaultExpanded)\n\n React.useLayoutEffect(() => {\n if (!storageKey || typeof window === 'undefined') return\n\n if (storage === 'memory') return\n\n try {\n let stored: string | null = null\n if (storage === 'localStorage') {\n stored = window.localStorage.getItem(storageKey)\n } else if (storage === 'cookie') {\n stored = readCookie(storageKey)\n }\n if (stored !== null) {\n setExpanded(JSON.parse(stored) as boolean)\n }\n } catch {\n // ignore parse errors\n }\n }, [storageKey, storage])\n\n React.useEffect(() => {\n if (!storageKey || typeof window === 'undefined') return\n\n if (storage === 'memory') return\n\n const value = JSON.stringify(expanded)\n try {\n if (storage === 'localStorage') {\n window.localStorage.setItem(storageKey, value)\n } else if (storage === 'cookie') {\n writeCookie(storageKey, value)\n }\n } catch {\n // ignore write errors (e.g. cookie quota)\n }\n }, [storageKey, storage, expanded])\n\n return React.useMemo(\n () => ({ expanded, setExpanded }),\n [expanded],\n )\n}\n\nfunction useSidebar() {\n return useSidebarContext() ?? {\n expanded: true,\n setExpanded: () => {},\n mobileSheetOpen: false,\n setMobileSheetOpen: () => {},\n isMobile: false,\n sidebarId: undefined,\n collapsible: 'offcanvas' as SidebarCollapsibleMode,\n manualToggleRef: { current: false },\n autoExpandedRef: { current: false },\n triggerRef: { current: null },\n recoveryRailRef: { current: null },\n rootRef: { current: null },\n }\n}\n\n// --- Ref merging helper ---\n\nfunction useMergedRef<T>(...refs: (React.Ref<T> | undefined)[]): React.RefCallback<T> {\n const stableRefs = React.useRef(refs)\n stableRefs.current = refs\n\n return React.useCallback((node: T | null) => {\n for (const ref of stableRefs.current) {\n if (!ref) continue\n if (typeof ref === 'function') {\n ref(node)\n } else {\n ;(ref as React.MutableRefObject<T | null>).current = node\n }\n }\n }, [])\n}\n\n// --- Keyboard navigation ---\n\nfunction handleMenuKeyboardNav(\n menuEl: HTMLElement | null,\n buttonSelector: string,\n e: React.KeyboardEvent,\n onEscape?: () => void,\n) {\n const buttons = Array.from(menuEl?.querySelectorAll<HTMLElement>(buttonSelector) ?? [])\n if (buttons.length === 0) return\n\n const currentIndex = buttons.indexOf(document.activeElement as HTMLElement)\n\n let nextIndex = -1\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault()\n nextIndex = currentIndex < 0 ? 0 : Math.min(currentIndex + 1, buttons.length - 1)\n break\n case 'ArrowUp':\n e.preventDefault()\n nextIndex = currentIndex < 0 ? buttons.length - 1 : Math.max(currentIndex - 1, 0)\n break\n case 'Home':\n e.preventDefault()\n nextIndex = 0\n break\n case 'End':\n e.preventDefault()\n nextIndex = buttons.length - 1\n break\n case 'Escape':\n if (onEscape) {\n e.preventDefault()\n e.stopPropagation()\n onEscape()\n }\n return\n }\n\n if (nextIndex >= 0) {\n buttons.forEach((btn, i) => {\n btn.tabIndex = i === nextIndex ? 0 : -1\n })\n buttons[nextIndex].focus()\n }\n}\n\n// --- Active auto-scroll ---\n\nfunction useAutoScroll(isActive: boolean, elementRef: React.RefObject<HTMLElement | null>) {\n React.useEffect(() => {\n if (!isActive || !elementRef.current) return\n\n const prefersReducedMotion =\n typeof window !== 'undefined' && window.matchMedia('(prefers-reduced-motion: reduce)').matches\n\n requestAnimationFrame(() => {\n const el = elementRef.current\n if (!el) return\n\n const parent = el.closest('.dsx-sidebar__content')\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n const elRect = el.getBoundingClientRect()\n const isInView = elRect.top >= parentRect.top && elRect.bottom <= parentRect.bottom\n if (isInView) return\n\n el.scrollIntoView({ block: 'nearest', behavior: prefersReducedMotion ? 'auto' : 'smooth' })\n })\n }, [isActive, elementRef])\n}\n\ntype SidebarProviderOwnProps = GetPropDefTypes<typeof sidebarProviderPropDefs>\ntype SidebarOwnProps = GetPropDefTypes<typeof sidebarPropDefs>\ntype SidebarInsetOwnProps = GetPropDefTypes<typeof sidebarInsetPropDefs>\ntype SidebarMenuButtonOwnProps = GetPropDefTypes<typeof sidebarMenuButtonPropDefs>\ntype SidebarMenuActionOwnProps = GetPropDefTypes<typeof sidebarMenuActionPropDefs>\ntype SidebarMenuSkeletonOwnProps = GetPropDefTypes<typeof sidebarMenuSkeletonPropDefs>\n\ninterface SidebarProviderProps extends React.HTMLAttributes<HTMLDivElement>, SidebarProviderOwnProps {\n storageKey?: string\n storage?: SidebarStorageType\n toggleShortcut?: boolean\n mobile?: 'sheet' | 'drawer' | 'none'\n mobileBreakpoint?: number\n collapsible?: SidebarCollapsibleMode\n nested?: boolean\n}\ninterface SidebarProps extends React.HTMLAttributes<HTMLDivElement>, SidebarOwnProps {}\ninterface SidebarInsetProps extends React.HTMLAttributes<HTMLElement>, SidebarInsetOwnProps {}\ninterface SidebarContentProps extends React.ComponentPropsWithoutRef<typeof ScrollArea> {}\ninterface SidebarMenuActionProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, SidebarMenuActionOwnProps {}\ninterface SidebarMenuButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, SidebarMenuButtonOwnProps {}\ninterface SidebarMenuSkeletonProps extends React.HTMLAttributes<HTMLDivElement>, SidebarMenuSkeletonOwnProps {}\ninterface SidebarTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n collapsedLabel?: string\n expandedLabel?: string\n}\n\nconst SidebarProvider = React.forwardRef<HTMLDivElement, SidebarProviderProps>((props, forwardedRef) => {\n const {\n className: propClassName,\n defaultExpanded = true,\n storageKey = 'dsx-sidebar-state',\n storage = 'localStorage',\n toggleShortcut = true,\n mobile = 'sheet',\n mobileBreakpoint = 768,\n collapsible = 'offcanvas',\n nested = false,\n children,\n ...propsWithoutDefaults\n } = props\n const persisted = usePersistedState({ defaultExpanded, storageKey, storage })\n const manualToggleRef = React.useRef(false)\n const { className, ...providerProps } = extractProps(\n {\n ...propsWithoutDefaults,\n className: propClassName,\n defaultExpanded,\n },\n sidebarProviderPropDefs,\n )\n\n React.useEffect(() => {\n if (!toggleShortcut || collapsible === 'none') return\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if ((event.ctrlKey || event.metaKey) && event.key === 'b') {\n event.preventDefault()\n manualToggleRef.current = true\n persisted.setExpanded((current) => !current)\n }\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [toggleShortcut, collapsible, persisted])\n\n const [isMobile, setIsMobile] = React.useState(\n typeof window !== 'undefined'\n ? window.innerWidth < mobileBreakpoint ||\n (window.matchMedia && window.matchMedia('(pointer: coarse)').matches)\n : false,\n )\n\n React.useLayoutEffect(() => {\n if (typeof window === 'undefined') return\n const mm = window.matchMedia('(pointer: coarse)')\n const check = () => {\n setIsMobile(window.innerWidth < mobileBreakpoint || mm.matches)\n }\n check()\n mm.addEventListener?.('change', check)\n return () => mm.removeEventListener?.('change', check)\n }, [mobileBreakpoint])\n\n React.useEffect(() => {\n if (typeof window === 'undefined') return\n\n let timer: ReturnType<typeof setTimeout>\n const handleResize = () => {\n clearTimeout(timer)\n timer = setTimeout(() => {\n const mm = window.matchMedia('(pointer: coarse)')\n setIsMobile(window.innerWidth < mobileBreakpoint || mm.matches)\n }, 100)\n }\n\n window.addEventListener('resize', handleResize)\n return () => {\n window.removeEventListener('resize', handleResize)\n clearTimeout(timer)\n }\n }, [mobileBreakpoint])\n\n const [mobileSheetOpen, setMobileSheetOpen] = React.useState(false)\n\n React.useEffect(() => {\n if (!isMobile) {\n setMobileSheetOpen(false)\n }\n }, [isMobile])\n\n const isMobileMode = mobile !== 'none' && isMobile\n const sidebarId = React.useId()\n\n const autoExpandedRef = React.useRef(false)\n const triggerRef = React.useRef<HTMLElement | null>(null)\n const recoveryRailRef = React.useRef<HTMLButtonElement | null>(null)\n const rootRef = React.useRef<HTMLElement | null>(null)\n\n const contextValue = React.useMemo(\n () => ({\n expanded: persisted.expanded,\n setExpanded: persisted.setExpanded,\n mobileSheetOpen,\n setMobileSheetOpen,\n isMobile: isMobileMode,\n sidebarId,\n collapsible,\n manualToggleRef,\n autoExpandedRef,\n triggerRef,\n recoveryRailRef,\n rootRef,\n }),\n [persisted.expanded, persisted.setExpanded, mobileSheetOpen, isMobileMode, sidebarId, collapsible],\n )\n\n const nestedCounterRef = React.useRef(0)\n\n const desktopChildren = (\n <SidebarNestedContext.Provider value={{ counter: nestedCounterRef, isActive: nested }}>\n {children}\n </SidebarNestedContext.Provider>\n )\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <div\n ref={forwardedRef}\n className={classNames('dsx-sidebar-provider', className)}\n data-slot=\"sidebar-provider\"\n {...getSidebarDataAttributes(persisted.expanded, collapsible)}\n {...providerProps}\n suppressHydrationWarning\n >\n {isMobileMode && mobile === 'sheet' && (\n <React.Suspense fallback={null}>\n <Sheet open={mobileSheetOpen} onOpenChange={setMobileSheetOpen}>\n <SheetTrigger asChild>\n <button\n type=\"button\"\n aria-label=\"Open sidebar\"\n className=\"dsx-sidebar__mobile-trigger\"\n data-slot=\"sidebar-mobile-trigger\"\n >\n <Icon name=\"menu\" size=\"md\" />\n </button>\n </SheetTrigger>\n <SheetContent side=\"left\" showClose>\n {children}\n </SheetContent>\n </Sheet>\n </React.Suspense>\n )}\n {!isMobileMode && desktopChildren}\n {!isMobileMode && collapsible === 'offcanvas' && (\n <button\n ref={recoveryRailRef}\n type=\"button\"\n className=\"dsx-sidebar__recovery-rail\"\n data-slot=\"sidebar-recovery-rail\"\n aria-label=\"Expand sidebar\"\n aria-controls={sidebarId}\n aria-expanded={persisted.expanded}\n aria-hidden={persisted.expanded ? true : undefined}\n tabIndex={persisted.expanded ? -1 : 0}\n onClick={() => {\n manualToggleRef.current = true\n autoExpandedRef.current = false\n persisted.setExpanded(true)\n }}\n >\n <Icon name=\"chevron-right\" size=\"sm\" />\n </button>\n )}\n </div>\n </SidebarContext.Provider>\n )\n})\nSidebarProvider.displayName = 'SidebarProvider'\n\nconst SidebarRoot = React.forwardRef<HTMLDivElement, SidebarProps>((props, forwardedRef) => {\n const { className: propClassName, defaultExpanded = true, children, ...propsWithoutDefaults } = props\n const context = useSidebarContext()\n const internal = usePersistedState({ defaultExpanded, storageKey: undefined, storage: 'localStorage' })\n const value: SidebarContextValue = context ?? {\n ...internal,\n mobileSheetOpen: false,\n setMobileSheetOpen: () => {},\n isMobile: false,\n sidebarId: undefined,\n collapsible: 'offcanvas',\n manualToggleRef: { current: false },\n autoExpandedRef: { current: false },\n triggerRef: { current: null },\n recoveryRailRef: { current: null },\n rootRef: { current: null },\n }\n const { className, ...sidebarProps } = extractProps(\n {\n ...propsWithoutDefaults,\n className: propClassName,\n defaultExpanded,\n },\n sidebarPropDefs,\n )\n\n // --- Phase 3.4: Nested sidebar detection ---\n const nestedCtx = useSidebarNestedContext()\n const hasRegisteredRef = React.useRef(false)\n const [isNestedInstance, setIsNestedInstance] = React.useState(false)\n\n React.useLayoutEffect(() => {\n if (nestedCtx && nestedCtx.isActive && !hasRegisteredRef.current) {\n nestedCtx.counter.current++\n hasRegisteredRef.current = true\n if (nestedCtx.counter.current > 1) {\n setIsNestedInstance(true)\n }\n }\n return () => {\n if (hasRegisteredRef.current && nestedCtx) {\n nestedCtx.counter.current--\n hasRegisteredRef.current = false\n }\n }\n }, [nestedCtx])\n\n const effectiveCollapsible = isNestedInstance ? 'none' : value.collapsible\n const effectiveExpanded = effectiveCollapsible === 'none' ? true : value.expanded\n\n const hoverTimerRef = React.useRef<ReturnType<typeof setTimeout> | null>(null)\n const [prefersReducedMotion, setPrefersReducedMotion] = React.useState(\n typeof window !== 'undefined' && window.matchMedia('(prefers-reduced-motion: reduce)').matches,\n )\n\n React.useEffect(() => {\n if (typeof window === 'undefined') return\n const mm = window.matchMedia('(prefers-reduced-motion: reduce)')\n setPrefersReducedMotion(mm.matches)\n const handler = (e: MediaQueryListEvent) => setPrefersReducedMotion(e.matches)\n mm.addEventListener('change', handler)\n return () => mm.removeEventListener('change', handler)\n }, [])\n\n const canHoverExpand =\n effectiveCollapsible === 'icon' &&\n !value.isMobile &&\n typeof window !== 'undefined' &&\n window.matchMedia('(hover: hover) and (pointer: fine)').matches\n\n const handleMouseEnter = React.useCallback(() => {\n if (!canHoverExpand || value.expanded) return\n value.manualToggleRef.current = false\n value.autoExpandedRef.current = true\n if (hoverTimerRef.current) clearTimeout(hoverTimerRef.current)\n if (prefersReducedMotion) {\n value.setExpanded(true)\n } else {\n hoverTimerRef.current = setTimeout(() => {\n value.setExpanded(true)\n }, 100)\n }\n }, [canHoverExpand, value.expanded, value.setExpanded, value.manualToggleRef, value.autoExpandedRef, prefersReducedMotion])\n\n const handleMouseLeave = React.useCallback(() => {\n if (hoverTimerRef.current) clearTimeout(hoverTimerRef.current)\n if (value.autoExpandedRef.current && !value.manualToggleRef.current) {\n if (prefersReducedMotion) {\n value.setExpanded(false)\n } else {\n hoverTimerRef.current = setTimeout(() => {\n value.setExpanded(false)\n }, 120)\n }\n }\n value.autoExpandedRef.current = false\n }, [value.setExpanded, value.autoExpandedRef, value.manualToggleRef, prefersReducedMotion])\n\n React.useEffect(() => {\n return () => {\n if (hoverTimerRef.current) clearTimeout(hoverTimerRef.current)\n }\n }, [])\n\n // Transfer focus after the width transition; reduced motion resolves immediately.\n const prevExpandedRef = React.useRef(effectiveExpanded)\n React.useEffect(() => {\n const wasExpanded = prevExpandedRef.current\n prevExpandedRef.current = effectiveExpanded\n\n if (effectiveCollapsible !== 'offcanvas' || wasExpanded === effectiveExpanded) {\n return\n }\n if (!value.manualToggleRef.current) {\n return\n }\n\n const root = value.rootRef.current\n const focusTarget = () => {\n value.manualToggleRef.current = false\n if (!effectiveExpanded) {\n value.recoveryRailRef.current?.focus()\n return\n }\n\n const trigger = value.triggerRef.current\n if (trigger && document.contains(trigger)) {\n trigger.focus()\n } else {\n value.rootRef.current?.focus()\n }\n }\n\n if (prefersReducedMotion || !root) {\n focusTarget()\n return\n }\n\n const handleTransitionEnd = (event: TransitionEvent) => {\n if (event.target === root && event.propertyName === 'width') {\n focusTarget()\n }\n }\n root.addEventListener('transitionend', handleTransitionEnd)\n const fallbackTimer = setTimeout(focusTarget, 300)\n return () => {\n root.removeEventListener('transitionend', handleTransitionEnd)\n clearTimeout(fallbackTimer)\n }\n }, [\n effectiveCollapsible,\n effectiveExpanded,\n prefersReducedMotion,\n value.recoveryRailRef,\n value.rootRef,\n value.triggerRef,\n value.manualToggleRef,\n ])\n\n const sidebarDataAttributes = getSidebarDataAttributes(effectiveExpanded, effectiveCollapsible)\n const isHiddenOffcanvas = effectiveCollapsible === 'offcanvas' && !effectiveExpanded\n const mergedRootRef = useMergedRef(value.rootRef, forwardedRef)\n\n const content = (\n <SidebarLocalContext.Provider value={effectiveCollapsible}>\n <nav\n ref={mergedRootRef}\n id={value.sidebarId}\n {...sidebarDataAttributes}\n data-nested={isNestedInstance ? 'true' : undefined}\n data-slot=\"sidebar\"\n aria-label=\"Sidebar\"\n aria-hidden={isHiddenOffcanvas ? true : undefined}\n inert={isHiddenOffcanvas ? true : undefined}\n tabIndex={-1}\n className={classNames('dsx-sidebar', className)}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n {...sidebarProps}\n >\n {children}\n </nav>\n </SidebarLocalContext.Provider>\n )\n\n if (context) {\n return content\n }\n\n return <SidebarContext.Provider value={value}>{content}</SidebarContext.Provider>\n})\nSidebarRoot.displayName = 'Sidebar'\n\nconst SidebarInset = React.forwardRef<HTMLElement, SidebarInsetProps>((props, forwardedRef) => {\n const { asChild, className, ...insetProps } = extractProps(props, sidebarInsetPropDefs)\n const { expanded, collapsible } = useSidebar()\n const Comp = asChild ? Slot : 'main'\n\n return (\n <Comp\n ref={forwardedRef}\n className={classNames('dsx-sidebar__inset', className)}\n data-slot=\"sidebar-inset\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...insetProps}\n />\n )\n})\nSidebarInset.displayName = 'SidebarInset'\n\nconst SidebarRail = React.forwardRef<HTMLButtonElement, React.ButtonHTMLAttributes<HTMLButtonElement>>(\n ({ className, type = 'button', onClick, ...props }, forwardedRef) => {\n const { expanded, setExpanded, sidebarId, collapsible: contextCollapsible, manualToggleRef, autoExpandedRef } = useSidebar()\n const localCollapsible = React.useContext(SidebarLocalContext)\n const collapsible = localCollapsible ?? contextCollapsible\n const sidebarDataAttributes = getSidebarDataAttributes(expanded, collapsible)\n\n if (collapsible === 'none') {\n return null\n }\n\n const localRef = React.useRef<HTMLButtonElement>(null)\n\n const mergedRef = React.useCallback(\n (node: HTMLButtonElement | null) => {\n localRef.current = node\n if (typeof forwardedRef === 'function') {\n forwardedRef(node)\n } else if (forwardedRef) {\n ;(forwardedRef as React.MutableRefObject<HTMLButtonElement | null>).current = node\n }\n },\n [forwardedRef],\n )\n\n const isIconMode = collapsible === 'icon'\n\n return (\n <button\n ref={mergedRef}\n type={type}\n data-slot=\"sidebar-rail\"\n {...sidebarDataAttributes}\n aria-label={expanded ? 'Collapse sidebar' : 'Expand sidebar'}\n aria-expanded={expanded}\n aria-controls={sidebarId}\n tabIndex={isIconMode ? -1 : undefined}\n className={classNames(\n 'dsx-sidebar__rail',\n isIconMode && 'dsx-sidebar__rail--edge',\n className,\n )}\n onClick={(event) => {\n onClick?.(event)\n if (!event.defaultPrevented) {\n manualToggleRef.current = true\n autoExpandedRef.current = false\n setExpanded((current) => !current)\n }\n }}\n {...props}\n >\n {isIconMode ? null : <Icon name={expanded ? 'chevron-left' : 'chevron-right'} size=\"sm\" />}\n </button>\n )\n },\n)\nSidebarRail.displayName = 'SidebarRail'\n\nconst SidebarHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <div\n ref={forwardedRef}\n className={classNames('dsx-sidebar__header', className)}\n data-slot=\"sidebar-header\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n})\nSidebarHeader.displayName = 'SidebarHeader'\n\nconst SidebarContent = React.forwardRef<HTMLDivElement, SidebarContentProps>(({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <ScrollArea\n ref={forwardedRef}\n className={classNames('dsx-sidebar__content', className)}\n viewportClassName=\"dsx-sidebar__content-viewport\"\n data-slot=\"sidebar-content\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n})\nSidebarContent.displayName = 'SidebarContent'\n\nconst SidebarFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <div\n ref={forwardedRef}\n className={classNames('dsx-sidebar__footer', className)}\n data-slot=\"sidebar-footer\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n})\nSidebarFooter.displayName = 'SidebarFooter'\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <div\n ref={forwardedRef}\n className={classNames('dsx-sidebar__group', className)}\n data-slot=\"sidebar-group\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n})\nSidebarGroup.displayName = 'SidebarGroup'\n\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <div\n ref={forwardedRef}\n className={classNames('dsx-sidebar__group-label', className)}\n data-slot=\"sidebar-group-label\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n },\n)\nSidebarGroupLabel.displayName = 'SidebarGroupLabel'\n\nconst SidebarGroupAction = React.forwardRef<HTMLButtonElement, React.ButtonHTMLAttributes<HTMLButtonElement>>(\n ({ className, type = 'button', ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <button\n ref={forwardedRef}\n type={type}\n className={classNames('dsx-sidebar__group-action dsx-button', className)}\n data-slot=\"sidebar-group-action\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n },\n)\nSidebarGroupAction.displayName = 'SidebarGroupAction'\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <div\n ref={forwardedRef}\n className={classNames('dsx-sidebar__group-content', className)}\n data-slot=\"sidebar-group-content\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n },\n)\nSidebarGroupContent.displayName = 'SidebarGroupContent'\n\n// --- Phase 3.1: Keyboard-navigable SidebarMenu ---\nconst SidebarMenu = React.forwardRef<HTMLUListElement, React.HTMLAttributes<HTMLUListElement>>(\n ({ className, onKeyDown, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n const menuRef = React.useRef<HTMLUListElement | null>(null)\n\n const mergedRef = useMergedRef(menuRef, forwardedRef)\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLUListElement>) => {\n onKeyDown?.(e)\n if (e.defaultPrevented) return\n handleMenuKeyboardNav(menuRef.current, '.dsx-sidebar__menu-button, .dsx-sidebar__menu-sub-button', e)\n },\n [onKeyDown],\n )\n\n return (\n <ul\n ref={mergedRef}\n className={classNames('dsx-sidebar__menu', className)}\n data-slot=\"sidebar-menu\"\n onKeyDown={handleKeyDown}\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n },\n)\nSidebarMenu.displayName = 'SidebarMenu'\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, React.LiHTMLAttributes<HTMLLIElement>>(({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <li\n ref={forwardedRef}\n className={classNames('dsx-sidebar__menu-item', className)}\n data-slot=\"sidebar-menu-item\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n})\nSidebarMenuItem.displayName = 'SidebarMenuItem'\n\nconst SidebarMenuBadge = React.forwardRef<HTMLSpanElement, React.HTMLAttributes<HTMLSpanElement>>(({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <span\n ref={forwardedRef}\n className={classNames('dsx-sidebar__menu-badge dsx-badge dsx-badge--secondary dsx-badge--sm', className)}\n data-slot=\"sidebar-menu-badge\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n})\nSidebarMenuBadge.displayName = 'SidebarMenuBadge'\n\nconst SidebarMenuAction = React.forwardRef<HTMLButtonElement, SidebarMenuActionProps>((props, forwardedRef) => {\n const { className, asChild = false, type = 'button', ...propsWithoutDefaults } = extractProps(props, sidebarMenuActionPropDefs)\n const Comp = asChild ? Slot : 'button'\n const { expanded, collapsible } = useSidebar()\n\n return (\n <Comp\n ref={forwardedRef}\n type={asChild ? undefined : type}\n className={classNames('dsx-sidebar__menu-action dsx-button', className)}\n data-slot=\"sidebar-menu-action\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...propsWithoutDefaults}\n />\n )\n})\nSidebarMenuAction.displayName = 'SidebarMenuAction'\n\nconst SidebarMenuButton = React.forwardRef<HTMLButtonElement, SidebarMenuButtonProps>((props, forwardedRef) => {\n const { children, className: propClassName, isActive = false, asChild = false, type = 'button', ...propsWithoutDefaults } = props\n const Comp = asChild ? Slot : 'button'\n const { expanded, collapsible, isMobile } = useSidebar()\n const { asChild: _asChild, className, ...menuButtonProps } = extractProps(\n {\n ...propsWithoutDefaults,\n className: propClassName,\n isActive,\n asChild,\n },\n sidebarMenuButtonPropDefs,\n )\n const content = asChild\n ? children\n : React.Children.map(children, (child) =>\n typeof child === 'string' || typeof child === 'number' ? (\n <span className=\"dsx-sidebar__menu-button-text\" data-slot=\"sidebar-menu-button-text\">\n {child}\n </span>\n ) : (\n child\n ),\n )\n\n const label = React.useMemo(() => {\n if (asChild) return ''\n return React.Children.toArray(children)\n .filter((c): c is string | number => typeof c === 'string' || typeof c === 'number')\n .join('')\n }, [children, asChild])\n\n const showTooltip = !asChild && collapsible === 'icon' && !expanded && !isMobile && label !== ''\n\n // --- Phase 3.2: Active auto-scroll ---\n const buttonRef = React.useRef<HTMLElement | null>(null)\n const mergedRef = useMergedRef(buttonRef, forwardedRef)\n useAutoScroll(isActive, buttonRef)\n\n const button = (\n <Comp\n ref={mergedRef}\n data-active={isActive ? 'true' : undefined}\n aria-current={isActive ? 'page' : undefined}\n data-slot=\"sidebar-menu-button\"\n className={classNames('dsx-sidebar__menu-button dsx-button', className)}\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...menuButtonProps}\n {...(!asChild ? { type } : {})}\n >\n {content}\n </Comp>\n )\n\n if (showTooltip) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side=\"right\">{label}</TooltipContent>\n </Tooltip>\n )\n }\n\n return button\n})\nSidebarMenuButton.displayName = 'SidebarMenuButton'\n\nconst SidebarMenuSkeleton = React.forwardRef<HTMLDivElement, SidebarMenuSkeletonProps>((props, forwardedRef) => {\n const { className: propClassName, showIcon = true, ...propsWithoutDefaults } = props\n const { expanded, collapsible } = useSidebar()\n const { className, ...skeletonProps } = extractProps(\n {\n ...propsWithoutDefaults,\n className: propClassName,\n showIcon,\n },\n sidebarMenuSkeletonPropDefs,\n )\n\n return (\n <div\n ref={forwardedRef}\n className={classNames('dsx-sidebar__menu-skeleton', className)}\n data-show-icon={showIcon ? 'true' : 'false'}\n data-slot=\"sidebar-menu-skeleton\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...skeletonProps}\n >\n {showIcon ? (\n <span\n aria-hidden=\"true\"\n className=\"dsx-sidebar__menu-skeleton-icon dsx-skeleton dsx-skeleton--circle\"\n data-slot=\"sidebar-menu-skeleton-icon\"\n />\n ) : null}\n <span\n aria-hidden=\"true\"\n className=\"dsx-sidebar__menu-skeleton-label dsx-skeleton dsx-skeleton--text-line\"\n data-slot=\"sidebar-menu-skeleton-label\"\n />\n </div>\n )\n})\nSidebarMenuSkeleton.displayName = 'SidebarMenuSkeleton'\n\n// --- Phase 3.1: Keyboard-navigable SidebarMenuSub with Escape to close ---\nconst SidebarMenuSub = React.forwardRef<HTMLUListElement, React.HTMLAttributes<HTMLUListElement>>(\n ({ className, onKeyDown, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n const subRef = React.useRef<HTMLUListElement | null>(null)\n\n const mergedRef = useMergedRef(subRef, forwardedRef)\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLUListElement>) => {\n onKeyDown?.(e)\n if (e.defaultPrevented) return\n\n handleMenuKeyboardNav(subRef.current, '.dsx-sidebar__menu-sub-button', e, () => {\n const parentMenuItem = subRef.current?.closest<HTMLElement>('.dsx-sidebar__menu-item')\n const parentButton = parentMenuItem?.querySelector<HTMLElement>('.dsx-sidebar__menu-button')\n if (parentButton) {\n parentButton.focus()\n }\n })\n },\n [onKeyDown],\n )\n\n return (\n <ul\n ref={mergedRef}\n className={classNames('dsx-sidebar__menu-sub', className)}\n data-slot=\"sidebar-menu-sub\"\n onKeyDown={handleKeyDown}\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n },\n)\nSidebarMenuSub.displayName = 'SidebarMenuSub'\n\nconst SidebarMenuSubItem = React.forwardRef<HTMLLIElement, React.LiHTMLAttributes<HTMLLIElement>>(({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <li\n ref={forwardedRef}\n className={classNames('dsx-sidebar__menu-sub-item', className)}\n data-slot=\"sidebar-menu-sub-item\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n})\nSidebarMenuSubItem.displayName = 'SidebarMenuSubItem'\n\nconst SidebarMenuSubButton = React.forwardRef<HTMLButtonElement, SidebarMenuButtonProps>((props, forwardedRef) => {\n const { children, className: propClassName, isActive = false, asChild = false, type = 'button', ...propsWithoutDefaults } = props\n const Comp = asChild ? Slot : 'button'\n const { expanded, collapsible, isMobile } = useSidebar()\n const { asChild: _asChild, className, ...menuButtonProps } = extractProps(\n {\n ...propsWithoutDefaults,\n className: propClassName,\n isActive,\n asChild,\n },\n sidebarMenuButtonPropDefs,\n )\n const content = asChild\n ? children\n : React.Children.map(children, (child) =>\n typeof child === 'string' || typeof child === 'number' ? (\n <span className=\"dsx-sidebar__menu-button-text\" data-slot=\"sidebar-menu-button-text\">\n {child}\n </span>\n ) : (\n child\n ),\n )\n\n const label = React.useMemo(() => {\n if (asChild) return ''\n return React.Children.toArray(children)\n .filter((c): c is string | number => typeof c === 'string' || typeof c === 'number')\n .join('')\n }, [children, asChild])\n\n const showTooltip = !asChild && collapsible === 'icon' && !expanded && !isMobile && label !== ''\n\n // --- Phase 3.2: Active auto-scroll ---\n const buttonRef = React.useRef<HTMLElement | null>(null)\n const mergedRef = useMergedRef(buttonRef, forwardedRef)\n useAutoScroll(isActive, buttonRef)\n\n const button = (\n <Comp\n ref={mergedRef}\n data-active={isActive ? 'true' : undefined}\n aria-current={isActive ? 'page' : undefined}\n data-slot=\"sidebar-menu-sub-button\"\n className={classNames('dsx-sidebar__menu-sub-button dsx-button', className)}\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...menuButtonProps}\n {...(!asChild ? { type } : {})}\n >\n {content}\n </Comp>\n )\n\n if (showTooltip) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side=\"right\">{label}</TooltipContent>\n </Tooltip>\n )\n }\n\n return button\n})\nSidebarMenuSubButton.displayName = 'SidebarMenuSubButton'\n\nconst SidebarSeparator = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <div\n ref={forwardedRef}\n role=\"separator\"\n aria-orientation=\"horizontal\"\n className={classNames('dsx-sidebar__separator dsx-separator dsx-separator--decorative', className)}\n data-slot=\"sidebar-separator\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n})\nSidebarSeparator.displayName = 'SidebarSeparator'\n\nconst SidebarTrigger = React.forwardRef<HTMLButtonElement, SidebarTriggerProps>(\n ({ className, collapsedLabel = 'Expand sidebar', expandedLabel = 'Collapse sidebar', ...props }, forwardedRef) => {\n const { expanded, setExpanded, sidebarId, collapsible: contextCollapsible, manualToggleRef, autoExpandedRef, triggerRef } = useSidebar()\n const localCollapsible = React.useContext(SidebarLocalContext)\n const collapsible = localCollapsible ?? contextCollapsible\n const sidebarDataAttributes = getSidebarDataAttributes(expanded, collapsible)\n\n if (collapsible === 'none') {\n return null\n }\n\n const localRef = React.useRef<HTMLButtonElement>(null)\n\n const mergedRef = React.useCallback(\n (node: HTMLButtonElement | null) => {\n localRef.current = node\n triggerRef.current = node\n if (typeof forwardedRef === 'function') {\n forwardedRef(node)\n } else if (forwardedRef) {\n ;(forwardedRef as React.MutableRefObject<HTMLButtonElement | null>).current = node\n }\n },\n [forwardedRef, triggerRef],\n )\n\n return (\n <button\n {...props}\n ref={mergedRef}\n type={props.type ?? 'button'}\n aria-label={expanded ? expandedLabel : collapsedLabel}\n aria-expanded={expanded}\n aria-controls={sidebarId}\n className={classNames('dsx-sidebar__trigger dsx-button', className)}\n data-slot=\"sidebar-trigger\"\n {...sidebarDataAttributes}\n onClick={(event) => {\n props.onClick?.(event)\n if (!event.defaultPrevented) {\n manualToggleRef.current = true\n autoExpandedRef.current = false\n triggerRef.current = localRef.current\n setExpanded((current) => !current)\n }\n }}\n >\n <span className=\"dsx-button__icon\" data-slot=\"sidebar-trigger-icon\" {...sidebarDataAttributes}>\n {expanded ? <Icon name=\"chevron-left\" size=\"sm\" /> : <Icon name=\"chevron-right\" size=\"sm\" />}\n </span>\n <span className=\"dsx-sidebar__trigger-label\" data-slot=\"sidebar-trigger-label\" {...sidebarDataAttributes}>\n {expanded ? expandedLabel : collapsedLabel}\n </span>\n </button>\n )\n },\n)\nSidebarTrigger.displayName = 'SidebarTrigger'\n\nconst SidebarSkipLink = React.forwardRef<HTMLAnchorElement, React.AnchorHTMLAttributes<HTMLAnchorElement> & { targetId?: string }>(\n ({ targetId = 'main', children = 'Skip to content', className, ...props }, forwardedRef) => {\n return (\n <a\n ref={forwardedRef}\n href={`#${targetId}`}\n className={classNames('dsx-sidebar__skip-link', className)}\n {...props}\n >\n {children}\n </a>\n )\n },\n)\nSidebarSkipLink.displayName = 'SidebarSkipLink'\n\nconst Sidebar: typeof SidebarRoot & {\n Provider: typeof SidebarProvider\n Inset: typeof SidebarInset\n Rail: typeof SidebarRail\n Header: typeof SidebarHeader\n Content: typeof SidebarContent\n Footer: typeof SidebarFooter\n Group: typeof SidebarGroup\n GroupLabel: typeof SidebarGroupLabel\n GroupAction: typeof SidebarGroupAction\n GroupContent: typeof SidebarGroupContent\n Menu: typeof SidebarMenu\n MenuItem: typeof SidebarMenuItem\n MenuBadge: typeof SidebarMenuBadge\n MenuAction: typeof SidebarMenuAction\n MenuButton: typeof SidebarMenuButton\n MenuSkeleton: typeof SidebarMenuSkeleton\n MenuSub: typeof SidebarMenuSub\n MenuSubItem: typeof SidebarMenuSubItem\n MenuSubButton: typeof SidebarMenuSubButton\n Separator: typeof SidebarSeparator\n Trigger: typeof SidebarTrigger\n SkipLink: typeof SidebarSkipLink\n} = Object.assign(SidebarRoot, {\n Provider: SidebarProvider,\n Inset: SidebarInset,\n Rail: SidebarRail,\n Header: SidebarHeader,\n Content: SidebarContent,\n Footer: SidebarFooter,\n Group: SidebarGroup,\n GroupLabel: SidebarGroupLabel,\n GroupAction: SidebarGroupAction,\n GroupContent: SidebarGroupContent,\n Menu: SidebarMenu,\n MenuItem: SidebarMenuItem,\n MenuBadge: SidebarMenuBadge,\n MenuAction: SidebarMenuAction,\n MenuButton: SidebarMenuButton,\n MenuSkeleton: SidebarMenuSkeleton,\n MenuSub: SidebarMenuSub,\n MenuSubItem: SidebarMenuSubItem,\n MenuSubButton: SidebarMenuSubButton,\n Separator: SidebarSeparator,\n Trigger: SidebarTrigger,\n SkipLink: SidebarSkipLink,\n})\nSidebar.displayName = 'Sidebar'\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarRoot,\n SidebarSeparator,\n SidebarSkipLink,\n SidebarTrigger,\n useSidebar,\n}\nexport type {\n SidebarMenuActionProps,\n SidebarMenuButtonProps,\n SidebarMenuSkeletonProps,\n SidebarProps,\n SidebarProviderProps,\n SidebarTriggerProps,\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { Icon } from '../icon/Icon'\nimport { ScrollArea } from '../scrollArea/ScrollArea'\nimport { Tooltip, TooltipContent, TooltipTrigger } from '../tooltip/Tooltip'\nimport { VisuallyHidden } from '../visuallyHidden/VisuallyHidden'\nimport {\n sidebarInsetPropDefs,\n sidebarMenuActionPropDefs,\n sidebarMenuButtonPropDefs,\n sidebarMenuSkeletonPropDefs,\n sidebarMenuSubTriggerPropDefs,\n sidebarPropDefs,\n sidebarProviderPropDefs,\n} from './sidebar.props'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\nconst Drawer = React.lazy(() => import('../drawer/Drawer').then((mod) => ({ default: mod.Drawer })))\nconst DrawerTrigger = React.lazy(() => import('../drawer/Drawer').then((mod) => ({ default: mod.DrawerTrigger })))\nconst DrawerContent = React.lazy(() => import('../drawer/Drawer').then((mod) => ({ default: mod.DrawerContent })))\nconst DrawerTitle = React.lazy(() => import('../drawer/Drawer').then((mod) => ({ default: mod.DrawerTitle })))\nconst DrawerDescription = React.lazy(() => import('../drawer/Drawer').then((mod) => ({ default: mod.DrawerDescription })))\nconst DrawerClose = React.lazy(() => import('../drawer/Drawer').then((mod) => ({ default: mod.DrawerClose })))\n\ntype SidebarStorageType = 'localStorage' | 'cookie' | 'memory'\ntype SidebarCollapsibleMode = 'offcanvas' | 'icon' | 'none'\n\ntype SidebarContextValue = {\n expanded: boolean\n pinnedExpanded: boolean\n setExpanded: React.Dispatch<React.SetStateAction<boolean>>\n previewExpanded: boolean\n setPreviewExpanded: React.Dispatch<React.SetStateAction<boolean>>\n previewBlockedRef: React.MutableRefObject<boolean>\n hoverExpand: boolean\n mobileSheetOpen: boolean\n setMobileSheetOpen: React.Dispatch<React.SetStateAction<boolean>>\n isMobile: boolean\n mobile: 'sheet' | 'drawer' | 'none'\n sidebarId?: string\n collapsible: SidebarCollapsibleMode\n manualToggleRef: React.MutableRefObject<boolean>\n triggerRef: React.MutableRefObject<HTMLElement | null>\n recoveryRailRef: React.MutableRefObject<HTMLButtonElement | null>\n rootRef: React.MutableRefObject<HTMLElement | null>\n defaultSubmenuMode: 'click' | 'hover'\n submenuOpenOnActive: boolean\n}\n\nconst SidebarContext = React.createContext<SidebarContextValue | null>(null)\n\nconst SidebarNestedContext = React.createContext<{\n counter: React.MutableRefObject<number>\n isActive: boolean\n} | null>(null)\n\nconst SidebarLocalContext = React.createContext<SidebarCollapsibleMode | undefined>(undefined)\n\nfunction getSidebarState(expanded: boolean) {\n return expanded ? 'expanded' : 'collapsed'\n}\n\nfunction getSidebarDataAttributes(expanded: boolean, collapsible?: SidebarCollapsibleMode) {\n const effectiveExpanded = collapsible === 'none' ? true : expanded\n return {\n 'data-state': getSidebarState(effectiveExpanded),\n 'data-collapsed': effectiveExpanded ? 'false' : 'true',\n ...(collapsible ? { 'data-collapsible': collapsible } : {}),\n } as const\n}\n\nfunction useSidebarContext() {\n return React.useContext(SidebarContext)\n}\n\nfunction useSidebarNestedContext() {\n return React.useContext(SidebarNestedContext)\n}\n\n// --- Storage helpers ---\n\nfunction readCookie(key: string): string | null {\n if (typeof document === 'undefined') return null\n const match = document.cookie.match(\n new RegExp('(?:^|; )' + key.replace(/([.$?*|{}()[\\]\\\\/+^])/g, '\\\\$1') + '=([^;]*)'),\n )\n return match ? decodeURIComponent(match[1]) : null\n}\n\nfunction writeCookie(key: string, value: string): void {\n if (typeof document === 'undefined') return\n document.cookie =\n key +\n '=' +\n encodeURIComponent(value) +\n '; SameSite=Lax; Path=/; Max-Age=31536000'\n}\n\n// --- Persisted state hook ---\n\nfunction usePersistedState({\n defaultExpanded,\n storageKey,\n storage,\n manualToggleRef,\n}: {\n defaultExpanded: boolean\n storageKey: string | undefined\n storage: SidebarStorageType\n /** Only a manual toggle (Trigger/Rail click, keyboard shortcut) should persist \u2014 hover-auto-\n * expand setting this to `true` too would mean peeking at the collapsed rail silently\n * overwrites the user's real collapsed preference, so the *next* page loads expanded even\n * though they never asked for that. Confirmed real 2026-08-25: the write effect below used to\n * fire unconditionally on every `expanded` change with no way to tell hover from a real click. */\n manualToggleRef: React.RefObject<boolean>\n}) {\n const [expanded, setExpanded] = React.useState(defaultExpanded)\n const [hydrated, setHydrated] = React.useState(false)\n\n React.useLayoutEffect(() => {\n if (!storageKey || typeof window === 'undefined' || storage === 'memory') {\n setHydrated(true)\n return\n }\n\n try {\n let stored: string | null = null\n if (storage === 'localStorage') {\n stored = window.localStorage.getItem(storageKey)\n } else if (storage === 'cookie') {\n stored = readCookie(storageKey)\n }\n if (stored !== null) {\n setExpanded(JSON.parse(stored) as boolean)\n }\n } catch {\n // ignore parse errors\n } finally {\n setHydrated(true)\n }\n }, [storageKey, storage])\n\n React.useEffect(() => {\n if (!storageKey || typeof window === 'undefined') return\n\n if (storage === 'memory') return\n\n // Skip persisting a hover-auto-expand (or its subsequent auto-collapse) \u2014 only a real,\n // deliberate toggle should overwrite the stored preference.\n if (!manualToggleRef.current) return\n\n const value = JSON.stringify(expanded)\n try {\n if (storage === 'localStorage') {\n window.localStorage.setItem(storageKey, value)\n } else if (storage === 'cookie') {\n writeCookie(storageKey, value)\n }\n } catch {\n // ignore write errors (e.g. cookie quota)\n }\n }, [storageKey, storage, expanded, manualToggleRef])\n\n return React.useMemo(\n () => ({ expanded, setExpanded, hydrated }),\n [expanded, hydrated],\n )\n}\n\nfunction useSidebar() {\n return useSidebarContext() ?? {\n expanded: true,\n pinnedExpanded: true,\n setExpanded: () => {},\n previewExpanded: false,\n setPreviewExpanded: () => {},\n previewBlockedRef: { current: false },\n hoverExpand: false,\n mobileSheetOpen: false,\n setMobileSheetOpen: () => {},\n isMobile: false,\n mobile: 'none' as const,\n sidebarId: undefined,\n collapsible: 'offcanvas' as SidebarCollapsibleMode,\n manualToggleRef: { current: false },\n triggerRef: { current: null },\n recoveryRailRef: { current: null },\n rootRef: { current: null },\n defaultSubmenuMode: 'click' as const,\n submenuOpenOnActive: true,\n }\n}\n\n// --- Ref merging helper ---\n\nfunction useMergedRef<T>(...refs: (React.Ref<T> | undefined)[]): React.RefCallback<T> {\n const stableRefs = React.useRef(refs)\n stableRefs.current = refs\n\n return React.useCallback((node: T | null) => {\n for (const ref of stableRefs.current) {\n if (!ref) continue\n if (typeof ref === 'function') {\n ref(node)\n } else {\n ;(ref as React.MutableRefObject<T | null>).current = node\n }\n }\n }, [])\n}\n\n// --- Keyboard navigation ---\n\nfunction handleMenuKeyboardNav(\n menuEl: HTMLElement | null,\n buttonSelector: string,\n e: React.KeyboardEvent,\n onEscape?: () => void,\n) {\n const buttons = Array.from(menuEl?.querySelectorAll<HTMLElement>(buttonSelector) ?? [])\n if (buttons.length === 0) return\n\n const currentIndex = buttons.indexOf(document.activeElement as HTMLElement)\n\n let nextIndex = -1\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault()\n nextIndex = currentIndex < 0 ? 0 : Math.min(currentIndex + 1, buttons.length - 1)\n break\n case 'ArrowUp':\n e.preventDefault()\n nextIndex = currentIndex < 0 ? buttons.length - 1 : Math.max(currentIndex - 1, 0)\n break\n case 'Home':\n e.preventDefault()\n nextIndex = 0\n break\n case 'End':\n e.preventDefault()\n nextIndex = buttons.length - 1\n break\n case 'Escape':\n if (onEscape) {\n e.preventDefault()\n e.stopPropagation()\n onEscape()\n }\n return\n }\n\n if (nextIndex >= 0) {\n buttons.forEach((btn, i) => {\n btn.tabIndex = i === nextIndex ? 0 : -1\n })\n buttons[nextIndex].focus()\n }\n}\n\n// --- Active auto-scroll ---\n\nfunction useAutoScroll(isActive: boolean, elementRef: React.RefObject<HTMLElement | null>) {\n React.useEffect(() => {\n if (!isActive || !elementRef.current) return\n\n const prefersReducedMotion =\n typeof window !== 'undefined' && window.matchMedia('(prefers-reduced-motion: reduce)').matches\n\n requestAnimationFrame(() => {\n const el = elementRef.current\n if (!el) return\n\n const parent = el.closest('.dsx-sidebar__content')\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n const elRect = el.getBoundingClientRect()\n const isInView = elRect.top >= parentRect.top && elRect.bottom <= parentRect.bottom\n if (isInView) return\n\n el.scrollIntoView({ block: 'nearest', behavior: prefersReducedMotion ? 'auto' : 'smooth' })\n })\n }, [isActive, elementRef])\n}\n\ntype SidebarProviderOwnProps = GetPropDefTypes<typeof sidebarProviderPropDefs>\ntype SidebarOwnProps = GetPropDefTypes<typeof sidebarPropDefs>\ntype SidebarInsetOwnProps = GetPropDefTypes<typeof sidebarInsetPropDefs>\ntype SidebarMenuButtonOwnProps = GetPropDefTypes<typeof sidebarMenuButtonPropDefs>\ntype SidebarMenuSubTriggerOwnProps = GetPropDefTypes<typeof sidebarMenuSubTriggerPropDefs>\ntype SidebarMenuActionOwnProps = GetPropDefTypes<typeof sidebarMenuActionPropDefs>\ntype SidebarMenuSkeletonOwnProps = GetPropDefTypes<typeof sidebarMenuSkeletonPropDefs>\n\ninterface SidebarProviderProps extends React.HTMLAttributes<HTMLDivElement>, SidebarProviderOwnProps {\n storageKey?: string\n storage?: SidebarStorageType\n toggleShortcut?: boolean\n mobile?: 'sheet' | 'drawer' | 'none'\n mobileBreakpoint?: number\n collapsible?: SidebarCollapsibleMode\n nested?: boolean\n defaultSubmenuMode?: 'click' | 'hover'\n submenuOpenOnActive?: boolean\n}\ninterface SidebarProps extends React.HTMLAttributes<HTMLDivElement>, SidebarOwnProps {}\ninterface SidebarInsetProps extends React.HTMLAttributes<HTMLElement>, SidebarInsetOwnProps {}\ninterface SidebarContentProps extends React.ComponentPropsWithoutRef<typeof ScrollArea> {}\ninterface SidebarMenuActionProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, SidebarMenuActionOwnProps {}\ninterface SidebarMenuButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, SidebarMenuButtonOwnProps {\n /** Icon-mode hover label. Required when `asChild` is used (e.g. wrapping a router `<Link>`) \u2014\n * the button's own label-derivation logic can't safely introspect an arbitrary child element's\n * text the way it can for plain string children, so `asChild` usage silently got no tooltip at\n * all until this existed. Ignored (children-derived label wins) when `asChild` is false. */\n tooltip?: string\n}\ninterface SidebarMenuSkeletonProps extends React.HTMLAttributes<HTMLDivElement>, SidebarMenuSkeletonOwnProps {}\ninterface SidebarTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n collapsedLabel?: string\n expandedLabel?: string\n iconOnly?: boolean\n}\n\nconst SidebarProvider = React.forwardRef<HTMLDivElement, SidebarProviderProps>((props, forwardedRef) => {\n const {\n className: propClassName,\n defaultExpanded = true,\n storageKey = 'dsx-sidebar-state',\n storage = 'localStorage',\n toggleShortcut = true,\n mobile = 'sheet',\n mobileBreakpoint = 768,\n collapsible = 'offcanvas',\n hoverExpand = false,\n previewOpen = false,\n nested = false,\n defaultSubmenuMode = 'click',\n submenuOpenOnActive = true,\n children,\n ...propsWithoutDefaults\n } = props\n const manualToggleRef = React.useRef(false)\n const persisted = usePersistedState({ defaultExpanded, storageKey, storage, manualToggleRef })\n const [transitionsReady, setTransitionsReady] = React.useState(false)\n const readyFrameRef = React.useRef<number | null>(null)\n // defaultSubmenuMode / submenuOpenOnActive are behavior-only (no className\n // mapping) \u2014 extractProps passes className-less defs through to the DOM, so\n // they stay destructured above and out of this input (same rule as `effect`\n // on SidebarRoot). Feeding them in leaks unknown props onto the div.\n const { className, ...providerProps } = extractProps(\n {\n ...propsWithoutDefaults,\n className: propClassName,\n defaultExpanded,\n hoverExpand,\n previewOpen,\n },\n sidebarProviderPropDefs,\n )\n\n React.useEffect(() => {\n if (!persisted.hydrated) return\n\n readyFrameRef.current = requestAnimationFrame(() => {\n readyFrameRef.current = requestAnimationFrame(() => {\n setTransitionsReady(true)\n readyFrameRef.current = null\n })\n })\n\n return () => {\n if (readyFrameRef.current !== null) cancelAnimationFrame(readyFrameRef.current)\n }\n }, [persisted.hydrated])\n\n React.useEffect(() => {\n if (!toggleShortcut || collapsible === 'none') return\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if ((event.ctrlKey || event.metaKey) && event.key === 'b') {\n event.preventDefault()\n manualToggleRef.current = true\n persisted.setExpanded((current) => !current)\n }\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [toggleShortcut, collapsible, persisted])\n\n // Always initialize to false (matching what SSR renders) rather than reading\n // window.innerWidth here \u2014 the initializer runs during the client's first\n // render too, so reading it eagerly produced a real hydration mismatch on\n // every mobile-width page load (SSR renders the desktop branch, client's\n // first render tried to render the mobile Sheet branch instead, and React\n // discarded + regenerated the whole subtree). The useLayoutEffect below\n // already corrects this synchronously before paint, so deferring to it\n // costs no visible flash while keeping hydration consistent.\n const [isMobile, setIsMobile] = React.useState(false)\n\n React.useLayoutEffect(() => {\n if (typeof window === 'undefined') return\n const mm = window.matchMedia('(pointer: coarse)')\n const check = () => {\n setIsMobile(window.innerWidth < mobileBreakpoint || mm.matches)\n }\n check()\n mm.addEventListener?.('change', check)\n return () => mm.removeEventListener?.('change', check)\n }, [mobileBreakpoint])\n\n React.useEffect(() => {\n if (typeof window === 'undefined') return\n\n let timer: ReturnType<typeof setTimeout>\n const handleResize = () => {\n clearTimeout(timer)\n timer = setTimeout(() => {\n const mm = window.matchMedia('(pointer: coarse)')\n setIsMobile(window.innerWidth < mobileBreakpoint || mm.matches)\n }, 100)\n }\n\n window.addEventListener('resize', handleResize)\n return () => {\n window.removeEventListener('resize', handleResize)\n clearTimeout(timer)\n }\n }, [mobileBreakpoint])\n\n const [mobileSheetOpen, setMobileSheetOpen] = React.useState(false)\n const [previewExpanded, setPreviewExpanded] = React.useState(false)\n const previewBlockedRef = React.useRef(false)\n\n React.useEffect(() => {\n if (!isMobile) {\n setMobileSheetOpen(false)\n }\n }, [isMobile])\n\n const isMobileMode = mobile !== 'none' && isMobile\n const canPreview = hoverExpand && collapsible === 'icon' && !isMobileMode\n const effectivePreviewExpanded = canPreview && (previewExpanded || previewOpen)\n const effectiveExpanded = persisted.expanded || effectivePreviewExpanded\n const sidebarId = React.useId()\n\n React.useEffect(() => {\n if (!canPreview || persisted.expanded) {\n setPreviewExpanded(false)\n }\n }, [canPreview, persisted.expanded])\n\n const triggerRef = React.useRef<HTMLElement | null>(null)\n const recoveryRailRef = React.useRef<HTMLButtonElement | null>(null)\n const rootRef = React.useRef<HTMLElement | null>(null)\n\n const contextValue = React.useMemo(\n () => ({\n expanded: effectiveExpanded,\n pinnedExpanded: persisted.expanded,\n setExpanded: persisted.setExpanded,\n previewExpanded: effectivePreviewExpanded,\n setPreviewExpanded,\n previewBlockedRef,\n hoverExpand: canPreview,\n mobileSheetOpen,\n setMobileSheetOpen,\n isMobile: isMobileMode,\n mobile,\n sidebarId,\n collapsible,\n manualToggleRef,\n triggerRef,\n recoveryRailRef,\n rootRef,\n defaultSubmenuMode,\n submenuOpenOnActive,\n }),\n [effectiveExpanded, persisted.expanded, persisted.setExpanded, effectivePreviewExpanded, canPreview, mobileSheetOpen, isMobileMode, mobile, sidebarId, collapsible, defaultSubmenuMode, submenuOpenOnActive],\n )\n\n const nestedCounterRef = React.useRef(0)\n\n const desktopChildren = (\n <SidebarNestedContext.Provider value={{ counter: nestedCounterRef, isActive: nested }}>\n {children}\n </SidebarNestedContext.Provider>\n )\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <div\n ref={forwardedRef}\n className={classNames('dsx-sidebar-provider', className)}\n data-slot=\"sidebar-provider\"\n {...getSidebarDataAttributes(effectiveExpanded, collapsible)}\n data-hover-expand={canPreview ? 'true' : 'false'}\n data-preview-expanded={effectivePreviewExpanded ? 'true' : 'false'}\n data-pinned-state={getSidebarState(persisted.expanded)}\n data-transitions-ready={transitionsReady ? 'true' : 'false'}\n {...providerProps}\n suppressHydrationWarning\n >\n {/* Always mounted \u2014 SidebarProvider's children are `<Sidebar>` (nav) plus a sibling\n `<Sidebar.Inset>` (main page content), per the documented composition. This used to\n branch on isMobileMode and stuff the WHOLE children blob (nav *and* Inset) into a\n closed mobile Sheet, which meant Inset \u2014 the actual page content \u2014 never rendered on\n mobile at all (confirmed live: a totally blank page below 1024px). The nav's own\n mobile-vs-desktop rendering (inline <nav> vs. Sheet-wrapped drawer) now lives in\n SidebarRoot itself, scoped to only the nav's own children \u2014 Inset is untouched by it\n and always renders. */}\n {desktopChildren}\n {!isMobileMode && collapsible === 'offcanvas' && (\n <button\n ref={recoveryRailRef}\n type=\"button\"\n className=\"dsx-sidebar__recovery-rail\"\n data-slot=\"sidebar-recovery-rail\"\n aria-label=\"Expand sidebar\"\n aria-controls={sidebarId}\n aria-expanded={persisted.expanded}\n aria-hidden={persisted.expanded ? true : undefined}\n tabIndex={persisted.expanded ? -1 : 0}\n onClick={() => {\n manualToggleRef.current = true\n persisted.setExpanded(true)\n }}\n >\n <Icon name=\"chevron-right\" size=\"sm\" />\n </button>\n )}\n </div>\n </SidebarContext.Provider>\n )\n})\nSidebarProvider.displayName = 'SidebarProvider'\n\nconst SidebarRoot = React.forwardRef<HTMLDivElement, SidebarProps>((props, forwardedRef) => {\n const { className: propClassName, defaultExpanded = true, effect = 'none', children, ...propsWithoutDefaults } = props\n const context = useSidebarContext()\n const internalManualToggleRef = React.useRef(false)\n const internal = usePersistedState({ defaultExpanded, storageKey: undefined, storage: 'localStorage', manualToggleRef: internalManualToggleRef })\n const value: SidebarContextValue = context ?? {\n ...internal,\n pinnedExpanded: internal.expanded,\n previewExpanded: false,\n setPreviewExpanded: () => {},\n previewBlockedRef: { current: false },\n hoverExpand: false,\n mobileSheetOpen: false,\n setMobileSheetOpen: () => {},\n isMobile: false,\n mobile: 'none' as const,\n sidebarId: undefined,\n collapsible: 'offcanvas',\n manualToggleRef: { current: false },\n triggerRef: { current: null },\n recoveryRailRef: { current: null },\n rootRef: { current: null },\n defaultSubmenuMode: 'click' as const,\n submenuOpenOnActive: true,\n }\n const { className, ...sidebarProps } = extractProps(\n {\n ...propsWithoutDefaults,\n className: propClassName,\n defaultExpanded,\n effect,\n },\n sidebarPropDefs,\n )\n\n // --- Phase 3.4: Nested sidebar detection ---\n const nestedCtx = useSidebarNestedContext()\n const hasRegisteredRef = React.useRef(false)\n const [isNestedInstance, setIsNestedInstance] = React.useState(false)\n\n React.useLayoutEffect(() => {\n if (nestedCtx && nestedCtx.isActive && !hasRegisteredRef.current) {\n nestedCtx.counter.current++\n hasRegisteredRef.current = true\n if (nestedCtx.counter.current > 1) {\n setIsNestedInstance(true)\n }\n }\n return () => {\n if (hasRegisteredRef.current && nestedCtx) {\n nestedCtx.counter.current--\n hasRegisteredRef.current = false\n }\n }\n }, [nestedCtx])\n\n const effectiveCollapsible = isNestedInstance ? 'none' : value.collapsible\n\n const effectiveExpanded = effectiveCollapsible === 'none' ? true : value.expanded\n\n const [prefersReducedMotion, setPrefersReducedMotion] = React.useState(\n typeof window !== 'undefined' && window.matchMedia('(prefers-reduced-motion: reduce)').matches,\n )\n\n React.useEffect(() => {\n if (typeof window === 'undefined') return\n const mm = window.matchMedia('(prefers-reduced-motion: reduce)')\n setPrefersReducedMotion(mm.matches)\n const handler = (e: MediaQueryListEvent) => setPrefersReducedMotion(e.matches)\n mm.addEventListener('change', handler)\n return () => mm.removeEventListener('change', handler)\n }, [])\n\n // Transfer focus after the width transition; reduced motion resolves immediately.\n const prevExpandedRef = React.useRef(effectiveExpanded)\n React.useEffect(() => {\n const wasExpanded = prevExpandedRef.current\n prevExpandedRef.current = effectiveExpanded\n\n if (effectiveCollapsible !== 'offcanvas' || wasExpanded === effectiveExpanded) {\n return\n }\n if (!value.manualToggleRef.current) {\n return\n }\n\n const root = value.rootRef.current\n const focusTarget = () => {\n value.manualToggleRef.current = false\n if (!effectiveExpanded) {\n value.recoveryRailRef.current?.focus()\n return\n }\n\n const trigger = value.triggerRef.current\n if (trigger && document.contains(trigger)) {\n trigger.focus()\n } else {\n value.rootRef.current?.focus()\n }\n }\n\n if (prefersReducedMotion || !root) {\n focusTarget()\n return\n }\n\n const handleTransitionEnd = (event: TransitionEvent) => {\n if (event.target === root && event.propertyName === 'width') {\n focusTarget()\n }\n }\n root.addEventListener('transitionend', handleTransitionEnd)\n const fallbackTimer = setTimeout(focusTarget, 300)\n return () => {\n root.removeEventListener('transitionend', handleTransitionEnd)\n clearTimeout(fallbackTimer)\n }\n }, [\n effectiveCollapsible,\n effectiveExpanded,\n prefersReducedMotion,\n value.recoveryRailRef,\n value.rootRef,\n value.triggerRef,\n value.manualToggleRef,\n ])\n\n const sidebarDataAttributes = getSidebarDataAttributes(effectiveExpanded, effectiveCollapsible)\n const isHiddenOffcanvas = effectiveCollapsible === 'offcanvas' && !effectiveExpanded\n const mergedRootRef = useMergedRef(value.rootRef, forwardedRef)\n const pointerWithinRef = React.useRef(false)\n const {\n onPointerEnter,\n onPointerLeave,\n onFocusCapture,\n onBlurCapture,\n onKeyDown,\n ...restSidebarProps\n } = sidebarProps\n\n // Own mobile-vs-desktop rendering lives here, scoped to just the nav's own children \u2014 moved out\n // of SidebarProvider, which used to wrap its *entire* children (this nav plus a sibling\n // Sidebar.Inset) into a closed mobile Sheet, leaving Inset \u2014 the actual page content \u2014 unrendered\n // on every mobile-width load. Inset is untouched by this and always renders as a normal sibling.\n const isMobileSheetMode = value.isMobile && value.mobile === 'sheet'\n\n const content = isMobileSheetMode ? (\n <React.Suspense fallback={null}>\n <Drawer open={value.mobileSheetOpen} onOpenChange={value.setMobileSheetOpen} direction=\"left\">\n {/* The trigger hides while the drawer is open \u2014 it invoked the\n drawer, and floating above the dimmed page it reads as a leak\n (confirmed live: hamburger visible over the open nav). The\n drawer owns its own X close. */}\n {!value.mobileSheetOpen && (\n <DrawerTrigger asChild>\n <button\n type=\"button\"\n aria-label=\"Open sidebar\"\n className=\"dsx-sidebar__mobile-trigger\"\n data-slot=\"sidebar-mobile-trigger\"\n >\n <Icon name=\"menu\" size=\"md\" />\n </button>\n </DrawerTrigger>\n )}\n <DrawerContent className=\"dsx-sidebar__mobile-sheet\">\n {/* Vaul requires a Title for screen readers even when the visible nav content\n makes a heading redundant. */}\n <VisuallyHidden asChild>\n <DrawerTitle>Navigation</DrawerTitle>\n </VisuallyHidden>\n <VisuallyHidden asChild>\n <DrawerDescription>Site navigation menu</DrawerDescription>\n </VisuallyHidden>\n <DrawerClose className=\"dsx-sidebar__mobile-close\" aria-label=\"Close navigation\" data-slot=\"sidebar-mobile-close\">\n <Icon name=\"x\" size=\"md\" />\n </DrawerClose>\n <SidebarLocalContext.Provider value={effectiveCollapsible}>\n <nav\n ref={mergedRootRef}\n id={value.sidebarId}\n {...getSidebarDataAttributes(true, effectiveCollapsible)}\n data-hover-expand=\"false\"\n data-preview-expanded=\"false\"\n data-pinned-state={getSidebarState(value.pinnedExpanded)}\n data-effect={effect}\n data-nested={isNestedInstance ? 'true' : undefined}\n data-slot=\"sidebar\"\n aria-label=\"Sidebar\"\n tabIndex={-1}\n className={classNames('dsx-sidebar', className)}\n {...restSidebarProps}\n >\n {children}\n </nav>\n </SidebarLocalContext.Provider>\n </DrawerContent>\n </Drawer>\n </React.Suspense>\n ) : (\n <SidebarLocalContext.Provider value={effectiveCollapsible}>\n <nav\n ref={mergedRootRef}\n id={value.sidebarId}\n {...sidebarDataAttributes}\n data-hover-expand={value.hoverExpand ? 'true' : 'false'}\n data-preview-expanded={value.previewExpanded ? 'true' : 'false'}\n data-pinned-state={getSidebarState(value.pinnedExpanded)}\n data-effect={effect}\n data-nested={isNestedInstance ? 'true' : undefined}\n data-slot=\"sidebar\"\n aria-label=\"Sidebar\"\n aria-hidden={isHiddenOffcanvas ? true : undefined}\n inert={isHiddenOffcanvas ? true : undefined}\n tabIndex={-1}\n className={classNames('dsx-sidebar', className)}\n {...restSidebarProps}\n onPointerEnter={(event) => {\n pointerWithinRef.current = true\n if (value.hoverExpand && !value.pinnedExpanded && !value.previewBlockedRef.current) {\n value.setPreviewExpanded(true)\n }\n onPointerEnter?.(event as unknown as React.PointerEvent<HTMLDivElement>)\n }}\n onPointerLeave={(event) => {\n pointerWithinRef.current = false\n value.previewBlockedRef.current = false\n if (!event.currentTarget.contains(document.activeElement)) {\n value.setPreviewExpanded(false)\n }\n onPointerLeave?.(event as unknown as React.PointerEvent<HTMLDivElement>)\n }}\n onFocusCapture={(event) => {\n if (value.hoverExpand && !value.pinnedExpanded && !value.previewBlockedRef.current) {\n value.setPreviewExpanded(true)\n }\n onFocusCapture?.(event as unknown as React.FocusEvent<HTMLDivElement>)\n }}\n onBlurCapture={(event) => {\n if (!event.currentTarget.contains(event.relatedTarget as Node | null) && !pointerWithinRef.current) {\n value.previewBlockedRef.current = false\n value.setPreviewExpanded(false)\n }\n onBlurCapture?.(event as unknown as React.FocusEvent<HTMLDivElement>)\n }}\n onKeyDown={(event) => {\n if (event.key === 'Escape' && value.previewExpanded) {\n event.preventDefault()\n value.setPreviewExpanded(false)\n }\n onKeyDown?.(event as unknown as React.KeyboardEvent<HTMLDivElement>)\n }}\n >\n {children}\n </nav>\n </SidebarLocalContext.Provider>\n )\n\n if (context) {\n return content\n }\n\n return <SidebarContext.Provider value={value}>{content}</SidebarContext.Provider>\n})\nSidebarRoot.displayName = 'Sidebar'\n\nconst SidebarInset = React.forwardRef<HTMLElement, SidebarInsetProps>((props, forwardedRef) => {\n const { asChild, className, ...insetProps } = extractProps(props, sidebarInsetPropDefs)\n const { expanded, collapsible } = useSidebar()\n const Comp = asChild ? Slot : 'main'\n\n return (\n <Comp\n ref={forwardedRef}\n className={classNames('dsx-sidebar__inset', className)}\n data-slot=\"sidebar-inset\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...insetProps}\n />\n )\n})\nSidebarInset.displayName = 'SidebarInset'\n\nconst SidebarRail = React.forwardRef<HTMLButtonElement, React.ButtonHTMLAttributes<HTMLButtonElement>>(\n ({ className, type = 'button', onClick, ...props }, forwardedRef) => {\n const {\n expanded,\n setExpanded,\n sidebarId,\n collapsible: contextCollapsible,\n manualToggleRef,\n isMobile,\n mobile,\n } = useSidebar()\n const localCollapsible = React.useContext(SidebarLocalContext)\n const collapsible = localCollapsible ?? contextCollapsible\n const sidebarDataAttributes = getSidebarDataAttributes(expanded, collapsible)\n\n // Same reasoning as SidebarTrigger: on a mobile Sheet there's no \"collapsed to icons\" state\n // to toggle, so a rail here is a meaningless control inside a modal drawer. Confirmed real\n // bug live: it was still rendering inside the mobile Sheet.\n if (collapsible === 'none' || (isMobile && mobile === 'sheet')) {\n return null\n }\n\n const localRef = React.useRef<HTMLButtonElement>(null)\n\n const mergedRef = React.useCallback(\n (node: HTMLButtonElement | null) => {\n localRef.current = node\n if (typeof forwardedRef === 'function') {\n forwardedRef(node)\n } else if (forwardedRef) {\n ;(forwardedRef as React.MutableRefObject<HTMLButtonElement | null>).current = node\n }\n },\n [forwardedRef],\n )\n\n const isIconMode = collapsible === 'icon'\n\n return (\n <button\n ref={mergedRef}\n type={type}\n data-slot=\"sidebar-rail\"\n {...sidebarDataAttributes}\n aria-label={expanded ? 'Collapse sidebar' : 'Expand sidebar'}\n aria-expanded={expanded}\n aria-controls={sidebarId}\n className={classNames(\n 'dsx-sidebar__rail',\n isIconMode && 'dsx-sidebar__rail--edge',\n className,\n )}\n onClick={(event) => {\n onClick?.(event)\n if (!event.defaultPrevented) {\n manualToggleRef.current = true\n setExpanded((current) => !current)\n }\n }}\n {...props}\n />\n )\n },\n)\nSidebarRail.displayName = 'SidebarRail'\n\nconst SidebarHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <div\n ref={forwardedRef}\n className={classNames('dsx-sidebar__header', className)}\n data-slot=\"sidebar-header\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n})\nSidebarHeader.displayName = 'SidebarHeader'\n\nconst SidebarContent = React.forwardRef<HTMLDivElement, SidebarContentProps>(({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <ScrollArea\n ref={forwardedRef}\n className={classNames('dsx-sidebar__content', className)}\n viewportClassName=\"dsx-sidebar__content-viewport\"\n data-slot=\"sidebar-content\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n})\nSidebarContent.displayName = 'SidebarContent'\n\nconst SidebarFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <div\n ref={forwardedRef}\n className={classNames('dsx-sidebar__footer', className)}\n data-slot=\"sidebar-footer\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n})\nSidebarFooter.displayName = 'SidebarFooter'\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <div\n ref={forwardedRef}\n className={classNames('dsx-sidebar__group', className)}\n data-slot=\"sidebar-group\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n})\nSidebarGroup.displayName = 'SidebarGroup'\n\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <div\n ref={forwardedRef}\n className={classNames('dsx-sidebar__group-label', className)}\n data-slot=\"sidebar-group-label\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n },\n)\nSidebarGroupLabel.displayName = 'SidebarGroupLabel'\n\nconst SidebarGroupAction = React.forwardRef<HTMLButtonElement, React.ButtonHTMLAttributes<HTMLButtonElement>>(\n ({ className, type = 'button', ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <button\n ref={forwardedRef}\n type={type}\n className={classNames('dsx-sidebar__group-action dsx-button', className)}\n data-slot=\"sidebar-group-action\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n },\n)\nSidebarGroupAction.displayName = 'SidebarGroupAction'\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <div\n ref={forwardedRef}\n className={classNames('dsx-sidebar__group-content', className)}\n data-slot=\"sidebar-group-content\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n },\n)\nSidebarGroupContent.displayName = 'SidebarGroupContent'\n\n// --- Phase 3.1: Keyboard-navigable SidebarMenu ---\nconst SidebarMenu = React.forwardRef<HTMLUListElement, React.HTMLAttributes<HTMLUListElement>>(\n ({ className, onKeyDown, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n const menuRef = React.useRef<HTMLUListElement | null>(null)\n\n const mergedRef = useMergedRef(menuRef, forwardedRef)\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLUListElement>) => {\n onKeyDown?.(e)\n if (e.defaultPrevented) return\n handleMenuKeyboardNav(menuRef.current, '.dsx-sidebar__menu-button, .dsx-sidebar__menu-sub-trigger, .dsx-sidebar__menu-sub-button', e)\n },\n [onKeyDown],\n )\n\n return (\n <ul\n ref={mergedRef}\n className={classNames('dsx-sidebar__menu', className)}\n data-slot=\"sidebar-menu\"\n onKeyDown={handleKeyDown}\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n },\n)\nSidebarMenu.displayName = 'SidebarMenu'\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, React.LiHTMLAttributes<HTMLLIElement>>(({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <li\n ref={forwardedRef}\n className={classNames('dsx-sidebar__menu-item', className)}\n data-slot=\"sidebar-menu-item\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n})\nSidebarMenuItem.displayName = 'SidebarMenuItem'\n\ntype SidebarMenuBadgeProps = React.HTMLAttributes<HTMLSpanElement> & {\n /** `'ring'` renders a small SVG progress ring for a genuine value/max ratio; `'accent'` renders\n quiet glowing metadata without the filled Badge surface. Ring falls back to plain text unless\n both `value` and `max` are given. */\n variant?: 'text' | 'ring' | 'accent'\n value?: number\n max?: number\n}\n\nconst SidebarMenuBadge = React.forwardRef<HTMLSpanElement, SidebarMenuBadgeProps>(\n ({ className, variant = 'text', value, max, children, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n if (variant === 'ring' && typeof value === 'number' && typeof max === 'number' && max > 0) {\n const radius = 7\n const circumference = 2 * Math.PI * radius\n const ratio = Math.min(Math.max(value / max, 0), 1)\n const dashoffset = circumference * (1 - ratio)\n\n return (\n <span\n ref={forwardedRef}\n className={classNames('dsx-sidebar__menu-badge dsx-sidebar__menu-badge--ring', className)}\n data-slot=\"sidebar-menu-badge\"\n data-variant=\"ring\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n >\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" aria-hidden=\"true\" focusable=\"false\">\n <circle\n className=\"dsx-sidebar__menu-badge-ring-track\"\n cx=\"9\"\n cy=\"9\"\n r={radius}\n fill=\"none\"\n strokeWidth=\"2\"\n />\n <circle\n className=\"dsx-sidebar__menu-badge-ring-fill\"\n cx=\"9\"\n cy=\"9\"\n r={radius}\n fill=\"none\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeDasharray={circumference}\n strokeDashoffset={dashoffset}\n transform=\"rotate(-90 9 9)\"\n />\n </svg>\n {/* Expanded-only text pairing \u2014 a bare partial ring with no visible number reads as a\n loading spinner, not \"3 of 5\" (confirmed live). Collapsed hides it via\n `.dsx-sidebar[data-state='collapsed'] .dsx-sidebar__menu-badge-ring-label`, same\n space-is-tight reasoning the plain-text badge already uses. */}\n <span className=\"dsx-sidebar__menu-badge-ring-label\" aria-hidden=\"true\">{`${value}/${max}`}</span>\n <VisuallyHidden>{`${value} of ${max}`}</VisuallyHidden>\n </span>\n )\n }\n\n if (variant === 'accent') {\n return (\n <span\n ref={forwardedRef}\n className={classNames('dsx-sidebar__menu-badge dsx-sidebar__menu-badge--accent', className)}\n data-slot=\"sidebar-menu-badge\"\n data-variant=\"accent\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n >\n {children}\n </span>\n )\n }\n\n return (\n <span\n ref={forwardedRef}\n className={classNames('dsx-sidebar__menu-badge dsx-badge', className)}\n data-slot=\"sidebar-menu-badge\"\n data-variant=\"secondary\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n >\n {children}\n </span>\n )\n },\n)\nSidebarMenuBadge.displayName = 'SidebarMenuBadge'\n\nconst SidebarMenuAction = React.forwardRef<HTMLButtonElement, SidebarMenuActionProps>((props, forwardedRef) => {\n const { className, asChild = false, type = 'button', ...propsWithoutDefaults } = extractProps(props, sidebarMenuActionPropDefs)\n const Comp = asChild ? Slot : 'button'\n const { expanded, collapsible } = useSidebar()\n\n return (\n <Comp\n ref={forwardedRef}\n type={asChild ? undefined : type}\n className={classNames('dsx-sidebar__menu-action dsx-button', className)}\n data-slot=\"sidebar-menu-action\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...propsWithoutDefaults}\n />\n )\n})\nSidebarMenuAction.displayName = 'SidebarMenuAction'\n\nconst SidebarMenuButton = React.forwardRef<HTMLButtonElement, SidebarMenuButtonProps>((props, forwardedRef) => {\n const { children, className: propClassName, isActive = false, asChild = false, type = 'button', tooltip: tooltipProp, ...propsWithoutDefaults } = props\n const Comp = asChild ? Slot : 'button'\n const { expanded, collapsible, isMobile } = useSidebar()\n const { asChild: _asChild, className, ...menuButtonProps } = extractProps(\n {\n ...propsWithoutDefaults,\n className: propClassName,\n isActive,\n asChild,\n },\n sidebarMenuButtonPropDefs,\n )\n const content = asChild\n ? children\n : React.Children.map(children, (child) =>\n typeof child === 'string' || typeof child === 'number' ? (\n <span className=\"dsx-sidebar__menu-button-text\" data-slot=\"sidebar-menu-button-text\">\n {child}\n </span>\n ) : (\n child\n ),\n )\n\n const label = React.useMemo(() => {\n if (tooltipProp !== undefined) return tooltipProp\n if (asChild) return ''\n return React.Children.toArray(children)\n .filter((c): c is string | number => typeof c === 'string' || typeof c === 'number')\n .join('')\n }, [children, asChild, tooltipProp])\n\n // `asChild` no longer blanket-disables the tooltip \u2014 it only skipped it because the\n // children-derived `label` gives up on introspecting an arbitrary child (e.g. a router\n // `<Link>`). An explicit `tooltip` prop sidesteps that entirely, so `asChild` usage (every\n // real nav item in this app, wrapping `next/link`) gets its hover label too.\n const showTooltip = collapsible === 'icon' && !expanded && !isMobile && label !== ''\n\n // --- Phase 3.2: Active auto-scroll ---\n const buttonRef = React.useRef<HTMLElement | null>(null)\n const mergedRef = useMergedRef(buttonRef, forwardedRef)\n useAutoScroll(isActive, buttonRef)\n\n const button = (\n <Comp\n ref={mergedRef}\n data-active={isActive ? 'true' : undefined}\n aria-current={isActive ? 'page' : undefined}\n data-slot=\"sidebar-menu-button\"\n className={classNames('dsx-sidebar__menu-button dsx-button', className)}\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...menuButtonProps}\n {...(!asChild ? { type } : {})}\n >\n {content}\n </Comp>\n )\n\n if (showTooltip) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side=\"right\">{label}</TooltipContent>\n </Tooltip>\n )\n }\n\n return button\n})\nSidebarMenuButton.displayName = 'SidebarMenuButton'\n\nconst SidebarMenuSkeleton = React.forwardRef<HTMLDivElement, SidebarMenuSkeletonProps>((props, forwardedRef) => {\n const { className: propClassName, showIcon = true, ...propsWithoutDefaults } = props\n const { expanded, collapsible } = useSidebar()\n const { className, ...skeletonProps } = extractProps(\n {\n ...propsWithoutDefaults,\n className: propClassName,\n showIcon,\n },\n sidebarMenuSkeletonPropDefs,\n )\n\n return (\n <div\n ref={forwardedRef}\n className={classNames('dsx-sidebar__menu-skeleton', className)}\n data-show-icon={showIcon ? 'true' : 'false'}\n data-slot=\"sidebar-menu-skeleton\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...skeletonProps}\n >\n {showIcon ? (\n <span\n aria-hidden=\"true\"\n className=\"dsx-sidebar__menu-skeleton-icon dsx-skeleton\"\n data-slot=\"sidebar-menu-skeleton-icon\"\n data-shape=\"circle\"\n />\n ) : null}\n <span\n aria-hidden=\"true\"\n className=\"dsx-sidebar__menu-skeleton-label dsx-skeleton\"\n data-slot=\"sidebar-menu-skeleton-label\"\n data-shape=\"text-line\"\n />\n </div>\n )\n})\nSidebarMenuSkeleton.displayName = 'SidebarMenuSkeleton'\n\n// --- Phase 3.1: Keyboard-navigable SidebarMenuSub with Escape to close ---\nconst SidebarMenuSub = React.forwardRef<HTMLUListElement, React.HTMLAttributes<HTMLUListElement>>(\n ({ className, onKeyDown, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n const subRef = React.useRef<HTMLUListElement | null>(null)\n\n const mergedRef = useMergedRef(subRef, forwardedRef)\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLUListElement>) => {\n onKeyDown?.(e)\n if (e.defaultPrevented) return\n\n handleMenuKeyboardNav(subRef.current, '.dsx-sidebar__menu-sub-button', e, () => {\n const parentMenuItem = subRef.current?.closest<HTMLElement>('.dsx-sidebar__menu-item')\n const parentButton = parentMenuItem?.querySelector<HTMLElement>(\n '.dsx-sidebar__menu-sub-trigger, .dsx-sidebar__menu-button',\n )\n if (parentButton) {\n parentButton.focus()\n }\n })\n },\n [onKeyDown],\n )\n\n return (\n <ul\n ref={mergedRef}\n className={classNames('dsx-sidebar__menu-sub', className)}\n data-slot=\"sidebar-menu-sub\"\n onKeyDown={handleKeyDown}\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n },\n)\nSidebarMenuSub.displayName = 'SidebarMenuSub'\n\nconst SidebarMenuSubItem = React.forwardRef<HTMLLIElement, React.LiHTMLAttributes<HTMLLIElement>>(({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <li\n ref={forwardedRef}\n className={classNames('dsx-sidebar__menu-sub-item', className)}\n data-slot=\"sidebar-menu-sub-item\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n})\nSidebarMenuSubItem.displayName = 'SidebarMenuSubItem'\n\nconst SidebarMenuSubButton = React.forwardRef<HTMLButtonElement, SidebarMenuButtonProps>((props, forwardedRef) => {\n const { children, className: propClassName, isActive = false, asChild = false, type = 'button', ...propsWithoutDefaults } = props\n const Comp = asChild ? Slot : 'button'\n const { expanded, collapsible, isMobile } = useSidebar()\n const { asChild: _asChild, className, ...menuButtonProps } = extractProps(\n {\n ...propsWithoutDefaults,\n className: propClassName,\n isActive,\n asChild,\n },\n sidebarMenuButtonPropDefs,\n )\n const content = asChild\n ? children\n : React.Children.map(children, (child) =>\n typeof child === 'string' || typeof child === 'number' ? (\n <span className=\"dsx-sidebar__menu-button-text\" data-slot=\"sidebar-menu-button-text\">\n {child}\n </span>\n ) : (\n child\n ),\n )\n\n const label = React.useMemo(() => {\n if (asChild) return ''\n return React.Children.toArray(children)\n .filter((c): c is string | number => typeof c === 'string' || typeof c === 'number')\n .join('')\n }, [children, asChild])\n\n const showTooltip = !asChild && collapsible === 'icon' && !expanded && !isMobile && label !== ''\n\n // --- Phase 3.2: Active auto-scroll ---\n const buttonRef = React.useRef<HTMLElement | null>(null)\n const mergedRef = useMergedRef(buttonRef, forwardedRef)\n useAutoScroll(isActive, buttonRef)\n\n const button = (\n <Comp\n ref={mergedRef}\n data-active={isActive ? 'true' : undefined}\n aria-current={isActive ? 'page' : undefined}\n data-slot=\"sidebar-menu-sub-button\"\n className={classNames('dsx-sidebar__menu-sub-button dsx-button', className)}\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...menuButtonProps}\n {...(!asChild ? { type } : {})}\n >\n {content}\n </Comp>\n )\n\n if (showTooltip) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side=\"right\">{label}</TooltipContent>\n </Tooltip>\n )\n }\n\n return button\n})\nSidebarMenuSubButton.displayName = 'SidebarMenuSubButton'\n\ntype SidebarMenuSubTriggerMode = 'click' | 'hover'\n\ninterface SidebarMenuSubTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, SidebarMenuSubTriggerOwnProps {\n /** Toggle mode. `click` toggles via the composed Collapsible root; `hover`\n * opens on pointer enter after `hoverOpenDelay` and closes on pointer leave\n * after `hoverCloseDelay`. Clicking always toggles in both modes.\n * Defaults to the provider `defaultSubmenuMode` (`'click'`). */\n mode?: SidebarMenuSubTriggerMode\n /** Hover-open delay in ms. Only used when `mode` is `'hover'`. */\n hoverOpenDelay?: number\n /** Hover-close delay in ms; longer than open so the pointer can cross the\n * gap into the sub. Only used when `mode` is `'hover'`. */\n hoverCloseDelay?: number\n /** Auto-opens when any descendant `Sidebar.MenuSubButton` has `isActive`.\n * Reads the provider `submenuOpenOnActive` default. Only applies when the\n * mirrored `open` is uncontrolled (see below). */\n openOnActive?: boolean\n /** Mirrored open state of the consumer-owned Collapsible root. Drives\n * `aria-expanded` / `data-state`, hover timers, Arrow-key handling, and\n * auto-open. */\n open?: boolean\n /** Change handler of the consumer-owned Collapsible root. Called by the\n * click toggle, hover timers, and Arrow keys, and on mount when\n * `openOnActive` fires. */\n onOpenChange?: (open: boolean) => void\n /** Shows the trailing chevron. Hidden in icon mode automatically. */\n showChevron?: boolean\n /** Marks the parent as the current page. Same meaning as `MenuButton`. */\n isActive?: boolean\n /** Icon-mode hover label. Required when `asChild` is used \u2014 same rule as `MenuButton`. */\n tooltip?: string\n}\n\n// --- Phase 4: clickable SidebarMenuSubTrigger (Direction #4 Q5) ---\n// The open state lives on a consumer-owned Collapsible root, but the trigger\n// is NOT composed under CollapsibleTrigger: our CollapsibleTrigger renders a\n// span + chevron pair, which Radix Slot rejects as two children, so its\n// asChild path is unusable here. This button owns the click toggle itself\n// and mirrors the root state for hover timers, Arrow keys, and auto-open:\n//\n// <Collapsible asChild open={open} onOpenChange={setOpen}>\n// <SidebarMenuItem>\n// <SidebarMenuSubTrigger mode=\"click\" open={open} onOpenChange={setOpen} />\n// <CollapsibleContent asChild forceMount>\n// <SidebarMenuSub>\u2026</SidebarMenuSub>\n// </CollapsibleContent>\n// </SidebarMenuItem>\n// </Collapsible>\n//\n// forceMount keeps the sub in the DOM while closed (Radix hides it) so the\n// openOnActive mount check can see an active descendant.\nconst SidebarMenuSubTrigger = React.forwardRef<HTMLButtonElement, SidebarMenuSubTriggerProps>((props, forwardedRef) => {\n const {\n children,\n className: propClassName,\n isActive = false,\n asChild = false,\n type = 'button',\n tooltip: tooltipProp,\n mode: modeProp,\n hoverOpenDelay = 150,\n hoverCloseDelay = 250,\n openOnActive: openOnActiveProp,\n open = false,\n onOpenChange,\n showChevron = true,\n onClick,\n onKeyDown,\n onPointerEnter,\n onPointerLeave,\n ...propsWithoutDefaults\n } = props\n const Comp = asChild ? Slot : 'button'\n const { expanded, collapsible, isMobile, defaultSubmenuMode, submenuOpenOnActive } = useSidebar()\n const mode = modeProp ?? defaultSubmenuMode\n const openOnActive = openOnActiveProp ?? submenuOpenOnActive\n const { asChild: _asChild, className, ...triggerProps } = extractProps(\n {\n ...propsWithoutDefaults,\n className: propClassName,\n isActive,\n asChild,\n },\n sidebarMenuSubTriggerPropDefs,\n )\n\n const openRef = React.useRef(open)\n openRef.current = open\n const onOpenChangeRef = React.useRef(onOpenChange)\n onOpenChangeRef.current = onOpenChange\n const timersRef = React.useRef<{ open?: ReturnType<typeof setTimeout>; close?: ReturnType<typeof setTimeout> }>({})\n const buttonRef = React.useRef<HTMLButtonElement | null>(null)\n const mergedRef = useMergedRef(buttonRef, forwardedRef)\n\n React.useEffect(() => {\n const timers = timersRef.current\n return () => {\n if (timers.open) clearTimeout(timers.open)\n if (timers.close) clearTimeout(timers.close)\n }\n }, [])\n\n const isCoarsePointer = React.useCallback(() => {\n return typeof window !== 'undefined' && window.matchMedia('(pointer: coarse)').matches\n }, [])\n\n const scheduleOpen = React.useCallback(\n (delay: number) => {\n const timers = timersRef.current\n if (timers.close) {\n clearTimeout(timers.close)\n timers.close = undefined\n }\n if (openRef.current) return\n if (timers.open) clearTimeout(timers.open)\n timers.open = setTimeout(() => {\n timers.open = undefined\n onOpenChangeRef.current?.(true)\n }, delay)\n },\n [],\n )\n\n const scheduleClose = React.useCallback(\n (delay: number) => {\n const timers = timersRef.current\n if (timers.open) {\n clearTimeout(timers.open)\n timers.open = undefined\n }\n if (!openRef.current) return\n if (timers.close) clearTimeout(timers.close)\n timers.close = setTimeout(() => {\n timers.close = undefined\n onOpenChangeRef.current?.(false)\n }, delay)\n },\n [],\n )\n\n // Hover mode spans the trigger and the whole MenuItem (pointer crossing the\n // gap into the sub must cancel a pending close). The item listener is\n // attached lazily so the common click-only path adds no listeners.\n React.useEffect(() => {\n if (mode !== 'hover' || isCoarsePointer()) return\n const item = buttonRef.current?.closest<HTMLElement>('.dsx-sidebar__menu-item')\n if (!item) return\n const cancelClose = () => {\n const timers = timersRef.current\n if (timers.close) {\n clearTimeout(timers.close)\n timers.close = undefined\n }\n }\n const leaveItem = () => scheduleClose(hoverCloseDelay)\n item.addEventListener('pointerenter', cancelClose)\n item.addEventListener('pointerleave', leaveItem)\n return () => {\n item.removeEventListener('pointerenter', cancelClose)\n item.removeEventListener('pointerleave', leaveItem)\n }\n }, [mode, hoverCloseDelay, scheduleClose, isCoarsePointer])\n\n const content = asChild\n ? children\n : React.Children.map(children, (child) =>\n typeof child === 'string' || typeof child === 'number' ? (\n <span className=\"dsx-sidebar__menu-button-text\" data-slot=\"sidebar-menu-button-text\">\n {child}\n </span>\n ) : (\n child\n ),\n )\n\n const label = React.useMemo(() => {\n if (tooltipProp !== undefined) return tooltipProp\n if (asChild) return ''\n return React.Children.toArray(children)\n .filter((c): c is string | number => typeof c === 'string' || typeof c === 'number')\n .join('')\n }, [children, asChild, tooltipProp])\n\n const showTooltip = collapsible === 'icon' && !expanded && !isMobile && label !== ''\n\n // Phase 3.2 parity: active parents scroll into view like MenuButton.\n useAutoScroll(isActive, buttonRef)\n\n // openOnActive: a descendant MenuSubButton with data-active (set from its\n // isActive) opens this sub on mount. DOM-read because the sub buttons are\n // composed by the consumer, not owned here \u2014 same reason the Escape handler\n // finds the parent via closest().\n React.useEffect(() => {\n if (!openOnActive || openRef.current) return\n const item = buttonRef.current?.closest<HTMLElement>('.dsx-sidebar__menu-item')\n if (item?.querySelector('.dsx-sidebar__menu-sub-button[data-active=\"true\"]')) {\n onOpenChangeRef.current?.(true)\n }\n }, [openOnActive])\n\n const focusFirstSubButton = React.useCallback(() => {\n const item = buttonRef.current?.closest<HTMLElement>('.dsx-sidebar__menu-item')\n const first = item?.querySelector<HTMLElement>('.dsx-sidebar__menu-sub-button')\n if (first) {\n first.focus()\n return true\n }\n return false\n }, [])\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(e)\n if (e.defaultPrevented) return\n if (e.key === 'ArrowRight') {\n // Open (if closed) and dive into the first sub row. stopPropagation\n // beats the Menu-level roving handler, which would otherwise move to\n // the next sibling button after we focus into the sub.\n e.preventDefault()\n e.stopPropagation()\n if (!openRef.current) onOpenChangeRef.current?.(true)\n // The sub mounts on state change; focus after paint.\n requestAnimationFrame(() => focusFirstSubButton())\n } else if (e.key === 'ArrowDown' && openRef.current) {\n e.preventDefault()\n e.stopPropagation()\n focusFirstSubButton()\n } else if (e.key === 'ArrowLeft' && openRef.current) {\n e.preventDefault()\n e.stopPropagation()\n onOpenChangeRef.current?.(false)\n }\n },\n [onKeyDown, focusFirstSubButton],\n )\n\n const button = (\n <Comp\n ref={mergedRef}\n {...getSidebarDataAttributes(expanded, collapsible)}\n data-active={isActive ? 'true' : undefined}\n aria-current={isActive ? 'page' : undefined}\n aria-expanded={open}\n data-state={open ? 'open' : 'closed'}\n data-slot=\"sidebar-menu-sub-trigger\"\n className={classNames('dsx-sidebar__menu-sub-trigger dsx-button', className)}\n {...triggerProps}\n {...(!asChild ? { type } : {})}\n onClick={(e) => {\n onClick?.(e)\n // The click toggle is owned here (see the composition note above),\n // not by a Radix Trigger \u2014 one flip per click, no double-toggle.\n if (!e.defaultPrevented) onOpenChangeRef.current?.(!openRef.current)\n }}\n onKeyDown={handleKeyDown}\n onPointerEnter={(e) => {\n onPointerEnter?.(e)\n if (mode === 'hover' && !isCoarsePointer()) scheduleOpen(hoverOpenDelay)\n }}\n onPointerLeave={(e) => {\n onPointerLeave?.(e)\n if (mode === 'hover' && !isCoarsePointer()) scheduleClose(hoverCloseDelay)\n }}\n >\n {content}\n {showChevron ? (\n <Icon\n name=\"chevron-right\"\n size=\"sm\"\n className=\"dsx-sidebar__menu-sub-trigger-chevron\"\n data-slot=\"sidebar-menu-sub-trigger-chevron\"\n />\n ) : null}\n </Comp>\n )\n\n if (showTooltip) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side=\"right\">{label}</TooltipContent>\n </Tooltip>\n )\n }\n\n return button\n})\nSidebarMenuSubTrigger.displayName = 'SidebarMenuSubTrigger'\n\nconst SidebarSeparator = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, forwardedRef) => {\n const { expanded, collapsible } = useSidebar()\n\n return (\n <div\n ref={forwardedRef}\n role=\"separator\"\n aria-orientation=\"horizontal\"\n className={classNames('dsx-sidebar__separator dsx-separator dsx-separator--decorative', className)}\n data-slot=\"sidebar-separator\"\n {...getSidebarDataAttributes(expanded, collapsible)}\n {...props}\n />\n )\n})\nSidebarSeparator.displayName = 'SidebarSeparator'\n\nconst SidebarTrigger = React.forwardRef<HTMLButtonElement, SidebarTriggerProps>(\n ({ className, collapsedLabel = 'Expand sidebar', expandedLabel = 'Collapse sidebar', iconOnly = false, ...props }, forwardedRef) => {\n const {\n expanded,\n pinnedExpanded,\n setExpanded,\n setPreviewExpanded,\n previewBlockedRef,\n previewExpanded,\n hoverExpand,\n sidebarId,\n collapsible: contextCollapsible,\n manualToggleRef,\n triggerRef,\n isMobile,\n mobile,\n } = useSidebar()\n const localCollapsible = React.useContext(SidebarLocalContext)\n const collapsible = localCollapsible ?? contextCollapsible\n const sidebarDataAttributes = getSidebarDataAttributes(expanded, collapsible)\n const isDockingPreview = hoverExpand && previewExpanded && !pinnedExpanded\n const isDockingPinned = hoverExpand && pinnedExpanded\n const triggerLabel = isDockingPreview\n ? 'Pin sidebar'\n : isDockingPinned\n ? 'Unpin sidebar'\n : expanded\n ? expandedLabel\n : collapsedLabel\n\n // On a mobile Sheet, SidebarRoot already renders its own open-trigger\n // (`.dsx-sidebar__mobile-trigger`) \u2014 this desktop collapse/expand pill has nothing to control\n // there (the Sheet is either open or closed, not \"collapsed to icons\"). Confirmed real bug:\n // both rendered at once on a 390px viewport, stacked in the top-left corner.\n if (collapsible === 'none' || (isMobile && mobile === 'sheet')) {\n return null\n }\n\n const localRef = React.useRef<HTMLButtonElement>(null)\n\n const mergedRef = React.useCallback(\n (node: HTMLButtonElement | null) => {\n localRef.current = node\n triggerRef.current = node\n if (typeof forwardedRef === 'function') {\n forwardedRef(node)\n } else if (forwardedRef) {\n ;(forwardedRef as React.MutableRefObject<HTMLButtonElement | null>).current = node\n }\n },\n [forwardedRef, triggerRef],\n )\n\n return (\n <button\n {...props}\n ref={mergedRef}\n type={props.type ?? 'button'}\n aria-label={triggerLabel}\n aria-expanded={expanded}\n aria-controls={sidebarId}\n className={classNames('dsx-sidebar__trigger dsx-button', className)}\n data-slot=\"sidebar-trigger\"\n {...sidebarDataAttributes}\n onClick={(event) => {\n props.onClick?.(event)\n if (!event.defaultPrevented) {\n // Plain toggle of the real `expanded` \u2014 see SidebarRail's onClick comment for why\n // this is safe now (hover-peek is decoupled, local-only, never touches `expanded`).\n manualToggleRef.current = true\n triggerRef.current = localRef.current\n if (pinnedExpanded) {\n previewBlockedRef.current = true\n setPreviewExpanded(false)\n }\n setExpanded((current) => !current)\n }\n }}\n >\n <span className=\"dsx-button__icon\" data-slot=\"sidebar-trigger-icon\" {...sidebarDataAttributes}>\n {/* Generic panel icon, not a padlock \u2014 a lock/unlock metaphor reads as a security\n affordance, not a layout one (confirmed real complaint: \"lock in button should be\n changed to the generic kind of dashboard button or the panel button\"). Dashed panel =\n currently just previewing/floating, not committed; solid panel = pinned/committed. */}\n {hoverExpand\n ? <Icon name={pinnedExpanded ? 'panel-left' : 'panel-left-dashed'} size=\"sm\" />\n : expanded\n ? <Icon name=\"chevron-left\" size=\"sm\" />\n : <Icon name=\"chevron-right\" size=\"sm\" />}\n </span>\n {iconOnly ? (\n <VisuallyHidden className=\"dsx-sidebar__trigger-label\" data-slot=\"sidebar-trigger-label\">\n {triggerLabel}\n </VisuallyHidden>\n ) : (\n <span className=\"dsx-sidebar__trigger-label\" data-slot=\"sidebar-trigger-label\" {...sidebarDataAttributes}>\n {triggerLabel}\n </span>\n )}\n </button>\n )\n },\n)\nSidebarTrigger.displayName = 'SidebarTrigger'\n\nconst SidebarSkipLink = React.forwardRef<HTMLAnchorElement, React.AnchorHTMLAttributes<HTMLAnchorElement> & { targetId?: string }>(\n ({ targetId = 'main', children = 'Skip to content', className, ...props }, forwardedRef) => {\n return (\n <a\n ref={forwardedRef}\n href={`#${targetId}`}\n className={classNames('dsx-sidebar__skip-link', className)}\n {...props}\n >\n {children}\n </a>\n )\n },\n)\nSidebarSkipLink.displayName = 'SidebarSkipLink'\n\nconst Sidebar: typeof SidebarRoot & {\n Provider: typeof SidebarProvider\n Inset: typeof SidebarInset\n Rail: typeof SidebarRail\n Header: typeof SidebarHeader\n Content: typeof SidebarContent\n Footer: typeof SidebarFooter\n Group: typeof SidebarGroup\n GroupLabel: typeof SidebarGroupLabel\n GroupAction: typeof SidebarGroupAction\n GroupContent: typeof SidebarGroupContent\n Menu: typeof SidebarMenu\n MenuItem: typeof SidebarMenuItem\n MenuBadge: typeof SidebarMenuBadge\n MenuAction: typeof SidebarMenuAction\n MenuButton: typeof SidebarMenuButton\n MenuSkeleton: typeof SidebarMenuSkeleton\n MenuSub: typeof SidebarMenuSub\n MenuSubItem: typeof SidebarMenuSubItem\n MenuSubButton: typeof SidebarMenuSubButton\n MenuSubTrigger: typeof SidebarMenuSubTrigger\n Separator: typeof SidebarSeparator\n Trigger: typeof SidebarTrigger\n SkipLink: typeof SidebarSkipLink\n} = Object.assign(SidebarRoot, {\n Provider: SidebarProvider,\n Inset: SidebarInset,\n Rail: SidebarRail,\n Header: SidebarHeader,\n Content: SidebarContent,\n Footer: SidebarFooter,\n Group: SidebarGroup,\n GroupLabel: SidebarGroupLabel,\n GroupAction: SidebarGroupAction,\n GroupContent: SidebarGroupContent,\n Menu: SidebarMenu,\n MenuItem: SidebarMenuItem,\n MenuBadge: SidebarMenuBadge,\n MenuAction: SidebarMenuAction,\n MenuButton: SidebarMenuButton,\n MenuSkeleton: SidebarMenuSkeleton,\n MenuSub: SidebarMenuSub,\n MenuSubItem: SidebarMenuSubItem,\n MenuSubButton: SidebarMenuSubButton,\n MenuSubTrigger: SidebarMenuSubTrigger,\n Separator: SidebarSeparator,\n Trigger: SidebarTrigger,\n SkipLink: SidebarSkipLink,\n})\nSidebar.displayName = 'Sidebar'\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarMenuSubTrigger,\n SidebarProvider,\n SidebarRail,\n SidebarRoot,\n SidebarSeparator,\n SidebarSkipLink,\n SidebarTrigger,\n useSidebar,\n}\nexport type {\n SidebarMenuActionProps,\n SidebarMenuButtonProps,\n SidebarMenuSkeletonProps,\n SidebarMenuSubTriggerProps,\n SidebarProps,\n SidebarProviderProps,\n SidebarTriggerProps,\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -18,25 +18,50 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var sidebar_props_exports = {};
20
20
  __export(sidebar_props_exports, {
21
+ sidebarEffects: () => sidebarEffects,
21
22
  sidebarInsetPropDefs: () => sidebarInsetPropDefs,
22
23
  sidebarMenuActionPropDefs: () => sidebarMenuActionPropDefs,
23
24
  sidebarMenuButtonPropDefs: () => sidebarMenuButtonPropDefs,
24
25
  sidebarMenuSkeletonPropDefs: () => sidebarMenuSkeletonPropDefs,
26
+ sidebarMenuSubTriggerPropDefs: () => sidebarMenuSubTriggerPropDefs,
25
27
  sidebarPropDefs: () => sidebarPropDefs,
26
28
  sidebarProviderPropDefs: () => sidebarProviderPropDefs
27
29
  });
28
30
  module.exports = __toCommonJS(sidebar_props_exports);
29
31
  var import_asChild = require("../../_internal/props/asChild.prop");
32
+ const sidebarEffects = ["none", "ambient"];
30
33
  const sidebarProviderPropDefs = {
31
34
  defaultExpanded: {
32
35
  type: "boolean",
33
36
  className: "dsx-sidebar-provider-default-expanded"
37
+ },
38
+ hoverExpand: {
39
+ type: "boolean",
40
+ className: "dsx-sidebar-provider-hover-expand"
41
+ },
42
+ previewOpen: {
43
+ type: "boolean",
44
+ className: "dsx-sidebar-provider-preview-open"
45
+ },
46
+ defaultSubmenuMode: {
47
+ type: "enum",
48
+ values: ["click", "hover"],
49
+ default: "click"
50
+ },
51
+ submenuOpenOnActive: {
52
+ type: "boolean",
53
+ default: true
34
54
  }
35
55
  };
36
56
  const sidebarPropDefs = {
37
57
  defaultExpanded: {
38
58
  type: "boolean",
39
59
  className: "dsx-sidebar-default-expanded"
60
+ },
61
+ effect: {
62
+ type: "enum",
63
+ values: sidebarEffects,
64
+ default: "none"
40
65
  }
41
66
  };
42
67
  const sidebarInsetPropDefs = {
@@ -49,6 +74,13 @@ const sidebarMenuButtonPropDefs = {
49
74
  className: "dsx-sidebar-menu-button-active"
50
75
  }
51
76
  };
77
+ const sidebarMenuSubTriggerPropDefs = {
78
+ ...import_asChild.asChildPropDef,
79
+ isActive: {
80
+ type: "boolean",
81
+ className: "dsx-sidebar-menu-button-active"
82
+ }
83
+ };
52
84
  const sidebarMenuActionPropDefs = {
53
85
  ...import_asChild.asChildPropDef
54
86
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/sidebar/sidebar.props.ts"],
4
- "sourcesContent": ["import { asChildPropDef } from '../../_internal/props/asChild.prop'\n\nimport type { PropDef } from '../../_internal/props/propDef'\n\nconst sidebarProviderPropDefs = {\n defaultExpanded: {\n type: 'boolean',\n className: 'dsx-sidebar-provider-default-expanded',\n },\n} satisfies {\n defaultExpanded: PropDef\n}\n\nconst sidebarPropDefs = {\n defaultExpanded: {\n type: 'boolean',\n className: 'dsx-sidebar-default-expanded',\n },\n} satisfies {\n defaultExpanded: PropDef\n}\n\nconst sidebarInsetPropDefs = {\n ...asChildPropDef,\n} satisfies {\n asChild: PropDef\n}\n\nconst sidebarMenuButtonPropDefs = {\n ...asChildPropDef,\n isActive: {\n type: 'boolean',\n className: 'dsx-sidebar-menu-button-active',\n },\n} satisfies {\n asChild: PropDef\n isActive: PropDef\n}\n\nconst sidebarMenuActionPropDefs = {\n ...asChildPropDef,\n} satisfies {\n asChild: PropDef\n}\n\nconst sidebarMenuSkeletonPropDefs = {\n showIcon: {\n type: 'boolean',\n className: 'dsx-sidebar-menu-skeleton-icon',\n },\n} satisfies {\n showIcon: PropDef\n}\n\nexport {\n sidebarInsetPropDefs,\n sidebarMenuActionPropDefs,\n sidebarMenuButtonPropDefs,\n sidebarMenuSkeletonPropDefs,\n sidebarPropDefs,\n sidebarProviderPropDefs,\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA+B;AAI/B,MAAM,0BAA0B;AAAA,EAC9B,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AACF;AAIA,MAAM,kBAAkB;AAAA,EACtB,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AACF;AAIA,MAAM,uBAAuB;AAAA,EAC3B,GAAG;AACL;AAIA,MAAM,4BAA4B;AAAA,EAChC,GAAG;AAAA,EACH,UAAU;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AACF;AAKA,MAAM,4BAA4B;AAAA,EAChC,GAAG;AACL;AAIA,MAAM,8BAA8B;AAAA,EAClC,UAAU;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AACF;",
4
+ "sourcesContent": ["import { asChildPropDef } from '../../_internal/props/asChild.prop'\n\nimport type { PropDef } from '../../_internal/props/propDef'\n\nconst sidebarEffects = ['none', 'ambient'] as const\n\nconst sidebarProviderPropDefs = {\n defaultExpanded: {\n type: 'boolean',\n className: 'dsx-sidebar-provider-default-expanded',\n },\n hoverExpand: {\n type: 'boolean',\n className: 'dsx-sidebar-provider-hover-expand',\n },\n previewOpen: {\n type: 'boolean',\n className: 'dsx-sidebar-provider-preview-open',\n },\n defaultSubmenuMode: {\n type: 'enum',\n values: ['click', 'hover'],\n default: 'click',\n },\n submenuOpenOnActive: {\n type: 'boolean',\n default: true,\n },\n} satisfies {\n defaultExpanded: PropDef\n hoverExpand: PropDef\n previewOpen: PropDef\n defaultSubmenuMode: PropDef<'click' | 'hover'>\n submenuOpenOnActive: PropDef\n}\n\nconst sidebarPropDefs = {\n defaultExpanded: {\n type: 'boolean',\n className: 'dsx-sidebar-default-expanded',\n },\n effect: {\n type: 'enum',\n values: sidebarEffects,\n default: 'none',\n },\n} satisfies {\n defaultExpanded: PropDef\n effect: PropDef<(typeof sidebarEffects)[number]>\n}\n\nconst sidebarInsetPropDefs = {\n ...asChildPropDef,\n} satisfies {\n asChild: PropDef\n}\n\nconst sidebarMenuButtonPropDefs = {\n ...asChildPropDef,\n isActive: {\n type: 'boolean',\n className: 'dsx-sidebar-menu-button-active',\n },\n} satisfies {\n asChild: PropDef\n isActive: PropDef\n}\n\nconst sidebarMenuSubTriggerPropDefs = {\n ...asChildPropDef,\n isActive: {\n type: 'boolean',\n className: 'dsx-sidebar-menu-button-active',\n },\n} satisfies {\n asChild: PropDef\n isActive: PropDef\n}\n\nconst sidebarMenuActionPropDefs = {\n ...asChildPropDef,\n} satisfies {\n asChild: PropDef\n}\n\nconst sidebarMenuSkeletonPropDefs = {\n showIcon: {\n type: 'boolean',\n className: 'dsx-sidebar-menu-skeleton-icon',\n },\n} satisfies {\n showIcon: PropDef\n}\n\nexport {\n sidebarEffects,\n sidebarInsetPropDefs,\n sidebarMenuActionPropDefs,\n sidebarMenuButtonPropDefs,\n sidebarMenuSkeletonPropDefs,\n sidebarMenuSubTriggerPropDefs,\n sidebarPropDefs,\n sidebarProviderPropDefs,\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA+B;AAI/B,MAAM,iBAAiB,CAAC,QAAQ,SAAS;AAEzC,MAAM,0BAA0B;AAAA,EAC9B,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AAAA,EACA,oBAAoB;AAAA,IAClB,MAAM;AAAA,IACN,QAAQ,CAAC,SAAS,OAAO;AAAA,IACzB,SAAS;AAAA,EACX;AAAA,EACA,qBAAqB;AAAA,IACnB,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF;AAQA,MAAM,kBAAkB;AAAA,EACtB,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AACF;AAKA,MAAM,uBAAuB;AAAA,EAC3B,GAAG;AACL;AAIA,MAAM,4BAA4B;AAAA,EAChC,GAAG;AAAA,EACH,UAAU;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AACF;AAKA,MAAM,gCAAgC;AAAA,EACpC,GAAG;AAAA,EACH,UAAU;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AACF;AAKA,MAAM,4BAA4B;AAAA,EAChC,GAAG;AACL;AAIA,MAAM,8BAA8B;AAAA,EAClC,UAAU;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,14 +1,37 @@
1
+ declare const sidebarEffects: readonly ["none", "ambient"];
1
2
  declare const sidebarProviderPropDefs: {
2
3
  defaultExpanded: {
3
4
  type: "boolean";
4
5
  className: string;
5
6
  };
7
+ hoverExpand: {
8
+ type: "boolean";
9
+ className: string;
10
+ };
11
+ previewOpen: {
12
+ type: "boolean";
13
+ className: string;
14
+ };
15
+ defaultSubmenuMode: {
16
+ type: "enum";
17
+ values: ("click" | "hover")[];
18
+ default: "click";
19
+ };
20
+ submenuOpenOnActive: {
21
+ type: "boolean";
22
+ default: true;
23
+ };
6
24
  };
7
25
  declare const sidebarPropDefs: {
8
26
  defaultExpanded: {
9
27
  type: "boolean";
10
28
  className: string;
11
29
  };
30
+ effect: {
31
+ type: "enum";
32
+ values: readonly ["none", "ambient"];
33
+ default: "none";
34
+ };
12
35
  };
13
36
  declare const sidebarInsetPropDefs: {
14
37
  asChild: {
@@ -26,6 +49,16 @@ declare const sidebarMenuButtonPropDefs: {
26
49
  default: false;
27
50
  };
28
51
  };
52
+ declare const sidebarMenuSubTriggerPropDefs: {
53
+ isActive: {
54
+ type: "boolean";
55
+ className: string;
56
+ };
57
+ asChild: {
58
+ type: "boolean";
59
+ default: false;
60
+ };
61
+ };
29
62
  declare const sidebarMenuActionPropDefs: {
30
63
  asChild: {
31
64
  type: "boolean";
@@ -38,5 +71,5 @@ declare const sidebarMenuSkeletonPropDefs: {
38
71
  className: string;
39
72
  };
40
73
  };
41
- export { sidebarInsetPropDefs, sidebarMenuActionPropDefs, sidebarMenuButtonPropDefs, sidebarMenuSkeletonPropDefs, sidebarPropDefs, sidebarProviderPropDefs, };
74
+ export { sidebarEffects, sidebarInsetPropDefs, sidebarMenuActionPropDefs, sidebarMenuButtonPropDefs, sidebarMenuSkeletonPropDefs, sidebarMenuSubTriggerPropDefs, sidebarPropDefs, sidebarProviderPropDefs, };
42
75
  //# sourceMappingURL=sidebar.props.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.props.d.cts","sourceRoot":"","sources":["../../../src/components/sidebar/sidebar.props.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,uBAAuB;;;;;CAO5B,CAAA;AAED,QAAA,MAAM,eAAe;;;;;CAOpB,CAAA;AAED,QAAA,MAAM,oBAAoB;;;;;CAIzB,CAAA;AAED,QAAA,MAAM,yBAAyB;;;;;;;;;CAS9B,CAAA;AAED,QAAA,MAAM,yBAAyB;;;;;CAI9B,CAAA;AAED,QAAA,MAAM,2BAA2B;;;;;CAOhC,CAAA;AAED,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,eAAe,EACf,uBAAuB,GACxB,CAAA"}
1
+ {"version":3,"file":"sidebar.props.d.cts","sourceRoot":"","sources":["../../../src/components/sidebar/sidebar.props.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,cAAc,8BAA+B,CAAA;AAEnD,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;CA4B5B,CAAA;AAED,QAAA,MAAM,eAAe;;;;;;;;;;CAapB,CAAA;AAED,QAAA,MAAM,oBAAoB;;;;;CAIzB,CAAA;AAED,QAAA,MAAM,yBAAyB;;;;;;;;;CAS9B,CAAA;AAED,QAAA,MAAM,6BAA6B;;;;;;;;;CASlC,CAAA;AAED,QAAA,MAAM,yBAAyB;;;;;CAI9B,CAAA;AAED,QAAA,MAAM,2BAA2B;;;;;CAOhC,CAAA;AAED,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,6BAA6B,EAC7B,eAAe,EACf,uBAAuB,GACxB,CAAA"}