@editora/ui-core 0.2.1 → 0.3.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 (365) hide show
  1. package/dist/{ElementBase-DxbvhLJs.js → ElementBase-CbUsP3D6.js} +1 -1
  2. package/dist/{ElementBase-BeZT54Hj.mjs → ElementBase-D5QsC5Vw.mjs} +10 -1
  3. package/dist/ElementBase.d.ts +7 -0
  4. package/dist/ElementBase.d.ts.map +1 -1
  5. package/dist/accordion.cjs.js +1 -1
  6. package/dist/accordion.esm.js +1 -1
  7. package/dist/add-icons-CVeHOsWl.js +1 -0
  8. package/dist/add-icons-DBUZJ0g7.mjs +14 -0
  9. package/dist/add-icons.cjs.js +1 -0
  10. package/dist/add-icons.d.ts +16 -0
  11. package/dist/add-icons.d.ts.map +1 -0
  12. package/dist/add-icons.esm.js +4 -0
  13. package/dist/alert-dialog.cjs.js +24 -24
  14. package/dist/alert-dialog.esm.js +112 -107
  15. package/dist/alert.cjs.js +8 -8
  16. package/dist/alert.esm.js +22 -22
  17. package/dist/animated-beam.cjs.js +1 -1
  18. package/dist/animated-beam.esm.js +1 -1
  19. package/dist/animated-list.cjs.js +1 -1
  20. package/dist/animated-list.esm.js +1 -1
  21. package/dist/animated-text.cjs.js +1 -1
  22. package/dist/animated-text.esm.js +1 -1
  23. package/dist/app-header.cjs.js +15 -3
  24. package/dist/app-header.esm.js +31 -4
  25. package/dist/aspect-ratio.cjs.js +1 -1
  26. package/dist/aspect-ratio.esm.js +1 -1
  27. package/dist/avatar.cjs.js +1 -1
  28. package/dist/avatar.esm.js +1 -1
  29. package/dist/badge.cjs.js +1 -1
  30. package/dist/badge.esm.js +1 -1
  31. package/dist/block-controls.cjs.js +1 -1
  32. package/dist/block-controls.esm.js +1 -1
  33. package/dist/box.cjs.js +1 -1
  34. package/dist/box.esm.js +1 -1
  35. package/dist/breadcrumb.cjs.js +4 -4
  36. package/dist/breadcrumb.esm.js +93 -84
  37. package/dist/button.cjs.js +520 -1
  38. package/dist/button.esm.js +682 -2
  39. package/dist/{calendar-CzpWDxLc.js → calendar-BsVqtpjM.js} +6 -6
  40. package/dist/{calendar-DkSDFg33.mjs → calendar-CFafqZVA.mjs} +6 -6
  41. package/dist/calendar.cjs.js +1 -1
  42. package/dist/calendar.esm.js +1 -1
  43. package/dist/card.cjs.js +6 -5
  44. package/dist/card.esm.js +52 -39
  45. package/dist/chart.cjs.js +2 -2
  46. package/dist/chart.esm.js +2 -2
  47. package/dist/checkbox.cjs.js +4 -4
  48. package/dist/checkbox.esm.js +36 -15
  49. package/dist/clone-source-BxK2pEVw.mjs +11 -0
  50. package/dist/clone-source-C7E_ri5f.js +1 -0
  51. package/dist/collapsible.cjs.js +1 -1
  52. package/dist/collapsible.esm.js +1 -1
  53. package/dist/color-picker.cjs.js +2 -2
  54. package/dist/color-picker.esm.js +3 -3
  55. package/dist/combobox.cjs.js +4 -4
  56. package/dist/combobox.esm.js +22 -19
  57. package/dist/command-palette.cjs.js +1 -1
  58. package/dist/command-palette.esm.js +1 -1
  59. package/dist/command.cjs.js +1 -1
  60. package/dist/command.esm.js +1 -1
  61. package/dist/components/ui-alert-dialog.d.ts.map +1 -1
  62. package/dist/components/ui-alert.d.ts.map +1 -1
  63. package/dist/components/ui-app-header.d.ts +1 -0
  64. package/dist/components/ui-app-header.d.ts.map +1 -1
  65. package/dist/components/ui-breadcrumb.d.ts.map +1 -1
  66. package/dist/components/ui-card.d.ts +7 -0
  67. package/dist/components/ui-card.d.ts.map +1 -1
  68. package/dist/components/ui-checkbox.d.ts +6 -0
  69. package/dist/components/ui-checkbox.d.ts.map +1 -1
  70. package/dist/components/ui-combobox.d.ts.map +1 -1
  71. package/dist/components/ui-date-time-picker.d.ts.map +1 -1
  72. package/dist/components/ui-dialog.d.ts +1 -0
  73. package/dist/components/ui-dialog.d.ts.map +1 -1
  74. package/dist/components/ui-drawer.d.ts.map +1 -1
  75. package/dist/components/ui-dropdown.d.ts.map +1 -1
  76. package/dist/components/ui-empty-state.d.ts.map +1 -1
  77. package/dist/components/ui-hover-card.d.ts.map +1 -1
  78. package/dist/components/ui-icon.d.ts +1 -0
  79. package/dist/components/ui-icon.d.ts.map +1 -1
  80. package/dist/components/ui-input.d.ts +16 -0
  81. package/dist/components/ui-input.d.ts.map +1 -1
  82. package/dist/components/ui-layout.d.ts +20 -0
  83. package/dist/components/ui-layout.d.ts.map +1 -1
  84. package/dist/components/ui-menu.d.ts +1 -0
  85. package/dist/components/ui-menu.d.ts.map +1 -1
  86. package/dist/components/ui-menubar.d.ts.map +1 -1
  87. package/dist/components/ui-multi-select.d.ts +6 -0
  88. package/dist/components/ui-multi-select.d.ts.map +1 -1
  89. package/dist/components/ui-number-field.d.ts +6 -0
  90. package/dist/components/ui-number-field.d.ts.map +1 -1
  91. package/dist/components/ui-pagination.d.ts.map +1 -1
  92. package/dist/components/ui-password-field.d.ts +11 -0
  93. package/dist/components/ui-password-field.d.ts.map +1 -1
  94. package/dist/components/ui-popover.d.ts.map +1 -1
  95. package/dist/components/ui-positioner.d.ts.map +1 -1
  96. package/dist/components/ui-radio-group.d.ts +6 -0
  97. package/dist/components/ui-radio-group.d.ts.map +1 -1
  98. package/dist/components/ui-rating.d.ts +1 -0
  99. package/dist/components/ui-rating.d.ts.map +1 -1
  100. package/dist/components/ui-select.d.ts +7 -0
  101. package/dist/components/ui-select.d.ts.map +1 -1
  102. package/dist/components/ui-sidebar.d.ts +1 -0
  103. package/dist/components/ui-sidebar.d.ts.map +1 -1
  104. package/dist/components/ui-slider.d.ts +6 -0
  105. package/dist/components/ui-slider.d.ts.map +1 -1
  106. package/dist/components/ui-sortable.d.ts +1 -0
  107. package/dist/components/ui-sortable.d.ts.map +1 -1
  108. package/dist/components/ui-switch.d.ts +6 -0
  109. package/dist/components/ui-switch.d.ts.map +1 -1
  110. package/dist/components/ui-tabs.d.ts +2 -0
  111. package/dist/components/ui-tabs.d.ts.map +1 -1
  112. package/dist/components/ui-textarea.d.ts +6 -0
  113. package/dist/components/ui-textarea.d.ts.map +1 -1
  114. package/dist/components/ui-toast.d.ts.map +1 -1
  115. package/dist/components/ui-tooltip.d.ts.map +1 -1
  116. package/dist/container.cjs.js +1 -1
  117. package/dist/container.esm.js +1 -1
  118. package/dist/context-menu.cjs.js +2 -2
  119. package/dist/context-menu.esm.js +2 -2
  120. package/dist/control-group.cjs.js +1 -1
  121. package/dist/control-group.esm.js +1 -1
  122. package/dist/data-table.cjs.js +5 -5
  123. package/dist/data-table.esm.js +7 -7
  124. package/dist/date-field.cjs.js +1 -1
  125. package/dist/date-field.esm.js +3 -3
  126. package/dist/date-picker.cjs.js +2 -2
  127. package/dist/date-picker.esm.js +17 -17
  128. package/dist/date-range-picker.cjs.js +2 -2
  129. package/dist/date-range-picker.esm.js +4 -4
  130. package/dist/date-range-time-picker.cjs.js +3 -3
  131. package/dist/date-range-time-picker.esm.js +16 -16
  132. package/dist/date-time-picker.cjs.js +26 -23
  133. package/dist/date-time-picker.esm.js +49 -46
  134. package/dist/{date-time-utils-zAx4ghvC.mjs → date-time-utils-CJUksWj3.mjs} +1 -1
  135. package/dist/{date-time-utils-C-4eHTyy.js → date-time-utils-D3hQQ5Om.js} +1 -1
  136. package/dist/description.cjs.js +1 -1
  137. package/dist/description.esm.js +1 -1
  138. package/dist/dialog.cjs.js +7 -7
  139. package/dist/dialog.esm.js +51 -47
  140. package/dist/direction-provider.cjs.js +1 -1
  141. package/dist/direction-provider.esm.js +1 -1
  142. package/dist/dismissable-layer.cjs.js +1 -1
  143. package/dist/dismissable-layer.esm.js +1 -1
  144. package/dist/dock.cjs.js +1 -1
  145. package/dist/dock.esm.js +1 -1
  146. package/dist/drawer.cjs.js +5 -5
  147. package/dist/drawer.esm.js +18 -17
  148. package/dist/dropdown.cjs.js +7 -7
  149. package/dist/dropdown.esm.js +39 -38
  150. package/dist/empty-state.cjs.js +12 -2
  151. package/dist/empty-state.esm.js +17 -7
  152. package/dist/field-error.cjs.js +1 -1
  153. package/dist/field-error.esm.js +1 -1
  154. package/dist/field.cjs.js +2 -2
  155. package/dist/field.esm.js +2 -2
  156. package/dist/fieldset.cjs.js +1 -1
  157. package/dist/fieldset.esm.js +1 -1
  158. package/dist/file-upload.cjs.js +1 -1
  159. package/dist/file-upload.esm.js +1 -1
  160. package/dist/flex.cjs.js +1 -1
  161. package/dist/flex.esm.js +1 -1
  162. package/dist/floating-toolbar.cjs.js +2 -2
  163. package/dist/floating-toolbar.esm.js +2 -2
  164. package/dist/focus-scope-Dl0qk5GP.mjs +177 -0
  165. package/dist/focus-scope-Doz0bnE1.js +1 -0
  166. package/dist/focus-scope.cjs.js +1 -1
  167. package/dist/focus-scope.esm.js +2 -2
  168. package/dist/form-control-B90_3kYN.js +1 -0
  169. package/dist/form-control-D9wWUMBl.mjs +86 -0
  170. package/dist/form.cjs.js +2 -2
  171. package/dist/form.esm.js +2 -2
  172. package/dist/gantt.cjs.js +2 -2
  173. package/dist/gantt.esm.js +2 -2
  174. package/dist/grid.cjs.js +1 -1
  175. package/dist/grid.esm.js +1 -1
  176. package/dist/hover-card.cjs.js +5 -5
  177. package/dist/hover-card.esm.js +19 -18
  178. package/dist/icon-cloud.cjs.js +1 -1
  179. package/dist/icon-cloud.esm.js +1 -1
  180. package/dist/icon.cjs.js +207 -1
  181. package/dist/icon.esm.js +294 -2
  182. package/dist/icons-CpCpPXV5.js +1 -0
  183. package/dist/icons-DWYbbhb0.mjs +115 -0
  184. package/dist/icons.d.ts +11 -1
  185. package/dist/icons.d.ts.map +1 -1
  186. package/dist/implicit-submit-B6M5Uc56.js +1 -0
  187. package/dist/implicit-submit-Lr0-q2LR.mjs +44 -0
  188. package/dist/index.cjs.js +1 -1
  189. package/dist/index.d.ts +1 -0
  190. package/dist/index.d.ts.map +1 -1
  191. package/dist/index.esm.js +309 -299
  192. package/dist/inline-edit.cjs.js +1 -1
  193. package/dist/inline-edit.esm.js +1 -1
  194. package/dist/input.cjs.js +62 -20
  195. package/dist/input.esm.js +164 -58
  196. package/dist/label.cjs.js +1 -1
  197. package/dist/label.esm.js +1 -1
  198. package/dist/layout.cjs.js +145 -4
  199. package/dist/layout.esm.js +278 -40
  200. package/dist/marquee.cjs.js +1 -1
  201. package/dist/marquee.esm.js +1 -1
  202. package/dist/masonry-grid.cjs.js +1 -1
  203. package/dist/masonry-grid.esm.js +1 -1
  204. package/dist/menu.cjs.js +8 -8
  205. package/dist/menu.esm.js +51 -47
  206. package/dist/menubar.cjs.js +9 -9
  207. package/dist/menubar.esm.js +41 -40
  208. package/dist/meter.cjs.js +1 -1
  209. package/dist/meter.esm.js +1 -1
  210. package/dist/multi-select.cjs.js +7 -7
  211. package/dist/multi-select.esm.js +55 -34
  212. package/dist/navigate-CXebafwF.mjs +18 -0
  213. package/dist/navigate-ChJVIIuS.js +1 -0
  214. package/dist/navigation-menu.cjs.js +1 -1
  215. package/dist/navigation-menu.esm.js +1 -1
  216. package/dist/number-attribute-BAF07JrU.mjs +8 -0
  217. package/dist/number-attribute-C4Rrl7d3.js +1 -0
  218. package/dist/number-field.cjs.js +8 -8
  219. package/dist/number-field.esm.js +90 -69
  220. package/dist/number-ticker.cjs.js +1 -1
  221. package/dist/number-ticker.esm.js +1 -1
  222. package/dist/odometer.cjs.js +1 -1
  223. package/dist/odometer.esm.js +1 -1
  224. package/dist/orbiter.cjs.js +1 -1
  225. package/dist/orbiter.esm.js +1 -1
  226. package/dist/pagination.cjs.js +24 -23
  227. package/dist/pagination.esm.js +61 -46
  228. package/dist/{panel-group-BVHJEdfx.js → panel-group-BIzzpQ5i.js} +1 -1
  229. package/dist/{panel-group-BxO_eNW6.mjs → panel-group-CFLjzRWI.mjs} +1 -1
  230. package/dist/panel-group.cjs.js +1 -1
  231. package/dist/panel-group.esm.js +1 -1
  232. package/dist/panel.cjs.js +1 -1
  233. package/dist/panel.esm.js +1 -1
  234. package/dist/password-field.cjs.js +36 -16
  235. package/dist/password-field.esm.js +113 -44
  236. package/dist/pin-input.cjs.js +1 -1
  237. package/dist/pin-input.esm.js +1 -1
  238. package/dist/placement-grid.cjs.js +1 -1
  239. package/dist/placement-grid.esm.js +1 -1
  240. package/dist/plugin-panel.cjs.js +1 -1
  241. package/dist/plugin-panel.esm.js +1 -1
  242. package/dist/popover.cjs.js +2 -2
  243. package/dist/popover.esm.js +28 -26
  244. package/dist/portal.cjs.js +1 -1
  245. package/dist/portal.esm.js +1 -1
  246. package/dist/positioner.cjs.js +2 -2
  247. package/dist/positioner.esm.js +35 -38
  248. package/dist/preload.cjs.js +221 -0
  249. package/dist/preload.css +220 -0
  250. package/dist/preload.d.ts +17 -0
  251. package/dist/preload.d.ts.map +1 -0
  252. package/dist/preload.esm.js +224 -0
  253. package/dist/presence.cjs.js +1 -1
  254. package/dist/presence.esm.js +1 -1
  255. package/dist/primitives/clone-source.d.ts +3 -0
  256. package/dist/primitives/clone-source.d.ts.map +1 -0
  257. package/dist/primitives/focus-scope.d.ts +6 -0
  258. package/dist/primitives/focus-scope.d.ts.map +1 -1
  259. package/dist/primitives/form-control.d.ts +68 -0
  260. package/dist/primitives/form-control.d.ts.map +1 -0
  261. package/dist/primitives/implicit-submit.d.ts +17 -0
  262. package/dist/primitives/implicit-submit.d.ts.map +1 -0
  263. package/dist/primitives/navigate.d.ts +27 -0
  264. package/dist/primitives/navigate.d.ts.map +1 -0
  265. package/dist/primitives/number-attribute.d.ts +7 -0
  266. package/dist/primitives/number-attribute.d.ts.map +1 -0
  267. package/dist/primitives/slotted-input.d.ts +19 -0
  268. package/dist/primitives/slotted-input.d.ts.map +1 -0
  269. package/dist/progress.cjs.js +3 -3
  270. package/dist/progress.esm.js +3 -3
  271. package/dist/quick-actions.cjs.js +5 -5
  272. package/dist/quick-actions.esm.js +3 -3
  273. package/dist/radio-group.cjs.js +9 -9
  274. package/dist/radio-group.esm.js +47 -24
  275. package/dist/radio.cjs.js +1 -1
  276. package/dist/radio.esm.js +1 -1
  277. package/dist/rating.cjs.js +6 -6
  278. package/dist/rating.esm.js +21 -10
  279. package/dist/{runtime-BRT7E4A8.mjs → runtime-CORXjP7e.mjs} +379 -357
  280. package/dist/runtime-uCly3ECd.js +5 -0
  281. package/dist/runtime.cjs.js +1 -1
  282. package/dist/runtime.esm.js +1 -1
  283. package/dist/scroll-area.cjs.js +1 -1
  284. package/dist/scroll-area.esm.js +1 -1
  285. package/dist/section.cjs.js +1 -1
  286. package/dist/section.esm.js +1 -1
  287. package/dist/select.cjs.js +21 -21
  288. package/dist/select.esm.js +111 -71
  289. package/dist/selection-popup.cjs.js +2 -2
  290. package/dist/selection-popup.esm.js +2 -2
  291. package/dist/semantic-tokens.d.ts.map +1 -1
  292. package/dist/separator.cjs.js +1 -1
  293. package/dist/separator.esm.js +1 -1
  294. package/dist/sidebar.cjs.js +15 -15
  295. package/dist/sidebar.esm.js +48 -42
  296. package/dist/skeleton.cjs.js +1 -1
  297. package/dist/skeleton.esm.js +1 -1
  298. package/dist/slider.cjs.js +11 -11
  299. package/dist/slider.esm.js +40 -23
  300. package/dist/slot.cjs.js +1 -1
  301. package/dist/slot.esm.js +1 -1
  302. package/dist/slotted-input-BVq2QQg2.js +1 -0
  303. package/dist/slotted-input-atWznLfm.mjs +13 -0
  304. package/dist/sortable.cjs.js +25 -25
  305. package/dist/sortable.esm.js +29 -21
  306. package/dist/spinning-text.cjs.js +1 -1
  307. package/dist/spinning-text.esm.js +1 -1
  308. package/dist/split-button.cjs.js +1 -1
  309. package/dist/split-button.esm.js +1 -1
  310. package/dist/splitter.cjs.js +1 -1
  311. package/dist/splitter.esm.js +1 -1
  312. package/dist/standalone/add-icons.d.ts +2 -0
  313. package/dist/standalone/add-icons.d.ts.map +1 -0
  314. package/dist/standalone/preload.d.ts +2 -0
  315. package/dist/standalone/preload.d.ts.map +1 -0
  316. package/dist/stepper.cjs.js +3 -3
  317. package/dist/stepper.esm.js +3 -3
  318. package/dist/switch.cjs.js +9 -9
  319. package/dist/switch.esm.js +56 -35
  320. package/dist/table.cjs.js +1 -1
  321. package/dist/table.esm.js +1 -1
  322. package/dist/tabs.cjs.js +14 -14
  323. package/dist/tabs.esm.js +129 -115
  324. package/dist/tags-input.cjs.js +1 -1
  325. package/dist/tags-input.esm.js +1 -1
  326. package/dist/textarea.cjs.js +33 -11
  327. package/dist/textarea.esm.js +74 -35
  328. package/dist/theme.d.ts +6 -0
  329. package/dist/theme.d.ts.map +1 -1
  330. package/dist/time-field.cjs.js +1 -1
  331. package/dist/time-field.esm.js +2 -2
  332. package/dist/time-picker.cjs.js +1 -1
  333. package/dist/time-picker.esm.js +3 -3
  334. package/dist/timeline.cjs.js +2 -2
  335. package/dist/timeline.esm.js +2 -2
  336. package/dist/toast.cjs.js +4 -4
  337. package/dist/toast.esm.js +17 -16
  338. package/dist/toggle-group.cjs.js +1 -1
  339. package/dist/toggle-group.esm.js +1 -1
  340. package/dist/toggle.cjs.js +3 -3
  341. package/dist/toggle.esm.js +9 -9
  342. package/dist/toolbar.cjs.js +1 -1
  343. package/dist/toolbar.esm.js +1 -1
  344. package/dist/tooltip.cjs.js +2 -2
  345. package/dist/tooltip.esm.js +12 -14
  346. package/dist/transfer-list.cjs.js +1 -1
  347. package/dist/transfer-list.esm.js +1 -1
  348. package/dist/{tree-33fVNnaf.mjs → tree-CD2k2lIC.mjs} +1 -1
  349. package/dist/{tree-Dc02MChE.js → tree-ChQfhxya.js} +1 -1
  350. package/dist/tree-item.cjs.js +1 -1
  351. package/dist/tree-item.esm.js +1 -1
  352. package/dist/tree.cjs.js +1 -1
  353. package/dist/tree.esm.js +1 -1
  354. package/dist/visually-hidden.cjs.js +1 -1
  355. package/dist/visually-hidden.esm.js +1 -1
  356. package/dist/wizard.cjs.js +4 -4
  357. package/dist/wizard.esm.js +4 -4
  358. package/package.json +3 -2
  359. package/dist/focus-scope-Bwug2gDv.js +0 -1
  360. package/dist/focus-scope-CmEsG5UZ.mjs +0 -138
  361. package/dist/runtime-CXw4SGV9.js +0 -5
  362. package/dist/ui-button-C3OmI7Sn.mjs +0 -684
  363. package/dist/ui-button-CnLwXBnx.js +0 -520
  364. package/dist/ui-icon-D3avtxX_.js +0 -207
  365. package/dist/ui-icon-DLhB08Fo.mjs +0 -361
