@editora/ui-core 0.1.9 → 0.1.10

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 (521) hide show
  1. package/README.md +35 -0
  2. package/dist/ElementBase-1b301e7f.js +1 -0
  3. package/dist/ElementBase-909688f3.mjs +79 -0
  4. package/dist/accordion.cjs.js +360 -0
  5. package/dist/accordion.esm.js +647 -0
  6. package/dist/alert-dialog.cjs.js +567 -0
  7. package/dist/alert-dialog.esm.js +1043 -0
  8. package/dist/alert.cjs.js +351 -0
  9. package/dist/alert.esm.js +450 -0
  10. package/dist/anchor.cjs.js +30 -0
  11. package/dist/anchor.esm.js +62 -0
  12. package/dist/animated-beam.cjs.js +720 -0
  13. package/dist/animated-beam.esm.js +1540 -0
  14. package/dist/animated-list.cjs.js +672 -0
  15. package/dist/animated-list.esm.js +1137 -0
  16. package/dist/animated-text.cjs.js +683 -0
  17. package/dist/animated-text.esm.js +1020 -0
  18. package/dist/app-header.cjs.js +345 -0
  19. package/dist/app-header.esm.js +398 -0
  20. package/dist/aspect-ratio.cjs.js +294 -0
  21. package/dist/aspect-ratio.esm.js +416 -0
  22. package/dist/avatar.cjs.js +365 -0
  23. package/dist/avatar.esm.js +513 -0
  24. package/dist/badge.cjs.js +432 -0
  25. package/dist/badge.esm.js +554 -0
  26. package/dist/block-controls.cjs.js +347 -0
  27. package/dist/block-controls.esm.js +556 -0
  28. package/dist/box.cjs.js +226 -0
  29. package/dist/box.esm.js +556 -0
  30. package/dist/breadcrumb.cjs.js +288 -0
  31. package/dist/breadcrumb.esm.js +523 -0
  32. package/dist/button.cjs.js +521 -0
  33. package/dist/button.esm.js +671 -0
  34. package/dist/calendar-2c11b824.mjs +1685 -0
  35. package/dist/calendar-a8735e40.js +741 -0
  36. package/dist/calendar.cjs.js +1 -0
  37. package/dist/calendar.esm.js +11 -0
  38. package/dist/card.cjs.js +306 -0
  39. package/dist/card.esm.js +378 -0
  40. package/dist/chart.cjs.js +783 -0
  41. package/dist/chart.esm.js +1369 -0
  42. package/dist/checkbox.cjs.js +338 -0
  43. package/dist/checkbox.esm.js +455 -0
  44. package/dist/collapsible.cjs.js +381 -0
  45. package/dist/collapsible.esm.js +548 -0
  46. package/dist/collection-a1aac0c6.mjs +56 -0
  47. package/dist/collection-a2969ad2.js +1 -0
  48. package/dist/collection.cjs.js +1 -0
  49. package/dist/collection.esm.js +136 -0
  50. package/dist/color-picker.cjs.js +803 -0
  51. package/dist/color-picker.esm.js +1809 -0
  52. package/dist/combobox.cjs.js +525 -0
  53. package/dist/combobox.esm.js +1023 -0
  54. package/dist/command-palette.cjs.js +67 -0
  55. package/dist/command-palette.esm.js +181 -0
  56. package/dist/command.cjs.js +130 -0
  57. package/dist/command.esm.js +307 -0
  58. package/dist/container.cjs.js +115 -0
  59. package/dist/container.esm.js +156 -0
  60. package/dist/context-menu.cjs.js +357 -0
  61. package/dist/context-menu.esm.js +1204 -0
  62. package/dist/control-group.cjs.js +80 -0
  63. package/dist/control-group.esm.js +110 -0
  64. package/dist/data-table.cjs.js +682 -0
  65. package/dist/data-table.esm.js +1660 -0
  66. package/dist/date-field.cjs.js +142 -0
  67. package/dist/date-field.esm.js +384 -0
  68. package/dist/date-picker.cjs.js +570 -0
  69. package/dist/date-picker.esm.js +1067 -0
  70. package/dist/date-range-picker.cjs.js +455 -0
  71. package/dist/date-range-picker.esm.js +973 -0
  72. package/dist/date-range-time-picker.cjs.js +573 -0
  73. package/dist/date-range-time-picker.esm.js +1137 -0
  74. package/dist/date-time-picker.cjs.js +495 -0
  75. package/dist/date-time-picker.esm.js +1062 -0
  76. package/dist/date-time-utils-5cf58cd0.js +1 -0
  77. package/dist/date-time-utils-bdceb7af.mjs +273 -0
  78. package/dist/description.cjs.js +85 -0
  79. package/dist/description.esm.js +136 -0
  80. package/dist/dialog.cjs.js +406 -0
  81. package/dist/dialog.esm.js +822 -0
  82. package/dist/direction-provider.cjs.js +30 -0
  83. package/dist/direction-provider.esm.js +74 -0
  84. package/dist/dismissable-layer-193e3bed.js +1 -0
  85. package/dist/dismissable-layer-9c7e6b58.mjs +112 -0
  86. package/dist/dismissable-layer.cjs.js +6 -0
  87. package/dist/dismissable-layer.esm.js +115 -0
  88. package/dist/dock.cjs.js +347 -0
  89. package/dist/dock.esm.js +826 -0
  90. package/dist/drawer.cjs.js +538 -0
  91. package/dist/drawer.esm.js +872 -0
  92. package/dist/dropdown.cjs.js +511 -0
  93. package/dist/dropdown.esm.js +1084 -0
  94. package/dist/dropzone.cjs.js +1 -0
  95. package/dist/dropzone.esm.js +11 -0
  96. package/dist/empty-state.cjs.js +169 -0
  97. package/dist/empty-state.esm.js +199 -0
  98. package/dist/field-error.cjs.js +74 -0
  99. package/dist/field-error.esm.js +125 -0
  100. package/dist/field.cjs.js +398 -0
  101. package/dist/field.esm.js +542 -0
  102. package/dist/fieldset.cjs.js +214 -0
  103. package/dist/fieldset.esm.js +298 -0
  104. package/dist/file-upload.cjs.js +353 -0
  105. package/dist/file-upload.esm.js +740 -0
  106. package/dist/flex.cjs.js +54 -0
  107. package/dist/flex.esm.js +168 -0
  108. package/dist/floating-toolbar.cjs.js +223 -0
  109. package/dist/floating-toolbar.esm.js +513 -0
  110. package/dist/focus-scope-103833ee.mjs +147 -0
  111. package/dist/focus-scope-2b12b4e7.js +1 -0
  112. package/dist/focus-scope.cjs.js +6 -0
  113. package/dist/focus-scope.esm.js +97 -0
  114. package/dist/form.cjs.js +377 -0
  115. package/dist/form.esm.js +862 -0
  116. package/dist/gantt.cjs.js +157 -0
  117. package/dist/gantt.esm.js +214 -0
  118. package/dist/grid.cjs.js +67 -0
  119. package/dist/grid.esm.js +211 -0
  120. package/dist/hover-card.cjs.js +284 -0
  121. package/dist/hover-card.esm.js +470 -0
  122. package/dist/icon-9ed13093.mjs +364 -0
  123. package/dist/icon-cloud.cjs.js +495 -0
  124. package/dist/icon-cloud.esm.js +828 -0
  125. package/dist/icon-eaa486b3.js +207 -0
  126. package/dist/icon.cjs.js +1 -0
  127. package/dist/icon.esm.js +6 -0
  128. package/dist/index.cjs.js +1 -36010
  129. package/dist/index.esm.js +440 -66615
  130. package/dist/inline-edit.cjs.js +118 -0
  131. package/dist/inline-edit.esm.js +206 -0
  132. package/dist/input.cjs.js +535 -0
  133. package/dist/input.esm.js +790 -0
  134. package/dist/label.cjs.js +195 -0
  135. package/dist/label.esm.js +301 -0
  136. package/dist/layout.cjs.js +266 -0
  137. package/dist/layout.esm.js +408 -0
  138. package/dist/listbox-308789a0.mjs +210 -0
  139. package/dist/listbox-ef2f708e.js +46 -0
  140. package/dist/listbox.cjs.js +1 -0
  141. package/dist/listbox.esm.js +6 -0
  142. package/dist/marquee.cjs.js +513 -0
  143. package/dist/marquee.esm.js +767 -0
  144. package/dist/masonry-grid.cjs.js +65 -0
  145. package/dist/masonry-grid.esm.js +180 -0
  146. package/dist/menu-item-styles-27fdbac4.mjs +181 -0
  147. package/dist/menu-item-styles-83ad1e22.js +152 -0
  148. package/dist/menu.cjs.js +275 -0
  149. package/dist/menu.esm.js +743 -0
  150. package/dist/menubar.cjs.js +455 -0
  151. package/dist/menubar.esm.js +1195 -0
  152. package/dist/meter.cjs.js +241 -0
  153. package/dist/meter.esm.js +334 -0
  154. package/dist/multi-select.cjs.js +549 -0
  155. package/dist/multi-select.esm.js +914 -0
  156. package/dist/navigation-menu.cjs.js +382 -0
  157. package/dist/navigation-menu.esm.js +614 -0
  158. package/dist/number-field.cjs.js +351 -0
  159. package/dist/number-field.esm.js +771 -0
  160. package/dist/number-ticker.cjs.js +209 -0
  161. package/dist/number-ticker.esm.js +749 -0
  162. package/dist/odometer.cjs.js +313 -0
  163. package/dist/odometer.esm.js +565 -0
  164. package/dist/orbiter.cjs.js +495 -0
  165. package/dist/orbiter.esm.js +831 -0
  166. package/dist/overlayManager-86454af7.mjs +58 -0
  167. package/dist/overlayManager-ece06517.js +1 -0
  168. package/dist/pagination.cjs.js +201 -0
  169. package/dist/pagination.esm.js +297 -0
  170. package/dist/panel-group-40254cdd.js +36 -0
  171. package/dist/panel-group-a376cc5e.mjs +326 -0
  172. package/dist/panel-group.cjs.js +1 -0
  173. package/dist/panel-group.esm.js +7 -0
  174. package/dist/panel.cjs.js +22 -0
  175. package/dist/panel.esm.js +46 -0
  176. package/dist/password-field.cjs.js +626 -0
  177. package/dist/password-field.esm.js +925 -0
  178. package/dist/pin-input.cjs.js +185 -0
  179. package/dist/pin-input.esm.js +412 -0
  180. package/dist/placement-grid.cjs.js +99 -0
  181. package/dist/placement-grid.esm.js +486 -0
  182. package/dist/plugin-panel.cjs.js +131 -0
  183. package/dist/plugin-panel.esm.js +173 -0
  184. package/dist/popover.cjs.js +286 -0
  185. package/dist/popover.esm.js +483 -0
  186. package/dist/portal-1cf392ca.mjs +114 -0
  187. package/dist/portal-d8d7fbca.js +1 -0
  188. package/dist/portal.cjs.js +39 -0
  189. package/dist/portal.esm.js +187 -0
  190. package/dist/positioner-accc6e5f.js +1 -0
  191. package/dist/positioner-fbd61bf1.mjs +132 -0
  192. package/dist/positioner.cjs.js +6 -0
  193. package/dist/positioner.esm.js +137 -0
  194. package/dist/presence.cjs.js +164 -0
  195. package/dist/presence.esm.js +301 -0
  196. package/dist/progress.cjs.js +329 -0
  197. package/dist/progress.esm.js +453 -0
  198. package/dist/quick-actions.cjs.js +202 -0
  199. package/dist/quick-actions.esm.js +357 -0
  200. package/dist/radio-group.cjs.js +257 -0
  201. package/dist/radio-group.esm.js +477 -0
  202. package/dist/rating.cjs.js +355 -0
  203. package/dist/rating.esm.js +637 -0
  204. package/dist/roving-focus-group-4350c9a7.mjs +50 -0
  205. package/dist/roving-focus-group-5c059bf9.js +1 -0
  206. package/dist/roving-focus-group.cjs.js +1 -0
  207. package/dist/roving-focus-group.esm.js +72 -0
  208. package/dist/{runtime-3cc1c386.mjs → runtime-4ac0107b.mjs} +348 -459
  209. package/dist/runtime-5f282bc8.js +1 -0
  210. package/dist/runtime.cjs.js +1 -1
  211. package/dist/runtime.esm.js +24 -23
  212. package/dist/scroll-area.cjs.js +294 -0
  213. package/dist/scroll-area.esm.js +478 -0
  214. package/dist/scroll-lock-48793569.js +1 -0
  215. package/dist/scroll-lock-9de6d328.mjs +53 -0
  216. package/dist/section.cjs.js +167 -0
  217. package/dist/section.esm.js +202 -0
  218. package/dist/select.cjs.js +799 -0
  219. package/dist/select.esm.js +1266 -0
  220. package/dist/selection-popup.cjs.js +203 -0
  221. package/dist/selection-popup.esm.js +392 -0
  222. package/dist/separator.cjs.js +221 -0
  223. package/dist/separator.esm.js +241 -0
  224. package/dist/sidebar.cjs.js +769 -0
  225. package/dist/sidebar.esm.js +1219 -0
  226. package/dist/skeleton.cjs.js +205 -0
  227. package/dist/skeleton.esm.js +249 -0
  228. package/dist/slider.cjs.js +493 -0
  229. package/dist/slider.esm.js +694 -0
  230. package/dist/slot.cjs.js +159 -0
  231. package/dist/slot.esm.js +227 -0
  232. package/dist/sortable.cjs.js +855 -1
  233. package/dist/sortable.esm.js +2176 -2
  234. package/dist/spinning-text.cjs.js +395 -0
  235. package/dist/spinning-text.esm.js +635 -0
  236. package/dist/split-button.cjs.js +410 -0
  237. package/dist/split-button.esm.js +619 -0
  238. package/dist/splitter.cjs.js +70 -0
  239. package/dist/splitter.esm.js +105 -0
  240. package/dist/standalone/accordion.d.ts +2 -0
  241. package/dist/standalone/accordion.d.ts.map +1 -0
  242. package/dist/standalone/alert-dialog.d.ts +2 -0
  243. package/dist/standalone/alert-dialog.d.ts.map +1 -0
  244. package/dist/standalone/alert.d.ts +2 -0
  245. package/dist/standalone/alert.d.ts.map +1 -0
  246. package/dist/standalone/anchor.d.ts +2 -0
  247. package/dist/standalone/anchor.d.ts.map +1 -0
  248. package/dist/standalone/animated-beam.d.ts +2 -0
  249. package/dist/standalone/animated-beam.d.ts.map +1 -0
  250. package/dist/standalone/animated-list.d.ts +2 -0
  251. package/dist/standalone/animated-list.d.ts.map +1 -0
  252. package/dist/standalone/animated-text.d.ts +2 -0
  253. package/dist/standalone/animated-text.d.ts.map +1 -0
  254. package/dist/standalone/app-header.d.ts +2 -0
  255. package/dist/standalone/app-header.d.ts.map +1 -0
  256. package/dist/standalone/aspect-ratio.d.ts +2 -0
  257. package/dist/standalone/aspect-ratio.d.ts.map +1 -0
  258. package/dist/standalone/avatar.d.ts +2 -0
  259. package/dist/standalone/avatar.d.ts.map +1 -0
  260. package/dist/standalone/badge.d.ts +2 -0
  261. package/dist/standalone/badge.d.ts.map +1 -0
  262. package/dist/standalone/block-controls.d.ts +2 -0
  263. package/dist/standalone/block-controls.d.ts.map +1 -0
  264. package/dist/standalone/box.d.ts +2 -0
  265. package/dist/standalone/box.d.ts.map +1 -0
  266. package/dist/standalone/breadcrumb.d.ts +2 -0
  267. package/dist/standalone/breadcrumb.d.ts.map +1 -0
  268. package/dist/standalone/button.d.ts +2 -0
  269. package/dist/standalone/button.d.ts.map +1 -0
  270. package/dist/standalone/calendar.d.ts +2 -0
  271. package/dist/standalone/calendar.d.ts.map +1 -0
  272. package/dist/standalone/card.d.ts +2 -0
  273. package/dist/standalone/card.d.ts.map +1 -0
  274. package/dist/standalone/chart.d.ts +2 -0
  275. package/dist/standalone/chart.d.ts.map +1 -0
  276. package/dist/standalone/checkbox.d.ts +2 -0
  277. package/dist/standalone/checkbox.d.ts.map +1 -0
  278. package/dist/standalone/collapsible.d.ts +2 -0
  279. package/dist/standalone/collapsible.d.ts.map +1 -0
  280. package/dist/standalone/collection.d.ts +2 -0
  281. package/dist/standalone/collection.d.ts.map +1 -0
  282. package/dist/standalone/color-picker.d.ts +2 -0
  283. package/dist/standalone/color-picker.d.ts.map +1 -0
  284. package/dist/standalone/combobox.d.ts +2 -0
  285. package/dist/standalone/combobox.d.ts.map +1 -0
  286. package/dist/standalone/command-palette.d.ts +2 -0
  287. package/dist/standalone/command-palette.d.ts.map +1 -0
  288. package/dist/standalone/command.d.ts +2 -0
  289. package/dist/standalone/command.d.ts.map +1 -0
  290. package/dist/standalone/container.d.ts +2 -0
  291. package/dist/standalone/container.d.ts.map +1 -0
  292. package/dist/standalone/context-menu.d.ts +2 -0
  293. package/dist/standalone/context-menu.d.ts.map +1 -0
  294. package/dist/standalone/control-group.d.ts +2 -0
  295. package/dist/standalone/control-group.d.ts.map +1 -0
  296. package/dist/standalone/data-table.d.ts +2 -0
  297. package/dist/standalone/data-table.d.ts.map +1 -0
  298. package/dist/standalone/date-field.d.ts +2 -0
  299. package/dist/standalone/date-field.d.ts.map +1 -0
  300. package/dist/standalone/date-picker.d.ts +2 -0
  301. package/dist/standalone/date-picker.d.ts.map +1 -0
  302. package/dist/standalone/date-range-picker.d.ts +2 -0
  303. package/dist/standalone/date-range-picker.d.ts.map +1 -0
  304. package/dist/standalone/date-range-time-picker.d.ts +2 -0
  305. package/dist/standalone/date-range-time-picker.d.ts.map +1 -0
  306. package/dist/standalone/date-time-picker.d.ts +2 -0
  307. package/dist/standalone/date-time-picker.d.ts.map +1 -0
  308. package/dist/standalone/description.d.ts +2 -0
  309. package/dist/standalone/description.d.ts.map +1 -0
  310. package/dist/standalone/dialog.d.ts +2 -0
  311. package/dist/standalone/dialog.d.ts.map +1 -0
  312. package/dist/standalone/direction-provider.d.ts +2 -0
  313. package/dist/standalone/direction-provider.d.ts.map +1 -0
  314. package/dist/standalone/dismissable-layer.d.ts +2 -0
  315. package/dist/standalone/dismissable-layer.d.ts.map +1 -0
  316. package/dist/standalone/dock.d.ts +2 -0
  317. package/dist/standalone/dock.d.ts.map +1 -0
  318. package/dist/standalone/drawer.d.ts +2 -0
  319. package/dist/standalone/drawer.d.ts.map +1 -0
  320. package/dist/standalone/dropdown.d.ts +2 -0
  321. package/dist/standalone/dropdown.d.ts.map +1 -0
  322. package/dist/standalone/dropzone.d.ts +2 -0
  323. package/dist/standalone/dropzone.d.ts.map +1 -0
  324. package/dist/standalone/empty-state.d.ts +2 -0
  325. package/dist/standalone/empty-state.d.ts.map +1 -0
  326. package/dist/standalone/field-error.d.ts +2 -0
  327. package/dist/standalone/field-error.d.ts.map +1 -0
  328. package/dist/standalone/field.d.ts +2 -0
  329. package/dist/standalone/field.d.ts.map +1 -0
  330. package/dist/standalone/fieldset.d.ts +2 -0
  331. package/dist/standalone/fieldset.d.ts.map +1 -0
  332. package/dist/standalone/file-upload.d.ts +2 -0
  333. package/dist/standalone/file-upload.d.ts.map +1 -0
  334. package/dist/standalone/flex.d.ts +2 -0
  335. package/dist/standalone/flex.d.ts.map +1 -0
  336. package/dist/standalone/floating-toolbar.d.ts +2 -0
  337. package/dist/standalone/floating-toolbar.d.ts.map +1 -0
  338. package/dist/standalone/focus-scope.d.ts +2 -0
  339. package/dist/standalone/focus-scope.d.ts.map +1 -0
  340. package/dist/standalone/form.d.ts +2 -0
  341. package/dist/standalone/form.d.ts.map +1 -0
  342. package/dist/standalone/gantt.d.ts +2 -0
  343. package/dist/standalone/gantt.d.ts.map +1 -0
  344. package/dist/standalone/grid.d.ts +2 -0
  345. package/dist/standalone/grid.d.ts.map +1 -0
  346. package/dist/standalone/hover-card.d.ts +2 -0
  347. package/dist/standalone/hover-card.d.ts.map +1 -0
  348. package/dist/standalone/icon-cloud.d.ts +2 -0
  349. package/dist/standalone/icon-cloud.d.ts.map +1 -0
  350. package/dist/standalone/icon.d.ts +2 -0
  351. package/dist/standalone/icon.d.ts.map +1 -0
  352. package/dist/standalone/inline-edit.d.ts +2 -0
  353. package/dist/standalone/inline-edit.d.ts.map +1 -0
  354. package/dist/standalone/input.d.ts +2 -0
  355. package/dist/standalone/input.d.ts.map +1 -0
  356. package/dist/standalone/label.d.ts +2 -0
  357. package/dist/standalone/label.d.ts.map +1 -0
  358. package/dist/standalone/layout.d.ts +2 -0
  359. package/dist/standalone/layout.d.ts.map +1 -0
  360. package/dist/standalone/listbox.d.ts +2 -0
  361. package/dist/standalone/listbox.d.ts.map +1 -0
  362. package/dist/standalone/marquee.d.ts +2 -0
  363. package/dist/standalone/marquee.d.ts.map +1 -0
  364. package/dist/standalone/masonry-grid.d.ts +2 -0
  365. package/dist/standalone/masonry-grid.d.ts.map +1 -0
  366. package/dist/standalone/menu.d.ts +2 -0
  367. package/dist/standalone/menu.d.ts.map +1 -0
  368. package/dist/standalone/menubar.d.ts +2 -0
  369. package/dist/standalone/menubar.d.ts.map +1 -0
  370. package/dist/standalone/meter.d.ts +2 -0
  371. package/dist/standalone/meter.d.ts.map +1 -0
  372. package/dist/standalone/multi-select.d.ts +2 -0
  373. package/dist/standalone/multi-select.d.ts.map +1 -0
  374. package/dist/standalone/navigation-menu.d.ts +2 -0
  375. package/dist/standalone/navigation-menu.d.ts.map +1 -0
  376. package/dist/standalone/number-field.d.ts +2 -0
  377. package/dist/standalone/number-field.d.ts.map +1 -0
  378. package/dist/standalone/number-ticker.d.ts +2 -0
  379. package/dist/standalone/number-ticker.d.ts.map +1 -0
  380. package/dist/standalone/odometer.d.ts +2 -0
  381. package/dist/standalone/odometer.d.ts.map +1 -0
  382. package/dist/standalone/orbiter.d.ts +2 -0
  383. package/dist/standalone/orbiter.d.ts.map +1 -0
  384. package/dist/standalone/pagination.d.ts +2 -0
  385. package/dist/standalone/pagination.d.ts.map +1 -0
  386. package/dist/standalone/panel-group.d.ts +2 -0
  387. package/dist/standalone/panel-group.d.ts.map +1 -0
  388. package/dist/standalone/panel.d.ts +2 -0
  389. package/dist/standalone/panel.d.ts.map +1 -0
  390. package/dist/standalone/password-field.d.ts +2 -0
  391. package/dist/standalone/password-field.d.ts.map +1 -0
  392. package/dist/standalone/pin-input.d.ts +2 -0
  393. package/dist/standalone/pin-input.d.ts.map +1 -0
  394. package/dist/standalone/placement-grid.d.ts +2 -0
  395. package/dist/standalone/placement-grid.d.ts.map +1 -0
  396. package/dist/standalone/plugin-panel.d.ts +2 -0
  397. package/dist/standalone/plugin-panel.d.ts.map +1 -0
  398. package/dist/standalone/popover.d.ts +2 -0
  399. package/dist/standalone/popover.d.ts.map +1 -0
  400. package/dist/standalone/portal.d.ts +2 -0
  401. package/dist/standalone/portal.d.ts.map +1 -0
  402. package/dist/standalone/positioner.d.ts +2 -0
  403. package/dist/standalone/positioner.d.ts.map +1 -0
  404. package/dist/standalone/presence.d.ts +2 -0
  405. package/dist/standalone/presence.d.ts.map +1 -0
  406. package/dist/standalone/progress.d.ts +2 -0
  407. package/dist/standalone/progress.d.ts.map +1 -0
  408. package/dist/standalone/quick-actions.d.ts +2 -0
  409. package/dist/standalone/quick-actions.d.ts.map +1 -0
  410. package/dist/standalone/radio-group.d.ts +2 -0
  411. package/dist/standalone/radio-group.d.ts.map +1 -0
  412. package/dist/standalone/rating.d.ts +2 -0
  413. package/dist/standalone/rating.d.ts.map +1 -0
  414. package/dist/standalone/roving-focus-group.d.ts +2 -0
  415. package/dist/standalone/roving-focus-group.d.ts.map +1 -0
  416. package/dist/standalone/scroll-area.d.ts +2 -0
  417. package/dist/standalone/scroll-area.d.ts.map +1 -0
  418. package/dist/standalone/section.d.ts +2 -0
  419. package/dist/standalone/section.d.ts.map +1 -0
  420. package/dist/standalone/select.d.ts +2 -0
  421. package/dist/standalone/select.d.ts.map +1 -0
  422. package/dist/standalone/selection-popup.d.ts +2 -0
  423. package/dist/standalone/selection-popup.d.ts.map +1 -0
  424. package/dist/standalone/separator.d.ts +2 -0
  425. package/dist/standalone/separator.d.ts.map +1 -0
  426. package/dist/standalone/sidebar.d.ts +2 -0
  427. package/dist/standalone/sidebar.d.ts.map +1 -0
  428. package/dist/standalone/skeleton.d.ts +2 -0
  429. package/dist/standalone/skeleton.d.ts.map +1 -0
  430. package/dist/standalone/slider.d.ts +2 -0
  431. package/dist/standalone/slider.d.ts.map +1 -0
  432. package/dist/standalone/slot.d.ts +2 -0
  433. package/dist/standalone/slot.d.ts.map +1 -0
  434. package/dist/standalone/spinning-text.d.ts +2 -0
  435. package/dist/standalone/spinning-text.d.ts.map +1 -0
  436. package/dist/standalone/split-button.d.ts +2 -0
  437. package/dist/standalone/split-button.d.ts.map +1 -0
  438. package/dist/standalone/splitter.d.ts +2 -0
  439. package/dist/standalone/splitter.d.ts.map +1 -0
  440. package/dist/standalone/stepper.d.ts +2 -0
  441. package/dist/standalone/stepper.d.ts.map +1 -0
  442. package/dist/standalone/switch.d.ts +2 -0
  443. package/dist/standalone/switch.d.ts.map +1 -0
  444. package/dist/standalone/table.d.ts +2 -0
  445. package/dist/standalone/table.d.ts.map +1 -0
  446. package/dist/standalone/tabs.d.ts +2 -0
  447. package/dist/standalone/tabs.d.ts.map +1 -0
  448. package/dist/standalone/tags-input.d.ts +2 -0
  449. package/dist/standalone/tags-input.d.ts.map +1 -0
  450. package/dist/standalone/textarea.d.ts +2 -0
  451. package/dist/standalone/textarea.d.ts.map +1 -0
  452. package/dist/standalone/time-field.d.ts +2 -0
  453. package/dist/standalone/time-field.d.ts.map +1 -0
  454. package/dist/standalone/time-picker.d.ts +2 -0
  455. package/dist/standalone/time-picker.d.ts.map +1 -0
  456. package/dist/standalone/timeline.d.ts +2 -0
  457. package/dist/standalone/timeline.d.ts.map +1 -0
  458. package/dist/standalone/toast.d.ts +2 -0
  459. package/dist/standalone/toast.d.ts.map +1 -0
  460. package/dist/standalone/toggle-group.d.ts +2 -0
  461. package/dist/standalone/toggle-group.d.ts.map +1 -0
  462. package/dist/standalone/toggle.d.ts +2 -0
  463. package/dist/standalone/toggle.d.ts.map +1 -0
  464. package/dist/standalone/toolbar.d.ts +2 -0
  465. package/dist/standalone/toolbar.d.ts.map +1 -0
  466. package/dist/standalone/tooltip.d.ts +2 -0
  467. package/dist/standalone/tooltip.d.ts.map +1 -0
  468. package/dist/standalone/transfer-list.d.ts +2 -0
  469. package/dist/standalone/transfer-list.d.ts.map +1 -0
  470. package/dist/standalone/tree-item.d.ts +2 -0
  471. package/dist/standalone/tree-item.d.ts.map +1 -0
  472. package/dist/standalone/tree.d.ts +2 -0
  473. package/dist/standalone/tree.d.ts.map +1 -0
  474. package/dist/standalone/visually-hidden.d.ts +2 -0
  475. package/dist/standalone/visually-hidden.d.ts.map +1 -0
  476. package/dist/standalone/wizard.d.ts +2 -0
  477. package/dist/standalone/wizard.d.ts.map +1 -0
  478. package/dist/stepper.cjs.js +337 -0
  479. package/dist/stepper.esm.js +578 -0
  480. package/dist/switch.cjs.js +397 -0
  481. package/dist/switch.esm.js +543 -0
  482. package/dist/table.cjs.js +212 -0
  483. package/dist/table.esm.js +432 -0
  484. package/dist/tabs.cjs.js +515 -0
  485. package/dist/tabs.esm.js +808 -0
  486. package/dist/tags-input.cjs.js +202 -0
  487. package/dist/tags-input.esm.js +436 -0
  488. package/dist/textarea.cjs.js +329 -0
  489. package/dist/textarea.esm.js +520 -0
  490. package/dist/time-field.cjs.js +142 -0
  491. package/dist/time-field.esm.js +387 -0
  492. package/dist/time-picker.cjs.js +284 -0
  493. package/dist/time-picker.esm.js +686 -0
  494. package/dist/timeline.cjs.js +198 -0
  495. package/dist/timeline.esm.js +248 -0
  496. package/dist/toast.cjs.js +234 -0
  497. package/dist/toast.esm.js +399 -0
  498. package/dist/toggle-group.cjs.js +131 -0
  499. package/dist/toggle-group.esm.js +382 -0
  500. package/dist/toggle.cjs.js +237 -0
  501. package/dist/toggle.esm.js +346 -0
  502. package/dist/toolbar.cjs.js +126 -0
  503. package/dist/toolbar.esm.js +240 -0
  504. package/dist/tooltip.cjs.js +159 -0
  505. package/dist/tooltip.esm.js +376 -0
  506. package/dist/transfer-list.cjs.js +734 -0
  507. package/dist/transfer-list.esm.js +969 -0
  508. package/dist/tree-0a7a8d05.js +39 -0
  509. package/dist/tree-dcd74a4a.mjs +294 -0
  510. package/dist/tree-item.cjs.js +103 -0
  511. package/dist/tree-item.esm.js +143 -0
  512. package/dist/tree.cjs.js +1 -0
  513. package/dist/tree.esm.js +7 -0
  514. package/dist/visually-hidden.cjs.js +42 -0
  515. package/dist/visually-hidden.esm.js +68 -0
  516. package/dist/wizard.cjs.js +677 -0
  517. package/dist/wizard.esm.js +1068 -0
  518. package/package.json +7 -1
  519. package/dist/runtime-41717c1e.js +0 -1
  520. package/dist/sortable-06a3bd6c.js +0 -855
  521. package/dist/sortable-23bf110b.mjs +0 -2254
