@editora/ui-core 0.1.24 → 0.2.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 (318) hide show
  1. package/README.md +339 -5
  2. package/dist/accordion.cjs.js +13 -12
  3. package/dist/accordion.esm.js +13 -12
  4. package/dist/alert-dialog.cjs.js +76 -45
  5. package/dist/alert-dialog.esm.js +179 -135
  6. package/dist/alert.cjs.js +41 -32
  7. package/dist/alert.esm.js +79 -70
  8. package/dist/animated-beam.cjs.js +42 -50
  9. package/dist/animated-beam.esm.js +47 -55
  10. package/dist/animated-list.cjs.js +11 -27
  11. package/dist/animated-list.esm.js +12 -28
  12. package/dist/animated-text.cjs.js +4 -4
  13. package/dist/animated-text.esm.js +4 -4
  14. package/dist/app-header.cjs.js +5 -5
  15. package/dist/app-header.esm.js +6 -6
  16. package/dist/aspect-ratio.cjs.js +10 -12
  17. package/dist/aspect-ratio.esm.js +11 -13
  18. package/dist/avatar.cjs.js +13 -17
  19. package/dist/avatar.esm.js +13 -17
  20. package/dist/badge.cjs.js +27 -22
  21. package/dist/badge.esm.js +32 -27
  22. package/dist/block-controls.cjs.js +11 -12
  23. package/dist/block-controls.esm.js +8 -9
  24. package/dist/box.cjs.js +2 -3
  25. package/dist/box.esm.js +2 -3
  26. package/dist/breadcrumb.cjs.js +12 -18
  27. package/dist/breadcrumb.esm.js +11 -17
  28. package/dist/button.cjs.js +1 -1
  29. package/dist/button.esm.js +1 -1
  30. package/dist/{calendar-B3PUKHQm.mjs → calendar-DmxiZrR7.mjs} +126 -117
  31. package/dist/{calendar-D-mXMgqc.js → calendar-o273O28D.js} +53 -44
  32. package/dist/calendar.cjs.js +1 -1
  33. package/dist/calendar.esm.js +1 -1
  34. package/dist/card.cjs.js +6 -7
  35. package/dist/card.esm.js +5 -6
  36. package/dist/chart.cjs.js +52 -52
  37. package/dist/chart.esm.js +95 -95
  38. package/dist/checkbox.cjs.js +19 -15
  39. package/dist/checkbox.esm.js +19 -15
  40. package/dist/collapsible.cjs.js +7 -11
  41. package/dist/collapsible.esm.js +7 -11
  42. package/dist/color-picker.cjs.js +36 -17
  43. package/dist/color-picker.esm.js +132 -113
  44. package/dist/combobox.cjs.js +57 -54
  45. package/dist/combobox.esm.js +62 -58
  46. package/dist/command-palette.cjs.js +1 -0
  47. package/dist/command-palette.esm.js +1 -0
  48. package/dist/command.cjs.js +32 -14
  49. package/dist/command.esm.js +46 -28
  50. package/dist/components/date-time-utils.d.ts.map +1 -1
  51. package/dist/components/gantt-schedule.d.ts +79 -0
  52. package/dist/components/gantt-schedule.d.ts.map +1 -0
  53. package/dist/components/ui-accordion.d.ts.map +1 -1
  54. package/dist/components/ui-alert-dialog.d.ts +2 -0
  55. package/dist/components/ui-alert-dialog.d.ts.map +1 -1
  56. package/dist/components/ui-alert.d.ts.map +1 -1
  57. package/dist/components/ui-animated-beam.d.ts.map +1 -1
  58. package/dist/components/ui-animated-list.d.ts.map +1 -1
  59. package/dist/components/ui-aspect-ratio.d.ts.map +1 -1
  60. package/dist/components/ui-avatar.d.ts.map +1 -1
  61. package/dist/components/ui-badge.d.ts.map +1 -1
  62. package/dist/components/ui-block-controls.d.ts.map +1 -1
  63. package/dist/components/ui-box.d.ts.map +1 -1
  64. package/dist/components/ui-breadcrumb.d.ts.map +1 -1
  65. package/dist/components/ui-button.d.ts.map +1 -1
  66. package/dist/components/ui-calendar.d.ts.map +1 -1
  67. package/dist/components/ui-card.d.ts.map +1 -1
  68. package/dist/components/ui-checkbox.d.ts.map +1 -1
  69. package/dist/components/ui-collapsible.d.ts.map +1 -1
  70. package/dist/components/ui-color-picker.d.ts.map +1 -1
  71. package/dist/components/ui-combobox.d.ts.map +1 -1
  72. package/dist/components/ui-command-palette.d.ts.map +1 -1
  73. package/dist/components/ui-command.d.ts.map +1 -1
  74. package/dist/components/ui-container.d.ts.map +1 -1
  75. package/dist/components/ui-context-menu.d.ts.map +1 -1
  76. package/dist/components/ui-data-table.d.ts +7 -0
  77. package/dist/components/ui-data-table.d.ts.map +1 -1
  78. package/dist/components/ui-date-picker.d.ts.map +1 -1
  79. package/dist/components/ui-date-range-picker.d.ts.map +1 -1
  80. package/dist/components/ui-date-range-time-picker.d.ts.map +1 -1
  81. package/dist/components/ui-date-time-picker.d.ts.map +1 -1
  82. package/dist/components/ui-dialog.d.ts +2 -0
  83. package/dist/components/ui-dialog.d.ts.map +1 -1
  84. package/dist/components/ui-dock.d.ts.map +1 -1
  85. package/dist/components/ui-drawer.d.ts.map +1 -1
  86. package/dist/components/ui-dropdown.d.ts.map +1 -1
  87. package/dist/components/ui-empty-state.d.ts.map +1 -1
  88. package/dist/components/ui-field.d.ts.map +1 -1
  89. package/dist/components/ui-fieldset.d.ts.map +1 -1
  90. package/dist/components/ui-file-upload.d.ts.map +1 -1
  91. package/dist/components/ui-floating-toolbar.d.ts.map +1 -1
  92. package/dist/components/ui-form.d.ts.map +1 -1
  93. package/dist/components/ui-gantt.d.ts +186 -2
  94. package/dist/components/ui-gantt.d.ts.map +1 -1
  95. package/dist/components/ui-icon-cloud.d.ts.map +1 -1
  96. package/dist/components/ui-inline-edit.d.ts.map +1 -1
  97. package/dist/components/ui-input.d.ts.map +1 -1
  98. package/dist/components/ui-marquee.d.ts.map +1 -1
  99. package/dist/components/ui-menu.d.ts.map +1 -1
  100. package/dist/components/ui-menubar.d.ts.map +1 -1
  101. package/dist/components/ui-meter.d.ts.map +1 -1
  102. package/dist/components/ui-multi-select.d.ts.map +1 -1
  103. package/dist/components/ui-number-field.d.ts.map +1 -1
  104. package/dist/components/ui-orbiter.d.ts.map +1 -1
  105. package/dist/components/ui-pagination.d.ts.map +1 -1
  106. package/dist/components/ui-password-field.d.ts.map +1 -1
  107. package/dist/components/ui-pin-input.d.ts.map +1 -1
  108. package/dist/components/ui-popover.d.ts.map +1 -1
  109. package/dist/components/ui-progress.d.ts.map +1 -1
  110. package/dist/components/ui-radio-group.d.ts.map +1 -1
  111. package/dist/components/ui-radio.d.ts.map +1 -1
  112. package/dist/components/ui-rating.d.ts +1 -0
  113. package/dist/components/ui-rating.d.ts.map +1 -1
  114. package/dist/components/ui-scroll-area.d.ts.map +1 -1
  115. package/dist/components/ui-section.d.ts.map +1 -1
  116. package/dist/components/ui-select.d.ts.map +1 -1
  117. package/dist/components/ui-selection-popup.d.ts.map +1 -1
  118. package/dist/components/ui-slider.d.ts.map +1 -1
  119. package/dist/components/ui-sortable.d.ts.map +1 -1
  120. package/dist/components/ui-spinning-text.d.ts.map +1 -1
  121. package/dist/components/ui-split-button.d.ts.map +1 -1
  122. package/dist/components/ui-splitter.d.ts.map +1 -1
  123. package/dist/components/ui-stepper.d.ts.map +1 -1
  124. package/dist/components/ui-switch.d.ts.map +1 -1
  125. package/dist/components/ui-tabs.d.ts.map +1 -1
  126. package/dist/components/ui-tags-input.d.ts.map +1 -1
  127. package/dist/components/ui-textarea.d.ts.map +1 -1
  128. package/dist/components/ui-time-picker.d.ts.map +1 -1
  129. package/dist/components/ui-toggle-group.d.ts +2 -0
  130. package/dist/components/ui-toggle-group.d.ts.map +1 -1
  131. package/dist/components/ui-toggle.d.ts.map +1 -1
  132. package/dist/components/ui-toolbar.d.ts +2 -0
  133. package/dist/components/ui-toolbar.d.ts.map +1 -1
  134. package/dist/components/ui-tooltip.d.ts.map +1 -1
  135. package/dist/components/ui-transfer-list.d.ts.map +1 -1
  136. package/dist/components/ui-tree-item.d.ts.map +1 -1
  137. package/dist/components/ui-tree.d.ts.map +1 -1
  138. package/dist/components/ui-wizard.d.ts.map +1 -1
  139. package/dist/container.cjs.js +6 -12
  140. package/dist/container.esm.js +8 -14
  141. package/dist/context-menu.cjs.js +8 -8
  142. package/dist/context-menu.esm.js +42 -41
  143. package/dist/data-table.cjs.js +18 -15
  144. package/dist/data-table.esm.js +207 -187
  145. package/dist/date-field.cjs.js +8 -8
  146. package/dist/date-field.esm.js +7 -7
  147. package/dist/date-picker.cjs.js +27 -18
  148. package/dist/date-picker.esm.js +57 -48
  149. package/dist/date-range-picker.cjs.js +22 -17
  150. package/dist/date-range-picker.esm.js +31 -26
  151. package/dist/date-range-time-picker.cjs.js +26 -19
  152. package/dist/date-range-time-picker.esm.js +23 -16
  153. package/dist/date-time-picker.cjs.js +23 -16
  154. package/dist/date-time-picker.esm.js +88 -81
  155. package/dist/{date-time-utils-BTlxnz5j.mjs → date-time-utils-B4hAkt36.mjs} +75 -68
  156. package/dist/date-time-utils-DdigV4hs.js +1 -0
  157. package/dist/dialog.cjs.js +57 -41
  158. package/dist/dialog.esm.js +84 -51
  159. package/dist/dock.cjs.js +16 -30
  160. package/dist/dock.esm.js +26 -40
  161. package/dist/drawer.cjs.js +8 -12
  162. package/dist/drawer.esm.js +6 -10
  163. package/dist/dropdown.cjs.js +8 -6
  164. package/dist/dropdown.esm.js +33 -30
  165. package/dist/empty-state.cjs.js +17 -15
  166. package/dist/empty-state.esm.js +13 -11
  167. package/dist/field.cjs.js +22 -13
  168. package/dist/field.esm.js +54 -45
  169. package/dist/fieldset.cjs.js +18 -11
  170. package/dist/fieldset.esm.js +20 -13
  171. package/dist/file-upload.cjs.js +77 -35
  172. package/dist/file-upload.esm.js +152 -110
  173. package/dist/floating-toolbar.cjs.js +6 -7
  174. package/dist/floating-toolbar.esm.js +8 -9
  175. package/dist/form.cjs.js +20 -23
  176. package/dist/form.esm.js +20 -23
  177. package/dist/gantt.cjs.js +525 -110
  178. package/dist/gantt.esm.js +1882 -377
  179. package/dist/hover-card.cjs.js +7 -7
  180. package/dist/hover-card.esm.js +7 -7
  181. package/dist/icon-cloud.cjs.js +19 -36
  182. package/dist/icon-cloud.esm.js +41 -58
  183. package/dist/index.cjs.js +1 -1
  184. package/dist/index.d.ts +2 -0
  185. package/dist/index.d.ts.map +1 -1
  186. package/dist/index.esm.js +108 -104
  187. package/dist/inline-edit.cjs.js +47 -19
  188. package/dist/inline-edit.esm.js +66 -38
  189. package/dist/input.cjs.js +44 -37
  190. package/dist/input.esm.js +59 -52
  191. package/dist/layout.cjs.js +3 -3
  192. package/dist/layout.esm.js +3 -3
  193. package/dist/marquee.cjs.js +7 -10
  194. package/dist/marquee.esm.js +7 -10
  195. package/dist/menu.cjs.js +8 -24
  196. package/dist/menu.esm.js +52 -72
  197. package/dist/menubar.cjs.js +9 -31
  198. package/dist/menubar.esm.js +127 -153
  199. package/dist/meter.cjs.js +4 -9
  200. package/dist/meter.esm.js +6 -11
  201. package/dist/multi-select.cjs.js +48 -35
  202. package/dist/multi-select.esm.js +67 -53
  203. package/dist/navigation-menu.cjs.js +10 -10
  204. package/dist/navigation-menu.esm.js +33 -33
  205. package/dist/number-field.cjs.js +27 -16
  206. package/dist/number-field.esm.js +36 -25
  207. package/dist/odometer.cjs.js +5 -5
  208. package/dist/odometer.esm.js +3 -3
  209. package/dist/orbiter.cjs.js +11 -28
  210. package/dist/orbiter.esm.js +28 -45
  211. package/dist/overlay-motion-B56x1GoY.js +49 -0
  212. package/dist/overlay-motion-BX3dPLay.mjs +120 -0
  213. package/dist/pagination.cjs.js +28 -25
  214. package/dist/pagination.esm.js +54 -51
  215. package/dist/password-field.cjs.js +38 -33
  216. package/dist/password-field.esm.js +62 -57
  217. package/dist/pin-input.cjs.js +17 -13
  218. package/dist/pin-input.esm.js +23 -19
  219. package/dist/plugin-panel.cjs.js +1 -1
  220. package/dist/plugin-panel.esm.js +1 -1
  221. package/dist/popover.cjs.js +16 -28
  222. package/dist/popover.esm.js +29 -45
  223. package/dist/portal-DeaM1tYY.mjs +121 -0
  224. package/dist/portal-XbYR3m_q.js +1 -0
  225. package/dist/portal.d.ts +3 -1
  226. package/dist/portal.d.ts.map +1 -1
  227. package/dist/{positioner-D0VGxtYU.mjs → positioner-BE8Nbho2.mjs} +5 -3
  228. package/dist/{positioner-D_fqyx_j.js → positioner-DZ1FW6A9.js} +1 -1
  229. package/dist/positioner.cjs.js +1 -1
  230. package/dist/positioner.esm.js +1 -1
  231. package/dist/primitives/overlay-motion.d.ts +47 -0
  232. package/dist/primitives/overlay-motion.d.ts.map +1 -0
  233. package/dist/primitives/positioner.d.ts.map +1 -1
  234. package/dist/progress.cjs.js +11 -16
  235. package/dist/progress.esm.js +37 -42
  236. package/dist/quick-actions.cjs.js +13 -13
  237. package/dist/quick-actions.esm.js +11 -11
  238. package/dist/radio-group.cjs.js +50 -26
  239. package/dist/radio-group.esm.js +53 -29
  240. package/dist/radio.cjs.js +15 -12
  241. package/dist/radio.esm.js +15 -12
  242. package/dist/rating.cjs.js +11 -15
  243. package/dist/rating.esm.js +48 -50
  244. package/dist/{runtime-CFnK53iC.mjs → runtime-CQM6wZOc.mjs} +498 -514
  245. package/dist/runtime-DxCl0A5q.js +5 -0
  246. package/dist/runtime.cjs.js +1 -1
  247. package/dist/runtime.d.ts +3 -2
  248. package/dist/runtime.d.ts.map +1 -1
  249. package/dist/runtime.esm.js +36 -32
  250. package/dist/scroll-area.cjs.js +3 -4
  251. package/dist/scroll-area.esm.js +3 -4
  252. package/dist/section.cjs.js +2 -4
  253. package/dist/section.esm.js +2 -4
  254. package/dist/select.cjs.js +40 -73
  255. package/dist/select.esm.js +55 -87
  256. package/dist/selection-popup.cjs.js +3 -4
  257. package/dist/selection-popup.esm.js +3 -4
  258. package/dist/semantic-tokens.d.ts +17 -0
  259. package/dist/semantic-tokens.d.ts.map +1 -0
  260. package/dist/sidebar.cjs.js +22 -22
  261. package/dist/sidebar.esm.js +25 -25
  262. package/dist/skeleton.cjs.js +2 -2
  263. package/dist/skeleton.esm.js +2 -2
  264. package/dist/slider.cjs.js +22 -26
  265. package/dist/slider.esm.js +25 -29
  266. package/dist/sortable.cjs.js +4 -5
  267. package/dist/sortable.esm.js +4 -5
  268. package/dist/spinning-text.cjs.js +4 -13
  269. package/dist/spinning-text.esm.js +4 -13
  270. package/dist/split-button.cjs.js +5 -5
  271. package/dist/split-button.esm.js +15 -14
  272. package/dist/splitter.cjs.js +52 -10
  273. package/dist/splitter.esm.js +55 -13
  274. package/dist/stepper.cjs.js +31 -65
  275. package/dist/stepper.esm.js +32 -66
  276. package/dist/switch.cjs.js +20 -22
  277. package/dist/switch.esm.js +20 -22
  278. package/dist/table.cjs.js +5 -5
  279. package/dist/table.esm.js +20 -20
  280. package/dist/tabs.cjs.js +91 -21
  281. package/dist/tabs.esm.js +182 -112
  282. package/dist/tags-input.cjs.js +41 -15
  283. package/dist/tags-input.esm.js +73 -47
  284. package/dist/textarea.cjs.js +32 -33
  285. package/dist/textarea.esm.js +38 -39
  286. package/dist/theme.d.ts +25 -1
  287. package/dist/theme.d.ts.map +1 -1
  288. package/dist/time-field.cjs.js +7 -7
  289. package/dist/time-field.esm.js +6 -6
  290. package/dist/time-picker.cjs.js +16 -13
  291. package/dist/time-picker.esm.js +27 -24
  292. package/dist/timeline.cjs.js +10 -10
  293. package/dist/timeline.esm.js +7 -7
  294. package/dist/toggle-group.cjs.js +13 -13
  295. package/dist/toggle-group.esm.js +66 -61
  296. package/dist/toggle.cjs.js +52 -34
  297. package/dist/toggle.esm.js +80 -62
  298. package/dist/toolbar.cjs.js +14 -14
  299. package/dist/toolbar.esm.js +41 -33
  300. package/dist/tooltip.cjs.js +3 -3
  301. package/dist/tooltip.esm.js +39 -33
  302. package/dist/transfer-list.cjs.js +28 -29
  303. package/dist/transfer-list.esm.js +28 -29
  304. package/dist/{tree-B_oQput6.mjs → tree-33fVNnaf.mjs} +6 -5
  305. package/dist/{tree-SivHxcAy.js → tree-Dc02MChE.js} +6 -5
  306. package/dist/tree-item.cjs.js +9 -8
  307. package/dist/tree-item.esm.js +13 -12
  308. package/dist/tree.cjs.js +1 -1
  309. package/dist/tree.esm.js +1 -1
  310. package/dist/{ui-button-Co8Sid6t.mjs → ui-button-C3OmI7Sn.mjs} +152 -154
  311. package/dist/{ui-button-BPrzJScZ.js → ui-button-CnLwXBnx.js} +107 -109
  312. package/dist/wizard.cjs.js +39 -36
  313. package/dist/wizard.esm.js +39 -36
  314. package/package.json +1 -1
  315. package/dist/date-time-utils-y3AvNvGe.js +0 -1
  316. package/dist/portal-DgpQ3Jo1.js +0 -1
  317. package/dist/portal-bR42gHvG.mjs +0 -118
  318. package/dist/runtime-DwE-tizc.js +0 -1
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const _=require("./ElementBase-DxbvhLJs.js"),o="520ms",l="90ms",d="0ms",x=1400,h=.24,y=new Set(["none","sm","md","lg","full"]),v=new Set(["load","visible","manual"]),A=new Set(["calm","smooth","snappy","bouncy"]),S=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const _=require("./ElementBase-DxbvhLJs.js"),o="520ms",l="90ms",d="0ms",y=1400,h=.24,x=new Set(["none","sm","md","lg","full"]),v=new Set(["load","visible","manual"]),A=new Set(["calm","smooth","snappy","bouncy"]),S=`
2
2
  :host {
3
3
  --ui-animated-list-duration: ${o};
4
4
  --ui-animated-list-stagger: ${l};
@@ -12,39 +12,23 @@
12
12
  --ui-animated-list-motion-rotate-scale: 1;
13
13
  --ui-animated-list-motion-overshoot-y: -2px;
14
14
  --ui-animated-list-motion-overshoot-scale: 1.02;
15
- --ui-animated-list-radius: var(--base-animated-list-radius, 20px);
16
- --ui-animated-list-bg:
17
- linear-gradient(
18
- 180deg,
19
- color-mix(in srgb, var(--ui-color-surface, #ffffff) 98%, transparent) 0%,
20
- color-mix(in srgb, var(--ui-color-surface-elevated, #f8fafc) 24%, var(--ui-color-surface, #ffffff)) 100%
21
- );
15
+ --ui-animated-list-radius: calc(var(--ui-radius, 6px) + 4px);
16
+ --ui-animated-list-bg: var(--color-panel-solid, var(--ui-color-surface, #ffffff));
22
17
  --ui-animated-list-color: var(--ui-color-text, #0f172a);
23
- --ui-animated-list-border-color:
24
- color-mix(in srgb, var(--ui-color-border, rgba(15, 23, 42, 0.16)) 80%, transparent);
18
+ --ui-animated-list-border-color: var(--ui-color-line-subtle, color-mix(in srgb, var(--ui-color-border, #cbd5e1) 76%, transparent));
25
19
  --ui-animated-list-border: 1px solid var(--ui-animated-list-border-color);
26
- --ui-animated-list-shadow:
27
- 0 1px 2px rgba(15, 23, 42, 0.05),
28
- 0 16px 30px rgba(15, 23, 42, 0.08);
20
+ --ui-animated-list-shadow: none;
29
21
  --ui-animated-list-backdrop: none;
30
22
  --ui-animated-list-accent: var(--ui-color-primary, var(--ui-primary, #2563eb));
31
23
  --ui-animated-list-focus-ring: var(--ui-color-focus-ring, var(--ui-focus-ring, #2563eb));
32
24
 
33
- --ui-animated-list-item-radius: 16px;
25
+ --ui-animated-list-item-radius: var(--ui-control-radius-2, var(--ui-radius, 6px));
34
26
  --ui-animated-list-item-padding: 14px 16px;
35
27
  --ui-animated-list-item-min-block-size: 56px;
36
28
  --ui-animated-list-item-gap: 6px;
37
- --ui-animated-list-item-bg:
38
- linear-gradient(
39
- 180deg,
40
- color-mix(in srgb, var(--ui-color-surface, #ffffff) 92%, transparent),
41
- color-mix(in srgb, var(--ui-animated-list-accent) 4%, var(--ui-color-surface, #ffffff))
42
- );
43
- --ui-animated-list-item-border:
44
- 1px solid color-mix(in srgb, var(--ui-animated-list-accent) 10%, var(--ui-animated-list-border-color));
45
- --ui-animated-list-item-shadow:
46
- 0 1px 2px rgba(15, 23, 42, 0.04),
47
- 0 10px 18px rgba(15, 23, 42, 0.06);
29
+ --ui-animated-list-item-bg: var(--color-panel-solid, var(--ui-color-surface, #ffffff));
30
+ --ui-animated-list-item-border: 1px solid var(--ui-color-line-subtle, color-mix(in srgb, var(--ui-color-border, #cbd5e1) 76%, transparent));
31
+ --ui-animated-list-item-shadow: none;
48
32
  --ui-animated-list-item-color: inherit;
49
33
  --ui-animated-list-item-muted: var(--ui-color-muted, #526175);
50
34
  --ui-animated-list-item-backdrop: none;
@@ -615,7 +599,7 @@
615
599
  outline: none;
616
600
  border-color: color-mix(in srgb, var(--ui-animated-list-focus-ring) 24%, transparent);
617
601
  box-shadow:
618
- 0 0 0 3px color-mix(in srgb, var(--ui-animated-list-focus-ring) 18%, transparent),
602
+ 0 0 0 2px var(--ui-ring-color, var(--ui-animated-list-focus-ring)),
619
603
  var(--ui-animated-list-shadow);
620
604
  }
621
605
 
@@ -669,4 +653,4 @@
669
653
  </div>
670
654
  </div>
671
655
  </div>
672
- `),this._slotEl=this.root.querySelector("slot"),this._slotEl?.addEventListener("slotchange",this._boundSlotChange),this._syncRuntimeStyles(),this._syncItems(),this._syncTrigger(),this._autoStartIfNeeded()}shouldRenderOnAttributeChange(){return!1}_handleSlotChange(){this._syncItems(),this._phase==="complete"&&this._setPhase("complete"),this._autoStartIfNeeded()}_handleReducedMotionChange(){if(this._prefersReducedMotion()){this._clearTimers(),this._setPhase("complete");return}this._autoStartIfNeeded()}_bindReducedMotionWatcher(){typeof window>"u"||typeof window.matchMedia!="function"||this._mediaQuery||(this._mediaQuery=window.matchMedia("(prefers-reduced-motion: reduce)"),this._mediaQuery.addEventListener?.("change",this._boundReducedMotionChange),this._mediaQuery.addListener?.(this._boundReducedMotionChange))}_prefersReducedMotion(){return!!this._mediaQuery?.matches}_itemsFromSlot(){return this._slotEl?this._slotEl.assignedElements({flatten:!0}).filter(t=>t instanceof HTMLElement):[]}_syncItems(){const t=this._itemsFromSlot(),e=new Set(t);for(const i of this._items)e.has(i)||(i.style.removeProperty("--ui-animated-list-index"),i.removeAttribute("data-ui-animated-list-managed"),i.hasAttribute("data-ui-animated-list-owned")&&(i.removeAttribute("data-ui-animated-list-item"),i.removeAttribute("data-ui-animated-list-owned")));t.forEach((i,n)=>{i.setAttribute("data-ui-animated-list-managed",""),i.hasAttribute("data-ui-animated-list-item")||(i.setAttribute("data-ui-animated-list-item",""),i.setAttribute("data-ui-animated-list-owned","")),i.style.setProperty("--ui-animated-list-index",String(n))}),this._items=t,this._items.length||this._setPhase("complete")}_syncRuntimeStyles(){this.style.setProperty("--ui-animated-list-duration",m(this.getAttribute("duration"),o)),this.style.setProperty("--ui-animated-list-stagger",m(this.getAttribute("stagger"),l)),this.style.setProperty("--ui-animated-list-delay",m(this.getAttribute("delay"),d));const t=u(this.getAttribute("padding"));t?this.style.setProperty("--ui-animated-list-padding",t):this.style.removeProperty("--ui-animated-list-padding");const e=u(this.getAttribute("gap"));e?this.style.setProperty("--ui-animated-list-gap",e):this.style.removeProperty("--ui-animated-list-gap");const i=this.getAttribute("radius");if(!i||y.has(i.trim())){this.style.removeProperty("--ui-animated-list-radius"),this.style.removeProperty("--ui-animated-list-item-radius");return}const n=u(i);n?(this.style.setProperty("--ui-animated-list-radius",n),this.style.setProperty("--ui-animated-list-item-radius",n)):(this.style.removeProperty("--ui-animated-list-radius"),this.style.removeProperty("--ui-animated-list-item-radius"))}_trigger(){const t=this.getAttribute("trigger");return t&&v.has(t)?t:"load"}_hasLoop(){return this.hasAttribute("loop")}_animationPreset(){const t=this.getAttribute("animation");return t&&A.has(t)?t:"smooth"}_motionProfile(){switch(this._animationPreset()){case"calm":return{durationScale:1.12,distanceScale:.78,blurScale:.75,rotateScale:.82,overshootY:-1,overshootScale:1.01,easing:"cubic-bezier(0.22, 1, 0.36, 1)"};case"snappy":return{durationScale:.88,distanceScale:1.12,blurScale:.92,rotateScale:1.08,overshootY:-2.5,overshootScale:1.028,easing:"cubic-bezier(0.16, 1, 0.3, 1)"};case"bouncy":return{durationScale:1.08,distanceScale:1.18,blurScale:1,rotateScale:1.18,overshootY:-4,overshootScale:1.05,easing:"cubic-bezier(0.2, 1.18, 0.28, 1)"};default:return{durationScale:1,distanceScale:1,blurScale:1,rotateScale:1,overshootY:-2,overshootScale:1.02,easing:"cubic-bezier(0.2, 0.9, 0.24, 1)"}}}_loopDelayMs(){return s(this.getAttribute("loop-delay"),x)}_totalAnimationMs(){const t=Math.max(this._items.length,1),e=s(this.getAttribute("duration"),s(o,520))*this._motionProfile().durationScale,i=s(this.getAttribute("stagger"),s(l,90)),n=s(this.getAttribute("delay"),s(d,0));return Math.max(0,n+e+i*Math.max(0,t-1))}_scheduleCompletion(t){if(this._clearCompletionTimer(),this.hasAttribute("paused")){this._completionRemaining=t;return}if(this._completionRemaining=t,t<=0){queueMicrotask(()=>this._completeRun());return}this._completionStartedAt=Date.now();const e=this._playToken;this._completionTimer=setTimeout(()=>{e===this._playToken&&(this._completionTimer=null,this._completionRemaining=0,this._completeRun())},t)}_scheduleLoop(t){if(this._clearLoopTimer(),!this._hasLoop()||this.hasAttribute("paused")){this._loopRemaining=t;return}if(this._loopRemaining=t,t<=0){queueMicrotask(()=>this.replay());return}this._loopStartedAt=Date.now();const e=this._playToken;this._loopTimer=setTimeout(()=>{e===this._playToken&&(this._loopTimer=null,this._loopRemaining=0,this.replay())},t)}_completeRun(){this._setPhase("complete"),this._hasLoop()&&!this._prefersReducedMotion()&&this._scheduleLoop(this._loopDelayMs())}_pauseTimers(){if(this._completionTimer){const t=Date.now()-this._completionStartedAt;this._completionRemaining=Math.max(0,this._completionRemaining-t),this._clearCompletionTimer()}if(this._loopTimer){const t=Date.now()-this._loopStartedAt;this._loopRemaining=Math.max(0,this._loopRemaining-t),this._clearLoopTimer()}}_resumeTimers(){if(this._phase==="running"){this._completionRemaining>0?this._scheduleCompletion(this._completionRemaining):this._scheduleCompletion(this._totalAnimationMs());return}this._phase==="complete"&&this._hasLoop()&&(this._loopRemaining>0?this._scheduleLoop(this._loopRemaining):this._scheduleLoop(this._loopDelayMs()))}_clearTimers(){this._playToken+=1,this._clearAnimations(),this._clearCompletionTimer(),this._clearLoopTimer(),this._rafA&&cancelAnimationFrame(this._rafA),this._rafB&&cancelAnimationFrame(this._rafB),this._rafA=0,this._rafB=0,this._completionRemaining=0,this._loopRemaining=0}_clearCompletionTimer(){this._completionTimer&&(clearTimeout(this._completionTimer),this._completionTimer=null)}_clearLoopTimer(){this._loopTimer&&(clearTimeout(this._loopTimer),this._loopTimer=null)}_setPhase(t){this._phase=t,this.setAttribute("data-phase",t),this._syncStateAttributes()}_syncStateAttributes(){const t=this.hasAttribute("paused")&&(this._phase==="running"||this._loopRemaining>0);this.setAttribute("data-state",t?"paused":this._phase)}_syncTrigger(){if(this._trigger()!=="visible"){this._disconnectIntersectionObserver(),this._inView=!0;return}if(typeof IntersectionObserver>"u"){this._inView=!0;return}this._disconnectIntersectionObserver(),this._intersectionObserver=new IntersectionObserver(t=>{const e=t[0];e&&(this._inView=e.isIntersecting&&e.intersectionRatio>=p(this.getAttribute("threshold")),this._inView&&this._autoStartIfNeeded())},{threshold:[0,p(this.getAttribute("threshold")),1]}),this._intersectionObserver.observe(this)}_disconnectIntersectionObserver(){this._intersectionObserver?.disconnect(),this._intersectionObserver=null}_autoStartIfNeeded(){if(!(!this.isConnected||this.hasAttribute("paused"))){if(this._prefersReducedMotion()){this._setPhase("complete");return}if(this._trigger()==="manual"){this._phase==="idle"&&this._setPhase("ready");return}if(this._trigger()==="visible"&&!this._inView){this._phase==="idle"&&this._setPhase("ready");return}this._hasTriggeredOnce||this.play()}}_pauseAnimations(){for(const t of this._animations)try{t.pause()}catch{}}_resumeAnimations(){for(const t of this._animations)try{t.play()}catch{}}_clearAnimations(){for(const t of this._animations)try{t.cancel()}catch{}this._animations=[]}_effectKeyframes(){const t=this.getAttribute("effect"),e=this._motionProfile(),i=e.distanceScale,n=12*e.blurScale,r=e.rotateScale;switch(t){case"fade-down":return[{opacity:0,transform:`translate3d(0, ${-18*i}px, 0)`,filter:"none"},{opacity:1,transform:"translate3d(0, 0, 0)",filter:"none"}];case"slide-left":return[{opacity:0,transform:`translate3d(${28*i}px, 0, 0)`,filter:"none"},{opacity:1,transform:"translate3d(0, 0, 0)",filter:"none"}];case"slide-right":return[{opacity:0,transform:`translate3d(${-28*i}px, 0, 0)`,filter:"none"},{opacity:1,transform:"translate3d(0, 0, 0)",filter:"none"}];case"scale-in":return[{opacity:0,transform:`translate3d(0, ${10*i}px, 0) scale(${1-.06*i})`,filter:"none"},{opacity:1,transform:"translate3d(0, 0, 0) scale(1)",filter:"none"}];case"blur-in":return[{opacity:0,transform:`translate3d(0, ${14*i}px, 0) scale(${1-.02*i})`,filter:`blur(${n}px)`},{opacity:1,transform:"translate3d(0, 0, 0) scale(1)",filter:"blur(0)"}];case"pop":return[{opacity:0,transform:`translate3d(0, ${8*i}px, 0) scale(${1-.12*i})`,filter:"none",offset:0},{opacity:1,transform:`translate3d(0, ${e.overshootY}px, 0) scale(${e.overshootScale})`,filter:"none",offset:.6},{opacity:1,transform:"translate3d(0, 0, 0) scale(1)",filter:"none",offset:1}];case"flip-in":return[{opacity:0,transform:`perspective(900px) rotateX(${-18*r}deg) translate3d(0, ${14*i}px, 0)`,filter:"none"},{opacity:1,transform:"perspective(900px) rotateX(0deg) translate3d(0, 0, 0)",filter:"none"}];case"rotate-in":return[{opacity:0,transform:`translate3d(0, ${12*i}px, 0) rotate(${-10*r}deg) scale(${1-.03*i})`,filter:"none"},{opacity:1,transform:"translate3d(0, 0, 0) rotate(0deg) scale(1)",filter:"none"}];case"tilt-in":return[{opacity:0,transform:`perspective(900px) rotateY(${-14*r}deg) translate3d(0, ${12*i}px, 0)`,filter:"none"},{opacity:1,transform:"perspective(900px) rotateY(0deg) translate3d(0, 0, 0)",filter:"none"}];case"float-up":return[{opacity:0,transform:`translate3d(0, ${26*i}px, 0) scale(${1-.015*i})`,filter:"none",offset:0},{opacity:1,transform:`translate3d(0, ${Math.min(e.overshootY,-1)}px, 0) scale(${Math.max(1.01,e.overshootScale-.005)})`,filter:"none",offset:.62},{opacity:1,transform:"translate3d(0, 0, 0) scale(1)",filter:"none",offset:1}];case"swing-in":return[{opacity:0,transform:`translate3d(${-16*i}px, 0, 0) rotate(${-7*r}deg)`,filter:"none",offset:0},{opacity:1,transform:"translate3d(1px, 0, 0) rotate(1deg)",filter:"none",offset:.7},{opacity:1,transform:"translate3d(0, 0, 0) rotate(0deg)",filter:"none",offset:1}];default:return[{opacity:0,transform:`translate3d(0, ${18*i}px, 0)`,filter:"none"},{opacity:1,transform:"translate3d(0, 0, 0)",filter:"none"}]}}_startAnimations(){if(this._clearAnimations(),typeof this._items[0]?.animate!="function")return;const t=this._motionProfile(),e=s(this.getAttribute("duration"),s(o,520))*t.durationScale,i=s(this.getAttribute("stagger"),s(l,90)),n=s(this.getAttribute("delay"),s(d,0)),r=this._effectKeyframes();this._animations=this._items.map((c,b)=>{c.style.animation="none";const f=c.animate(r,{duration:e,delay:n+b*i,fill:"both",easing:t.easing});if(this.hasAttribute("paused"))try{f.pause()}catch{}return f})}}typeof customElements<"u"&&!customElements.get("ui-animated-list")&&customElements.define("ui-animated-list",g);exports.UIAnimatedList=g;
656
+ `),this._slotEl=this.root.querySelector("slot"),this._slotEl?.addEventListener("slotchange",this._boundSlotChange),this._syncRuntimeStyles(),this._syncItems(),this._syncTrigger(),this._autoStartIfNeeded()}shouldRenderOnAttributeChange(){return!1}_handleSlotChange(){this._syncItems(),this._phase==="complete"&&this._setPhase("complete"),this._autoStartIfNeeded()}_handleReducedMotionChange(){if(this._prefersReducedMotion()){this._clearTimers(),this._setPhase("complete");return}this._autoStartIfNeeded()}_bindReducedMotionWatcher(){typeof window>"u"||typeof window.matchMedia!="function"||this._mediaQuery||(this._mediaQuery=window.matchMedia("(prefers-reduced-motion: reduce)"),this._mediaQuery.addEventListener?.("change",this._boundReducedMotionChange),this._mediaQuery.addListener?.(this._boundReducedMotionChange))}_prefersReducedMotion(){return!!this._mediaQuery?.matches}_itemsFromSlot(){return this._slotEl?this._slotEl.assignedElements({flatten:!0}).filter(t=>t instanceof HTMLElement):[]}_syncItems(){const t=this._itemsFromSlot(),e=new Set(t);for(const i of this._items)e.has(i)||(i.style.removeProperty("--ui-animated-list-index"),i.removeAttribute("data-ui-animated-list-managed"),i.hasAttribute("data-ui-animated-list-owned")&&(i.removeAttribute("data-ui-animated-list-item"),i.removeAttribute("data-ui-animated-list-owned")));t.forEach((i,n)=>{i.setAttribute("data-ui-animated-list-managed",""),i.hasAttribute("data-ui-animated-list-item")||(i.setAttribute("data-ui-animated-list-item",""),i.setAttribute("data-ui-animated-list-owned","")),i.style.setProperty("--ui-animated-list-index",String(n))}),this._items=t,this._items.length||this._setPhase("complete")}_syncRuntimeStyles(){this.style.setProperty("--ui-animated-list-duration",m(this.getAttribute("duration"),o)),this.style.setProperty("--ui-animated-list-stagger",m(this.getAttribute("stagger"),l)),this.style.setProperty("--ui-animated-list-delay",m(this.getAttribute("delay"),d));const t=u(this.getAttribute("padding"));t?this.style.setProperty("--ui-animated-list-padding",t):this.style.removeProperty("--ui-animated-list-padding");const e=u(this.getAttribute("gap"));e?this.style.setProperty("--ui-animated-list-gap",e):this.style.removeProperty("--ui-animated-list-gap");const i=this.getAttribute("radius");if(!i||x.has(i.trim())){this.style.removeProperty("--ui-animated-list-radius"),this.style.removeProperty("--ui-animated-list-item-radius");return}const n=u(i);n?(this.style.setProperty("--ui-animated-list-radius",n),this.style.setProperty("--ui-animated-list-item-radius",n)):(this.style.removeProperty("--ui-animated-list-radius"),this.style.removeProperty("--ui-animated-list-item-radius"))}_trigger(){const t=this.getAttribute("trigger");return t&&v.has(t)?t:"load"}_hasLoop(){return this.hasAttribute("loop")}_animationPreset(){const t=this.getAttribute("animation");return t&&A.has(t)?t:"smooth"}_motionProfile(){switch(this._animationPreset()){case"calm":return{durationScale:1.12,distanceScale:.78,blurScale:.75,rotateScale:.82,overshootY:-1,overshootScale:1.01,easing:"cubic-bezier(0.22, 1, 0.36, 1)"};case"snappy":return{durationScale:.88,distanceScale:1.12,blurScale:.92,rotateScale:1.08,overshootY:-2.5,overshootScale:1.028,easing:"cubic-bezier(0.16, 1, 0.3, 1)"};case"bouncy":return{durationScale:1.08,distanceScale:1.18,blurScale:1,rotateScale:1.18,overshootY:-4,overshootScale:1.05,easing:"cubic-bezier(0.2, 1.18, 0.28, 1)"};default:return{durationScale:1,distanceScale:1,blurScale:1,rotateScale:1,overshootY:-2,overshootScale:1.02,easing:"cubic-bezier(0.2, 0.9, 0.24, 1)"}}}_loopDelayMs(){return s(this.getAttribute("loop-delay"),y)}_totalAnimationMs(){const t=Math.max(this._items.length,1),e=s(this.getAttribute("duration"),s(o,520))*this._motionProfile().durationScale,i=s(this.getAttribute("stagger"),s(l,90)),n=s(this.getAttribute("delay"),s(d,0));return Math.max(0,n+e+i*Math.max(0,t-1))}_scheduleCompletion(t){if(this._clearCompletionTimer(),this.hasAttribute("paused")){this._completionRemaining=t;return}if(this._completionRemaining=t,t<=0){queueMicrotask(()=>this._completeRun());return}this._completionStartedAt=Date.now();const e=this._playToken;this._completionTimer=setTimeout(()=>{e===this._playToken&&(this._completionTimer=null,this._completionRemaining=0,this._completeRun())},t)}_scheduleLoop(t){if(this._clearLoopTimer(),!this._hasLoop()||this.hasAttribute("paused")){this._loopRemaining=t;return}if(this._loopRemaining=t,t<=0){queueMicrotask(()=>this.replay());return}this._loopStartedAt=Date.now();const e=this._playToken;this._loopTimer=setTimeout(()=>{e===this._playToken&&(this._loopTimer=null,this._loopRemaining=0,this.replay())},t)}_completeRun(){this._setPhase("complete"),this._hasLoop()&&!this._prefersReducedMotion()&&this._scheduleLoop(this._loopDelayMs())}_pauseTimers(){if(this._completionTimer){const t=Date.now()-this._completionStartedAt;this._completionRemaining=Math.max(0,this._completionRemaining-t),this._clearCompletionTimer()}if(this._loopTimer){const t=Date.now()-this._loopStartedAt;this._loopRemaining=Math.max(0,this._loopRemaining-t),this._clearLoopTimer()}}_resumeTimers(){if(this._phase==="running"){this._completionRemaining>0?this._scheduleCompletion(this._completionRemaining):this._scheduleCompletion(this._totalAnimationMs());return}this._phase==="complete"&&this._hasLoop()&&(this._loopRemaining>0?this._scheduleLoop(this._loopRemaining):this._scheduleLoop(this._loopDelayMs()))}_clearTimers(){this._playToken+=1,this._clearAnimations(),this._clearCompletionTimer(),this._clearLoopTimer(),this._rafA&&cancelAnimationFrame(this._rafA),this._rafB&&cancelAnimationFrame(this._rafB),this._rafA=0,this._rafB=0,this._completionRemaining=0,this._loopRemaining=0}_clearCompletionTimer(){this._completionTimer&&(clearTimeout(this._completionTimer),this._completionTimer=null)}_clearLoopTimer(){this._loopTimer&&(clearTimeout(this._loopTimer),this._loopTimer=null)}_setPhase(t){this._phase=t,this.setAttribute("data-phase",t),this._syncStateAttributes()}_syncStateAttributes(){const t=this.hasAttribute("paused")&&(this._phase==="running"||this._loopRemaining>0);this.setAttribute("data-state",t?"paused":this._phase)}_syncTrigger(){if(this._trigger()!=="visible"){this._disconnectIntersectionObserver(),this._inView=!0;return}if(typeof IntersectionObserver>"u"){this._inView=!0;return}this._disconnectIntersectionObserver(),this._intersectionObserver=new IntersectionObserver(t=>{const e=t[0];e&&(this._inView=e.isIntersecting&&e.intersectionRatio>=p(this.getAttribute("threshold")),this._inView&&this._autoStartIfNeeded())},{threshold:[0,p(this.getAttribute("threshold")),1]}),this._intersectionObserver.observe(this)}_disconnectIntersectionObserver(){this._intersectionObserver?.disconnect(),this._intersectionObserver=null}_autoStartIfNeeded(){if(!(!this.isConnected||this.hasAttribute("paused"))){if(this._prefersReducedMotion()){this._setPhase("complete");return}if(this._trigger()==="manual"){this._phase==="idle"&&this._setPhase("ready");return}if(this._trigger()==="visible"&&!this._inView){this._phase==="idle"&&this._setPhase("ready");return}this._hasTriggeredOnce||this.play()}}_pauseAnimations(){for(const t of this._animations)try{t.pause()}catch{}}_resumeAnimations(){for(const t of this._animations)try{t.play()}catch{}}_clearAnimations(){for(const t of this._animations)try{t.cancel()}catch{}this._animations=[]}_effectKeyframes(){const t=this.getAttribute("effect"),e=this._motionProfile(),i=e.distanceScale,n=12*e.blurScale,r=e.rotateScale;switch(t){case"fade-down":return[{opacity:0,transform:`translate3d(0, ${-18*i}px, 0)`,filter:"none"},{opacity:1,transform:"translate3d(0, 0, 0)",filter:"none"}];case"slide-left":return[{opacity:0,transform:`translate3d(${28*i}px, 0, 0)`,filter:"none"},{opacity:1,transform:"translate3d(0, 0, 0)",filter:"none"}];case"slide-right":return[{opacity:0,transform:`translate3d(${-28*i}px, 0, 0)`,filter:"none"},{opacity:1,transform:"translate3d(0, 0, 0)",filter:"none"}];case"scale-in":return[{opacity:0,transform:`translate3d(0, ${10*i}px, 0) scale(${1-.06*i})`,filter:"none"},{opacity:1,transform:"translate3d(0, 0, 0) scale(1)",filter:"none"}];case"blur-in":return[{opacity:0,transform:`translate3d(0, ${14*i}px, 0) scale(${1-.02*i})`,filter:`blur(${n}px)`},{opacity:1,transform:"translate3d(0, 0, 0) scale(1)",filter:"blur(0)"}];case"pop":return[{opacity:0,transform:`translate3d(0, ${8*i}px, 0) scale(${1-.12*i})`,filter:"none",offset:0},{opacity:1,transform:`translate3d(0, ${e.overshootY}px, 0) scale(${e.overshootScale})`,filter:"none",offset:.6},{opacity:1,transform:"translate3d(0, 0, 0) scale(1)",filter:"none",offset:1}];case"flip-in":return[{opacity:0,transform:`perspective(900px) rotateX(${-18*r}deg) translate3d(0, ${14*i}px, 0)`,filter:"none"},{opacity:1,transform:"perspective(900px) rotateX(0deg) translate3d(0, 0, 0)",filter:"none"}];case"rotate-in":return[{opacity:0,transform:`translate3d(0, ${12*i}px, 0) rotate(${-10*r}deg) scale(${1-.03*i})`,filter:"none"},{opacity:1,transform:"translate3d(0, 0, 0) rotate(0deg) scale(1)",filter:"none"}];case"tilt-in":return[{opacity:0,transform:`perspective(900px) rotateY(${-14*r}deg) translate3d(0, ${12*i}px, 0)`,filter:"none"},{opacity:1,transform:"perspective(900px) rotateY(0deg) translate3d(0, 0, 0)",filter:"none"}];case"float-up":return[{opacity:0,transform:`translate3d(0, ${26*i}px, 0) scale(${1-.015*i})`,filter:"none",offset:0},{opacity:1,transform:`translate3d(0, ${Math.min(e.overshootY,-1)}px, 0) scale(${Math.max(1.01,e.overshootScale-.005)})`,filter:"none",offset:.62},{opacity:1,transform:"translate3d(0, 0, 0) scale(1)",filter:"none",offset:1}];case"swing-in":return[{opacity:0,transform:`translate3d(${-16*i}px, 0, 0) rotate(${-7*r}deg)`,filter:"none",offset:0},{opacity:1,transform:"translate3d(1px, 0, 0) rotate(1deg)",filter:"none",offset:.7},{opacity:1,transform:"translate3d(0, 0, 0) rotate(0deg)",filter:"none",offset:1}];default:return[{opacity:0,transform:`translate3d(0, ${18*i}px, 0)`,filter:"none"},{opacity:1,transform:"translate3d(0, 0, 0)",filter:"none"}]}}_startAnimations(){if(this._clearAnimations(),typeof this._items[0]?.animate!="function")return;const t=this._motionProfile(),e=s(this.getAttribute("duration"),s(o,520))*t.durationScale,i=s(this.getAttribute("stagger"),s(l,90)),n=s(this.getAttribute("delay"),s(d,0)),r=this._effectKeyframes();this._animations=this._items.map((c,b)=>{c.style.animation="none";const f=c.animate(r,{duration:e,delay:n+b*i,fill:"both",easing:t.easing});if(this.hasAttribute("paused"))try{f.pause()}catch{}return f})}}typeof customElements<"u"&&!customElements.get("ui-animated-list")&&customElements.define("ui-animated-list",g);exports.UIAnimatedList=g;
@@ -1,5 +1,5 @@
1
1
  import { E as b } from "./ElementBase-BeZT54Hj.mjs";
2
- const o = "520ms", l = "90ms", d = "0ms", _ = 1400, h = 0.24, x = /* @__PURE__ */ new Set(["none", "sm", "md", "lg", "full"]), y = /* @__PURE__ */ new Set(["load", "visible", "manual"]), v = /* @__PURE__ */ new Set(["calm", "smooth", "snappy", "bouncy"]), A = `
2
+ const o = "520ms", l = "90ms", d = "0ms", _ = 1400, h = 0.24, y = /* @__PURE__ */ new Set(["none", "sm", "md", "lg", "full"]), x = /* @__PURE__ */ new Set(["load", "visible", "manual"]), v = /* @__PURE__ */ new Set(["calm", "smooth", "snappy", "bouncy"]), A = `
3
3
  :host {
4
4
  --ui-animated-list-duration: ${o};
5
5
  --ui-animated-list-stagger: ${l};
@@ -13,39 +13,23 @@ const o = "520ms", l = "90ms", d = "0ms", _ = 1400, h = 0.24, x = /* @__PURE__ *
13
13
  --ui-animated-list-motion-rotate-scale: 1;
14
14
  --ui-animated-list-motion-overshoot-y: -2px;
15
15
  --ui-animated-list-motion-overshoot-scale: 1.02;
16
- --ui-animated-list-radius: var(--base-animated-list-radius, 20px);
17
- --ui-animated-list-bg:
18
- linear-gradient(
19
- 180deg,
20
- color-mix(in srgb, var(--ui-color-surface, #ffffff) 98%, transparent) 0%,
21
- color-mix(in srgb, var(--ui-color-surface-elevated, #f8fafc) 24%, var(--ui-color-surface, #ffffff)) 100%
22
- );
16
+ --ui-animated-list-radius: calc(var(--ui-radius, 6px) + 4px);
17
+ --ui-animated-list-bg: var(--color-panel-solid, var(--ui-color-surface, #ffffff));
23
18
  --ui-animated-list-color: var(--ui-color-text, #0f172a);
24
- --ui-animated-list-border-color:
25
- color-mix(in srgb, var(--ui-color-border, rgba(15, 23, 42, 0.16)) 80%, transparent);
19
+ --ui-animated-list-border-color: var(--ui-color-line-subtle, color-mix(in srgb, var(--ui-color-border, #cbd5e1) 76%, transparent));
26
20
  --ui-animated-list-border: 1px solid var(--ui-animated-list-border-color);
27
- --ui-animated-list-shadow:
28
- 0 1px 2px rgba(15, 23, 42, 0.05),
29
- 0 16px 30px rgba(15, 23, 42, 0.08);
21
+ --ui-animated-list-shadow: none;
30
22
  --ui-animated-list-backdrop: none;
31
23
  --ui-animated-list-accent: var(--ui-color-primary, var(--ui-primary, #2563eb));
32
24
  --ui-animated-list-focus-ring: var(--ui-color-focus-ring, var(--ui-focus-ring, #2563eb));
33
25
 
34
- --ui-animated-list-item-radius: 16px;
26
+ --ui-animated-list-item-radius: var(--ui-control-radius-2, var(--ui-radius, 6px));
35
27
  --ui-animated-list-item-padding: 14px 16px;
36
28
  --ui-animated-list-item-min-block-size: 56px;
37
29
  --ui-animated-list-item-gap: 6px;
38
- --ui-animated-list-item-bg:
39
- linear-gradient(
40
- 180deg,
41
- color-mix(in srgb, var(--ui-color-surface, #ffffff) 92%, transparent),
42
- color-mix(in srgb, var(--ui-animated-list-accent) 4%, var(--ui-color-surface, #ffffff))
43
- );
44
- --ui-animated-list-item-border:
45
- 1px solid color-mix(in srgb, var(--ui-animated-list-accent) 10%, var(--ui-animated-list-border-color));
46
- --ui-animated-list-item-shadow:
47
- 0 1px 2px rgba(15, 23, 42, 0.04),
48
- 0 10px 18px rgba(15, 23, 42, 0.06);
30
+ --ui-animated-list-item-bg: var(--color-panel-solid, var(--ui-color-surface, #ffffff));
31
+ --ui-animated-list-item-border: 1px solid var(--ui-color-line-subtle, color-mix(in srgb, var(--ui-color-border, #cbd5e1) 76%, transparent));
32
+ --ui-animated-list-item-shadow: none;
49
33
  --ui-animated-list-item-color: inherit;
50
34
  --ui-animated-list-item-muted: var(--ui-color-muted, #526175);
51
35
  --ui-animated-list-item-backdrop: none;
@@ -616,7 +600,7 @@ const o = "520ms", l = "90ms", d = "0ms", _ = 1400, h = 0.24, x = /* @__PURE__ *
616
600
  outline: none;
617
601
  border-color: color-mix(in srgb, var(--ui-animated-list-focus-ring) 24%, transparent);
618
602
  box-shadow:
619
- 0 0 0 3px color-mix(in srgb, var(--ui-animated-list-focus-ring) 18%, transparent),
603
+ 0 0 0 2px var(--ui-ring-color, var(--ui-animated-list-focus-ring)),
620
604
  var(--ui-animated-list-shadow);
621
605
  }
622
606
 
@@ -809,7 +793,7 @@ class S extends b {
809
793
  const e = u(this.getAttribute("gap"));
810
794
  e ? this.style.setProperty("--ui-animated-list-gap", e) : this.style.removeProperty("--ui-animated-list-gap");
811
795
  const i = this.getAttribute("radius");
812
- if (!i || x.has(i.trim())) {
796
+ if (!i || y.has(i.trim())) {
813
797
  this.style.removeProperty("--ui-animated-list-radius"), this.style.removeProperty("--ui-animated-list-item-radius");
814
798
  return;
815
799
  }
@@ -818,7 +802,7 @@ class S extends b {
818
802
  }
819
803
  _trigger() {
820
804
  const t = this.getAttribute("trigger");
821
- return t && y.has(t) ? t : "load";
805
+ return t && x.has(t) ? t : "load";
822
806
  }
823
807
  _hasLoop() {
824
808
  return this.hasAttribute("loop");
@@ -7,7 +7,7 @@
7
7
  --ui-animated-text-gap-block: 0.18em;
8
8
  --ui-animated-text-padding-inline: 0px;
9
9
  --ui-animated-text-padding-block: 0px;
10
- --ui-animated-text-radius: var(--base-animated-text-radius, 22px);
10
+ --ui-animated-text-radius: calc(var(--ui-radius, 6px) + 4px);
11
11
  --ui-animated-text-bg: transparent;
12
12
  --ui-animated-text-color: var(--ui-color-text, var(--ui-text, #0f172a));
13
13
  --ui-animated-text-border: 1px solid transparent;
@@ -18,7 +18,7 @@
18
18
  --ui-animated-text-font-size: 1.375rem;
19
19
  --ui-animated-text-line-height: 1.08;
20
20
  --ui-animated-text-letter-spacing: -0.03em;
21
- --ui-animated-text-font-weight: 700;
21
+ --ui-animated-text-font-weight: 600;
22
22
  --ui-animated-text-align: start;
23
23
  --ui-animated-text-max-inline-size: 100%;
24
24
  --ui-animated-text-ease: cubic-bezier(0.2, 0.9, 0.24, 1);
@@ -49,7 +49,7 @@
49
49
  --ui-animated-text-font-size: 1.375rem;
50
50
  --ui-animated-text-line-height: 1.08;
51
51
  --ui-animated-text-letter-spacing: -0.03em;
52
- --ui-animated-text-font-weight: 700;
52
+ --ui-animated-text-font-weight: 600;
53
53
  --ui-animated-text-safe-inline-end: 0.08em;
54
54
  --ui-animated-text-safe-block-end: 0.12em;
55
55
  }
@@ -427,7 +427,7 @@
427
427
  outline: none;
428
428
  border-color: color-mix(in srgb, var(--ui-animated-text-focus-ring) 24%, transparent);
429
429
  box-shadow:
430
- 0 0 0 3px color-mix(in srgb, var(--ui-animated-text-focus-ring) 18%, transparent),
430
+ 0 0 0 2px var(--ui-ring-color, var(--ui-animated-text-focus-ring)),
431
431
  var(--ui-animated-text-shadow);
432
432
  }
433
433
 
@@ -23,7 +23,7 @@ const k = "720ms", T = "55ms", A = "0ms", x = 1400, M = /* @__PURE__ */ new Set(
23
23
  --ui-animated-text-gap-block: 0.18em;
24
24
  --ui-animated-text-padding-inline: 0px;
25
25
  --ui-animated-text-padding-block: 0px;
26
- --ui-animated-text-radius: var(--base-animated-text-radius, 22px);
26
+ --ui-animated-text-radius: calc(var(--ui-radius, 6px) + 4px);
27
27
  --ui-animated-text-bg: transparent;
28
28
  --ui-animated-text-color: var(--ui-color-text, var(--ui-text, #0f172a));
29
29
  --ui-animated-text-border: 1px solid transparent;
@@ -34,7 +34,7 @@ const k = "720ms", T = "55ms", A = "0ms", x = 1400, M = /* @__PURE__ */ new Set(
34
34
  --ui-animated-text-font-size: 1.375rem;
35
35
  --ui-animated-text-line-height: 1.08;
36
36
  --ui-animated-text-letter-spacing: -0.03em;
37
- --ui-animated-text-font-weight: 700;
37
+ --ui-animated-text-font-weight: 600;
38
38
  --ui-animated-text-align: start;
39
39
  --ui-animated-text-max-inline-size: 100%;
40
40
  --ui-animated-text-ease: cubic-bezier(0.2, 0.9, 0.24, 1);
@@ -65,7 +65,7 @@ const k = "720ms", T = "55ms", A = "0ms", x = 1400, M = /* @__PURE__ */ new Set(
65
65
  --ui-animated-text-font-size: 1.375rem;
66
66
  --ui-animated-text-line-height: 1.08;
67
67
  --ui-animated-text-letter-spacing: -0.03em;
68
- --ui-animated-text-font-weight: 700;
68
+ --ui-animated-text-font-weight: 600;
69
69
  --ui-animated-text-safe-inline-end: 0.08em;
70
70
  --ui-animated-text-safe-block-end: 0.12em;
71
71
  }
@@ -443,7 +443,7 @@ const k = "720ms", T = "55ms", A = "0ms", x = 1400, M = /* @__PURE__ */ new Set(
443
443
  outline: none;
444
444
  border-color: color-mix(in srgb, var(--ui-animated-text-focus-ring) 24%, transparent);
445
445
  box-shadow:
446
- 0 0 0 3px color-mix(in srgb, var(--ui-animated-text-focus-ring) 18%, transparent),
446
+ 0 0 0 2px var(--ui-ring-color, var(--ui-animated-text-focus-ring)),
447
447
  var(--ui-animated-text-shadow);
448
448
  }
449
449
 
@@ -4,7 +4,7 @@
4
4
  --ui-app-header-height: var(--base-app-header-height, 64px);
5
5
  --ui-app-header-height-dense: var(--base-app-header-height-dense, 52px);
6
6
  --ui-app-header-height-large: 76px;
7
- --ui-app-header-bg-base: var(--base-app-header-bg, var(--color-panel, var(--ui-color-surface, #ffffff)));
7
+ --ui-app-header-bg-base: var(--base-app-header-bg, var(--color-panel-solid, var(--ui-color-surface, #ffffff)));
8
8
  --ui-app-header-bg: var(--ui-app-header-bg-base);
9
9
  --ui-app-header-sticky-bg-base: var(--base-app-header-sticky-bg, var(--ui-color-surface, #ffffff));
10
10
  --ui-app-header-surface-bg: var(--ui-app-header-bg);
@@ -12,7 +12,7 @@
12
12
  --ui-app-header-color: var(--ui-color-text, var(--ui-text, #202020));
13
13
  --ui-app-header-muted: color-mix(in srgb, var(--ui-app-header-color) 56%, var(--ui-color-muted, var(--ui-muted, #646464)) 44%);
14
14
  --ui-app-header-accent: var(--ui-color-primary, var(--ui-primary, #2563eb));
15
- --ui-app-header-border-color: color-mix(in srgb, var(--ui-color-border, var(--ui-border, rgba(15, 23, 42, 0.14))) 84%, transparent);
15
+ --ui-app-header-border-color: var(--ui-color-line-subtle, color-mix(in srgb, var(--ui-color-border, var(--ui-border, rgba(15, 23, 42, 0.14))) 84%, transparent));
16
16
  --ui-app-header-border: var(--base-app-header-border, 1px solid var(--ui-app-header-border-color));
17
17
  --ui-app-header-control-bg: color-mix(in srgb, var(--ui-app-header-bg-base) 90%, transparent);
18
18
  --ui-app-header-control-bg-hover: color-mix(in srgb, var(--ui-app-header-accent) 8%, var(--ui-app-header-bg-base));
@@ -20,7 +20,7 @@
20
20
  --ui-app-header-focus-ring: var(--ui-color-focus-ring, var(--ui-focus-ring, #2563eb));
21
21
  --ui-app-header-gap: var(--base-app-header-gap, var(--ui-default-gap, 8px));
22
22
  --ui-app-header-padding-x: var(--base-app-header-padding, 16px);
23
- --ui-app-header-radius: var(--base-app-header-radius, var(--ui-radius, 4px));
23
+ --ui-app-header-radius: var(--base-app-header-radius, var(--ui-radius, 6px));
24
24
  --ui-app-header-z: 60;
25
25
  --ui-app-header-shadow: var(--base-app-header-shadow, none);
26
26
  --ui-app-header-title-size: var(--ui-default-font-size, 14px);
@@ -29,7 +29,7 @@
29
29
  --ui-app-header-subtitle-size: 12px;
30
30
  --ui-app-header-subtitle-line-height: 16px;
31
31
  --ui-app-header-subtitle-weight: 500;
32
- --ui-app-header-control-radius: var(--base-app-header-control-radius, var(--ui-radius, 4px));
32
+ --ui-app-header-control-radius: var(--base-app-header-control-radius, var(--ui-radius, 6px));
33
33
  --ui-app-header-duration: var(--ui-motion-base, 170ms);
34
34
  --ui-app-header-easing: var(--ui-motion-easing, cubic-bezier(0.2, 0.8, 0.2, 1));
35
35
  color-scheme: light dark;
@@ -332,7 +332,7 @@
332
332
  --ui-app-header-muted: CanvasText;
333
333
  }
334
334
  }
335
- `;class i extends t.ElementBase{static get observedAttributes(){return["sticky","bordered","dense","headless","show-menu-button","variant","tone","size","radius","elevation"]}constructor(){super(),this._onRootClick=this._onRootClick.bind(this)}_normalizeRadius(e){if(e==null)return"var(--base-app-header-radius, var(--ui-radius, 4px))";const a=e.trim().toLowerCase();return a?a==="full"||a==="pill"?"999px":/^-?\d+(\.\d+)?$/.test(a)?`${a}px`:e:"var(--base-app-header-radius, var(--ui-radius, 4px))"}connectedCallback(){super.connectedCallback(),this.root.addEventListener("click",this._onRootClick),this.style.setProperty("--ui-app-header-radius",this._normalizeRadius(this.getAttribute("radius")))}disconnectedCallback(){this.root.removeEventListener("click",this._onRootClick),super.disconnectedCallback()}_onRootClick(e){e.target?.closest(".menu-btn")&&this.dispatchEvent(new CustomEvent("menu-trigger",{bubbles:!0}))}attributeChangedCallback(e,a,r){a!==r&&(e==="radius"&&this.style.setProperty("--ui-app-header-radius",this._normalizeRadius(r)),super.attributeChangedCallback(e,a,r))}render(){this.setContent(`
335
+ `;class i extends t.ElementBase{static get observedAttributes(){return["sticky","bordered","dense","headless","show-menu-button","variant","tone","size","radius","elevation"]}constructor(){super(),this._onRootClick=this._onRootClick.bind(this)}_normalizeRadius(e){if(e==null)return"var(--base-app-header-radius, var(--ui-radius, 6px))";const a=e.trim().toLowerCase();return a?a==="full"||a==="pill"?"999px":/^-?\d+(\.\d+)?$/.test(a)?`${a}px`:e:"var(--base-app-header-radius, var(--ui-radius, 6px))"}connectedCallback(){super.connectedCallback(),this.root.addEventListener("click",this._onRootClick),this.style.setProperty("--ui-app-header-radius",this._normalizeRadius(this.getAttribute("radius")))}disconnectedCallback(){this.root.removeEventListener("click",this._onRootClick),super.disconnectedCallback()}_onRootClick(e){e.target?.closest(".menu-btn")&&this.dispatchEvent(new CustomEvent("menu-trigger",{bubbles:!0}))}attributeChangedCallback(e,a,r){a!==r&&(e==="radius"&&this.style.setProperty("--ui-app-header-radius",this._normalizeRadius(r)),super.attributeChangedCallback(e,a,r))}render(){this.setContent(`
336
336
  <style>${p}</style>
337
337
  <header role="banner">
338
338
  <div class="start">
@@ -5,7 +5,7 @@ const t = `
5
5
  --ui-app-header-height: var(--base-app-header-height, 64px);
6
6
  --ui-app-header-height-dense: var(--base-app-header-height-dense, 52px);
7
7
  --ui-app-header-height-large: 76px;
8
- --ui-app-header-bg-base: var(--base-app-header-bg, var(--color-panel, var(--ui-color-surface, #ffffff)));
8
+ --ui-app-header-bg-base: var(--base-app-header-bg, var(--color-panel-solid, var(--ui-color-surface, #ffffff)));
9
9
  --ui-app-header-bg: var(--ui-app-header-bg-base);
10
10
  --ui-app-header-sticky-bg-base: var(--base-app-header-sticky-bg, var(--ui-color-surface, #ffffff));
11
11
  --ui-app-header-surface-bg: var(--ui-app-header-bg);
@@ -13,7 +13,7 @@ const t = `
13
13
  --ui-app-header-color: var(--ui-color-text, var(--ui-text, #202020));
14
14
  --ui-app-header-muted: color-mix(in srgb, var(--ui-app-header-color) 56%, var(--ui-color-muted, var(--ui-muted, #646464)) 44%);
15
15
  --ui-app-header-accent: var(--ui-color-primary, var(--ui-primary, #2563eb));
16
- --ui-app-header-border-color: color-mix(in srgb, var(--ui-color-border, var(--ui-border, rgba(15, 23, 42, 0.14))) 84%, transparent);
16
+ --ui-app-header-border-color: var(--ui-color-line-subtle, color-mix(in srgb, var(--ui-color-border, var(--ui-border, rgba(15, 23, 42, 0.14))) 84%, transparent));
17
17
  --ui-app-header-border: var(--base-app-header-border, 1px solid var(--ui-app-header-border-color));
18
18
  --ui-app-header-control-bg: color-mix(in srgb, var(--ui-app-header-bg-base) 90%, transparent);
19
19
  --ui-app-header-control-bg-hover: color-mix(in srgb, var(--ui-app-header-accent) 8%, var(--ui-app-header-bg-base));
@@ -21,7 +21,7 @@ const t = `
21
21
  --ui-app-header-focus-ring: var(--ui-color-focus-ring, var(--ui-focus-ring, #2563eb));
22
22
  --ui-app-header-gap: var(--base-app-header-gap, var(--ui-default-gap, 8px));
23
23
  --ui-app-header-padding-x: var(--base-app-header-padding, 16px);
24
- --ui-app-header-radius: var(--base-app-header-radius, var(--ui-radius, 4px));
24
+ --ui-app-header-radius: var(--base-app-header-radius, var(--ui-radius, 6px));
25
25
  --ui-app-header-z: 60;
26
26
  --ui-app-header-shadow: var(--base-app-header-shadow, none);
27
27
  --ui-app-header-title-size: var(--ui-default-font-size, 14px);
@@ -30,7 +30,7 @@ const t = `
30
30
  --ui-app-header-subtitle-size: 12px;
31
31
  --ui-app-header-subtitle-line-height: 16px;
32
32
  --ui-app-header-subtitle-weight: 500;
33
- --ui-app-header-control-radius: var(--base-app-header-control-radius, var(--ui-radius, 4px));
33
+ --ui-app-header-control-radius: var(--base-app-header-control-radius, var(--ui-radius, 6px));
34
34
  --ui-app-header-duration: var(--ui-motion-base, 170ms);
35
35
  --ui-app-header-easing: var(--ui-motion-easing, cubic-bezier(0.2, 0.8, 0.2, 1));
36
36
  color-scheme: light dark;
@@ -353,9 +353,9 @@ class p extends i {
353
353
  super(), this._onRootClick = this._onRootClick.bind(this);
354
354
  }
355
355
  _normalizeRadius(e) {
356
- if (e == null) return "var(--base-app-header-radius, var(--ui-radius, 4px))";
356
+ if (e == null) return "var(--base-app-header-radius, var(--ui-radius, 6px))";
357
357
  const a = e.trim().toLowerCase();
358
- return a ? a === "full" || a === "pill" ? "999px" : /^-?\d+(\.\d+)?$/.test(a) ? `${a}px` : e : "var(--base-app-header-radius, var(--ui-radius, 4px))";
358
+ return a ? a === "full" || a === "pill" ? "999px" : /^-?\d+(\.\d+)?$/.test(a) ? `${a}px` : e : "var(--base-app-header-radius, var(--ui-radius, 6px))";
359
359
  }
360
360
  connectedCallback() {
361
361
  super.connectedCallback(), this.root.addEventListener("click", this._onRootClick), this.style.setProperty("--ui-app-header-radius", this._normalizeRadius(this.getAttribute("radius")));
@@ -2,7 +2,7 @@
2
2
  :host {
3
3
  display: block;
4
4
  width: 100%;
5
- --ui-aspect-radius: var(--base-aspect-ratio-radius, var(--ui-radius, 4px));
5
+ --ui-aspect-radius: var(--base-aspect-ratio-radius, var(--ui-radius, 6px));
6
6
  --ui-aspect-border: var(--base-aspect-ratio-border, 1px solid color-mix(in srgb, var(--ui-color-border, rgba(15, 23, 42, 0.14)) 84%, transparent));
7
7
  --ui-aspect-bg-base: var(--base-aspect-ratio-bg, var(--color-panel-solid, var(--ui-color-surface, #ffffff)));
8
8
  --ui-aspect-bg: var(--ui-aspect-bg-base);
@@ -23,7 +23,7 @@
23
23
 
24
24
  :host([size='1']),
25
25
  :host([size='sm']) {
26
- --ui-aspect-radius: max(0px, calc(var(--base-aspect-ratio-radius, var(--ui-radius, 4px)) - 1px));
26
+ --ui-aspect-radius: max(0px, calc(var(--base-aspect-ratio-radius, var(--ui-radius, 6px)) - 1px));
27
27
  --ui-aspect-title-size: 13px;
28
28
  --ui-aspect-title-line-height: 18px;
29
29
  --ui-aspect-empty-icon-size: 28px;
@@ -36,7 +36,7 @@
36
36
 
37
37
  :host([size='3']),
38
38
  :host([size='lg']) {
39
- --ui-aspect-radius: max(0px, calc(var(--base-aspect-ratio-radius, var(--ui-radius, 4px)) + 4px));
39
+ --ui-aspect-radius: max(0px, calc(var(--base-aspect-ratio-radius, var(--ui-radius, 6px)) + 4px));
40
40
  --ui-aspect-title-size: 15px;
41
41
  --ui-aspect-title-line-height: 22px;
42
42
  --ui-aspect-empty-icon-size: 36px;
@@ -113,10 +113,9 @@
113
113
  position: absolute;
114
114
  inset: 0;
115
115
  pointer-events: none;
116
- background:
117
- radial-gradient(120% 80% at 100% 0%, color-mix(in srgb, var(--ui-aspect-highlight) 70%, transparent), transparent 58%),
118
- linear-gradient(180deg, color-mix(in srgb, #ffffff 36%, transparent), transparent 28%);
119
- opacity: 0.9;
116
+ /* No sheen: the surface is flat. */
117
+ background: none;
118
+ opacity: 0;
120
119
  }
121
120
 
122
121
  .surface::after {
@@ -199,11 +198,11 @@
199
198
  border-radius: var(--ui-aspect-badge-radius);
200
199
  padding: 3px 8px;
201
200
  font-size: 10px;
202
- font-weight: 700;
201
+ font-weight: 600;
203
202
  letter-spacing: 0.02em;
204
203
  text-transform: uppercase;
205
204
  line-height: 1.2;
206
- color: color-mix(in srgb, var(--ui-aspect-accent) 82%, var(--ui-aspect-color) 18%);
205
+ color: color-mix(in srgb, var(--ui-aspect-accent) 45%, var(--ui-color-text-strong, var(--ui-aspect-color)));
207
206
  background: color-mix(in srgb, var(--ui-aspect-accent) 14%, var(--ui-color-surface, #ffffff));
208
207
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ui-aspect-accent) 24%, transparent);
209
208
  pointer-events: none;
@@ -229,8 +228,7 @@
229
228
  }
230
229
 
231
230
  :host([interactive]):hover .frame {
232
- transform: translateY(-2px);
233
- box-shadow: 0 3px 6px rgba(15, 23, 42, 0.08), 0 22px 42px rgba(15, 23, 42, 0.14);
231
+ box-shadow: var(--shadow-3, 0 4px 12px rgba(15, 23, 42, 0.12));
234
232
  border-color: color-mix(in srgb, var(--ui-aspect-accent) 34%, var(--ui-color-border, rgba(15, 23, 42, 0.14)));
235
233
  }
236
234
 
@@ -269,7 +267,7 @@
269
267
  border: 1px solid CanvasText;
270
268
  }
271
269
  }
272
- `;function u(n){const e={width:16,height:9,ratio:1.7777777777777777,padding:56.25,text:"16/9"};if(!n)return e;const t=n.trim();if(!t)return e;const i=t.includes("/")?t.split("/"):t.includes(":")?t.split(":"):[];if(i.length===2){const r=Number(i[0]),a=Number(i[1]);return Number.isFinite(r)&&Number.isFinite(a)&&r>0&&a>0?{width:r,height:a,ratio:r/a,padding:a/r*100,text:`${r}/${a}`}:e}const s=Number(t);return!Number.isFinite(s)||s<=0?e:{width:s,height:1,ratio:s,padding:1/s*100,text:`${s}/1`}}function d(n){const e=(n||"").trim().toLowerCase();return e==="contain"?"contain":e==="fill"?"fill":e==="none"?"none":e==="scale-down"?"scale-down":"cover"}class o extends c.ElementBase{constructor(){super(),this._resizeObserver=null,this._contentObserver=null,this._lastSignature="",this._onResize=this._onResize.bind(this)}static get observedAttributes(){return["ratio","fit","tone","interactive","show-ratio-badge","headless","variant","size","radius","elevation"]}_normalizeRadius(e){if(e==null)return"var(--base-aspect-ratio-radius, var(--ui-radius, 4px))";const t=e.trim().toLowerCase();return t?t==="full"||t==="pill"?"999px":/^-?\d+(\.\d+)?$/.test(t)?`${t}px`:e:"var(--base-aspect-ratio-radius, var(--ui-radius, 4px))"}connectedCallback(){super.connectedCallback(),this.style.setProperty("--ui-aspect-radius",this._normalizeRadius(this.getAttribute("radius"))),this._observeResize(),this._observeContent()}disconnectedCallback(){this._unobserveResize(),this._unobserveContent(),super.disconnectedCallback()}_observeResize(){typeof window>"u"||this._resizeObserver||!window.ResizeObserver||(this._resizeObserver=new ResizeObserver(this._onResize),this._resizeObserver.observe(this))}_unobserveResize(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}_onResize(){const e=this.getBoundingClientRect();this.dispatchEvent(new CustomEvent("resize",{detail:{width:e.width,height:e.height},bubbles:!0}))}_observeContent(){this._contentObserver||typeof MutationObserver>"u"||(this._contentObserver=new MutationObserver(()=>this.requestRender()),this._contentObserver.observe(this,{childList:!0,subtree:!1}))}_unobserveContent(){this._contentObserver&&(this._contentObserver.disconnect(),this._contentObserver=null)}attributeChangedCallback(e,t,i){t!==i&&(e==="radius"&&this.style.setProperty("--ui-aspect-radius",this._normalizeRadius(i)),super.attributeChangedCallback(e,t,i))}get headless(){return this.hasAttribute("headless")}set headless(e){e!==this.headless&&(e?this.setAttribute("headless",""):this.removeAttribute("headless"))}render(){const e=u(this.getAttribute("ratio")),t=d(this.getAttribute("fit")),i=this.hasAttribute("show-ratio-badge"),s=this.children.length>0;this.setContent(`
270
+ `;function u(n){const e={width:16,height:9,ratio:1.7777777777777777,padding:56.25,text:"16/9"};if(!n)return e;const t=n.trim();if(!t)return e;const i=t.includes("/")?t.split("/"):t.includes(":")?t.split(":"):[];if(i.length===2){const r=Number(i[0]),a=Number(i[1]);return Number.isFinite(r)&&Number.isFinite(a)&&r>0&&a>0?{width:r,height:a,ratio:r/a,padding:a/r*100,text:`${r}/${a}`}:e}const s=Number(t);return!Number.isFinite(s)||s<=0?e:{width:s,height:1,ratio:s,padding:1/s*100,text:`${s}/1`}}function d(n){const e=(n||"").trim().toLowerCase();return e==="contain"?"contain":e==="fill"?"fill":e==="none"?"none":e==="scale-down"?"scale-down":"cover"}class o extends c.ElementBase{constructor(){super(),this._resizeObserver=null,this._contentObserver=null,this._lastSignature="",this._onResize=this._onResize.bind(this)}static get observedAttributes(){return["ratio","fit","tone","interactive","show-ratio-badge","headless","variant","size","radius","elevation"]}_normalizeRadius(e){if(e==null)return"var(--base-aspect-ratio-radius, var(--ui-radius, 6px))";const t=e.trim().toLowerCase();return t?t==="full"||t==="pill"?"999px":/^-?\d+(\.\d+)?$/.test(t)?`${t}px`:e:"var(--base-aspect-ratio-radius, var(--ui-radius, 6px))"}connectedCallback(){super.connectedCallback(),this.style.setProperty("--ui-aspect-radius",this._normalizeRadius(this.getAttribute("radius"))),this._observeResize(),this._observeContent()}disconnectedCallback(){this._unobserveResize(),this._unobserveContent(),super.disconnectedCallback()}_observeResize(){typeof window>"u"||this._resizeObserver||!window.ResizeObserver||(this._resizeObserver=new ResizeObserver(this._onResize),this._resizeObserver.observe(this))}_unobserveResize(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}_onResize(){const e=this.getBoundingClientRect();this.dispatchEvent(new CustomEvent("resize",{detail:{width:e.width,height:e.height},bubbles:!0}))}_observeContent(){this._contentObserver||typeof MutationObserver>"u"||(this._contentObserver=new MutationObserver(()=>this.requestRender()),this._contentObserver.observe(this,{childList:!0,subtree:!1}))}_unobserveContent(){this._contentObserver&&(this._contentObserver.disconnect(),this._contentObserver=null)}attributeChangedCallback(e,t,i){t!==i&&(e==="radius"&&this.style.setProperty("--ui-aspect-radius",this._normalizeRadius(i)),super.attributeChangedCallback(e,t,i))}get headless(){return this.hasAttribute("headless")}set headless(e){e!==this.headless&&(e?this.setAttribute("headless",""):this.removeAttribute("headless"))}render(){const e=u(this.getAttribute("ratio")),t=d(this.getAttribute("fit")),i=this.hasAttribute("show-ratio-badge"),s=this.children.length>0;this.setContent(`
273
271
  <style>${p}</style>
274
272
  <div class="frame" part="frame" style="--ui-aspect-padding:${e.padding}%;--ui-aspect-fit:${t};">
275
273
  <div class="surface" part="surface">
@@ -3,7 +3,7 @@ const c = `
3
3
  :host {
4
4
  display: block;
5
5
  width: 100%;
6
- --ui-aspect-radius: var(--base-aspect-ratio-radius, var(--ui-radius, 4px));
6
+ --ui-aspect-radius: var(--base-aspect-ratio-radius, var(--ui-radius, 6px));
7
7
  --ui-aspect-border: var(--base-aspect-ratio-border, 1px solid color-mix(in srgb, var(--ui-color-border, rgba(15, 23, 42, 0.14)) 84%, transparent));
8
8
  --ui-aspect-bg-base: var(--base-aspect-ratio-bg, var(--color-panel-solid, var(--ui-color-surface, #ffffff)));
9
9
  --ui-aspect-bg: var(--ui-aspect-bg-base);
@@ -24,7 +24,7 @@ const c = `
24
24
 
25
25
  :host([size='1']),
26
26
  :host([size='sm']) {
27
- --ui-aspect-radius: max(0px, calc(var(--base-aspect-ratio-radius, var(--ui-radius, 4px)) - 1px));
27
+ --ui-aspect-radius: max(0px, calc(var(--base-aspect-ratio-radius, var(--ui-radius, 6px)) - 1px));
28
28
  --ui-aspect-title-size: 13px;
29
29
  --ui-aspect-title-line-height: 18px;
30
30
  --ui-aspect-empty-icon-size: 28px;
@@ -37,7 +37,7 @@ const c = `
37
37
 
38
38
  :host([size='3']),
39
39
  :host([size='lg']) {
40
- --ui-aspect-radius: max(0px, calc(var(--base-aspect-ratio-radius, var(--ui-radius, 4px)) + 4px));
40
+ --ui-aspect-radius: max(0px, calc(var(--base-aspect-ratio-radius, var(--ui-radius, 6px)) + 4px));
41
41
  --ui-aspect-title-size: 15px;
42
42
  --ui-aspect-title-line-height: 22px;
43
43
  --ui-aspect-empty-icon-size: 36px;
@@ -114,10 +114,9 @@ const c = `
114
114
  position: absolute;
115
115
  inset: 0;
116
116
  pointer-events: none;
117
- background:
118
- radial-gradient(120% 80% at 100% 0%, color-mix(in srgb, var(--ui-aspect-highlight) 70%, transparent), transparent 58%),
119
- linear-gradient(180deg, color-mix(in srgb, #ffffff 36%, transparent), transparent 28%);
120
- opacity: 0.9;
117
+ /* No sheen: the surface is flat. */
118
+ background: none;
119
+ opacity: 0;
121
120
  }
122
121
 
123
122
  .surface::after {
@@ -200,11 +199,11 @@ const c = `
200
199
  border-radius: var(--ui-aspect-badge-radius);
201
200
  padding: 3px 8px;
202
201
  font-size: 10px;
203
- font-weight: 700;
202
+ font-weight: 600;
204
203
  letter-spacing: 0.02em;
205
204
  text-transform: uppercase;
206
205
  line-height: 1.2;
207
- color: color-mix(in srgb, var(--ui-aspect-accent) 82%, var(--ui-aspect-color) 18%);
206
+ color: color-mix(in srgb, var(--ui-aspect-accent) 45%, var(--ui-color-text-strong, var(--ui-aspect-color)));
208
207
  background: color-mix(in srgb, var(--ui-aspect-accent) 14%, var(--ui-color-surface, #ffffff));
209
208
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ui-aspect-accent) 24%, transparent);
210
209
  pointer-events: none;
@@ -230,8 +229,7 @@ const c = `
230
229
  }
231
230
 
232
231
  :host([interactive]):hover .frame {
233
- transform: translateY(-2px);
234
- box-shadow: 0 3px 6px rgba(15, 23, 42, 0.08), 0 22px 42px rgba(15, 23, 42, 0.14);
232
+ box-shadow: var(--shadow-3, 0 4px 12px rgba(15, 23, 42, 0.12));
235
233
  border-color: color-mix(in srgb, var(--ui-aspect-accent) 34%, var(--ui-color-border, rgba(15, 23, 42, 0.14)));
236
234
  }
237
235
 
@@ -319,9 +317,9 @@ class d extends o {
319
317
  ];
320
318
  }
321
319
  _normalizeRadius(e) {
322
- if (e == null) return "var(--base-aspect-ratio-radius, var(--ui-radius, 4px))";
320
+ if (e == null) return "var(--base-aspect-ratio-radius, var(--ui-radius, 6px))";
323
321
  const t = e.trim().toLowerCase();
324
- return t ? t === "full" || t === "pill" ? "999px" : /^-?\d+(\.\d+)?$/.test(t) ? `${t}px` : e : "var(--base-aspect-ratio-radius, var(--ui-radius, 4px))";
322
+ return t ? t === "full" || t === "pill" ? "999px" : /^-?\d+(\.\d+)?$/.test(t) ? `${t}px` : e : "var(--base-aspect-ratio-radius, var(--ui-radius, 6px))";
325
323
  }
326
324
  connectedCallback() {
327
325
  super.connectedCallback(), this.style.setProperty("--ui-aspect-radius", this._normalizeRadius(this.getAttribute("radius"))), this._observeResize(), this._observeContent();