package/dist/label.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("./ElementBase-DxbvhLJs.js"),u=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("./ElementBase-CbUsP3D6.js"),u=`
2
2
  :host {
3
3
  --ui-label-color: var(--ui-color-text, var(--ui-text, #0f172a));
4
4
  --ui-label-muted: var(--ui-color-muted, var(--ui-muted, #526175));
package/dist/label.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import { E as s } from "./ElementBase-BeZT54Hj.mjs";
1
+ import { E as s } from "./ElementBase-D5QsC5Vw.mjs";
2
2
  const n = `
3
3
  :host {
4
4
  --ui-label-color: var(--ui-color-text, var(--ui-text, #0f172a));
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("./ElementBase-DxbvhLJs.js"),x=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const _=require("./ElementBase-CbUsP3D6.js"),g=`
2
2
  :host {
3
3
  --ui-layout-bg: var(--ui-color-background, #f8fafc);
4
4
  --ui-layout-surface: var(--color-panel-solid, var(--ui-color-surface, #ffffff));
@@ -207,6 +207,146 @@
207
207
  display: none !important;
208
208
  }
209
209
 
210
+ /* App shell: the layout is the page frame itself. No outer box, full viewport height, panels
211
+ unframed so the components in them (AppHeader, Sidebar, Card) bring their own chrome instead
212
+ of sitting in boxes inside boxes; only the content area scrolls. */
213
+ :host([variant="shell"]) .layout {
214
+ height: var(--ui-layout-shell-height, 100dvh);
215
+ max-width: none;
216
+ padding: 0;
217
+ gap: 0;
218
+ border: 0;
219
+ border-radius: 0;
220
+ box-shadow: none;
221
+ grid-template-rows: auto minmax(0, 1fr) auto;
222
+ }
223
+
224
+ :host([variant="shell"]) .header,
225
+ :host([variant="shell"]) .footer,
226
+ :host([variant="shell"]) .panel {
227
+ border: 0;
228
+ border-radius: 0;
229
+ background: transparent;
230
+ }
231
+
232
+ /* Components in the shell are flush with it: the shell draws one divider per edge, and the
233
+ AppHeader / Sidebar inside it drop their own outer border and radius (they read these
234
+ inherited --base-* tokens). */
235
+ :host([variant="shell"]) .header {
236
+ padding: 0;
237
+ border-block-end: var(--ui-layout-border);
238
+ --base-app-header-radius: 0;
239
+ --base-app-header-border: 0 solid transparent;
240
+ }
241
+
242
+ :host([variant="shell"]) .sidebar-panel,
243
+ :host([data-drawer]) .sidebar-panel {
244
+ --base-sidebar-radius: 0;
245
+ --base-sidebar-border: 0 solid transparent;
246
+ --base-sidebar-outline: none;
247
+ }
248
+
249
+ :host([variant="shell"]) .sidebar-panel {
250
+ border-inline-end: var(--ui-layout-border);
251
+ }
252
+
253
+ :host([variant="shell"][sidebar-side="end"]) .sidebar-panel {
254
+ border-inline-end: 0;
255
+ border-inline-start: var(--ui-layout-border);
256
+ }
257
+
258
+ :host([variant="shell"]) .aside-panel {
259
+ border-inline-start: var(--ui-layout-border);
260
+ }
261
+
262
+ :host([variant="shell"]) .footer {
263
+ border-block-start: var(--ui-layout-border);
264
+ }
265
+
266
+ :host([variant="shell"]) .body {
267
+ min-height: 0;
268
+ gap: 0;
269
+ }
270
+
271
+ :host([variant="shell"]) .panel {
272
+ min-height: 0;
273
+ padding: 0;
274
+ overflow: auto;
275
+ }
276
+
277
+ :host([variant="shell"]) .content-panel {
278
+ padding: var(--ui-layout-content-padding);
279
+ }
280
+
281
+ :host([variant="shell"]) .sidebar-panel ::slotted(*),
282
+ :host([variant="shell"]) .aside-panel ::slotted(*) {
283
+ block-size: 100%;
284
+ }
285
+
286
+ /* Off-canvas sidebar on narrow screens (variant="shell", or mobile-sidebar="drawer"). */
287
+ .backdrop {
288
+ display: none;
289
+ }
290
+
291
+ :host([data-drawer]) .body {
292
+ grid-template-columns: minmax(0, 1fr) !important;
293
+ }
294
+
295
+ :host([data-drawer]) .sidebar-panel {
296
+ position: fixed;
297
+ inset-block: 0;
298
+ inset-inline-start: 0;
299
+ z-index: var(--ui-layout-drawer-z, 1000);
300
+ inline-size: var(--ui-layout-drawer-width, auto);
301
+ max-inline-size: 86vw;
302
+ max-block-size: none;
303
+ min-height: 0;
304
+ padding: 0;
305
+ overflow: auto;
306
+ border: 0;
307
+ border-radius: 0;
308
+ background: var(--ui-layout-surface);
309
+ box-shadow: 0 24px 48px rgba(2, 6, 23, 0.24);
310
+ transform: translateX(-100%);
311
+ visibility: hidden;
312
+ transition: transform 200ms ease, visibility 0s linear 200ms;
313
+ }
314
+
315
+ :host([data-drawer][sidebar-side="end"]) .sidebar-panel {
316
+ inset-inline-start: auto;
317
+ inset-inline-end: 0;
318
+ transform: translateX(100%);
319
+ }
320
+
321
+ :host([data-drawer][sidebar-open]) .sidebar-panel {
322
+ transform: none;
323
+ visibility: visible;
324
+ transition: transform 200ms ease;
325
+ }
326
+
327
+ :host([data-drawer][sidebar-open]) .backdrop {
328
+ display: block;
329
+ position: fixed;
330
+ inset: 0;
331
+ z-index: calc(var(--ui-layout-drawer-z, 1000) - 1);
332
+ background: var(--ui-layout-backdrop, rgba(15, 23, 42, 0.45));
333
+ }
334
+
335
+ :host([data-drawer]) .sidebar-panel ::slotted(*) {
336
+ block-size: 100%;
337
+ }
338
+
339
+ :host([data-drawer]) .sidebar-panel {
340
+ border: 0 !important;
341
+ }
342
+
343
+ @media (prefers-reduced-motion: reduce) {
344
+ :host([data-drawer]) .sidebar-panel,
345
+ :host([data-drawer][sidebar-open]) .sidebar-panel {
346
+ transition: none;
347
+ }
348
+ }
349
+
210
350
  @media (max-width: 980px) {
211
351
  .body {
212
352
  grid-template-columns: minmax(0, 1fr) !important;
@@ -241,8 +381,8 @@
241
381
  box-shadow: none;
242
382
  }
243
383
  }
244
- `;function r(o){return o?o.assignedNodes({flatten:!0}).some(t=>t.nodeType===Node.ELEMENT_NODE?!0:t.nodeType===Node.TEXT_NODE?!!t.textContent?.trim():!1):!1}function g(o){if(o==null)return!1;const t=String(o).trim().toLowerCase();return t!=="false"&&t!=="0"}function c(o,t){const a=o?.trim();return a?/^-?\d+(\.\d+)?$/.test(a)?`${a}px`:a:t}class p extends f.ElementBase{constructor(){super(),this._layoutNode=null,this._headerEl=null,this._bodyEl=null,this._footerEl=null,this._sidebarPanel=null,this._contentPanel=null,this._asidePanel=null,this._headerSlot=null,this._sidebarSlot=null,this._contentSlot=null,this._defaultSlot=null,this._asideSlot=null,this._footerSlot=null,this._lastLayoutSignature="",this._onSlotChange=this._onSlotChange.bind(this)}static get observedAttributes(){return["mode","variant","density","max-width","sidebar-side","collapsed","headless","sidebar-width","aside-width"]}connectedCallback(){super.connectedCallback(),queueMicrotask(()=>this._syncShell({emit:!1}))}disconnectedCallback(){this._detachSlotHandlers(),super.disconnectedCallback()}collapse(){this.setAttribute("collapsed","")}expand(){this.removeAttribute("collapsed")}toggleSidebar(){this.collapsed?this.expand():this.collapse()}get collapsed(){return g(this.getAttribute("collapsed"))}set collapsed(t){t?this.setAttribute("collapsed",""):this.removeAttribute("collapsed")}attributeChangedCallback(t,a,e){if(a!==e){if(t==="variant"||t==="density"||t==="max-width"||t==="headless"){super.attributeChangedCallback(t,a,e),queueMicrotask(()=>this._syncShell({emit:!1}));return}queueMicrotask(()=>this._syncShell({emit:!0}))}}_mode(){const t=this.getAttribute("mode");return t==="split"||t==="stack"?t:"dashboard"}_sidebarSide(){return this.getAttribute("sidebar-side")==="end"?"end":"start"}_attachSlotHandlers(){this._detachSlotHandlers(),this._headerSlot=this.root.querySelector('slot[name="header"]'),this._sidebarSlot=this.root.querySelector('slot[name="sidebar"]'),this._contentSlot=this.root.querySelector('slot[name="content"]'),this._defaultSlot=this.root.querySelector("slot:not([name])"),this._asideSlot=this.root.querySelector('slot[name="aside"]'),this._footerSlot=this.root.querySelector('slot[name="footer"]'),[this._headerSlot,this._sidebarSlot,this._contentSlot,this._defaultSlot,this._asideSlot,this._footerSlot].forEach(t=>t?.addEventListener("slotchange",this._onSlotChange))}_detachSlotHandlers(){[this._headerSlot,this._sidebarSlot,this._contentSlot,this._defaultSlot,this._asideSlot,this._footerSlot].forEach(t=>t?.removeEventListener("slotchange",this._onSlotChange)),this._headerSlot=null,this._sidebarSlot=null,this._contentSlot=null,this._defaultSlot=null,this._asideSlot=null,this._footerSlot=null}_onSlotChange(){this._syncShell({emit:!0})}_emitLayoutChange(t){this.dispatchEvent(new CustomEvent("layoutchange",{detail:t,bubbles:!0,composed:!0}))}_signature(t){return JSON.stringify(t)}_computeShellState(){if(!this.isConnected||!this._layoutNode||!this._bodyEl)return null;const t=this._mode(),a=this._sidebarSide(),e=this.collapsed,y=r(this._headerSlot),b=r(this._footerSlot),u=r(this._sidebarSlot),n=r(this._asideSlot),d=r(this._contentSlot)||r(this._defaultSlot),i=u&&(!e||t==="stack")&&!(t==="split"&&n),s=n,m=d||i||s,h=t==="stack";let l="content-only";return h||(t==="split"?s&&d?l="split-with-aside":i&&d&&(l=a==="end"?"split-with-sidebar-end":"split-with-sidebar-start"):i&&s?l=a==="end"?"dashboard-end":"dashboard-start":i?l=a==="end"?"dashboard-end-no-aside":"dashboard-start-no-aside":s&&(l=a==="end"?"dashboard-end-no-sidebar":"dashboard-start-no-sidebar")),{mode:t,sidebarSide:a,collapsed:e,hasHeader:y,hasFooter:b,hasSidebarContent:u,hasAsideContent:n,hasContent:d,sidebarVisible:i,asideVisible:s,bodyVisible:m,layout:l,stack:h,sidebarTrack:i?c(this.getAttribute("sidebar-width"),"clamp(220px, 22vw, 320px)"):"0px",asideTrack:s?c(this.getAttribute("aside-width"),"clamp(240px, 26vw, 360px)"):"0px"}}_syncShell(t){const a=this._computeShellState();if(!a||!this._bodyEl)return;this._headerEl&&(this._headerEl.hidden=!a.hasHeader),this._footerEl&&(this._footerEl.hidden=!a.hasFooter),this.style.setProperty("--ui-layout-sidebar-track",a.sidebarTrack),this.style.setProperty("--ui-layout-aside-track",a.asideTrack),this._sidebarPanel&&(this._sidebarPanel.hidden=!a.sidebarVisible),this._contentPanel&&(this._contentPanel.hidden=!a.hasContent),this._asidePanel&&(this._asidePanel.hidden=!a.asideVisible),this._bodyEl.hidden=!a.bodyVisible,this._bodyEl.dataset.layout=a.layout,this._bodyEl.dataset.mode=a.mode,this._bodyEl.dataset.sidebarSide=a.sidebarSide,a.stack?this._bodyEl.classList.add("stack"):this._bodyEl.classList.remove("stack");const e=this._signature(a);t.emit&&e!==this._lastLayoutSignature&&this._emitLayoutChange(a),this._lastLayoutSignature=e}shouldRenderOnAttributeChange(t,a,e){return!1}render(){this.setContent(`
245
- <style>${x}</style>
384
+ `;function h(o){return o?o.assignedNodes({flatten:!0}).some(t=>t.nodeType===Node.ELEMENT_NODE?!0:t.nodeType===Node.TEXT_NODE?!!t.textContent?.trim():!1):!1}function v(o){if(o==null)return!1;const t=String(o).trim().toLowerCase();return t!=="false"&&t!=="0"}function p(o,t){const e=o?.trim();return e?/^-?\d+(\.\d+)?$/.test(e)?`${e}px`:e:t}function x(){let o=typeof document<"u"?document.activeElement:null;for(;o?.shadowRoot?.activeElement;)o=o.shadowRoot.activeElement;return o}const m='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';function w(o){const t=e=>{for(const a of Array.from(e.querySelectorAll("*"))){if(a.matches(m))return a;if(a.shadowRoot){const i=t(a.shadowRoot);if(i)return i}}return null};for(const e of o?.assignedElements({flatten:!0})||[]){if(e.matches(m))return e;const a=t(e)||(e.shadowRoot?t(e.shadowRoot):null);if(a)return a}return null}class y extends _.ElementBase{constructor(){super(),this._layoutNode=null,this._headerEl=null,this._bodyEl=null,this._footerEl=null,this._sidebarPanel=null,this._contentPanel=null,this._asidePanel=null,this._headerSlot=null,this._sidebarSlot=null,this._contentSlot=null,this._defaultSlot=null,this._asideSlot=null,this._footerSlot=null,this._lastLayoutSignature="",this._media=null,this._mediaQuery="",this._narrow=!1,this._restoreFocus=null,this._drawerWasOpen=!1,this._onSlotChange=this._onSlotChange.bind(this),this._onMediaChange=this._onMediaChange.bind(this),this._onHostKeyDown=this._onHostKeyDown.bind(this),this._onMenuTrigger=this._onMenuTrigger.bind(this),this._onRootClick=this._onRootClick.bind(this),this._onSidebarActivate=this._onSidebarActivate.bind(this)}static get observedAttributes(){return["mode","variant","density","max-width","sidebar-side","collapsed","headless","sidebar-width","aside-width","sidebar-open","mobile-sidebar","drawer-breakpoint"]}connectedCallback(){super.connectedCallback(),this._watchViewport(),this.addEventListener("keydown",this._onHostKeyDown),this.addEventListener("menu-trigger",this._onMenuTrigger),this.addEventListener("select",this._onSidebarActivate),this.addEventListener("click",this._onSidebarActivate),this.root.addEventListener("click",this._onRootClick),queueMicrotask(()=>this._syncShell({emit:!1}))}disconnectedCallback(){this._detachSlotHandlers(),this._media?.removeEventListener?.("change",this._onMediaChange),this._media=null,this.removeEventListener("keydown",this._onHostKeyDown),this.removeEventListener("menu-trigger",this._onMenuTrigger),this.removeEventListener("select",this._onSidebarActivate),this.removeEventListener("click",this._onSidebarActivate),this.root.removeEventListener("click",this._onRootClick),super.disconnectedCallback()}get drawerActive(){return this.hasAttribute("data-drawer")}get sidebarOpen(){return this.hasAttribute("sidebar-open")}set sidebarOpen(t){this.toggleAttribute("sidebar-open",!!t)}openSidebar(){this._setSidebarOpen(!0,"api")}closeSidebar(){this._setSidebarOpen(!1,"api")}_drawerWanted(){const t=this.getAttribute("mobile-sidebar");return t==="drawer"?!0:t==="stack"?!1:this.getAttribute("variant")==="shell"}_watchViewport(){if(typeof window>"u"||typeof window.matchMedia!="function")return;const t=Number(this.getAttribute("drawer-breakpoint")),a=`(max-width: ${Number.isFinite(t)&&t>0?t:980}px)`;this._media&&this._mediaQuery===a||(this._media?.removeEventListener?.("change",this._onMediaChange),this._mediaQuery=a,this._media=window.matchMedia(a),this._media.addEventListener?.("change",this._onMediaChange),this._narrow=!!this._media.matches)}_onMediaChange(){this._narrow=!!this._media?.matches,this._syncShell({emit:!0})}_setSidebarOpen(t,e){this.sidebarOpen!==t&&(this.toggleAttribute("sidebar-open",t),this.dispatchEvent(new CustomEvent("sidebar-open-change",{detail:{open:t,source:e},bubbles:!0,composed:!0})))}_onMenuTrigger(){this.drawerActive&&this._setSidebarOpen(!this.sidebarOpen,"menu")}_onHostKeyDown(t){t.key!=="Escape"||!this.drawerActive||!this.sidebarOpen||t.defaultPrevented||(t.preventDefault(),this._setSidebarOpen(!1,"escape"))}_onRootClick(t){t.target?.classList?.contains("backdrop")&&this._setSidebarOpen(!1,"backdrop")}_onSidebarActivate(t){!this.drawerActive||!this.sidebarOpen||!t.composedPath().some(a=>a instanceof HTMLElement&&a.getAttribute("slot")==="sidebar"&&a.parentElement===this)||t.type==="click"&&!t.composedPath().find(i=>i instanceof HTMLAnchorElement&&i.hasAttribute("href"))||this._setSidebarOpen(!1,"navigate")}_syncDrawer(t){const e=this._drawerWanted()&&this._narrow&&t.hasSidebarContent;this.toggleAttribute("data-drawer",e),!e&&this.sidebarOpen&&this._setSidebarOpen(!1,"viewport");const a=e&&this.sidebarOpen,i=this._sidebarPanel;if(i&&(e?(i.hidden=!1,i.setAttribute("role","dialog"),i.setAttribute("aria-modal","true"),i.setAttribute("aria-label",this.getAttribute("sidebar-label")||"Navigation"),i.setAttribute("tabindex","-1"),a?i.removeAttribute("inert"):i.setAttribute("inert","")):(i.removeAttribute("role"),i.removeAttribute("aria-modal"),i.removeAttribute("aria-label"),i.removeAttribute("tabindex"),i.removeAttribute("inert"))),[this._headerEl,this._contentPanel,this._asidePanel,this._footerEl].forEach(r=>{r&&(a?r.setAttribute("inert",""):r.removeAttribute("inert"))}),(this._headerSlot?.assignedElements({flatten:!0})||[]).forEach(r=>{(r.matches("ui-app-header")?[r]:Array.from(r.querySelectorAll("ui-app-header"))).forEach(s=>{e?s.setAttribute("menu-expanded",a?"true":"false"):s.removeAttribute("menu-expanded")})}),a&&!this._drawerWasOpen){const r=x();this._restoreFocus=r&&r!==document.body?r:null;const u=w(this._sidebarSlot)||i;queueMicrotask(()=>u?.focus({preventScroll:!0}))}else if(!a&&this._drawerWasOpen){const r=this._restoreFocus;this._restoreFocus=null,r?.isConnected&&r.focus({preventScroll:!0})}this._drawerWasOpen=a}collapse(){this.setAttribute("collapsed","")}expand(){this.removeAttribute("collapsed")}toggleSidebar(){if(this.drawerActive){this._setSidebarOpen(!this.sidebarOpen,"api");return}this.collapsed?this.expand():this.collapse()}get collapsed(){return v(this.getAttribute("collapsed"))}set collapsed(t){t?this.setAttribute("collapsed",""):this.removeAttribute("collapsed")}attributeChangedCallback(t,e,a){if(e!==a){if(t==="drawer-breakpoint"&&this.isConnected&&this._watchViewport(),t==="variant"||t==="density"||t==="max-width"||t==="headless"){super.attributeChangedCallback(t,e,a),queueMicrotask(()=>this._syncShell({emit:!1}));return}queueMicrotask(()=>this._syncShell({emit:!0}))}}_mode(){const t=this.getAttribute("mode");return t==="split"||t==="stack"?t:"dashboard"}_sidebarSide(){return this.getAttribute("sidebar-side")==="end"?"end":"start"}_attachSlotHandlers(){this._detachSlotHandlers(),this._headerSlot=this.root.querySelector('slot[name="header"]'),this._sidebarSlot=this.root.querySelector('slot[name="sidebar"]'),this._contentSlot=this.root.querySelector('slot[name="content"]'),this._defaultSlot=this.root.querySelector("slot:not([name])"),this._asideSlot=this.root.querySelector('slot[name="aside"]'),this._footerSlot=this.root.querySelector('slot[name="footer"]'),[this._headerSlot,this._sidebarSlot,this._contentSlot,this._defaultSlot,this._asideSlot,this._footerSlot].forEach(t=>t?.addEventListener("slotchange",this._onSlotChange))}_detachSlotHandlers(){[this._headerSlot,this._sidebarSlot,this._contentSlot,this._defaultSlot,this._asideSlot,this._footerSlot].forEach(t=>t?.removeEventListener("slotchange",this._onSlotChange)),this._headerSlot=null,this._sidebarSlot=null,this._contentSlot=null,this._defaultSlot=null,this._asideSlot=null,this._footerSlot=null}_onSlotChange(){this._syncShell({emit:!0})}_emitLayoutChange(t){this.dispatchEvent(new CustomEvent("layoutchange",{detail:t,bubbles:!0,composed:!0}))}_signature(t){return JSON.stringify(t)}_computeShellState(){if(!this.isConnected||!this._layoutNode||!this._bodyEl)return null;const t=this._mode(),e=this._sidebarSide(),a=this.collapsed,i=h(this._headerSlot),r=h(this._footerSlot),u=h(this._sidebarSlot),s=h(this._asideSlot),c=h(this._contentSlot)||h(this._defaultSlot),n=u&&(!a||t==="stack")&&!(t==="split"&&s),d=s,f=c||n||d,b=t==="stack";let l="content-only";return b||(t==="split"?d&&c?l="split-with-aside":n&&c&&(l=e==="end"?"split-with-sidebar-end":"split-with-sidebar-start"):n&&d?l=e==="end"?"dashboard-end":"dashboard-start":n?l=e==="end"?"dashboard-end-no-aside":"dashboard-start-no-aside":d&&(l=e==="end"?"dashboard-end-no-sidebar":"dashboard-start-no-sidebar")),{mode:t,sidebarSide:e,collapsed:a,hasHeader:i,hasFooter:r,hasSidebarContent:u,hasAsideContent:s,hasContent:c,sidebarVisible:n,asideVisible:d,bodyVisible:f,layout:l,stack:b,sidebarTrack:n?p(this.getAttribute("sidebar-width"),this.getAttribute("variant")==="shell"?"auto":"clamp(220px, 22vw, 320px)"):"0px",asideTrack:d?p(this.getAttribute("aside-width"),"clamp(240px, 26vw, 360px)"):"0px"}}_syncShell(t){const e=this._computeShellState();if(!e||!this._bodyEl)return;this._headerEl&&(this._headerEl.hidden=!e.hasHeader),this._footerEl&&(this._footerEl.hidden=!e.hasFooter),this.style.setProperty("--ui-layout-sidebar-track",e.sidebarTrack),this.style.setProperty("--ui-layout-aside-track",e.asideTrack),this._sidebarPanel&&(this._sidebarPanel.hidden=!e.sidebarVisible),this._contentPanel&&(this._contentPanel.hidden=!e.hasContent),this._asidePanel&&(this._asidePanel.hidden=!e.asideVisible),this._bodyEl.hidden=!e.bodyVisible,this._bodyEl.dataset.layout=e.layout,this._bodyEl.dataset.mode=e.mode,this._bodyEl.dataset.sidebarSide=e.sidebarSide,e.stack?this._bodyEl.classList.add("stack"):this._bodyEl.classList.remove("stack"),this._syncDrawer(e);const a=this._signature(e);t.emit&&a!==this._lastLayoutSignature&&this._emitLayoutChange(e),this._lastLayoutSignature=a}shouldRenderOnAttributeChange(t,e,a){return!1}render(){this.setContent(`
385
+ <style>${g}</style>
246
386
  <div class="layout" part="layout">
247
387
  <header class="header" part="header">
248
388
  <slot name="header"></slot>
@@ -251,6 +391,7 @@
251
391
  <section class="panel sidebar-panel" part="sidebar">
252
392
  <slot name="sidebar"></slot>
253
393
  </section>
394
+ <div class="backdrop" part="backdrop" aria-hidden="true"></div>
254
395
  <section class="panel content-panel" part="content">
255
396
  <slot name="content"></slot>
256
397
  <slot></slot>
@@ -263,4 +404,4 @@
263
404
  <slot name="footer"></slot>
264
405
  </footer>
265
406
  </div>
266
- `),this._layoutNode=this.root.querySelector(".layout"),this._headerEl=this.root.querySelector(".header"),this._bodyEl=this.root.querySelector(".body"),this._footerEl=this.root.querySelector(".footer"),this._sidebarPanel=this.root.querySelector(".sidebar-panel"),this._contentPanel=this.root.querySelector(".content-panel"),this._asidePanel=this.root.querySelector(".aside-panel"),this._attachSlotHandlers(),queueMicrotask(()=>this._syncShell({emit:!1}))}}typeof customElements<"u"&&!customElements.get("ui-layout")&&customElements.define("ui-layout",p);exports.UILayout=p;
407
+ `),this._layoutNode=this.root.querySelector(".layout"),this._headerEl=this.root.querySelector(".header"),this._bodyEl=this.root.querySelector(".body"),this._footerEl=this.root.querySelector(".footer"),this._sidebarPanel=this.root.querySelector(".sidebar-panel"),this._contentPanel=this.root.querySelector(".content-panel"),this._asidePanel=this.root.querySelector(".aside-panel"),this._attachSlotHandlers(),queueMicrotask(()=>this._syncShell({emit:!1}))}}typeof customElements<"u"&&!customElements.get("ui-layout")&&customElements.define("ui-layout",y);exports.UILayout=y;
@@ -1,5 +1,5 @@
1
- import { E as m } from "./ElementBase-BeZT54Hj.mjs";
2
- const f = `
1
+ import { E as f } from "./ElementBase-D5QsC5Vw.mjs";
2
+ const _ = `
3
3
  :host {
4
4
  --ui-layout-bg: var(--ui-color-background, #f8fafc);
5
5
  --ui-layout-surface: var(--color-panel-solid, var(--ui-color-surface, #ffffff));
@@ -208,6 +208,146 @@ const f = `
208
208
  display: none !important;
209
209
  }
210
210
 
211
+ /* App shell: the layout is the page frame itself. No outer box, full viewport height, panels
212
+ unframed so the components in them (AppHeader, Sidebar, Card) bring their own chrome instead
213
+ of sitting in boxes inside boxes; only the content area scrolls. */
214
+ :host([variant="shell"]) .layout {
215
+ height: var(--ui-layout-shell-height, 100dvh);
216
+ max-width: none;
217
+ padding: 0;
218
+ gap: 0;
219
+ border: 0;
220
+ border-radius: 0;
221
+ box-shadow: none;
222
+ grid-template-rows: auto minmax(0, 1fr) auto;
223
+ }
224
+
225
+ :host([variant="shell"]) .header,
226
+ :host([variant="shell"]) .footer,
227
+ :host([variant="shell"]) .panel {
228
+ border: 0;
229
+ border-radius: 0;
230
+ background: transparent;
231
+ }
232
+
233
+ /* Components in the shell are flush with it: the shell draws one divider per edge, and the
234
+ AppHeader / Sidebar inside it drop their own outer border and radius (they read these
235
+ inherited --base-* tokens). */
236
+ :host([variant="shell"]) .header {
237
+ padding: 0;
238
+ border-block-end: var(--ui-layout-border);
239
+ --base-app-header-radius: 0;
240
+ --base-app-header-border: 0 solid transparent;
241
+ }
242
+
243
+ :host([variant="shell"]) .sidebar-panel,
244
+ :host([data-drawer]) .sidebar-panel {
245
+ --base-sidebar-radius: 0;
246
+ --base-sidebar-border: 0 solid transparent;
247
+ --base-sidebar-outline: none;
248
+ }
249
+
250
+ :host([variant="shell"]) .sidebar-panel {
251
+ border-inline-end: var(--ui-layout-border);
252
+ }
253
+
254
+ :host([variant="shell"][sidebar-side="end"]) .sidebar-panel {
255
+ border-inline-end: 0;
256
+ border-inline-start: var(--ui-layout-border);
257
+ }
258
+
259
+ :host([variant="shell"]) .aside-panel {
260
+ border-inline-start: var(--ui-layout-border);
261
+ }
262
+
263
+ :host([variant="shell"]) .footer {
264
+ border-block-start: var(--ui-layout-border);
265
+ }
266
+
267
+ :host([variant="shell"]) .body {
268
+ min-height: 0;
269
+ gap: 0;
270
+ }
271
+
272
+ :host([variant="shell"]) .panel {
273
+ min-height: 0;
274
+ padding: 0;
275
+ overflow: auto;
276
+ }
277
+
278
+ :host([variant="shell"]) .content-panel {
279
+ padding: var(--ui-layout-content-padding);
280
+ }
281
+
282
+ :host([variant="shell"]) .sidebar-panel ::slotted(*),
283
+ :host([variant="shell"]) .aside-panel ::slotted(*) {
284
+ block-size: 100%;
285
+ }
286
+
287
+ /* Off-canvas sidebar on narrow screens (variant="shell", or mobile-sidebar="drawer"). */
288
+ .backdrop {
289
+ display: none;
290
+ }
291
+
292
+ :host([data-drawer]) .body {
293
+ grid-template-columns: minmax(0, 1fr) !important;
294
+ }
295
+
296
+ :host([data-drawer]) .sidebar-panel {
297
+ position: fixed;
298
+ inset-block: 0;
299
+ inset-inline-start: 0;
300
+ z-index: var(--ui-layout-drawer-z, 1000);
301
+ inline-size: var(--ui-layout-drawer-width, auto);
302
+ max-inline-size: 86vw;
303
+ max-block-size: none;
304
+ min-height: 0;
305
+ padding: 0;
306
+ overflow: auto;
307
+ border: 0;
308
+ border-radius: 0;
309
+ background: var(--ui-layout-surface);
310
+ box-shadow: 0 24px 48px rgba(2, 6, 23, 0.24);
311
+ transform: translateX(-100%);
312
+ visibility: hidden;
313
+ transition: transform 200ms ease, visibility 0s linear 200ms;
314
+ }
315
+
316
+ :host([data-drawer][sidebar-side="end"]) .sidebar-panel {
317
+ inset-inline-start: auto;
318
+ inset-inline-end: 0;
319
+ transform: translateX(100%);
320
+ }
321
+
322
+ :host([data-drawer][sidebar-open]) .sidebar-panel {
323
+ transform: none;
324
+ visibility: visible;
325
+ transition: transform 200ms ease;
326
+ }
327
+
328
+ :host([data-drawer][sidebar-open]) .backdrop {
329
+ display: block;
330
+ position: fixed;
331
+ inset: 0;
332
+ z-index: calc(var(--ui-layout-drawer-z, 1000) - 1);
333
+ background: var(--ui-layout-backdrop, rgba(15, 23, 42, 0.45));
334
+ }
335
+
336
+ :host([data-drawer]) .sidebar-panel ::slotted(*) {
337
+ block-size: 100%;
338
+ }
339
+
340
+ :host([data-drawer]) .sidebar-panel {
341
+ border: 0 !important;
342
+ }
343
+
344
+ @media (prefers-reduced-motion: reduce) {
345
+ :host([data-drawer]) .sidebar-panel,
346
+ :host([data-drawer][sidebar-open]) .sidebar-panel {
347
+ transition: none;
348
+ }
349
+ }
350
+
211
351
  @media (max-width: 980px) {
212
352
  .body {
213
353
  grid-template-columns: minmax(0, 1fr) !important;
@@ -243,21 +383,45 @@ const f = `
243
383
  }
244
384
  }
245
385
  `;
246
- function r(o) {
386
+ function h(o) {
247
387
  return o ? o.assignedNodes({ flatten: !0 }).some((t) => t.nodeType === Node.ELEMENT_NODE ? !0 : t.nodeType === Node.TEXT_NODE ? !!t.textContent?.trim() : !1) : !1;
248
388
  }
249
- function x(o) {
389
+ function g(o) {
250
390
  if (o == null) return !1;
251
391
  const t = String(o).trim().toLowerCase();
252
392
  return t !== "false" && t !== "0";
253
393
  }
254
- function c(o, t) {
255
- const a = o?.trim();
256
- return a ? /^-?\d+(\.\d+)?$/.test(a) ? `${a}px` : a : t;
394
+ function p(o, t) {
395
+ const e = o?.trim();
396
+ return e ? /^-?\d+(\.\d+)?$/.test(e) ? `${e}px` : e : t;
257
397
  }
258
- class g extends m {
398
+ function v() {
399
+ let o = typeof document < "u" ? document.activeElement : null;
400
+ for (; o?.shadowRoot?.activeElement; ) o = o.shadowRoot.activeElement;
401
+ return o;
402
+ }
403
+ const m = 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';
404
+ function x(o) {
405
+ const t = (e) => {
406
+ for (const a of Array.from(e.querySelectorAll("*"))) {
407
+ if (a.matches(m)) return a;
408
+ if (a.shadowRoot) {
409
+ const i = t(a.shadowRoot);
410
+ if (i) return i;
411
+ }
412
+ }
413
+ return null;
414
+ };
415
+ for (const e of o?.assignedElements({ flatten: !0 }) || []) {
416
+ if (e.matches(m)) return e;
417
+ const a = t(e) || (e.shadowRoot ? t(e.shadowRoot) : null);
418
+ if (a) return a;
419
+ }
420
+ return null;
421
+ }
422
+ class w extends f {
259
423
  constructor() {
260
- super(), this._layoutNode = null, this._headerEl = null, this._bodyEl = null, this._footerEl = null, this._sidebarPanel = null, this._contentPanel = null, this._asidePanel = null, this._headerSlot = null, this._sidebarSlot = null, this._contentSlot = null, this._defaultSlot = null, this._asideSlot = null, this._footerSlot = null, this._lastLayoutSignature = "", this._onSlotChange = this._onSlotChange.bind(this);
424
+ super(), this._layoutNode = null, this._headerEl = null, this._bodyEl = null, this._footerEl = null, this._sidebarPanel = null, this._contentPanel = null, this._asidePanel = null, this._headerSlot = null, this._sidebarSlot = null, this._contentSlot = null, this._defaultSlot = null, this._asideSlot = null, this._footerSlot = null, this._lastLayoutSignature = "", this._media = null, this._mediaQuery = "", this._narrow = !1, this._restoreFocus = null, this._drawerWasOpen = !1, this._onSlotChange = this._onSlotChange.bind(this), this._onMediaChange = this._onMediaChange.bind(this), this._onHostKeyDown = this._onHostKeyDown.bind(this), this._onMenuTrigger = this._onMenuTrigger.bind(this), this._onRootClick = this._onRootClick.bind(this), this._onSidebarActivate = this._onSidebarActivate.bind(this);
261
425
  }
262
426
  static get observedAttributes() {
263
427
  return [
@@ -269,14 +433,82 @@ class g extends m {
269
433
  "collapsed",
270
434
  "headless",
271
435
  "sidebar-width",
272
- "aside-width"
436
+ "aside-width",
437
+ "sidebar-open",
438
+ "mobile-sidebar",
439
+ "drawer-breakpoint"
273
440
  ];
274
441
  }
275
442
  connectedCallback() {
276
- super.connectedCallback(), queueMicrotask(() => this._syncShell({ emit: !1 }));
443
+ super.connectedCallback(), this._watchViewport(), this.addEventListener("keydown", this._onHostKeyDown), this.addEventListener("menu-trigger", this._onMenuTrigger), this.addEventListener("select", this._onSidebarActivate), this.addEventListener("click", this._onSidebarActivate), this.root.addEventListener("click", this._onRootClick), queueMicrotask(() => this._syncShell({ emit: !1 }));
277
444
  }
278
445
  disconnectedCallback() {
279
- this._detachSlotHandlers(), super.disconnectedCallback();
446
+ this._detachSlotHandlers(), this._media?.removeEventListener?.("change", this._onMediaChange), this._media = null, this.removeEventListener("keydown", this._onHostKeyDown), this.removeEventListener("menu-trigger", this._onMenuTrigger), this.removeEventListener("select", this._onSidebarActivate), this.removeEventListener("click", this._onSidebarActivate), this.root.removeEventListener("click", this._onRootClick), super.disconnectedCallback();
447
+ }
448
+ /** True while the sidebar is an off-canvas drawer (narrow viewport and drawer behaviour on). */
449
+ get drawerActive() {
450
+ return this.hasAttribute("data-drawer");
451
+ }
452
+ get sidebarOpen() {
453
+ return this.hasAttribute("sidebar-open");
454
+ }
455
+ set sidebarOpen(t) {
456
+ this.toggleAttribute("sidebar-open", !!t);
457
+ }
458
+ openSidebar() {
459
+ this._setSidebarOpen(!0, "api");
460
+ }
461
+ closeSidebar() {
462
+ this._setSidebarOpen(!1, "api");
463
+ }
464
+ _drawerWanted() {
465
+ const t = this.getAttribute("mobile-sidebar");
466
+ return t === "drawer" ? !0 : t === "stack" ? !1 : this.getAttribute("variant") === "shell";
467
+ }
468
+ _watchViewport() {
469
+ if (typeof window > "u" || typeof window.matchMedia != "function") return;
470
+ const t = Number(this.getAttribute("drawer-breakpoint")), a = `(max-width: ${Number.isFinite(t) && t > 0 ? t : 980}px)`;
471
+ this._media && this._mediaQuery === a || (this._media?.removeEventListener?.("change", this._onMediaChange), this._mediaQuery = a, this._media = window.matchMedia(a), this._media.addEventListener?.("change", this._onMediaChange), this._narrow = !!this._media.matches);
472
+ }
473
+ _onMediaChange() {
474
+ this._narrow = !!this._media?.matches, this._syncShell({ emit: !0 });
475
+ }
476
+ _setSidebarOpen(t, e) {
477
+ this.sidebarOpen !== t && (this.toggleAttribute("sidebar-open", t), this.dispatchEvent(new CustomEvent("sidebar-open-change", { detail: { open: t, source: e }, bubbles: !0, composed: !0 })));
478
+ }
479
+ _onMenuTrigger() {
480
+ this.drawerActive && this._setSidebarOpen(!this.sidebarOpen, "menu");
481
+ }
482
+ _onHostKeyDown(t) {
483
+ t.key !== "Escape" || !this.drawerActive || !this.sidebarOpen || t.defaultPrevented || (t.preventDefault(), this._setSidebarOpen(!1, "escape"));
484
+ }
485
+ _onRootClick(t) {
486
+ t.target?.classList?.contains("backdrop") && this._setSidebarOpen(!1, "backdrop");
487
+ }
488
+ // Picking a link or item in the drawer closes it, as navigation drawers do.
489
+ _onSidebarActivate(t) {
490
+ !this.drawerActive || !this.sidebarOpen || !t.composedPath().some((a) => a instanceof HTMLElement && a.getAttribute("slot") === "sidebar" && a.parentElement === this) || t.type === "click" && !t.composedPath().find((i) => i instanceof HTMLAnchorElement && i.hasAttribute("href")) || this._setSidebarOpen(!1, "navigate");
491
+ }
492
+ _syncDrawer(t) {
493
+ const e = this._drawerWanted() && this._narrow && t.hasSidebarContent;
494
+ this.toggleAttribute("data-drawer", e), !e && this.sidebarOpen && this._setSidebarOpen(!1, "viewport");
495
+ const a = e && this.sidebarOpen, i = this._sidebarPanel;
496
+ if (i && (e ? (i.hidden = !1, i.setAttribute("role", "dialog"), i.setAttribute("aria-modal", "true"), i.setAttribute("aria-label", this.getAttribute("sidebar-label") || "Navigation"), i.setAttribute("tabindex", "-1"), a ? i.removeAttribute("inert") : i.setAttribute("inert", "")) : (i.removeAttribute("role"), i.removeAttribute("aria-modal"), i.removeAttribute("aria-label"), i.removeAttribute("tabindex"), i.removeAttribute("inert"))), [this._headerEl, this._contentPanel, this._asidePanel, this._footerEl].forEach((r) => {
497
+ r && (a ? r.setAttribute("inert", "") : r.removeAttribute("inert"));
498
+ }), (this._headerSlot?.assignedElements({ flatten: !0 }) || []).forEach((r) => {
499
+ (r.matches("ui-app-header") ? [r] : Array.from(r.querySelectorAll("ui-app-header"))).forEach((s) => {
500
+ e ? s.setAttribute("menu-expanded", a ? "true" : "false") : s.removeAttribute("menu-expanded");
501
+ });
502
+ }), a && !this._drawerWasOpen) {
503
+ const r = v();
504
+ this._restoreFocus = r && r !== document.body ? r : null;
505
+ const u = x(this._sidebarSlot) || i;
506
+ queueMicrotask(() => u?.focus({ preventScroll: !0 }));
507
+ } else if (!a && this._drawerWasOpen) {
508
+ const r = this._restoreFocus;
509
+ this._restoreFocus = null, r?.isConnected && r.focus({ preventScroll: !0 });
510
+ }
511
+ this._drawerWasOpen = a;
280
512
  }
281
513
  collapse() {
282
514
  this.setAttribute("collapsed", "");
@@ -285,18 +517,22 @@ class g extends m {
285
517
  this.removeAttribute("collapsed");
286
518
  }
287
519
  toggleSidebar() {
520
+ if (this.drawerActive) {
521
+ this._setSidebarOpen(!this.sidebarOpen, "api");
522
+ return;
523
+ }
288
524
  this.collapsed ? this.expand() : this.collapse();
289
525
  }
290
526
  get collapsed() {
291
- return x(this.getAttribute("collapsed"));
527
+ return g(this.getAttribute("collapsed"));
292
528
  }
293
529
  set collapsed(t) {
294
530
  t ? this.setAttribute("collapsed", "") : this.removeAttribute("collapsed");
295
531
  }
296
- attributeChangedCallback(t, a, e) {
297
- if (a !== e) {
298
- if (t === "variant" || t === "density" || t === "max-width" || t === "headless") {
299
- super.attributeChangedCallback(t, a, e), queueMicrotask(() => this._syncShell({ emit: !1 }));
532
+ attributeChangedCallback(t, e, a) {
533
+ if (e !== a) {
534
+ if (t === "drawer-breakpoint" && this.isConnected && this._watchViewport(), t === "variant" || t === "density" || t === "max-width" || t === "headless") {
535
+ super.attributeChangedCallback(t, e, a), queueMicrotask(() => this._syncShell({ emit: !1 }));
300
536
  return;
301
537
  }
302
538
  queueMicrotask(() => this._syncShell({ emit: !0 }));
@@ -340,39 +576,40 @@ class g extends m {
340
576
  }
341
577
  _computeShellState() {
342
578
  if (!this.isConnected || !this._layoutNode || !this._bodyEl) return null;
343
- const t = this._mode(), a = this._sidebarSide(), e = this.collapsed, p = r(this._headerSlot), y = r(this._footerSlot), u = r(this._sidebarSlot), n = r(this._asideSlot), d = r(this._contentSlot) || r(this._defaultSlot), i = u && (!e || t === "stack") && !(t === "split" && n), s = n, b = d || i || s, h = t === "stack";
579
+ const t = this._mode(), e = this._sidebarSide(), a = this.collapsed, i = h(this._headerSlot), r = h(this._footerSlot), u = h(this._sidebarSlot), s = h(this._asideSlot), c = h(this._contentSlot) || h(this._defaultSlot), n = u && (!a || t === "stack") && !(t === "split" && s), d = s, y = c || n || d, b = t === "stack";
344
580
  let l = "content-only";
345
- return h || (t === "split" ? s && d ? l = "split-with-aside" : i && d && (l = a === "end" ? "split-with-sidebar-end" : "split-with-sidebar-start") : i && s ? l = a === "end" ? "dashboard-end" : "dashboard-start" : i ? l = a === "end" ? "dashboard-end-no-aside" : "dashboard-start-no-aside" : s && (l = a === "end" ? "dashboard-end-no-sidebar" : "dashboard-start-no-sidebar")), {
581
+ return b || (t === "split" ? d && c ? l = "split-with-aside" : n && c && (l = e === "end" ? "split-with-sidebar-end" : "split-with-sidebar-start") : n && d ? l = e === "end" ? "dashboard-end" : "dashboard-start" : n ? l = e === "end" ? "dashboard-end-no-aside" : "dashboard-start-no-aside" : d && (l = e === "end" ? "dashboard-end-no-sidebar" : "dashboard-start-no-sidebar")), {
346
582
  mode: t,
347
- sidebarSide: a,
348
- collapsed: e,
349
- hasHeader: p,
350
- hasFooter: y,
583
+ sidebarSide: e,
584
+ collapsed: a,
585
+ hasHeader: i,
586
+ hasFooter: r,
351
587
  hasSidebarContent: u,
352
- hasAsideContent: n,
353
- hasContent: d,
354
- sidebarVisible: i,
355
- asideVisible: s,
356
- bodyVisible: b,
588
+ hasAsideContent: s,
589
+ hasContent: c,
590
+ sidebarVisible: n,
591
+ asideVisible: d,
592
+ bodyVisible: y,
357
593
  layout: l,
358
- stack: h,
359
- sidebarTrack: i ? c(this.getAttribute("sidebar-width"), "clamp(220px, 22vw, 320px)") : "0px",
360
- asideTrack: s ? c(this.getAttribute("aside-width"), "clamp(240px, 26vw, 360px)") : "0px"
594
+ stack: b,
595
+ // In the shell the column follows the sidebar's own width (no gap before the divider).
596
+ sidebarTrack: n ? p(this.getAttribute("sidebar-width"), this.getAttribute("variant") === "shell" ? "auto" : "clamp(220px, 22vw, 320px)") : "0px",
597
+ asideTrack: d ? p(this.getAttribute("aside-width"), "clamp(240px, 26vw, 360px)") : "0px"
361
598
  };
362
599
  }
363
600
  _syncShell(t) {
364
- const a = this._computeShellState();
365
- if (!a || !this._bodyEl) return;
366
- this._headerEl && (this._headerEl.hidden = !a.hasHeader), this._footerEl && (this._footerEl.hidden = !a.hasFooter), this.style.setProperty("--ui-layout-sidebar-track", a.sidebarTrack), this.style.setProperty("--ui-layout-aside-track", a.asideTrack), this._sidebarPanel && (this._sidebarPanel.hidden = !a.sidebarVisible), this._contentPanel && (this._contentPanel.hidden = !a.hasContent), this._asidePanel && (this._asidePanel.hidden = !a.asideVisible), this._bodyEl.hidden = !a.bodyVisible, this._bodyEl.dataset.layout = a.layout, this._bodyEl.dataset.mode = a.mode, this._bodyEl.dataset.sidebarSide = a.sidebarSide, a.stack ? this._bodyEl.classList.add("stack") : this._bodyEl.classList.remove("stack");
367
- const e = this._signature(a);
368
- t.emit && e !== this._lastLayoutSignature && this._emitLayoutChange(a), this._lastLayoutSignature = e;
601
+ const e = this._computeShellState();
602
+ if (!e || !this._bodyEl) return;
603
+ this._headerEl && (this._headerEl.hidden = !e.hasHeader), this._footerEl && (this._footerEl.hidden = !e.hasFooter), this.style.setProperty("--ui-layout-sidebar-track", e.sidebarTrack), this.style.setProperty("--ui-layout-aside-track", e.asideTrack), this._sidebarPanel && (this._sidebarPanel.hidden = !e.sidebarVisible), this._contentPanel && (this._contentPanel.hidden = !e.hasContent), this._asidePanel && (this._asidePanel.hidden = !e.asideVisible), this._bodyEl.hidden = !e.bodyVisible, this._bodyEl.dataset.layout = e.layout, this._bodyEl.dataset.mode = e.mode, this._bodyEl.dataset.sidebarSide = e.sidebarSide, e.stack ? this._bodyEl.classList.add("stack") : this._bodyEl.classList.remove("stack"), this._syncDrawer(e);
604
+ const a = this._signature(e);
605
+ t.emit && a !== this._lastLayoutSignature && this._emitLayoutChange(e), this._lastLayoutSignature = a;
369
606
  }
370
- shouldRenderOnAttributeChange(t, a, e) {
607
+ shouldRenderOnAttributeChange(t, e, a) {
371
608
  return !1;
372
609
  }
373
610
  render() {
374
611
  this.setContent(`
375
- <style>${f}</style>
612
+ <style>${_}</style>
376
613
  <div class="layout" part="layout">
377
614
  <header class="header" part="header">
378
615
  <slot name="header"></slot>
@@ -381,6 +618,7 @@ class g extends m {
381
618
  <section class="panel sidebar-panel" part="sidebar">
382
619
  <slot name="sidebar"></slot>
383
620
  </section>
621
+ <div class="backdrop" part="backdrop" aria-hidden="true"></div>
384
622
  <section class="panel content-panel" part="content">
385
623
  <slot name="content"></slot>
386
624
  <slot></slot>
@@ -396,7 +634,7 @@ class g extends m {
396
634
  `), this._layoutNode = this.root.querySelector(".layout"), this._headerEl = this.root.querySelector(".header"), this._bodyEl = this.root.querySelector(".body"), this._footerEl = this.root.querySelector(".footer"), this._sidebarPanel = this.root.querySelector(".sidebar-panel"), this._contentPanel = this.root.querySelector(".content-panel"), this._asidePanel = this.root.querySelector(".aside-panel"), this._attachSlotHandlers(), queueMicrotask(() => this._syncShell({ emit: !1 }));
397
635
  }
398
636
  }
399
- typeof customElements < "u" && !customElements.get("ui-layout") && customElements.define("ui-layout", g);
637
+ typeof customElements < "u" && !customElements.get("ui-layout") && customElements.define("ui-layout", w);
400
638
  export {
401
- g as UILayout
639
+ w as UILayout
402
640
  };
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("./ElementBase-DxbvhLJs.js"),l="24px",f="48px",b=60,g=new Set(["none","sm","md","lg","full"]),v=new Set(["direction","speed","gap","size","padding"]),q=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("./ElementBase-CbUsP3D6.js"),l="24px",f="48px",b=60,g=new Set(["none","sm","md","lg","full"]),v=new Set(["direction","speed","gap","size","padding"]),q=`
2
2
  :host {
3
3
  --ui-marquee-gap: ${l};
4
4
  --ui-marquee-fade-size: ${f};
@@ -1,4 +1,4 @@
1
- import { E as h } from "./ElementBase-BeZT54Hj.mjs";
1
+ import { E as h } from "./ElementBase-D5QsC5Vw.mjs";
2
2
  const l = "24px", p = "48px", f = 60, b = /* @__PURE__ */ new Set(["none", "sm", "md", "lg", "full"]), g = /* @__PURE__ */ new Set(["direction", "speed", "gap", "size", "padding"]), v = `
3
3
  :host {
4
4
  --ui-marquee-gap: ${l};
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("./ElementBase-DxbvhLJs.js"),b={sm:"var(--ui-breakpoint-sm, 640px)",md:"var(--ui-breakpoint-md, 768px)",lg:"var(--ui-breakpoint-lg, 1024px)",xl:"var(--ui-breakpoint-xl, 1280px)"},p=["display","columns","columnwidth","gap","columngap","itemgap","fill"],v={xs:"var(--ui-space-xs, 4px)",sm:"var(--ui-space-sm, 8px)",md:"var(--ui-space-md, 12px)",lg:"var(--ui-space-lg, 20px)",xl:"var(--ui-space-xl, 28px)"},x=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("./ElementBase-CbUsP3D6.js"),b={sm:"var(--ui-breakpoint-sm, 640px)",md:"var(--ui-breakpoint-md, 768px)",lg:"var(--ui-breakpoint-lg, 1024px)",xl:"var(--ui-breakpoint-xl, 1280px)"},p=["display","columns","columnwidth","gap","columngap","itemgap","fill"],v={xs:"var(--ui-space-xs, 4px)",sm:"var(--ui-space-sm, 8px)",md:"var(--ui-space-md, 12px)",lg:"var(--ui-space-lg, 20px)",xl:"var(--ui-space-xl, 28px)"},x=`
2
2
  :host {
3
3
  --ui-masonry-display: block;
4
4
  --ui-masonry-columns: auto;