@@ -0,0 +1,1219 @@
1
+ import { E as T } from "./ElementBase-909688f3.mjs";
2
+ const _ = {
3
+ sm: { expanded: 220, collapsed: 64, min: 168, max: 300 },
4
+ md: { expanded: 236, collapsed: 72, min: 180, max: 320 },
5
+ lg: { expanded: 268, collapsed: 80, min: 192, max: 360 }
6
+ }, z = /* @__PURE__ */ new Set([
7
+ "variant",
8
+ "size",
9
+ "density",
10
+ "tone",
11
+ "radius",
12
+ "item-radius",
13
+ "item-gap",
14
+ "item-padding-x",
15
+ "item-padding-y",
16
+ "item-height",
17
+ "item-font-size",
18
+ "item-line-height",
19
+ "section-label-transform",
20
+ "elevation",
21
+ "position",
22
+ "rail",
23
+ "headless"
24
+ ]), A = /* @__PURE__ */ new Set([
25
+ "width",
26
+ "min-width",
27
+ "max-width",
28
+ "collapsed-width",
29
+ "storage-key",
30
+ "auto-save"
31
+ ]), D = (o) => `
32
+ <style>
33
+ :host {
34
+ --ui-sidebar-bg: var(--base-sidebar-bg, var(--color-panel-solid, var(--ui-color-surface, #ffffff)));
35
+ --ui-sidebar-color: var(--ui-color-text, var(--ui-text, #202020));
36
+ --ui-sidebar-muted: color-mix(in srgb, var(--ui-sidebar-color) 56%, transparent);
37
+ --ui-sidebar-border: var(--base-sidebar-border, 1px solid color-mix(in srgb, var(--gray-a5, rgba(15, 23, 42, 0.16)) 82%, transparent));
38
+ --ui-sidebar-radius: var(--base-sidebar-radius, var(--ui-radius, 4px));
39
+ --ui-sidebar-shadow: var(--base-sidebar-shadow, var(--shadow-5, none));
40
+ --ui-sidebar-padding: var(--base-sidebar-padding, 12px);
41
+ --ui-sidebar-gap: var(--base-sidebar-gap, 14px);
42
+ --ui-sidebar-header-padding: var(--base-sidebar-header-padding, 4px 4px 10px);
43
+ --ui-sidebar-item-radius: var(--base-sidebar-item-radius, 4px);
44
+ --ui-sidebar-item-height: var(--base-sidebar-item-height, 45px);
45
+ --ui-sidebar-item-padding-x: var(--base-sidebar-item-padding-x, 6px);
46
+ --ui-sidebar-item-padding-y: var(--base-sidebar-item-padding-y, 3px);
47
+ --ui-sidebar-item-gap: var(--base-sidebar-item-gap, 8px);
48
+ --ui-sidebar-item-font-size: var(--base-sidebar-item-font-size, 12px);
49
+ --ui-sidebar-item-line-height: var(--base-sidebar-item-line-height, 22px);
50
+ --ui-sidebar-section-gap: var(--base-sidebar-section-gap, 12px);
51
+ --ui-sidebar-section-label-size: var(--base-sidebar-section-label-size, 12px);
52
+ --ui-sidebar-section-label-spacing: var(--base-sidebar-section-label-spacing, 0.06em);
53
+ --ui-sidebar-section-label-transform: var(--base-sidebar-section-label-transform, none);
54
+ --ui-sidebar-section-label-color: var(--base-sidebar-section-label-color, var(--ui-sidebar-muted));
55
+ --ui-sidebar-submenu-indent: var(--base-sidebar-submenu-indent, 20px);
56
+ --ui-sidebar-promo-radius: var(--base-sidebar-promo-radius, 4px);
57
+ --ui-sidebar-promo-padding: var(--base-sidebar-promo-padding, 20px);
58
+ --ui-sidebar-accent: var(--ui-color-primary, var(--ui-primary, #2563eb));
59
+ --ui-sidebar-accent-contrast: var(--ui-color-foreground-on-primary, var(--ui-foreground, #ffffff));
60
+ --ui-sidebar-item-hover: color-mix(in srgb, var(--ui-sidebar-accent) 10%, transparent);
61
+ --ui-sidebar-item-active-bg: color-mix(in srgb, var(--ui-sidebar-accent) 14%, var(--ui-sidebar-bg));
62
+ --ui-sidebar-item-active-color: var(--ui-sidebar-color);
63
+ --ui-sidebar-item-border: color-mix(in srgb, var(--ui-sidebar-accent) 18%, transparent);
64
+ --ui-sidebar-control-bg: color-mix(in srgb, var(--ui-sidebar-bg) 88%, transparent);
65
+ --ui-sidebar-control-hover: color-mix(in srgb, var(--ui-sidebar-accent) 10%, var(--ui-sidebar-bg));
66
+ --ui-sidebar-promo-bg: linear-gradient(140deg, color-mix(in srgb, var(--ui-sidebar-accent) 92%, #0f172a 8%), color-mix(in srgb, var(--ui-sidebar-accent) 36%, #ffffff 64%));
67
+ --ui-sidebar-promo-color: var(--ui-sidebar-accent-contrast);
68
+ --ui-sidebar-focus-ring: var(--ui-color-focus-ring, var(--ui-focus-ring, #2563eb));
69
+ --ui-sidebar-width: 236px;
70
+ --ui-sidebar-current-width: 236px;
71
+ --ui-sidebar-min-width: 180px;
72
+ --ui-sidebar-max-width: 320px;
73
+ --ui-sidebar-collapsed-width: 72px;
74
+ display: block;
75
+ min-inline-size: 0;
76
+ inline-size: var(--ui-sidebar-current-width);
77
+ box-sizing: border-box;
78
+ color-scheme: light dark;
79
+ transition: inline-size 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
80
+ }
81
+
82
+ :host([size="sm"]),
83
+ :host([size="1"]) {
84
+ --ui-sidebar-padding: 8px;
85
+ --ui-sidebar-gap: 10px;
86
+ --ui-sidebar-item-radius: 4px;
87
+ --ui-sidebar-item-height: 40px;
88
+ --ui-sidebar-item-padding-x: 12px;
89
+ --ui-sidebar-item-padding-y: 8px;
90
+ --ui-sidebar-item-gap: 10px;
91
+ --ui-sidebar-item-font-size: 14px;
92
+ --ui-sidebar-item-line-height: 20px;
93
+ --ui-sidebar-section-gap: 8px;
94
+ --ui-sidebar-promo-padding: 16px;
95
+ }
96
+
97
+ :host([size="lg"]),
98
+ :host([size="3"]) {
99
+ --ui-sidebar-padding: 12px;
100
+ --ui-sidebar-gap: 12px;
101
+ --ui-sidebar-item-radius: 4px;
102
+ --ui-sidebar-item-height: 50px;
103
+ --ui-sidebar-item-padding-x: 12px;
104
+ --ui-sidebar-item-padding-y: 8px;
105
+ --ui-sidebar-item-gap: 16px;
106
+ --ui-sidebar-item-font-size: 16px;
107
+ --ui-sidebar-item-line-height: 24px;
108
+ --ui-sidebar-promo-padding: 20px;
109
+ }
110
+
111
+ :host([density="compact"]) {
112
+ --ui-sidebar-gap: 10px;
113
+ --ui-sidebar-section-gap: 8px;
114
+ --ui-sidebar-item-height: calc(var(--ui-sidebar-item-height) - 4px);
115
+ --ui-sidebar-item-padding-y: max(6px, calc(var(--ui-sidebar-item-padding-y) - 2px));
116
+ --ui-sidebar-item-gap: max(8px, calc(var(--ui-sidebar-item-gap) - 2px));
117
+ }
118
+
119
+ :host([density="comfortable"]) {
120
+ --ui-sidebar-gap: 14px;
121
+ --ui-sidebar-section-gap: 12px;
122
+ --ui-sidebar-item-height: calc(var(--ui-sidebar-item-height) + 4px);
123
+ --ui-sidebar-item-padding-y: calc(var(--ui-sidebar-item-padding-y) + 2px);
124
+ --ui-sidebar-item-gap: calc(var(--ui-sidebar-item-gap) + 2px);
125
+ }
126
+
127
+ :host([variant="surface"]) {
128
+ --ui-sidebar-item-hover: color-mix(in srgb, var(--ui-sidebar-accent) 10%, transparent);
129
+ --ui-sidebar-item-active-bg: color-mix(in srgb, var(--ui-sidebar-accent) 14%, var(--base-sidebar-bg, var(--color-panel-solid, #ffffff)));
130
+ --ui-sidebar-item-active-color: var(--ui-sidebar-color);
131
+ --ui-sidebar-item-border: color-mix(in srgb, var(--ui-sidebar-accent) 18%, transparent);
132
+ }
133
+
134
+ :host([variant="soft"]) {
135
+ --ui-sidebar-bg: color-mix(in srgb, var(--ui-sidebar-accent) 8%, var(--base-sidebar-bg, var(--color-panel-solid, #ffffff)));
136
+ --ui-sidebar-item-hover: color-mix(in srgb, var(--ui-sidebar-accent) 12%, transparent);
137
+ --ui-sidebar-item-active-bg: color-mix(in srgb, var(--ui-sidebar-accent) 18%, var(--base-sidebar-bg, var(--color-panel-solid, #ffffff)));
138
+ --ui-sidebar-item-active-color: var(--ui-sidebar-color);
139
+ --ui-sidebar-item-border: color-mix(in srgb, var(--ui-sidebar-accent) 18%, transparent);
140
+ --ui-sidebar-shadow: none;
141
+ }
142
+
143
+ :host([variant="floating"]) {
144
+ --ui-sidebar-bg: color-mix(in srgb, var(--base-sidebar-bg, var(--color-panel-solid, #ffffff)) 82%, transparent);
145
+ --ui-sidebar-item-hover: color-mix(in srgb, var(--ui-sidebar-accent) 10%, transparent);
146
+ --ui-sidebar-item-active-bg: color-mix(in srgb, var(--ui-sidebar-accent) 16%, var(--base-sidebar-bg, var(--color-panel-solid, #ffffff)));
147
+ --ui-sidebar-item-active-color: var(--ui-sidebar-color);
148
+ --ui-sidebar-item-border: color-mix(in srgb, var(--ui-sidebar-accent) 20%, transparent);
149
+ --ui-sidebar-shadow: 0 24px 44px rgba(15, 23, 42, 0.16);
150
+ --ui-sidebar-border: 1px solid color-mix(in srgb, var(--gray-a5, rgba(15, 23, 42, 0.16)) 72%, transparent);
151
+ }
152
+
153
+ :host([variant="contrast"]) {
154
+ --ui-sidebar-bg: linear-gradient(180deg, color-mix(in srgb, #07162d 92%, var(--ui-sidebar-accent) 8%), color-mix(in srgb, #0f2d57 82%, var(--ui-sidebar-accent) 18%));
155
+ --ui-sidebar-color: #f8fbff;
156
+ --ui-sidebar-muted: color-mix(in srgb, #f8fbff 72%, transparent);
157
+ --ui-sidebar-border: 1px solid color-mix(in srgb, #9ec5ff 14%, transparent);
158
+ --ui-sidebar-item-hover: color-mix(in srgb, #ffffff 8%, transparent);
159
+ --ui-sidebar-item-active-bg: color-mix(in srgb, var(--ui-sidebar-accent) 82%, #0b4cb4 18%);
160
+ --ui-sidebar-item-active-color: #ffffff;
161
+ --ui-sidebar-control-bg: color-mix(in srgb, #ffffff 7%, transparent);
162
+ --ui-sidebar-control-hover: color-mix(in srgb, #ffffff 12%, transparent);
163
+ --ui-sidebar-shadow: 0 30px 60px rgba(2, 6, 23, 0.34);
164
+ --ui-sidebar-promo-bg: linear-gradient(140deg, color-mix(in srgb, var(--ui-sidebar-accent) 92%, #1d4ed8 8%), color-mix(in srgb, var(--ui-sidebar-accent) 24%, #ffffff 76%));
165
+ --ui-sidebar-promo-color: #ffffff;
166
+ }
167
+
168
+ :host([variant="minimal"]) {
169
+ --ui-sidebar-bg: transparent;
170
+ --ui-sidebar-border: none;
171
+ --ui-sidebar-shadow: none;
172
+ --ui-sidebar-item-hover: color-mix(in srgb, var(--ui-sidebar-accent) 8%, transparent);
173
+ --ui-sidebar-item-active-bg: color-mix(in srgb, var(--ui-sidebar-accent) 14%, transparent);
174
+ --ui-sidebar-item-active-color: var(--ui-sidebar-color);
175
+ --ui-sidebar-item-border: color-mix(in srgb, var(--ui-sidebar-accent) 18%, transparent);
176
+ }
177
+
178
+ :host([variant="split"]) {
179
+ --ui-sidebar-radius: 0px;
180
+ --ui-sidebar-border: none;
181
+ --ui-sidebar-shadow: none;
182
+ --ui-sidebar-item-hover: color-mix(in srgb, var(--ui-sidebar-accent) 8%, transparent);
183
+ --ui-sidebar-item-active-bg: color-mix(in srgb, var(--ui-sidebar-accent) 12%, transparent);
184
+ --ui-sidebar-item-active-color: var(--ui-sidebar-color);
185
+ --ui-sidebar-item-border: color-mix(in srgb, var(--ui-sidebar-accent) 16%, transparent);
186
+ border-inline-end: 1px solid color-mix(in srgb, var(--gray-a5, rgba(15, 23, 42, 0.16)) 82%, transparent);
187
+ }
188
+
189
+ :host([tone="success"]) {
190
+ --ui-sidebar-accent: var(--ui-color-success, #16a34a);
191
+ }
192
+
193
+ :host([tone="warning"]) {
194
+ --ui-sidebar-accent: var(--ui-color-warning, #d97706);
195
+ }
196
+
197
+ :host([tone="danger"]) {
198
+ --ui-sidebar-accent: var(--ui-color-danger, #dc2626);
199
+ }
200
+
201
+ :host([radius="none"]) {
202
+ --ui-sidebar-radius: 0px;
203
+ --ui-sidebar-item-radius: 0px;
204
+ --ui-sidebar-promo-radius: 0px;
205
+ }
206
+
207
+ :host([radius="sm"]) {
208
+ --ui-sidebar-radius: 8px;
209
+ --ui-sidebar-item-radius: 8px;
210
+ --ui-sidebar-promo-radius: 12px;
211
+ }
212
+
213
+ :host([radius="md"]) {
214
+ --ui-sidebar-radius: 12px;
215
+ --ui-sidebar-item-radius: 12px;
216
+ --ui-sidebar-promo-radius: 16px;
217
+ }
218
+
219
+ :host([radius="lg"]) {
220
+ --ui-sidebar-radius: 18px;
221
+ --ui-sidebar-item-radius: 16px;
222
+ --ui-sidebar-promo-radius: 20px;
223
+ }
224
+
225
+ :host([radius="full"]) {
226
+ --ui-sidebar-radius: 28px;
227
+ --ui-sidebar-item-radius: 999px;
228
+ --ui-sidebar-promo-radius: 24px;
229
+ }
230
+
231
+ :host([elevation="none"]) {
232
+ --ui-sidebar-shadow: none;
233
+ }
234
+
235
+ :host([elevation="low"]) {
236
+ --ui-sidebar-shadow: 0 16px 32px rgba(15, 23, 42, 0.12);
237
+ }
238
+
239
+ :host([elevation="high"]) {
240
+ --ui-sidebar-shadow: 0 32px 64px rgba(15, 23, 42, 0.2);
241
+ }
242
+
243
+ :host([position="right"]) .shell {
244
+ border-inline-start: var(--ui-sidebar-border);
245
+ border-inline-end: none;
246
+ }
247
+
248
+ :host([collapsed]) {
249
+ inline-size: var(--ui-sidebar-current-width);
250
+ }
251
+
252
+ :host([headless]) .shell {
253
+ background: transparent;
254
+ border: none;
255
+ box-shadow: none;
256
+ }
257
+
258
+ .shell {
259
+ position: relative;
260
+ display: flex;
261
+ flex-direction: column;
262
+ min-inline-size: 0;
263
+ min-block-size: 100%;
264
+ inline-size: var(--ui-sidebar-current-width);
265
+ padding: var(--ui-sidebar-padding);
266
+ gap: var(--ui-sidebar-gap);
267
+ box-sizing: border-box;
268
+ border: var(--ui-sidebar-border);
269
+ border-radius: var(--ui-sidebar-radius);
270
+ background: var(--ui-sidebar-bg);
271
+ color: var(--ui-sidebar-color);
272
+ box-shadow: var(--ui-sidebar-shadow);
273
+ overflow: hidden;
274
+ backdrop-filter: blur(14px) saturate(1.08);
275
+ }
276
+
277
+ .shell::after {
278
+ content: '';
279
+ position: absolute;
280
+ inset: 0;
281
+ border-radius: inherit;
282
+ pointer-events: none;
283
+ box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 8%, transparent);
284
+ }
285
+
286
+ .header-wrap,
287
+ .search-wrap,
288
+ .footer-wrap,
289
+ .promo-wrap {
290
+ min-inline-size: 0;
291
+ }
292
+
293
+ .header-wrap[hidden],
294
+ .search-wrap[hidden],
295
+ .footer-wrap[hidden],
296
+ .promo-wrap[hidden] {
297
+ display: none;
298
+ }
299
+
300
+ .header-wrap {
301
+ padding: var(--ui-sidebar-header-padding);
302
+ }
303
+
304
+ .header-wrap ::slotted(*) {
305
+ min-inline-size: 0;
306
+ color: inherit;
307
+ }
308
+
309
+ .search-wrap ::slotted(*) {
310
+ display: block;
311
+ min-inline-size: 0;
312
+ }
313
+
314
+ .nav {
315
+ min-inline-size: 0;
316
+ display: flex;
317
+ flex-direction: column;
318
+ gap: var(--ui-sidebar-gap);
319
+ flex: 1 1 auto;
320
+ overflow-y: auto;
321
+ overflow-x: hidden;
322
+ padding-inline-end: 2px;
323
+ }
324
+
325
+ .nav::-webkit-scrollbar {
326
+ width: 8px;
327
+ }
328
+
329
+ .nav::-webkit-scrollbar-thumb {
330
+ border-radius: 999px;
331
+ background: color-mix(in srgb, currentColor 12%, transparent);
332
+ }
333
+
334
+ .section {
335
+ display: grid;
336
+ gap: var(--ui-sidebar-section-gap);
337
+ }
338
+
339
+ .section-label {
340
+ padding-inline: 10px;
341
+ font-size: var(--ui-sidebar-section-label-size);
342
+ letter-spacing: var(--ui-sidebar-section-label-spacing);
343
+ line-height: 1.4;
344
+ font-weight: 700;
345
+ text-transform: var(--ui-sidebar-section-label-transform);
346
+ color: var(--ui-sidebar-section-label-color);
347
+ }
348
+
349
+ .section-items {
350
+ display: grid;
351
+ gap: 8px;
352
+ }
353
+
354
+ .item {
355
+ display: grid;
356
+ gap: 8px;
357
+ }
358
+
359
+ .item-button {
360
+ min-inline-size: 0;
361
+ display: grid;
362
+ grid-template-columns: auto minmax(0, 1fr) auto;
363
+ align-items: center;
364
+ gap: var(--ui-sidebar-item-gap);
365
+ inline-size: 100%;
366
+ min-block-size: var(--ui-sidebar-item-height);
367
+ padding: var(--ui-sidebar-item-padding-y) var(--ui-sidebar-item-padding-x);
368
+ border: 1px solid transparent;
369
+ border-radius: var(--ui-sidebar-item-radius);
370
+ box-sizing: border-box;
371
+ background: transparent;
372
+ color: inherit;
373
+ cursor: pointer;
374
+ text-align: left;
375
+ text-decoration: none;
376
+ font-family: var(--ui-font-family, Inter, system-ui, sans-serif);
377
+ font-size: var(--ui-sidebar-item-font-size);
378
+ line-height: var(--ui-sidebar-item-line-height);
379
+ font-weight: 700;
380
+ letter-spacing: var(--ui-default-letter-spacing, 0em);
381
+ transition:
382
+ background-color 140ms ease,
383
+ border-color 140ms ease,
384
+ color 140ms ease,
385
+ transform 140ms ease,
386
+ box-shadow 140ms ease;
387
+ }
388
+
389
+ .item-button:hover {
390
+ background: var(--ui-sidebar-item-hover);
391
+ }
392
+
393
+ .item-button:focus-visible {
394
+ outline: none;
395
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--ui-sidebar-focus-ring) 22%, transparent);
396
+ }
397
+
398
+ .item-button[aria-current="page"],
399
+ .item-button[data-active="true"] {
400
+ background: var(--ui-sidebar-item-active-bg);
401
+ color: var(--ui-sidebar-item-active-color);
402
+ border-color: var(--ui-sidebar-item-border);
403
+ }
404
+
405
+ .item-button[aria-disabled="true"] {
406
+ opacity: 0.48;
407
+ cursor: not-allowed;
408
+ pointer-events: none;
409
+ }
410
+
411
+ .item-button[data-tone="danger"] .item-label,
412
+ .item-button[data-tone="danger"] .meta {
413
+ color: var(--ui-color-danger, #dc2626);
414
+ }
415
+
416
+ .icon-wrap,
417
+ .arrow-wrap {
418
+ display: inline-grid;
419
+ place-items: center;
420
+ inline-size: 20px;
421
+ block-size: 20px;
422
+ flex: 0 0 20px;
423
+ color: color-mix(in srgb, currentColor 82%, transparent);
424
+ }
425
+
426
+ .arrow-wrap {
427
+ inline-size: 16px;
428
+ block-size: 16px;
429
+ transition: transform 140ms ease;
430
+ }
431
+
432
+ .arrow-wrap svg {
433
+ inline-size: 14px;
434
+ block-size: 14px;
435
+ display: block;
436
+ }
437
+
438
+ .item[data-expanded="true"] > .item-button .arrow-wrap {
439
+ transform: rotate(90deg);
440
+ }
441
+
442
+ .icon {
443
+ display: inline-flex;
444
+ align-items: center;
445
+ justify-content: center;
446
+ inline-size: 100%;
447
+ block-size: 100%;
448
+ font-size: 0;
449
+ line-height: 1;
450
+ }
451
+
452
+ .icon :is(svg) {
453
+ inline-size: 18px;
454
+ block-size: 18px;
455
+ display: block;
456
+ }
457
+
458
+ .copy {
459
+ min-inline-size: 0;
460
+ display: grid;
461
+ gap: 4px;
462
+ align-content: center;
463
+ font-size: var(--ui-sidebar-item-font-size);
464
+ line-height: var(--ui-sidebar-item-line-height);
465
+ }
466
+
467
+ .copy.custom-copy > * {
468
+ min-inline-size: 0;
469
+ overflow: hidden;
470
+ text-overflow: ellipsis;
471
+ white-space: nowrap;
472
+ }
473
+
474
+ .copy.custom-copy > :first-child {
475
+ font-family: var(--ui-font-family, Inter, system-ui, sans-serif);
476
+ font-size: var(--ui-sidebar-item-font-size);
477
+ line-height: var(--ui-sidebar-item-line-height);
478
+ font-weight: 700;
479
+ letter-spacing: var(--ui-default-letter-spacing, 0em);
480
+ color: inherit;
481
+ }
482
+
483
+ .copy.custom-copy > :not(:first-child) {
484
+ font-size: calc(var(--ui-sidebar-item-font-size) - 2px);
485
+ line-height: calc(var(--ui-sidebar-item-line-height) - 2px);
486
+ font-weight: 500;
487
+ color: color-mix(in srgb, currentColor 54%, transparent);
488
+ }
489
+
490
+ .item-label,
491
+ .item-description {
492
+ min-inline-size: 0;
493
+ overflow: hidden;
494
+ text-overflow: ellipsis;
495
+ white-space: nowrap;
496
+ }
497
+
498
+ .item-label {
499
+ font-family: var(--ui-font-family, Inter, system-ui, sans-serif);
500
+ font-size: var(--ui-sidebar-item-font-size);
501
+ line-height: var(--ui-sidebar-item-line-height);
502
+ font-weight: 700;
503
+ letter-spacing: var(--ui-default-letter-spacing, 0em);
504
+ color: inherit;
505
+ }
506
+
507
+ .item-description {
508
+ font-size: calc(var(--ui-sidebar-item-font-size) - 2px);
509
+ line-height: calc(var(--ui-sidebar-item-line-height) - 2px);
510
+ font-weight: 500;
511
+ color: color-mix(in srgb, currentColor 54%, transparent);
512
+ }
513
+
514
+ .meta {
515
+ display: inline-flex;
516
+ align-items: center;
517
+ gap: 8px;
518
+ justify-content: flex-end;
519
+ min-inline-size: max-content;
520
+ color: color-mix(in srgb, currentColor 66%, transparent);
521
+ font-size: calc(var(--ui-sidebar-item-font-size) - 1px);
522
+ font-weight: 700;
523
+ line-height: var(--ui-sidebar-item-line-height);
524
+ }
525
+
526
+ .end-wrap {
527
+ min-inline-size: 0;
528
+ display: inline-flex;
529
+ align-items: center;
530
+ justify-content: flex-end;
531
+ gap: 10px;
532
+ margin-inline-start: auto;
533
+ }
534
+
535
+ .badge {
536
+ display: inline-flex;
537
+ align-items: center;
538
+ justify-content: center;
539
+ min-inline-size: 22px;
540
+ min-block-size: 22px;
541
+ padding-inline: 7px;
542
+ border-radius: 999px;
543
+ background: color-mix(in srgb, currentColor 12%, transparent);
544
+ color: inherit;
545
+ font-size: calc(var(--ui-sidebar-item-font-size) - 4px);
546
+ line-height: 1;
547
+ letter-spacing: 0.02em;
548
+ }
549
+
550
+ .submenu {
551
+ display: grid;
552
+ grid-template-rows: 0fr;
553
+ margin-inline-start: calc(var(--ui-sidebar-submenu-indent) + 6px);
554
+ padding-inline-start: 12px;
555
+ border-inline-start: 1px solid color-mix(in srgb, currentColor 12%, transparent);
556
+ opacity: 0;
557
+ transform: translateY(-4px);
558
+ pointer-events: none;
559
+ transition:
560
+ grid-template-rows 180ms cubic-bezier(0.2, 0.8, 0.2, 1),
561
+ opacity 140ms ease,
562
+ transform 140ms ease;
563
+ }
564
+
565
+ .submenu-inner {
566
+ min-height: 0;
567
+ overflow: hidden;
568
+ display: grid;
569
+ gap: 6px;
570
+ padding-block: 0;
571
+ transition: padding-block 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
572
+ }
573
+
574
+ .item[data-expanded="true"] > .submenu {
575
+ grid-template-rows: 1fr;
576
+ opacity: 1;
577
+ transform: translateY(0);
578
+ pointer-events: auto;
579
+ }
580
+
581
+ .item[data-expanded="true"] > .submenu > .submenu-inner {
582
+ padding-block: 2px 0;
583
+ }
584
+
585
+ .promo-wrap ::slotted(*) {
586
+ display: block;
587
+ min-inline-size: 0;
588
+ }
589
+
590
+ .footer-wrap {
591
+ margin-top: auto;
592
+ color: color-mix(in srgb, currentColor 66%, transparent);
593
+ font-size: 13px;
594
+ line-height: 18px;
595
+ }
596
+
597
+ .resize-handle {
598
+ position: absolute;
599
+ inset-block: 16px;
600
+ inset-inline-end: 0;
601
+ inline-size: 10px;
602
+ cursor: ew-resize;
603
+ background: transparent;
604
+ border: none;
605
+ padding: 0;
606
+ opacity: 0;
607
+ transition: opacity 120ms ease;
608
+ }
609
+
610
+ .resize-handle::before {
611
+ content: '';
612
+ position: absolute;
613
+ inset-block: 6px;
614
+ inset-inline-end: 3px;
615
+ inline-size: 3px;
616
+ border-radius: 999px;
617
+ background: color-mix(in srgb, currentColor 20%, transparent);
618
+ }
619
+
620
+ .shell:hover .resize-handle,
621
+ .resize-handle:focus-visible {
622
+ opacity: 1;
623
+ }
624
+
625
+ :host([position="right"]) .resize-handle {
626
+ inset-inline-end: auto;
627
+ inset-inline-start: 0;
628
+ cursor: ew-resize;
629
+ }
630
+
631
+ :host([position="right"]) .resize-handle::before {
632
+ inset-inline-end: auto;
633
+ inset-inline-start: 3px;
634
+ }
635
+
636
+ :host(:not([resizable])) .resize-handle {
637
+ display: none;
638
+ }
639
+
640
+ :host([collapsed]) .resize-handle {
641
+ display: none;
642
+ }
643
+
644
+ :host([collapsed]) .section-label,
645
+ :host([collapsed]) .item-description,
646
+ :host([collapsed]) .meta,
647
+ :host([collapsed]) .end-wrap,
648
+ :host([collapsed]) .copy,
649
+ :host([collapsed]) .search-wrap,
650
+ :host([collapsed]) .promo-wrap,
651
+ :host([collapsed]) .footer-wrap {
652
+ display: none;
653
+ }
654
+
655
+ :host([collapsed]) .header-wrap {
656
+ padding-inline: 0;
657
+ display: flex;
658
+ justify-content: center;
659
+ }
660
+
661
+ :host([collapsed]) .item-button {
662
+ grid-template-columns: 1fr;
663
+ justify-items: center;
664
+ padding: 0;
665
+ gap: 0;
666
+ inline-size: calc(100% - 4px);
667
+ min-inline-size: var(--ui-sidebar-item-height);
668
+ }
669
+
670
+ :host([collapsed]) .arrow-wrap,
671
+ :host([collapsed]) .submenu {
672
+ display: none;
673
+ }
674
+
675
+ :host([rail]) .shell {
676
+ padding-inline: max(10px, calc(var(--ui-sidebar-padding) - 4px));
677
+ }
678
+
679
+ @media (prefers-reduced-motion: reduce) {
680
+ :host,
681
+ .item-button,
682
+ .arrow-wrap {
683
+ transition: none !important;
684
+ }
685
+ }
686
+
687
+ @media (forced-colors: active) {
688
+ :host {
689
+ --ui-sidebar-bg: Canvas;
690
+ --ui-sidebar-color: CanvasText;
691
+ --ui-sidebar-muted: CanvasText;
692
+ --ui-sidebar-border: 1px solid CanvasText;
693
+ --ui-sidebar-item-hover: Highlight;
694
+ --ui-sidebar-item-active-bg: Highlight;
695
+ --ui-sidebar-item-active-color: HighlightText;
696
+ --ui-sidebar-item-border: Highlight;
697
+ --ui-sidebar-control-bg: Canvas;
698
+ --ui-sidebar-control-hover: Highlight;
699
+ --ui-sidebar-promo-bg: Canvas;
700
+ --ui-sidebar-promo-color: CanvasText;
701
+ --ui-sidebar-focus-ring: Highlight;
702
+ --ui-sidebar-shadow: none;
703
+ }
704
+
705
+ .shell,
706
+ .item-button,
707
+ .badge,
708
+ .submenu,
709
+ .resize-handle::before {
710
+ forced-color-adjust: none;
711
+ }
712
+
713
+ .shell,
714
+ .badge {
715
+ background: Canvas;
716
+ color: CanvasText;
717
+ border-color: CanvasText;
718
+ box-shadow: none;
719
+ }
720
+
721
+ .item-button {
722
+ background: Canvas;
723
+ color: CanvasText;
724
+ border-color: transparent;
725
+ }
726
+
727
+ .item-button:hover,
728
+ .item-button[aria-current="page"],
729
+ .item-button[data-active="true"] {
730
+ background: Highlight;
731
+ color: HighlightText;
732
+ border-color: Highlight;
733
+ }
734
+
735
+ .submenu {
736
+ border-inline-start-color: CanvasText;
737
+ }
738
+
739
+ .resize-handle::before {
740
+ background: CanvasText;
741
+ }
742
+ }
743
+ </style>
744
+ ${o}
745
+ `;
746
+ function d(o) {
747
+ return o.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
748
+ }
749
+ function y(o) {
750
+ if (!o)
751
+ return null;
752
+ const e = o.trim();
753
+ return e ? ["none", "sm", "md", "lg", "full"].includes(e) ? e : /^\d+(\.\d+)?$/.test(e) ? `${e}px` : e : null;
754
+ }
755
+ function g(o) {
756
+ if (!o)
757
+ return null;
758
+ const e = o.trim();
759
+ return e ? /^\d+(\.\d+)?$/.test(e) ? `${e}px` : e : null;
760
+ }
761
+ function C(o) {
762
+ return o === "sm" || o === "1" ? "sm" : o === "lg" || o === "3" ? "lg" : "md";
763
+ }
764
+ function l(o, e) {
765
+ if (!o)
766
+ return e;
767
+ const i = Number.parseFloat(String(o));
768
+ return Number.isFinite(i) ? i : e;
769
+ }
770
+ function x(o) {
771
+ return o.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/(^-|-$)/g, "") || "item";
772
+ }
773
+ class V extends T {
774
+ constructor() {
775
+ super(...arguments), this._observer = null, this._resizeCleanup = null, this._responsiveCleanup = null, this._responsiveAutoCollapsed = !1, this._userCollapsePreference = !1, this._expanded = /* @__PURE__ */ new Set(), this._dragging = !1, this._lastExpandedWidth = 0, this._handleSearchInput = (e) => {
776
+ const i = e.target;
777
+ if (!i)
778
+ return;
779
+ const t = i.closest('[slot="search"]');
780
+ if (!t || !this.contains(t))
781
+ return;
782
+ const r = typeof i.value == "string" ? i.value : "";
783
+ r ? this.setAttribute("search-query", r) : this.removeAttribute("search-query"), this.dispatchEvent(new CustomEvent("search-change", { detail: { query: r }, bubbles: !0 }));
784
+ };
785
+ }
786
+ static get observedAttributes() {
787
+ return [
788
+ "collapsed",
789
+ "collapsible",
790
+ "rail",
791
+ "resizable",
792
+ "position",
793
+ "value",
794
+ "items",
795
+ "variant",
796
+ "size",
797
+ "density",
798
+ "tone",
799
+ "show-icons",
800
+ "show-badges",
801
+ "item-radius",
802
+ "item-gap",
803
+ "item-padding-x",
804
+ "item-padding-y",
805
+ "item-height",
806
+ "item-font-size",
807
+ "item-line-height",
808
+ "section-label-transform",
809
+ "search-query",
810
+ "headless",
811
+ "width",
812
+ "min-width",
813
+ "max-width",
814
+ "collapsed-width",
815
+ "storage-key",
816
+ "auto-save",
817
+ "radius",
818
+ "elevation"
819
+ ];
820
+ }
821
+ connectedCallback() {
822
+ super.connectedCallback(), this._observeLightDom(), this._bindResponsiveCollapse(), this.addEventListener("input", this._handleSearchInput, !0), this.addEventListener("change", this._handleSearchInput, !0);
823
+ }
824
+ disconnectedCallback() {
825
+ var e, i, t;
826
+ (e = this._observer) == null || e.disconnect(), this._observer = null, (i = this._resizeCleanup) == null || i.call(this), this._resizeCleanup = null, (t = this._responsiveCleanup) == null || t.call(this), this._responsiveCleanup = null, this.removeEventListener("input", this._handleSearchInput, !0), this.removeEventListener("change", this._handleSearchInput, !0), super.disconnectedCallback();
827
+ }
828
+ shouldRenderOnAttributeChange(e) {
829
+ return !(A.has(e) || z.has(e) || e === "collapsed" || e === "value" || e === "radius");
830
+ }
831
+ attributeChangedCallback(e, i, t) {
832
+ if (i !== t) {
833
+ if (e === "radius" && this.isConnected) {
834
+ const r = y(t);
835
+ if (r && r !== t) {
836
+ this.setAttribute("radius", r);
837
+ return;
838
+ }
839
+ }
840
+ if (this.isConnected) {
841
+ if (A.has(e)) {
842
+ this._applySizing();
843
+ return;
844
+ }
845
+ if (e === "radius") {
846
+ this._applyRadius();
847
+ return;
848
+ }
849
+ if (e === "item-radius" || e === "item-gap" || e === "item-padding-x" || e === "item-padding-y" || e === "item-height" || e === "item-font-size" || e === "item-line-height") {
850
+ this._applyItemMetrics();
851
+ return;
852
+ }
853
+ if (!z.has(e)) {
854
+ if (e === "collapsed") {
855
+ this.hasAttribute("collapsed") && this._expanded.clear(), this._applySizing(), this._syncExpandedDom();
856
+ return;
857
+ }
858
+ if (e === "value") {
859
+ this._syncActiveDom();
860
+ return;
861
+ }
862
+ super.attributeChangedCallback(e, i, t);
863
+ }
864
+ }
865
+ }
866
+ }
867
+ get value() {
868
+ return this.getAttribute("value") || "";
869
+ }
870
+ set value(e) {
871
+ e ? this.setAttribute("value", e) : this.removeAttribute("value");
872
+ }
873
+ collapse() {
874
+ this.hasAttribute("collapsible") && (this.hasAttribute("collapsed") || (this._userCollapsePreference = !0, this._lastExpandedWidth = this._currentExpandedWidth(), this.setAttribute("collapsed", ""), this.dispatchEvent(new CustomEvent("toggle", { detail: { collapsed: !0 }, bubbles: !0 })), this.dispatchEvent(new CustomEvent("collapse-change", { detail: { collapsed: !0 }, bubbles: !0 }))));
875
+ }
876
+ expand() {
877
+ this.hasAttribute("collapsible") && this.hasAttribute("collapsed") && (this._userCollapsePreference = !0, this.removeAttribute("collapsed"), this.dispatchEvent(new CustomEvent("toggle", { detail: { collapsed: !1 }, bubbles: !0 })), this.dispatchEvent(new CustomEvent("collapse-change", { detail: { collapsed: !1 }, bubbles: !0 })));
878
+ }
879
+ toggle(e) {
880
+ (typeof e == "boolean" ? e : !this.hasAttribute("collapsed")) ? this.collapse() : this.expand();
881
+ }
882
+ render() {
883
+ const e = this._buildSections(), i = !this.querySelector('[slot="header"]'), t = !this.querySelector('[slot="search"]'), r = !this.querySelector('[slot="footer"]'), s = !this.querySelector('[slot="promo"]'), a = `
884
+ <aside class="shell" part="shell">
885
+ <div class="header-wrap" part="header" ${i ? "hidden" : ""}><slot name="header"></slot></div>
886
+ <div class="search-wrap" part="search" ${t ? "hidden" : ""}><slot name="search"></slot></div>
887
+ <nav class="nav" part="nav" aria-label="${d(this.getAttribute("aria-label") || "Sidebar")}">
888
+ ${e}
889
+ </nav>
890
+ <div class="promo-wrap" part="promo" ${s ? "hidden" : ""}><slot name="promo"></slot></div>
891
+ <div class="footer-wrap" part="footer" ${r ? "hidden" : ""}><slot name="footer"></slot></div>
892
+ <button class="resize-handle" part="resize-handle" type="button" aria-label="Resize sidebar"></button>
893
+ </aside>
894
+ `;
895
+ this.setContent(D(a)), this._applyItemMetrics(), this._applyRadius(), this._applySizing(), this._bindInteractions(), this._syncActiveDom(), this._syncExpandedDom();
896
+ }
897
+ _observeLightDom() {
898
+ this._observer || (this._observer = new MutationObserver((e) => {
899
+ e.some((i) => i.type === "childList" || i.type === "attributes" && i.target.slot) && this.requestRender();
900
+ }), this._observer.observe(this, {
901
+ childList: !0,
902
+ subtree: !0,
903
+ attributes: !0,
904
+ attributeFilter: ["slot", "data-value", "data-href", "data-target", "data-rel", "data-section", "data-active", "data-badge", "data-description", "data-content-html", "data-icon", "data-tone", "data-disabled"]
905
+ }));
906
+ }
907
+ _buildSections() {
908
+ const e = this._groupItems(this._filterItems(this._collectItems(), this.getAttribute("search-query") || ""));
909
+ return e.length ? e.map(({ label: i, items: t }) => `
910
+ <section class="section" part="section">
911
+ ${i ? `<div class="section-label" part="section-label">${d(i)}</div>` : ""}
912
+ <div class="section-items">${t.map((s, a) => this._renderItem(s, `${x(i || "general")}-${a}`)).join("")}</div>
913
+ </section>
914
+ `).join("") : `
915
+ <section class="section" part="section">
916
+ <div class="section-items">
917
+ <div class="item">
918
+ <div class="item-button" aria-disabled="true">
919
+ <span class="copy">
920
+ <span class="item-label">No matches found</span>
921
+ <span class="item-description">Try a different search term.</span>
922
+ </span>
923
+ </div>
924
+ </div>
925
+ </div>
926
+ </section>
927
+ `;
928
+ }
929
+ _renderItem(e, i) {
930
+ const t = e.id || i, r = this.value ? this.value === e.value : !!e.active, s = this._expanded.has(t), a = this.getAttribute("show-icons") !== "false", n = this.getAttribute("show-badges") !== "false", c = e.description ? `<div class="item-description">${d(e.description)}</div>` : "", u = e.contentHtml ? `<span class="copy custom-copy">${e.contentHtml}</span>` : `<span class="copy">
931
+ <span class="item-label">${d(e.label)}</span>
932
+ ${c}
933
+ </span>`, h = a ? this._renderIcon(e) : "", b = n && e.badge ? `<span class="badge" part="badge">${d(e.badge)}</span>` : "", p = e.children.length ? '<span class="arrow-wrap" part="arrow" aria-hidden="true"><svg viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" focusable="false" aria-hidden="true"><path d="M6 3.75L10.25 8L6 12.25" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/></svg></span>' : "", v = h ? `<span class="icon-wrap" part="icon"><span class="icon">${h}</span></span>` : "", f = b || p ? `<span class="end-wrap">${b ? `<span class="meta">${b}</span>` : ""}${p}</span>` : "", m = !!e.href && !e.children.length, E = r ? ' aria-current="page" data-active="true"' : "", $ = e.disabled ? ' aria-disabled="true"' : ' aria-disabled="false"', k = e.tone && e.tone !== "default" ? ` data-tone="${d(e.tone)}"` : "", I = m ? ` href="${d(e.href || "")}"` : "", S = m && e.target ? ` target="${d(e.target)}"` : "", P = m && e.rel ? ` rel="${d(e.rel)}"` : "", L = e.children.length ? `<div class="submenu" part="submenu"><div class="submenu-inner">${e.children.map((R, W) => this._renderItem(R, `${t}-${W}`)).join("")}</div></div>` : "", w = m ? "a" : "button", H = m ? "" : ' type="button"';
934
+ return `
935
+ <div class="item" data-item-id="${d(t)}" data-value="${d(e.value)}" ${s ? 'data-expanded="true"' : ""}>
936
+ <${w}
937
+ class="item-button"
938
+ part="item"
939
+ ${H}
940
+ data-action="${e.children.length ? "toggle" : m ? "navigate" : "select"}"
941
+ data-item-id="${d(t)}"
942
+ data-value="${d(e.value)}"
943
+ ${I}
944
+ ${S}
945
+ ${P}
946
+ ${E}
947
+ ${$}
948
+ ${k}
949
+ >
950
+ ${v}
951
+ ${u}
952
+ ${f}
953
+ </${w}>
954
+ ${L}
955
+ </div>
956
+ `;
957
+ }
958
+ _collectItems() {
959
+ const e = this.getAttribute("items"), i = e ? this._parseItems(e) : this._parseSlottedItems();
960
+ return this._normalizeItems(i);
961
+ }
962
+ _parseItems(e) {
963
+ try {
964
+ const i = JSON.parse(e);
965
+ return Array.isArray(i) ? i : [];
966
+ } catch {
967
+ return [];
968
+ }
969
+ }
970
+ _parseSlottedItems() {
971
+ return Array.from(this.querySelectorAll('[slot="item"]')).map((e) => this._parseSlottedItem(e));
972
+ }
973
+ _parseSlottedItem(e) {
974
+ var r, s;
975
+ let i = [];
976
+ const t = e.dataset.children;
977
+ if (t)
978
+ try {
979
+ const a = JSON.parse(t);
980
+ Array.isArray(a) && (i = a);
981
+ } catch {
982
+ i = [];
983
+ }
984
+ return {
985
+ value: e.dataset.value || ((r = e.textContent) == null ? void 0 : r.trim()) || "item",
986
+ label: e.dataset.label || ((s = e.textContent) == null ? void 0 : s.trim()) || e.dataset.value || "Item",
987
+ href: e.dataset.href,
988
+ target: e.dataset.target,
989
+ rel: e.dataset.rel,
990
+ icon: e.dataset.icon,
991
+ iconHtml: e.dataset.iconHtml,
992
+ contentHtml: e.dataset.contentHtml,
993
+ badge: e.dataset.badge,
994
+ description: e.dataset.description,
995
+ section: e.dataset.section,
996
+ disabled: e.hasAttribute("data-disabled"),
997
+ active: e.hasAttribute("data-active"),
998
+ tone: e.dataset.tone || "default",
999
+ children: i
1000
+ };
1001
+ }
1002
+ _renderIcon(e) {
1003
+ const i = String(e.iconHtml || "").trim();
1004
+ if (i)
1005
+ return i;
1006
+ const t = String(e.icon || "").trim();
1007
+ return t ? d(t) : "";
1008
+ }
1009
+ _normalizeItems(e, i = 0, t = "") {
1010
+ return e.map((r, s) => {
1011
+ var b, p, v, f;
1012
+ const a = ((b = r.label) == null ? void 0 : b.trim()) || ((p = r.value) == null ? void 0 : p.trim()) || `Item ${s + 1}`, n = ((v = r.value) == null ? void 0 : v.trim()) || x(a), c = ((f = r.section) == null ? void 0 : f.trim()) || t || "", u = `${x(c || "nav")}-${x(n)}-${i}-${s}`, h = this._normalizeItems(r.children || [], i + 1, c);
1013
+ return {
1014
+ ...r,
1015
+ id: u,
1016
+ label: a,
1017
+ value: n,
1018
+ section: c,
1019
+ children: h,
1020
+ depth: i
1021
+ };
1022
+ });
1023
+ }
1024
+ _groupItems(e) {
1025
+ const i = [], t = /* @__PURE__ */ new Map();
1026
+ for (const r of e) {
1027
+ const s = r.section || "", a = t.get(s);
1028
+ if (a) {
1029
+ a.items.push(r);
1030
+ continue;
1031
+ }
1032
+ const n = { label: s, items: [r] };
1033
+ t.set(s, n), i.push(n);
1034
+ }
1035
+ return i;
1036
+ }
1037
+ _filterItems(e, i) {
1038
+ const t = i.trim().toLowerCase();
1039
+ return t ? e.map((r) => {
1040
+ const s = [r.label, r.description, r.value, r.section].filter(Boolean).some((n) => String(n).toLowerCase().includes(t)), a = s ? r.children : this._filterItems(r.children, t);
1041
+ return !s && !a.length ? null : {
1042
+ ...r,
1043
+ children: a
1044
+ };
1045
+ }).filter((r) => !!r) : e;
1046
+ }
1047
+ _bindInteractions() {
1048
+ this.root.querySelectorAll(".item-button").forEach((i) => {
1049
+ i.onclick = (t) => {
1050
+ const r = t.currentTarget, s = r.dataset.action, a = r.dataset.itemId || "", n = r.dataset.value || "";
1051
+ if (r.getAttribute("aria-disabled") !== "true") {
1052
+ if (s === "toggle") {
1053
+ t.preventDefault(), this._toggleExpanded(a);
1054
+ return;
1055
+ }
1056
+ if (s === "navigate") {
1057
+ this._selectValue(n);
1058
+ return;
1059
+ }
1060
+ t.preventDefault(), this._selectValue(n);
1061
+ }
1062
+ }, i.onkeydown = (t) => {
1063
+ const r = t.currentTarget, s = r.dataset.itemId || "", a = r.dataset.value || "";
1064
+ t.key === "ArrowRight" && r.dataset.action === "toggle" ? (t.preventDefault(), this._expanded.add(s), this._syncExpandedDom()) : t.key === "ArrowLeft" ? (t.preventDefault(), this._expanded.delete(s), this._syncExpandedDom()) : (t.key === "Enter" || t.key === " ") && (t.preventDefault(), r.dataset.action === "toggle" ? this._toggleExpanded(s) : this._selectValue(a));
1065
+ };
1066
+ });
1067
+ const e = this.root.querySelector(".resize-handle");
1068
+ e && (e.onkeydown = (i) => this._handleResizeKey(i), e.onpointerdown = (i) => this._startResize(i));
1069
+ }
1070
+ _toggleExpanded(e) {
1071
+ this.hasAttribute("collapsed") || (this._expanded.has(e) ? this._expanded.delete(e) : this._expanded.add(e), this._syncExpandedDom());
1072
+ }
1073
+ _syncExpandedDom() {
1074
+ this.root.querySelectorAll(".item").forEach((e) => {
1075
+ const i = e.dataset.itemId || "";
1076
+ this._expanded.has(i) && !this.hasAttribute("collapsed") ? e.setAttribute("data-expanded", "true") : e.removeAttribute("data-expanded");
1077
+ });
1078
+ }
1079
+ _selectValue(e) {
1080
+ this.value = e;
1081
+ const i = this._flattenItems(this._collectItems()), t = i.findIndex((a) => a.value === e), r = i[t], s = {
1082
+ index: t,
1083
+ value: e,
1084
+ label: (r == null ? void 0 : r.label) || e,
1085
+ item: r
1086
+ };
1087
+ this.dispatchEvent(new CustomEvent("select", { detail: s, bubbles: !0 })), this.dispatchEvent(new CustomEvent("change", { detail: s, bubbles: !0 }));
1088
+ }
1089
+ _syncActiveDom() {
1090
+ const e = this.value;
1091
+ this.root.querySelectorAll(".item-button").forEach((i) => {
1092
+ e && i.dataset.value === e ? (i.setAttribute("data-active", "true"), i.setAttribute("aria-current", "page")) : (i.removeAttribute("data-active"), i.removeAttribute("aria-current"));
1093
+ });
1094
+ }
1095
+ _flattenItems(e) {
1096
+ return e.flatMap((i) => [i, ...this._flattenItems(i.children)]);
1097
+ }
1098
+ _applySizing() {
1099
+ const e = C(this.getAttribute("size")), i = _[e], t = l(this.getAttribute("width"), i.expanded), r = l(this.getAttribute("min-width"), i.min), s = l(this.getAttribute("max-width"), i.max), a = l(this.getAttribute("collapsed-width"), i.collapsed), n = this._restoreWidth(t), c = Math.min(Math.max(n, r), s), u = this.hasAttribute("collapsed") ? a : c;
1100
+ this.style.setProperty("--ui-sidebar-width", `${c}px`), this.style.setProperty("--ui-sidebar-min-width", `${r}px`), this.style.setProperty("--ui-sidebar-max-width", `${s}px`), this.style.setProperty("--ui-sidebar-collapsed-width", `${a}px`), this.style.setProperty("--ui-sidebar-current-width", `${u}px`), this.style.setProperty("inline-size", `${u}px`);
1101
+ }
1102
+ _applyRadius() {
1103
+ const e = this.getAttribute("radius"), i = this.getAttribute("item-radius");
1104
+ if (!e || ["none", "sm", "md", "lg", "full"].includes(e)) {
1105
+ this.style.removeProperty("--ui-sidebar-radius"), i || this.style.removeProperty("--ui-sidebar-item-radius"), this.style.removeProperty("--ui-sidebar-promo-radius");
1106
+ return;
1107
+ }
1108
+ const t = y(e) || e;
1109
+ this.style.setProperty("--ui-sidebar-radius", t), i || this.style.setProperty("--ui-sidebar-item-radius", t), this.style.setProperty("--ui-sidebar-promo-radius", t);
1110
+ }
1111
+ _applyItemMetrics() {
1112
+ const e = y(this.getAttribute("item-radius")), i = g(this.getAttribute("item-gap")), t = g(this.getAttribute("item-padding-x")), r = g(this.getAttribute("item-padding-y")), s = g(this.getAttribute("item-height")), a = g(this.getAttribute("item-font-size")), n = g(this.getAttribute("item-line-height"));
1113
+ this._setOptionalCssVar("--ui-sidebar-item-radius", e), this._setOptionalCssVar("--ui-sidebar-item-gap", i), this._setOptionalCssVar("--ui-sidebar-item-padding-x", t), this._setOptionalCssVar("--ui-sidebar-item-padding-y", r), this._setOptionalCssVar("--ui-sidebar-item-height", s), this._setOptionalCssVar("--ui-sidebar-item-font-size", a), this._setOptionalCssVar("--ui-sidebar-item-line-height", n);
1114
+ }
1115
+ _setOptionalCssVar(e, i) {
1116
+ if (!i) {
1117
+ this.style.removeProperty(e);
1118
+ return;
1119
+ }
1120
+ this.style.setProperty(e, i);
1121
+ }
1122
+ _restoreWidth(e) {
1123
+ if (!this.hasAttribute("auto-save"))
1124
+ return e;
1125
+ const i = this.getAttribute("storage-key");
1126
+ if (!i)
1127
+ return e;
1128
+ try {
1129
+ const t = window.localStorage.getItem(`ui-sidebar:${i}`);
1130
+ if (!t)
1131
+ return e;
1132
+ const r = Number.parseFloat(t);
1133
+ return Number.isFinite(r) ? r : e;
1134
+ } catch {
1135
+ return e;
1136
+ }
1137
+ }
1138
+ _persistWidth(e) {
1139
+ if (!this.hasAttribute("auto-save"))
1140
+ return;
1141
+ const i = this.getAttribute("storage-key");
1142
+ if (i)
1143
+ try {
1144
+ window.localStorage.setItem(`ui-sidebar:${i}`, `${e}`);
1145
+ } catch {
1146
+ }
1147
+ }
1148
+ _currentExpandedWidth() {
1149
+ const e = Number.parseFloat(this.style.getPropertyValue("--ui-sidebar-width"));
1150
+ return Number.isFinite(e) && e > 0 ? e : l(this.getAttribute("width"), _[C(this.getAttribute("size"))].expanded);
1151
+ }
1152
+ _bindResponsiveCollapse() {
1153
+ var t;
1154
+ if ((t = this._responsiveCleanup) == null || t.call(this), this._responsiveCleanup = null, typeof window > "u" || typeof window.matchMedia != "function")
1155
+ return;
1156
+ const e = window.matchMedia("(max-width: 767px)"), i = () => this._syncResponsiveCollapse(e.matches);
1157
+ typeof e.addEventListener == "function" ? e.addEventListener("change", i) : typeof e.addListener == "function" && e.addListener(i), this._responsiveCleanup = () => {
1158
+ typeof e.removeEventListener == "function" ? e.removeEventListener("change", i) : typeof e.removeListener == "function" && e.removeListener(i);
1159
+ }, i();
1160
+ }
1161
+ _syncResponsiveCollapse(e) {
1162
+ if (this.hasAttribute("collapsible")) {
1163
+ if (e) {
1164
+ !this.hasAttribute("collapsed") && !this._userCollapsePreference && (this._responsiveAutoCollapsed = !0, this._lastExpandedWidth = this._currentExpandedWidth(), this.setAttribute("collapsed", ""), this.dispatchEvent(new CustomEvent("toggle", { detail: { collapsed: !0, source: "responsive" }, bubbles: !0 })), this.dispatchEvent(new CustomEvent("collapse-change", { detail: { collapsed: !0, source: "responsive" }, bubbles: !0 })));
1165
+ return;
1166
+ }
1167
+ this._responsiveAutoCollapsed && !this._userCollapsePreference && (this._responsiveAutoCollapsed = !1, this.hasAttribute("collapsed") && (this.removeAttribute("collapsed"), this.dispatchEvent(new CustomEvent("toggle", { detail: { collapsed: !1, source: "responsive" }, bubbles: !0 })), this.dispatchEvent(new CustomEvent("collapse-change", { detail: { collapsed: !1, source: "responsive" }, bubbles: !0 }))));
1168
+ }
1169
+ }
1170
+ _emitWidthChange(e) {
1171
+ const i = {
1172
+ width: l(this.style.getPropertyValue("--ui-sidebar-width"), 0),
1173
+ collapsedWidth: l(this.style.getPropertyValue("--ui-sidebar-collapsed-width"), 0),
1174
+ minWidth: l(this.style.getPropertyValue("--ui-sidebar-min-width"), 0),
1175
+ maxWidth: l(this.style.getPropertyValue("--ui-sidebar-max-width"), 0),
1176
+ source: e
1177
+ };
1178
+ this.dispatchEvent(new CustomEvent("width-change", { detail: i, bubbles: !0 }));
1179
+ }
1180
+ _handleResizeKey(e) {
1181
+ const t = this.getAttribute("position") === "right" ? -1 : 1, r = this._currentExpandedWidth(), s = l(this.style.getPropertyValue("--ui-sidebar-min-width"), r), a = l(this.style.getPropertyValue("--ui-sidebar-max-width"), r);
1182
+ let n = r;
1183
+ if (e.key === "ArrowRight")
1184
+ n = r + 16 * t;
1185
+ else if (e.key === "ArrowLeft")
1186
+ n = r - 16 * t;
1187
+ else if (e.key === "Home")
1188
+ n = s;
1189
+ else if (e.key === "End")
1190
+ n = a;
1191
+ else
1192
+ return;
1193
+ e.preventDefault(), n = Math.min(Math.max(n, s), a), this.style.setProperty("--ui-sidebar-width", `${n}px`), this.hasAttribute("collapsed") || (this.style.setProperty("--ui-sidebar-current-width", `${n}px`), this.style.setProperty("inline-size", `${n}px`)), this._persistWidth(n), this._emitWidthChange("keyboard");
1194
+ }
1195
+ _startResize(e) {
1196
+ if (!this.hasAttribute("resizable"))
1197
+ return;
1198
+ e.preventDefault();
1199
+ const i = this.getAttribute("position") === "right", t = e.clientX, r = this._currentExpandedWidth(), s = l(this.style.getPropertyValue("--ui-sidebar-min-width"), r), a = l(this.style.getPropertyValue("--ui-sidebar-max-width"), r);
1200
+ this._dragging = !0, this.dispatchEvent(new CustomEvent("resize-start", { detail: { width: r }, bubbles: !0 }));
1201
+ const n = (u) => {
1202
+ const h = u.clientX - t, b = i ? r - h : r + h, p = Math.min(Math.max(b, s), a);
1203
+ this.style.setProperty("--ui-sidebar-width", `${p}px`), this.hasAttribute("collapsed") || (this.style.setProperty("--ui-sidebar-current-width", `${p}px`), this.style.setProperty("inline-size", `${p}px`)), this.dispatchEvent(new CustomEvent("resize", { detail: { width: p }, bubbles: !0 }));
1204
+ }, c = () => {
1205
+ if (!this._dragging)
1206
+ return;
1207
+ this._dragging = !1, window.removeEventListener("pointermove", n), window.removeEventListener("pointerup", c);
1208
+ const u = this._currentExpandedWidth();
1209
+ this._persistWidth(u), this._emitWidthChange("pointer"), this.dispatchEvent(new CustomEvent("resize-end", { detail: { width: u }, bubbles: !0 }));
1210
+ };
1211
+ window.addEventListener("pointermove", n), window.addEventListener("pointerup", c), this._resizeCleanup = () => {
1212
+ window.removeEventListener("pointermove", n), window.removeEventListener("pointerup", c);
1213
+ };
1214
+ }
1215
+ }
1216
+ customElements.get("ui-sidebar") || customElements.define("ui-sidebar", V);
1217
+ export {
1218
+ V as UISidebar
1219
+ };