@editora/ui-core 0.1.18 → 0.1.20

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 (307) hide show
  1. package/dist/{ElementBase-1b301e7f.js → ElementBase-EV6mVBUV.js} +1 -1
  2. package/dist/{ElementBase-909688f3.mjs → ElementBase-YlTLMsGk.mjs} +3 -3
  3. package/dist/accordion.cjs.js +3 -3
  4. package/dist/accordion.esm.js +39 -62
  5. package/dist/alert-dialog.cjs.js +19 -19
  6. package/dist/alert-dialog.esm.js +69 -87
  7. package/dist/alert.cjs.js +1 -1
  8. package/dist/alert.esm.js +4 -7
  9. package/dist/anchor.cjs.js +2 -2
  10. package/dist/anchor.esm.js +3 -3
  11. package/dist/animated-beam.cjs.js +83 -83
  12. package/dist/animated-beam.esm.js +250 -277
  13. package/dist/animated-list.cjs.js +4 -4
  14. package/dist/animated-list.esm.js +47 -61
  15. package/dist/animated-text.cjs.js +2 -2
  16. package/dist/animated-text.esm.js +13 -24
  17. package/dist/app-header.cjs.js +3 -3
  18. package/dist/app-header.esm.js +11 -13
  19. package/dist/aspect-ratio.cjs.js +1 -1
  20. package/dist/aspect-ratio.esm.js +4 -7
  21. package/dist/avatar.cjs.js +1 -1
  22. package/dist/avatar.esm.js +7 -13
  23. package/dist/badge.cjs.js +1 -1
  24. package/dist/badge.esm.js +4 -7
  25. package/dist/block-controls.cjs.js +2 -2
  26. package/dist/block-controls.esm.js +19 -35
  27. package/dist/box.cjs.js +1 -1
  28. package/dist/box.esm.js +8 -15
  29. package/dist/breadcrumb.cjs.js +2 -2
  30. package/dist/breadcrumb.esm.js +20 -37
  31. package/dist/button.cjs.js +1 -521
  32. package/dist/button.esm.js +2 -669
  33. package/dist/{calendar-2c11b824.mjs → calendar-DLY4acgn.mjs} +293 -342
  34. package/dist/{calendar-a8735e40.js → calendar-Dkof-FTK.js} +25 -25
  35. package/dist/calendar.cjs.js +1 -1
  36. package/dist/calendar.esm.js +8 -9
  37. package/dist/card.cjs.js +4 -4
  38. package/dist/card.esm.js +13 -19
  39. package/dist/chart.cjs.js +64 -64
  40. package/dist/chart.esm.js +223 -254
  41. package/dist/checkbox.cjs.js +1 -1
  42. package/dist/checkbox.esm.js +2 -3
  43. package/dist/collapsible.cjs.js +1 -1
  44. package/dist/collapsible.esm.js +5 -9
  45. package/dist/{collection-a1aac0c6.mjs → collection-C7URGjEI.mjs} +8 -14
  46. package/dist/collection.cjs.js +1 -1
  47. package/dist/collection.esm.js +4 -7
  48. package/dist/color-picker.cjs.js +9 -9
  49. package/dist/color-picker.esm.js +189 -252
  50. package/dist/combobox.cjs.js +13 -13
  51. package/dist/combobox.esm.js +93 -126
  52. package/dist/command-palette.cjs.js +3 -3
  53. package/dist/command-palette.esm.js +19 -30
  54. package/dist/command.cjs.js +4 -4
  55. package/dist/command.esm.js +41 -53
  56. package/dist/components/ui-button.d.ts +1 -0
  57. package/dist/components/ui-button.d.ts.map +1 -1
  58. package/dist/components/ui-date-picker.d.ts.map +1 -1
  59. package/dist/components/ui-date-range-picker.d.ts.map +1 -1
  60. package/dist/components/ui-date-range-time-picker.d.ts +1 -0
  61. package/dist/components/ui-date-range-time-picker.d.ts.map +1 -1
  62. package/dist/components/ui-date-time-picker.d.ts +1 -0
  63. package/dist/components/ui-date-time-picker.d.ts.map +1 -1
  64. package/dist/components/ui-orbiter.d.ts.map +1 -1
  65. package/dist/components/ui-skeleton.d.ts.map +1 -1
  66. package/dist/components/ui-split-button.d.ts +1 -0
  67. package/dist/components/ui-split-button.d.ts.map +1 -1
  68. package/dist/components/ui-time-picker.d.ts.map +1 -1
  69. package/dist/container.cjs.js +2 -2
  70. package/dist/container.esm.js +2 -3
  71. package/dist/context-menu.cjs.js +8 -8
  72. package/dist/context-menu.esm.js +157 -219
  73. package/dist/control-group.cjs.js +1 -1
  74. package/dist/control-group.esm.js +2 -3
  75. package/dist/data-table.cjs.js +4 -4
  76. package/dist/data-table.esm.js +299 -381
  77. package/dist/date-field.cjs.js +3 -3
  78. package/dist/date-field.esm.js +68 -80
  79. package/dist/date-picker.cjs.js +30 -9
  80. package/dist/date-picker.esm.js +90 -97
  81. package/dist/date-range-picker.cjs.js +22 -3
  82. package/dist/date-range-picker.esm.js +103 -108
  83. package/dist/date-range-time-picker.cjs.js +28 -12
  84. package/dist/date-range-time-picker.esm.js +137 -150
  85. package/dist/date-time-picker.cjs.js +25 -9
  86. package/dist/date-time-picker.esm.js +139 -155
  87. package/dist/date-time-utils-Dmost5Ee.js +1 -0
  88. package/dist/date-time-utils-y1N2gvG2.mjs +268 -0
  89. package/dist/description.cjs.js +1 -1
  90. package/dist/description.esm.js +3 -5
  91. package/dist/dialog.cjs.js +12 -12
  92. package/dist/dialog.esm.js +44 -63
  93. package/dist/direction-provider.cjs.js +1 -1
  94. package/dist/direction-provider.esm.js +2 -3
  95. package/dist/{dismissable-layer-9c7e6b58.mjs → dismissable-layer-BmPIoK80.mjs} +29 -33
  96. package/dist/dismissable-layer-DNfrKA20.js +1 -0
  97. package/dist/dismissable-layer.cjs.js +2 -2
  98. package/dist/dismissable-layer.esm.js +4 -6
  99. package/dist/dock.cjs.js +5 -5
  100. package/dist/dock.esm.js +134 -155
  101. package/dist/drawer.cjs.js +2 -2
  102. package/dist/drawer.esm.js +18 -35
  103. package/dist/dropdown.cjs.js +2 -2
  104. package/dist/dropdown.esm.js +119 -149
  105. package/dist/dropzone.cjs.js +1 -1
  106. package/dist/dropzone.esm.js +0 -1
  107. package/dist/empty-state.cjs.js +1 -1
  108. package/dist/empty-state.esm.js +1 -1
  109. package/dist/field-error.cjs.js +1 -1
  110. package/dist/field-error.esm.js +3 -5
  111. package/dist/field.cjs.js +5 -5
  112. package/dist/field.esm.js +27 -34
  113. package/dist/fieldset.cjs.js +4 -4
  114. package/dist/fieldset.esm.js +19 -24
  115. package/dist/file-upload.cjs.js +4 -4
  116. package/dist/file-upload.esm.js +69 -93
  117. package/dist/flex.cjs.js +1 -1
  118. package/dist/flex.esm.js +5 -9
  119. package/dist/floating-toolbar.cjs.js +4 -4
  120. package/dist/floating-toolbar.esm.js +60 -85
  121. package/dist/focus-scope-Bwug2gDv.js +1 -0
  122. package/dist/{focus-scope-103833ee.mjs → focus-scope-CmEsG5UZ.mjs} +39 -48
  123. package/dist/focus-scope.cjs.js +2 -2
  124. package/dist/focus-scope.esm.js +15 -20
  125. package/dist/form.cjs.js +2 -2
  126. package/dist/form.esm.js +26 -53
  127. package/dist/gantt.cjs.js +43 -43
  128. package/dist/gantt.esm.js +295 -322
  129. package/dist/grid.cjs.js +1 -1
  130. package/dist/grid.esm.js +5 -9
  131. package/dist/hover-card.cjs.js +4 -4
  132. package/dist/hover-card.esm.js +22 -28
  133. package/dist/icon-cloud.cjs.js +7 -7
  134. package/dist/icon-cloud.esm.js +48 -62
  135. package/dist/icon.cjs.js +1 -1
  136. package/dist/icon.esm.js +2 -4
  137. package/dist/index.cjs.js +1 -1
  138. package/dist/index.esm.js +378 -390
  139. package/dist/inline-edit.cjs.js +11 -11
  140. package/dist/inline-edit.esm.js +32 -36
  141. package/dist/input.cjs.js +17 -17
  142. package/dist/input.esm.js +50 -63
  143. package/dist/label.cjs.js +2 -2
  144. package/dist/label.esm.js +8 -17
  145. package/dist/layout.cjs.js +2 -2
  146. package/dist/layout.esm.js +20 -26
  147. package/dist/listbox-B6QgECax.js +46 -0
  148. package/dist/listbox-DJamVeFj.mjs +200 -0
  149. package/dist/listbox.cjs.js +1 -1
  150. package/dist/listbox.esm.js +2 -4
  151. package/dist/marquee.cjs.js +5 -5
  152. package/dist/marquee.esm.js +33 -50
  153. package/dist/masonry-grid.cjs.js +1 -1
  154. package/dist/masonry-grid.esm.js +5 -9
  155. package/dist/menu.cjs.js +3 -3
  156. package/dist/menu.esm.js +106 -126
  157. package/dist/menubar.cjs.js +5 -5
  158. package/dist/menubar.esm.js +118 -164
  159. package/dist/meter.cjs.js +2 -2
  160. package/dist/meter.esm.js +4 -4
  161. package/dist/multi-select.cjs.js +4 -4
  162. package/dist/multi-select.esm.js +120 -140
  163. package/dist/navigation-menu.cjs.js +4 -4
  164. package/dist/navigation-menu.esm.js +44 -55
  165. package/dist/number-field.cjs.js +2 -2
  166. package/dist/number-field.esm.js +73 -98
  167. package/dist/number-ticker.cjs.js +3 -3
  168. package/dist/number-ticker.esm.js +22 -43
  169. package/dist/odometer.cjs.js +1 -1
  170. package/dist/odometer.esm.js +5 -9
  171. package/dist/orbiter.cjs.js +13 -13
  172. package/dist/orbiter.esm.js +79 -90
  173. package/dist/{overlayManager-5bbd4dc3.mjs → overlayManager-BJjU1VA8.mjs} +4 -5
  174. package/dist/{overlayManager-0eda4e08.js → overlayManager-CSy3fJmJ.js} +1 -1
  175. package/dist/pagination.cjs.js +2 -2
  176. package/dist/pagination.esm.js +14 -18
  177. package/dist/{panel-group-a376cc5e.mjs → panel-group-8sVNnGxg.mjs} +24 -46
  178. package/dist/panel-group-CaD0_KQf.js +36 -0
  179. package/dist/panel-group.cjs.js +1 -1
  180. package/dist/panel-group.esm.js +2 -5
  181. package/dist/panel.cjs.js +4 -4
  182. package/dist/panel.esm.js +8 -10
  183. package/dist/password-field.cjs.js +9 -9
  184. package/dist/password-field.esm.js +62 -82
  185. package/dist/pin-input.cjs.js +3 -3
  186. package/dist/pin-input.esm.js +33 -39
  187. package/dist/placement-grid.cjs.js +4 -4
  188. package/dist/placement-grid.esm.js +108 -131
  189. package/dist/plugin-panel.cjs.js +7 -7
  190. package/dist/plugin-panel.esm.js +13 -15
  191. package/dist/popover.cjs.js +2 -2
  192. package/dist/popover.esm.js +21 -31
  193. package/dist/portal-DgpQ3Jo1.js +1 -0
  194. package/dist/{portal-fe73e5cc.mjs → portal-bR42gHvG.mjs} +43 -48
  195. package/dist/portal.cjs.js +2 -2
  196. package/dist/portal.esm.js +10 -19
  197. package/dist/{positioner-e9770c66.mjs → positioner-D0VGxtYU.mjs} +189 -209
  198. package/dist/positioner-D_fqyx_j.js +1 -0
  199. package/dist/positioner.cjs.js +2 -2
  200. package/dist/positioner.esm.js +11 -18
  201. package/dist/presence.cjs.js +1 -1
  202. package/dist/presence.esm.js +7 -13
  203. package/dist/progress.cjs.js +1 -1
  204. package/dist/progress.esm.js +5 -9
  205. package/dist/quick-actions.cjs.js +6 -6
  206. package/dist/quick-actions.esm.js +52 -62
  207. package/dist/radio-group.cjs.js +13 -13
  208. package/dist/radio-group.esm.js +39 -51
  209. package/dist/radio.cjs.js +1 -1
  210. package/dist/radio.esm.js +5 -9
  211. package/dist/rating.cjs.js +1 -1
  212. package/dist/rating.esm.js +12 -23
  213. package/dist/{roving-focus-group-4350c9a7.mjs → roving-focus-group-Dbm1Jko_.mjs} +3 -6
  214. package/dist/roving-focus-group.cjs.js +1 -1
  215. package/dist/roving-focus-group.esm.js +3 -5
  216. package/dist/runtime-CTaOSmBj.js +1 -0
  217. package/dist/{runtime-161f68a2.mjs → runtime-D1gFh1fS.mjs} +338 -366
  218. package/dist/runtime.cjs.js +1 -1
  219. package/dist/runtime.esm.js +6 -6
  220. package/dist/scroll-area.cjs.js +3 -3
  221. package/dist/scroll-area.esm.js +38 -46
  222. package/dist/{scroll-lock-31da444f.mjs → scroll-lock-LfqXXqsu.mjs} +5 -9
  223. package/dist/section.cjs.js +1 -1
  224. package/dist/section.esm.js +1 -1
  225. package/dist/select.cjs.js +7 -7
  226. package/dist/select.esm.js +67 -97
  227. package/dist/selection-popup.cjs.js +1 -1
  228. package/dist/selection-popup.esm.js +8 -15
  229. package/dist/separator.cjs.js +1 -1
  230. package/dist/separator.esm.js +1 -1
  231. package/dist/sidebar.cjs.js +18 -18
  232. package/dist/sidebar.esm.js +117 -139
  233. package/dist/skeleton.cjs.js +11 -11
  234. package/dist/skeleton.esm.js +27 -24
  235. package/dist/slider.cjs.js +1 -1
  236. package/dist/slider.esm.js +6 -11
  237. package/dist/slot.cjs.js +4 -4
  238. package/dist/slot.esm.js +16 -19
  239. package/dist/sortable.cjs.js +45 -45
  240. package/dist/sortable.esm.js +421 -524
  241. package/dist/spinning-text.cjs.js +12 -12
  242. package/dist/spinning-text.esm.js +80 -92
  243. package/dist/split-button.cjs.js +4 -4
  244. package/dist/split-button.esm.js +77 -62
  245. package/dist/splitter.cjs.js +1 -1
  246. package/dist/splitter.esm.js +1 -1
  247. package/dist/stepper.cjs.js +8 -8
  248. package/dist/stepper.esm.js +32 -52
  249. package/dist/switch.cjs.js +7 -7
  250. package/dist/switch.esm.js +23 -31
  251. package/dist/table.cjs.js +2 -2
  252. package/dist/table.esm.js +46 -56
  253. package/dist/tabs.cjs.js +3 -3
  254. package/dist/tabs.esm.js +35 -55
  255. package/dist/tags-input.cjs.js +4 -4
  256. package/dist/tags-input.esm.js +45 -62
  257. package/dist/textarea.cjs.js +6 -6
  258. package/dist/textarea.esm.js +32 -41
  259. package/dist/time-field.cjs.js +4 -4
  260. package/dist/time-field.esm.js +70 -84
  261. package/dist/time-picker.cjs.js +29 -21
  262. package/dist/time-picker.esm.js +96 -110
  263. package/dist/timeline.cjs.js +1 -1
  264. package/dist/timeline.esm.js +3 -5
  265. package/dist/toast.cjs.js +2 -2
  266. package/dist/toast.esm.js +33 -47
  267. package/dist/toggle-group.cjs.js +6 -6
  268. package/dist/toggle-group.esm.js +85 -105
  269. package/dist/toggle.cjs.js +1 -1
  270. package/dist/toggle.esm.js +3 -5
  271. package/dist/toolbar.cjs.js +1 -1
  272. package/dist/toolbar.esm.js +13 -24
  273. package/dist/tooltip.cjs.js +2 -2
  274. package/dist/tooltip.esm.js +31 -42
  275. package/dist/transfer-list.cjs.js +19 -19
  276. package/dist/transfer-list.esm.js +98 -111
  277. package/dist/{tree-dcd74a4a.mjs → tree-B3kE8ESs.mjs} +55 -62
  278. package/dist/tree-Dx_kv_ih.js +39 -0
  279. package/dist/tree-item.cjs.js +2 -2
  280. package/dist/tree-item.esm.js +2 -3
  281. package/dist/tree.cjs.js +1 -1
  282. package/dist/tree.esm.js +2 -5
  283. package/dist/ui-button-Q0GNNWKC.mjs +665 -0
  284. package/dist/ui-button-rXQOS9QJ.js +521 -0
  285. package/dist/{icon-9e9da03b.js → ui-icon-BzVNC_lr.js} +4 -4
  286. package/dist/{icon-e2a85cc1.mjs → ui-icon-YI6lyuqU.mjs} +58 -65
  287. package/dist/visually-hidden.cjs.js +1 -1
  288. package/dist/visually-hidden.esm.js +1 -1
  289. package/dist/wizard.cjs.js +14 -14
  290. package/dist/wizard.esm.js +85 -105
  291. package/package.json +3 -3
  292. package/dist/date-time-utils-66480de4.js +0 -1
  293. package/dist/date-time-utils-a2c7af25.mjs +0 -307
  294. package/dist/dismissable-layer-193e3bed.js +0 -1
  295. package/dist/focus-scope-2b12b4e7.js +0 -1
  296. package/dist/listbox-308789a0.mjs +0 -210
  297. package/dist/listbox-ef2f708e.js +0 -46
  298. package/dist/panel-group-40254cdd.js +0 -36
  299. package/dist/portal-c69756c0.js +0 -1
  300. package/dist/positioner-33529bb8.js +0 -1
  301. package/dist/runtime-3f13807b.js +0 -1
  302. package/dist/tree-0a7a8d05.js +0 -39
  303. /package/dist/{collection-a2969ad2.js → collection-qv8A8rq4.js} +0 -0
  304. /package/dist/{menu-item-styles-27fdbac4.mjs → menu-item-styles-CZiPwPwl.mjs} +0 -0
  305. /package/dist/{menu-item-styles-83ad1e22.js → menu-item-styles-CbNUEwP2.js} +0 -0
  306. /package/dist/{roving-focus-group-5c059bf9.js → roving-focus-group-BdJ_4Njm.js} +0 -0
  307. /package/dist/{scroll-lock-d7b0df21.js → scroll-lock-BX6e3Ced.js} +0 -0
package/dist/dock.cjs.js CHANGED
@@ -1,6 +1,6 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const T=require("./ElementBase-1b301e7f.js"),F=1.92,C=148,R=1,D=20,_=.18,m="12px",y="12px 14px",x="56px",O=56,k={xs:{gap:"8px",padding:"8px 10px",itemSize:40,iconSize:18,itemRadius:14},sm:{gap:"10px",padding:"10px 12px",itemSize:48,iconSize:20,itemRadius:16},md:{gap:m,padding:y,itemSize:56,iconSize:24,itemRadius:18},lg:{gap:"14px",padding:"14px 16px",itemSize:64,iconSize:28,itemRadius:20},xl:{gap:"18px",padding:"16px 20px",itemSize:74,iconSize:32,itemRadius:24}},v={calm:{response:.11,damping:.82,spread:.62,lift:.82},smooth:{response:.16,damping:.78,spread:.82,lift:1},snappy:{response:.22,damping:.74,spread:.92,lift:1.06},bouncy:{response:.24,damping:.66,spread:1,lift:1.12}},z=new Set(["gap","padding","radius","item-size","variant","tone","size","elevation"]),N=new Set(["orientation","magnification","distance","idle-scale","lift","smoothing","animation","gap","padding","item-size"]),P=new Set(["label-mode","label-placement"]),V=new Set(["none","sm","md","lg","full"]),q=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const T=require("./ElementBase-EV6mVBUV.js"),F=1.92,C=148,R=1,D=20,_=.18,g="12px",y="12px 14px",x="56px",O=56,k={xs:{gap:"8px",padding:"8px 10px",itemSize:40,iconSize:18,itemRadius:14},sm:{gap:"10px",padding:"10px 12px",itemSize:48,iconSize:20,itemRadius:16},md:{gap:g,padding:y,itemSize:56,iconSize:24,itemRadius:18},lg:{gap:"14px",padding:"14px 16px",itemSize:64,iconSize:28,itemRadius:20},xl:{gap:"18px",padding:"16px 20px",itemSize:74,iconSize:32,itemRadius:24}},v={calm:{response:.11,damping:.82,spread:.62,lift:.82},smooth:{response:.16,damping:.78,spread:.82,lift:1},snappy:{response:.22,damping:.74,spread:.92,lift:1.06},bouncy:{response:.24,damping:.66,spread:1,lift:1.12}},z=new Set(["gap","padding","radius","item-size","variant","tone","size","elevation"]),N=new Set(["orientation","magnification","distance","idle-scale","lift","smoothing","animation","gap","padding","item-size"]),P=new Set(["label-mode","label-placement"]),V=new Set(["none","sm","md","lg","full"]),q=`
2
2
  :host {
3
- --ui-dock-gap: ${m};
3
+ --ui-dock-gap: ${g};
4
4
  --ui-dock-padding: ${y};
5
5
  --ui-dock-radius: 24px;
6
6
  --ui-dock-item-size: ${x};
@@ -64,7 +64,7 @@
64
64
 
65
65
  :host([size="md"]),
66
66
  :host([size="2"]) {
67
- --ui-dock-gap: ${m};
67
+ --ui-dock-gap: ${g};
68
68
  --ui-dock-padding: ${y};
69
69
  --ui-dock-item-size: ${x};
70
70
  --ui-dock-icon-size: 24px;
@@ -335,7 +335,7 @@
335
335
  scroll-behavior: auto;
336
336
  }
337
337
  }
338
- `;function p(a,e,t){return Math.min(t,Math.max(e,a))}function I(a,e){if(a==null||a.trim()==="")return e;const t=Number(a);return Number.isFinite(t)?t:e}function g(a,e){return Math.max(0,I(a,e))}function U(a,e){return p(I(a,e),.01,1)}function h(a){if(a==null||a.trim()==="")return null;const e=a.trim().split(/\s+/).filter(Boolean);return e.length?e.map(t=>/^-?\d+(\.\d+)?$/.test(t)?`${t}px`:t).join(" "):null}function $(a){return typeof requestAnimationFrame=="function"?requestAnimationFrame(a):window.setTimeout(()=>a(Date.now()),16)}function E(a){if(a!=null){if(typeof cancelAnimationFrame=="function"){cancelAnimationFrame(a);return}window.clearTimeout(a)}}function B(a){return a instanceof HTMLElement}function H(a){return a.hasAttribute("disabled")||a.getAttribute("aria-disabled")==="true"}function j(a){return a.hasAttribute("data-active")||a.getAttribute("aria-current")==="page"||a.getAttribute("aria-current")==="true"}function A(a,e){return a==="top"||a==="bottom"||a==="start"||a==="end"?a:e==="horizontal"?"top":"end"}function S(a,e,t){var l;if(!a.length)return-1;let n=e;for(let r=0;r<a.length;r+=1)if(n=(n+t+a.length)%a.length,!((l=a[n])!=null&&l.disabled))return n;return-1}class L extends T.ElementBase{constructor(){super(),this._frameEl=null,this._slotEl=null,this._items=[],this._resizeObserver=null,this._mutationObserver=null,this._mediaQuery=null,this._raf=null,this._pointerActive=!1,this._pointerCoord=Number.NaN,this._focusedIndex=-1,this._rovingIndex=0,this._reducedMotion=!1,this._handleSlotChange=this._handleSlotChange.bind(this),this._handlePointerMove=this._handlePointerMove.bind(this),this._handlePointerLeave=this._handlePointerLeave.bind(this),this._handleFocusIn=this._handleFocusIn.bind(this),this._handleFocusOut=this._handleFocusOut.bind(this),this._handleKeyDown=this._handleKeyDown.bind(this),this._handleResize=this._handleResize.bind(this),this._handleLightDomMutation=this._handleLightDomMutation.bind(this),this._handleReducedMotionChange=this._handleReducedMotionChange.bind(this)}static get observedAttributes(){return["orientation","magnification","distance","idle-scale","lift","smoothing","animation","gap","padding","item-size","label-mode","label-placement","variant","tone","size","radius","elevation"]}connectedCallback(){super.connectedCallback(),this.hasAttribute("role")||this.setAttribute("role","toolbar"),this._observeLightDom(),this._bindReducedMotion(),this._syncHostStyles(),queueMicrotask(()=>this.refresh())}disconnectedCallback(){var e,t;if(this._slotEl&&(this._slotEl.removeEventListener("slotchange",this._handleSlotChange),this._slotEl=null),this._frameEl&&(this._frameEl.removeEventListener("pointermove",this._handlePointerMove),this._frameEl.removeEventListener("pointerleave",this._handlePointerLeave),this._frameEl=null),this.removeEventListener("focusin",this._handleFocusIn),this.removeEventListener("focusout",this._handleFocusOut),this.removeEventListener("keydown",this._handleKeyDown),(e=this._resizeObserver)==null||e.disconnect(),this._resizeObserver=null,(t=this._mutationObserver)==null||t.disconnect(),this._mutationObserver=null,this._mediaQuery){try{this._mediaQuery.removeEventListener("change",this._handleReducedMotionChange)}catch{this._mediaQuery.removeListener(this._handleReducedMotionChange)}this._mediaQuery=null}E(this._raf),this._raf=null,super.disconnectedCallback()}refresh(){this._collectItems(),this._syncHostStyles(),this._measureItems(),this._syncTabIndices(),this._updateTargets(),this._queueAnimation()}focusItem(e){var n,l;const t=typeof e=="number"?e:this._items.findIndex(r=>r.el.getAttribute("data-value")===String(e));t<0||t>=this._items.length||(n=this._items[t])!=null&&n.disabled||(this._focusedIndex=t,this._rovingIndex=t,this._syncTabIndices(),(l=this._items[t])==null||l.el.focus(),this._pointerActive=!1,this._pointerCoord=Number.NaN,this._updateTargets(),this._queueAnimation())}clearActive(){this._pointerActive=!1,this._pointerCoord=Number.NaN,this._focusedIndex=-1,this._updateTargets(),this._queueAnimation()}attributeChangedCallback(e,t,n){!e||t===n||!this.isConnected||(z.has(e)&&this._syncHostStyles(),P.has(e)&&this._syncItemChrome(),(N.has(e)||P.has(e)||z.has(e))&&this.refresh())}shouldRenderOnAttributeChange(){return!1}render(){this.setContent(`
338
+ `;function p(s,e,t){return Math.min(t,Math.max(e,s))}function S(s,e){if(s==null||s.trim()==="")return e;const t=Number(s);return Number.isFinite(t)?t:e}function m(s,e){return Math.max(0,S(s,e))}function U(s,e){return p(S(s,e),.01,1)}function h(s){if(s==null||s.trim()==="")return null;const e=s.trim().split(/\s+/).filter(Boolean);return e.length?e.map(t=>/^-?\d+(\.\d+)?$/.test(t)?`${t}px`:t).join(" "):null}function $(s){return typeof requestAnimationFrame=="function"?requestAnimationFrame(s):window.setTimeout(()=>s(Date.now()),16)}function E(s){if(s!=null){if(typeof cancelAnimationFrame=="function"){cancelAnimationFrame(s);return}window.clearTimeout(s)}}function B(s){return s instanceof HTMLElement}function H(s){return s.hasAttribute("disabled")||s.getAttribute("aria-disabled")==="true"}function j(s){return s.hasAttribute("data-active")||s.getAttribute("aria-current")==="page"||s.getAttribute("aria-current")==="true"}function I(s,e){return s==="top"||s==="bottom"||s==="start"||s==="end"?s:e==="horizontal"?"top":"end"}function A(s,e,t){if(!s.length)return-1;let a=e;for(let n=0;n<s.length;n+=1)if(a=(a+t+s.length)%s.length,!s[a]?.disabled)return a;return-1}class L extends T.ElementBase{constructor(){super(),this._frameEl=null,this._slotEl=null,this._items=[],this._resizeObserver=null,this._mutationObserver=null,this._mediaQuery=null,this._raf=null,this._pointerActive=!1,this._pointerCoord=Number.NaN,this._focusedIndex=-1,this._rovingIndex=0,this._reducedMotion=!1,this._handleSlotChange=this._handleSlotChange.bind(this),this._handlePointerMove=this._handlePointerMove.bind(this),this._handlePointerLeave=this._handlePointerLeave.bind(this),this._handleFocusIn=this._handleFocusIn.bind(this),this._handleFocusOut=this._handleFocusOut.bind(this),this._handleKeyDown=this._handleKeyDown.bind(this),this._handleResize=this._handleResize.bind(this),this._handleLightDomMutation=this._handleLightDomMutation.bind(this),this._handleReducedMotionChange=this._handleReducedMotionChange.bind(this)}static get observedAttributes(){return["orientation","magnification","distance","idle-scale","lift","smoothing","animation","gap","padding","item-size","label-mode","label-placement","variant","tone","size","radius","elevation"]}connectedCallback(){super.connectedCallback(),this.hasAttribute("role")||this.setAttribute("role","toolbar"),this._observeLightDom(),this._bindReducedMotion(),this._syncHostStyles(),queueMicrotask(()=>this.refresh())}disconnectedCallback(){if(this._slotEl&&(this._slotEl.removeEventListener("slotchange",this._handleSlotChange),this._slotEl=null),this._frameEl&&(this._frameEl.removeEventListener("pointermove",this._handlePointerMove),this._frameEl.removeEventListener("pointerleave",this._handlePointerLeave),this._frameEl=null),this.removeEventListener("focusin",this._handleFocusIn),this.removeEventListener("focusout",this._handleFocusOut),this.removeEventListener("keydown",this._handleKeyDown),this._resizeObserver?.disconnect(),this._resizeObserver=null,this._mutationObserver?.disconnect(),this._mutationObserver=null,this._mediaQuery){try{this._mediaQuery.removeEventListener("change",this._handleReducedMotionChange)}catch{this._mediaQuery.removeListener(this._handleReducedMotionChange)}this._mediaQuery=null}E(this._raf),this._raf=null,super.disconnectedCallback()}refresh(){this._collectItems(),this._syncHostStyles(),this._measureItems(),this._syncTabIndices(),this._updateTargets(),this._queueAnimation()}focusItem(e){const t=typeof e=="number"?e:this._items.findIndex(a=>a.el.getAttribute("data-value")===String(e));t<0||t>=this._items.length||this._items[t]?.disabled||(this._focusedIndex=t,this._rovingIndex=t,this._syncTabIndices(),this._items[t]?.el.focus(),this._pointerActive=!1,this._pointerCoord=Number.NaN,this._updateTargets(),this._queueAnimation())}clearActive(){this._pointerActive=!1,this._pointerCoord=Number.NaN,this._focusedIndex=-1,this._updateTargets(),this._queueAnimation()}attributeChangedCallback(e,t,a){!e||t===a||!this.isConnected||(z.has(e)&&this._syncHostStyles(),P.has(e)&&this._syncItemChrome(),(N.has(e)||P.has(e)||z.has(e))&&this.refresh())}shouldRenderOnAttributeChange(){return!1}render(){this.setContent(`
339
339
  <style>${q}</style>
340
340
  <div class="root" part="root">
341
341
  <div class="frame" part="frame">
@@ -344,4 +344,4 @@
344
344
  </div>
345
345
  </div>
346
346
  </div>
347
- `),this._bindElements(),this._syncHostStyles(),this.refresh()}_bindElements(){const e=this.root.querySelector(".frame");e&&e!==this._frameEl&&(this._frameEl&&(this._frameEl.removeEventListener("pointermove",this._handlePointerMove),this._frameEl.removeEventListener("pointerleave",this._handlePointerLeave)),e.addEventListener("pointermove",this._handlePointerMove),e.addEventListener("pointerleave",this._handlePointerLeave),this._frameEl=e);const t=this.root.querySelector("slot");t&&t!==this._slotEl&&(this._slotEl&&this._slotEl.removeEventListener("slotchange",this._handleSlotChange),t.addEventListener("slotchange",this._handleSlotChange),this._slotEl=t),this.removeEventListener("focusin",this._handleFocusIn),this.removeEventListener("focusout",this._handleFocusOut),this.removeEventListener("keydown",this._handleKeyDown),this.addEventListener("focusin",this._handleFocusIn),this.addEventListener("focusout",this._handleFocusOut),this.addEventListener("keydown",this._handleKeyDown),this._ensureResizeObserver()}_observeLightDom(){this._mutationObserver||typeof MutationObserver>"u"||(this._mutationObserver=new MutationObserver(this._handleLightDomMutation),this._mutationObserver.observe(this,{childList:!0,subtree:!0,characterData:!0}))}_ensureResizeObserver(){this._resizeObserver||typeof ResizeObserver>"u"||(this._resizeObserver=new ResizeObserver(this._handleResize),this._resizeObserver.observe(this))}_bindReducedMotion(){if(typeof window>"u"||typeof window.matchMedia!="function")return;const e=window.matchMedia("(prefers-reduced-motion: reduce)");this._reducedMotion=e.matches,this._mediaQuery=e;try{e.addEventListener("change",this._handleReducedMotionChange)}catch{e.addListener(this._handleReducedMotionChange)}}_handleReducedMotionChange(e){this._reducedMotion=e.matches,this.refresh()}_handleSlotChange(){this.refresh()}_handleLightDomMutation(){this.refresh()}_handleResize(){this._measureItems(),this._updateTargets(),this._queueAnimation()}_handlePointerMove(e){if("pointerType"in e&&e.pointerType==="touch"||!this._frameEl)return;const t=this._frameEl.getBoundingClientRect(),l=this._orientation()==="horizontal"?e.clientX-t.left:e.clientY-t.top;this._pointerActive=!0,this._pointerCoord=l,this._measureItems(),this._updateTargets(),this._queueAnimation()}_handlePointerLeave(){this._pointerActive=!1,this._pointerCoord=Number.NaN,this._updateTargets(),this._queueAnimation()}_handleFocusIn(e){var l,r;const t=(r=(l=e.target)==null?void 0:l.closest)==null?void 0:r.call(l,"[data-ui-dock-item]");if(!t)return;const n=this._items.findIndex(s=>s.el===t);n<0||(this._focusedIndex=n,this._rovingIndex=n,this._syncTabIndices(),this._pointerActive=!1,this._pointerCoord=Number.NaN,this._updateTargets(),this._queueAnimation())}_handleFocusOut(e){const t=e.relatedTarget;t&&this.contains(t)||(this._focusedIndex=-1,this._pointerActive||(this._updateTargets(),this._queueAnimation()))}_handleKeyDown(e){var r;if(e.defaultPrevented||!this._items.length)return;const t=this._orientation(),n=t==="horizontal"?["ArrowLeft"]:["ArrowUp"],l=t==="horizontal"?["ArrowRight"]:["ArrowDown"];if(n.includes(e.key)){e.preventDefault();const s=S(this._items,this._rovingIndex,-1);s>=0&&this.focusItem(s);return}if(l.includes(e.key)){e.preventDefault();const s=S(this._items,this._rovingIndex,1);s>=0&&this.focusItem(s);return}if(e.key==="Home"){e.preventDefault();const s=this._items.findIndex(i=>!i.disabled);s>=0&&this.focusItem(s);return}if(e.key==="End"){e.preventDefault();for(let s=this._items.length-1;s>=0;s-=1)if(!((r=this._items[s])!=null&&r.disabled)){this.focusItem(s);break}return}e.key==="Escape"&&this.clearActive()}_collectItems(){var l,r;const e=new Map(this._items.map(s=>[s.el,s])),t=Array.from(this.children).filter(B).map(s=>{const i=e.get(s),c=s.querySelector("[data-ui-dock-icon]"),u=s.querySelector("[data-ui-dock-label]"),o=s.querySelector("[data-ui-dock-badge]");return{el:s,iconEl:c,labelEl:u,badgeEl:o,center:(i==null?void 0:i.center)??0,currentScale:(i==null?void 0:i.currentScale)??this._idleScale(),targetScale:(i==null?void 0:i.targetScale)??this._idleScale(),currentLift:(i==null?void 0:i.currentLift)??0,targetLift:(i==null?void 0:i.targetLift)??0,labelVisible:(i==null?void 0:i.labelVisible)??!1,disabled:H(s),sticky:j(s),scaleVelocity:(i==null?void 0:i.scaleVelocity)??0,liftVelocity:(i==null?void 0:i.liftVelocity)??0}});this._items=t;const n=this._items.findIndex(s=>s.sticky&&!s.disabled);n>=0?this._rovingIndex=n:(!this._items[this._rovingIndex]||(l=this._items[this._rovingIndex])!=null&&l.disabled)&&(this._rovingIndex=this._items.findIndex(s=>!s.disabled)),this._rovingIndex<0&&(this._rovingIndex=0),(this._focusedIndex>=this._items.length||(r=this._items[this._focusedIndex])!=null&&r.disabled)&&(this._focusedIndex=-1),this._syncItemChrome()}_syncItemChrome(){const e=A(this.getAttribute("label-placement"),this._orientation()),t=this._labelMode(),n=this._orientation();this._items.forEach(l=>{var o;const{el:r,iconEl:s,labelEl:i,badgeEl:c,sticky:u}=l;if(r.setAttribute("data-ui-dock-item",""),r.style.setProperty("position","relative"),r.style.setProperty("display","inline-flex"),r.style.setProperty("align-items","center"),r.style.setProperty("justify-content","center"),r.style.setProperty("inline-size","var(--ui-dock-item-size)"),r.style.setProperty("block-size","var(--ui-dock-item-size)"),r.style.setProperty("min-inline-size","var(--ui-dock-item-size)"),r.style.setProperty("min-block-size","var(--ui-dock-item-size)"),r.style.setProperty("flex","0 0 var(--ui-dock-item-size)"),r.style.setProperty("box-sizing","border-box"),r.style.setProperty("background","transparent"),r.style.setProperty("border","none"),r.style.setProperty("padding","0"),r.style.setProperty("margin","0"),r.style.setProperty("color","inherit"),r.style.setProperty("text-decoration","none"),r.style.setProperty("outline","none"),r.style.setProperty("cursor",l.disabled?"not-allowed":"pointer"),r.style.setProperty("transform-origin",n==="horizontal"?"center bottom":"center center"),r.style.setProperty("touch-action","manipulation"),r.hasAttribute("tabindex")||(r.tabIndex=-1),!r.hasAttribute("aria-label")){const d=((o=i==null?void 0:i.textContent)==null?void 0:o.trim())||r.getAttribute("data-label")||r.getAttribute("title")||void 0;d&&r.setAttribute("aria-label",d)}u?r.setAttribute("data-dock-current","true"):r.removeAttribute("data-dock-current"),s&&(s.style.setProperty("display","inline-flex"),s.style.setProperty("align-items","center"),s.style.setProperty("justify-content","center"),s.style.setProperty("inline-size","100%"),s.style.setProperty("block-size","100%"),s.style.setProperty("border-radius","var(--ui-dock-item-radius)"),s.style.setProperty("background","var(--ui-dock-item-bg)"),s.style.setProperty("border","1px solid var(--ui-dock-item-border)"),s.style.setProperty("box-shadow","var(--ui-dock-item-shadow)"),s.style.setProperty("backdrop-filter","var(--ui-dock-item-backdrop)"),s.style.setProperty("font-size","var(--ui-dock-icon-size)"),s.style.setProperty("color","inherit"),s.style.setProperty("overflow","hidden"),s.style.setProperty("box-sizing","border-box")),i&&(i.setAttribute("aria-hidden","true"),i.style.setProperty("position","absolute"),i.style.setProperty("pointer-events","none"),i.style.setProperty("white-space","nowrap"),i.style.setProperty("padding","var(--ui-dock-label-padding)"),i.style.setProperty("border-radius","var(--ui-dock-label-radius)"),i.style.setProperty("background","var(--ui-dock-label-bg)"),i.style.setProperty("color","var(--ui-dock-label-color)"),i.style.setProperty("border","1px solid var(--ui-dock-label-border)"),i.style.setProperty("box-shadow","var(--ui-dock-label-shadow)"),i.style.setProperty("backdrop-filter","var(--ui-dock-label-backdrop)"),i.style.setProperty("font-size","var(--ui-dock-label-font-size)"),i.style.setProperty("font-weight","var(--ui-dock-label-font-weight)"),i.style.setProperty("line-height","1.2"),i.style.setProperty("letter-spacing","0.01em"),i.style.setProperty("min-inline-size","max-content"),i.style.setProperty("z-index","3"),i.style.setProperty("display",t==="none"?"none":"inline-flex"),i.style.removeProperty("top"),i.style.removeProperty("bottom"),i.style.removeProperty("left"),i.style.removeProperty("right"),e==="top"?(i.style.setProperty("left","50%"),i.style.setProperty("bottom","calc(100% + var(--ui-dock-label-offset))")):e==="bottom"?(i.style.setProperty("left","50%"),i.style.setProperty("top","calc(100% + var(--ui-dock-label-offset))")):e==="start"?(i.style.setProperty("right","calc(100% + var(--ui-dock-label-offset))"),i.style.setProperty("top","50%")):(i.style.setProperty("left","calc(100% + var(--ui-dock-label-offset))"),i.style.setProperty("top","50%"))),c&&(c.setAttribute("aria-hidden","true"),c.style.setProperty("position","absolute"),c.style.setProperty("inset-inline-end","-2px"),c.style.setProperty("inset-block-start","-2px"),c.style.setProperty("display","inline-flex"),c.style.setProperty("align-items","center"),c.style.setProperty("justify-content","center"),c.style.setProperty("min-inline-size","18px"),c.style.setProperty("min-block-size","18px"),c.style.setProperty("padding","0 6px"),c.style.setProperty("border-radius","999px"),c.style.setProperty("background","var(--ui-dock-accent)"),c.style.setProperty("color","#ffffff"),c.style.setProperty("font-size","11px"),c.style.setProperty("font-weight","700"),c.style.setProperty("box-shadow","0 8px 18px color-mix(in srgb, var(--ui-dock-accent) 32%, rgba(15, 23, 42, 0.18))"),c.style.setProperty("z-index","4"))})}_syncTabIndices(){var t;const e=this._items.findIndex(n=>!n.disabled);e>=0&&(this._rovingIndex<0||(t=this._items[this._rovingIndex])!=null&&t.disabled)&&(this._rovingIndex=e),this._items.forEach((n,l)=>{if(n.disabled){n.el.tabIndex=-1;return}n.el.tabIndex=l===this._rovingIndex?0:-1})}_measureItems(){if(!this._frameEl)return;const e=this._frameEl.getBoundingClientRect(),t=this._orientation(),n=t==="horizontal"?e.left:e.top;this._items.forEach(l=>{const r=l.el.getBoundingClientRect();l.center=(t==="horizontal"?r.left+r.width/2:r.top+r.height/2)-n})}_updateTargets(){const e=this._idleScale(),t=Math.max(e,this._magnification()),n=Math.max(1,this._distance()),l=this._lift()*this._motion().lift,r=this._labelMode();this._items.forEach((s,i)=>{let c=e;if(s.sticky&&(c=Math.max(c,e+(t-e)*.08)),this._pointerActive&&Number.isFinite(this._pointerCoord)){const o=Math.abs(this._pointerCoord-s.center),d=p(1-o/n,0,1);c=Math.max(c,e+(t-e)*d*d)}i===this._focusedIndex&&(c=Math.max(c,t)),s.disabled&&(c=e);const u=t===e?0:(c-e)/(t-e);s.targetScale=p(c,e,t),s.targetLift=u*l,s.labelVisible=r==="always"||r!=="none"&&(i===this._focusedIndex||u>.18)}),this._updateRuntimeState()}_applyFrame(e=!1){const t=this._smoothing(),n=this._motion(),l=p(n.response+t*.12,.05,.42),r=p(n.damping+(t-_)*.14,.52,.9),s=this._orientation(),i=A(this.getAttribute("label-placement"),s),c=this._mainAxisOffsets(n.spread);let u=!1;this._items.forEach((o,d)=>{e?(o.currentScale=o.targetScale,o.currentLift=o.targetLift,o.scaleVelocity=0,o.liftVelocity=0):(o.scaleVelocity=o.scaleVelocity*r+(o.targetScale-o.currentScale)*l,o.liftVelocity=o.liftVelocity*r+(o.targetLift-o.currentLift)*l,o.currentScale+=o.scaleVelocity,o.currentLift+=o.liftVelocity,Math.abs(o.targetScale-o.currentScale)<.002&&Math.abs(o.scaleVelocity)<.002&&(o.currentScale=o.targetScale,o.scaleVelocity=0),Math.abs(o.targetLift-o.currentLift)<.002&&Math.abs(o.liftVelocity)<.002&&(o.currentLift=o.targetLift,o.liftVelocity=0)),(Math.abs(o.targetScale-o.currentScale)>=.002||Math.abs(o.targetLift-o.currentLift)>=.002||Math.abs(o.scaleVelocity)>=.002||Math.abs(o.liftVelocity)>=.002)&&(u=!0);const b=c[d]??0,w=s==="horizontal"?b:i==="start"?-o.currentLift*.28:o.currentLift*.28,M=s==="horizontal"?-o.currentLift:b;if(o.el.style.setProperty("transform",`translate3d(${w}px, ${M}px, 0) scale(${o.currentScale})`),o.el.style.setProperty("z-index",String(100+Math.round(o.currentScale*100)+d)),o.iconEl){const f=d===this._focusedIndex?"0 0 0 3px color-mix(in srgb, var(--ui-dock-focus-ring) 26%, transparent), ":o.sticky?"0 0 0 2px color-mix(in srgb, var(--ui-dock-accent) 22%, transparent), ":"";o.iconEl.style.setProperty("box-shadow",`${f}var(--ui-dock-item-shadow)`),o.iconEl.style.setProperty("border-color",o.sticky||d===this._focusedIndex?"color-mix(in srgb, var(--ui-dock-accent) 30%, var(--ui-dock-item-border))":"var(--ui-dock-item-border)")}if(o.labelEl){const f=o.labelVisible;o.labelEl.style.setProperty("opacity",f?"1":"0"),o.labelEl.style.setProperty("transform",this._labelTransform(i,f)),o.labelEl.style.setProperty("filter",f?"blur(0px)":"blur(6px)")}}),u&&this._queueAnimation()}_queueAnimation(){if(this._reducedMotion){E(this._raf),this._raf=null,this._applyFrame(!0);return}this._raf==null&&(this._raf=$(()=>{this._raf=null,this._applyFrame(!1)}))}_mainAxisOffsets(e){if(this._items.length<2)return this._items.map(()=>0);const t=this._resolvedItemSizePx(),n=this._resolvedGapPx(),l=t+n,r=[0];for(let i=1;i<this._items.length;i+=1){const c=this._items[i-1],u=this._items[i],o=t*c.currentScale/2,d=t*u.currentScale/2,b=Math.max(0,o+d-l);r[i]=r[i-1]+b*e}const s=r[r.length-1]/2;return r.map(i=>i-s)}_labelTransform(e,t){return e==="top"?t?"translate3d(-50%, 0, 0)":"translate3d(-50%, 6px, 0)":e==="bottom"?t?"translate3d(-50%, 0, 0)":"translate3d(-50%, -6px, 0)":e==="start"?t?"translate3d(0, -50%, 0)":"translate3d(6px, -50%, 0)":t?"translate3d(0, -50%, 0)":"translate3d(-6px, -50%, 0)"}_syncHostStyles(){const e=h(this.getAttribute("gap"));e?this.style.setProperty("--ui-dock-gap",e):this.style.removeProperty("--ui-dock-gap");const t=h(this.getAttribute("padding"));t?this.style.setProperty("--ui-dock-padding",t):this.style.removeProperty("--ui-dock-padding");const n=h(this.getAttribute("item-size"));n?(this.style.setProperty("--ui-dock-item-size",n),this.style.setProperty("--ui-dock-icon-size",`calc(${n} * 0.44)`)):(this.style.removeProperty("--ui-dock-item-size"),this.style.removeProperty("--ui-dock-icon-size"));const l=this.getAttribute("radius");if(l&&!V.has(l)){const r=h(l)||l;this.style.setProperty("--ui-dock-radius",r),this.style.setProperty("--ui-dock-item-radius",`calc(${r} * 0.82)`)}else this.style.removeProperty("--ui-dock-radius"),this.style.removeProperty("--ui-dock-item-radius")}_orientation(){return this.getAttribute("orientation")==="vertical"?"vertical":"horizontal"}_motion(){const e=this.getAttribute("animation");return e==="calm"||e==="snappy"||e==="bouncy"?v[e]:v.smooth}_labelMode(){const e=this.getAttribute("label-mode");return e==="always"||e==="none"?e:"hover"}_magnification(){return Math.max(this._idleScale(),g(this.getAttribute("magnification"),F))}_distance(){return g(this.getAttribute("distance"),C)}_idleScale(){return Math.max(.5,g(this.getAttribute("idle-scale"),R))}_lift(){return g(this.getAttribute("lift"),D)}_smoothing(){return U(this.getAttribute("smoothing"),_)}_sizeToken(){const e=this.getAttribute("size");return e==="xs"||e==="0"?"xs":e==="sm"||e==="1"?"sm":e==="lg"||e==="3"?"lg":e==="xl"||e==="4"?"xl":"md"}_resolvedItemSizePx(){var t;const e=h(this.getAttribute("item-size"));if(e){const n=Number.parseFloat(e);if(Number.isFinite(n))return n}return((t=k[this._sizeToken()])==null?void 0:t.itemSize)??O}_resolvedGapPx(){const e=h(this.getAttribute("gap"));if(e){const n=Number.parseFloat(e);if(Number.isFinite(n))return n}const t=k[this._sizeToken()];return t?Number.parseFloat(t.gap):Number.parseFloat(m)}_updateRuntimeState(){const e=this._focusedIndex>=0?"keyboard":this._pointerActive?"pointer":"idle";this.setAttribute("data-state",e)}}typeof customElements<"u"&&!customElements.get("ui-dock")&&customElements.define("ui-dock",L);exports.UIDock=L;
347
+ `),this._bindElements(),this._syncHostStyles(),this.refresh()}_bindElements(){const e=this.root.querySelector(".frame");e&&e!==this._frameEl&&(this._frameEl&&(this._frameEl.removeEventListener("pointermove",this._handlePointerMove),this._frameEl.removeEventListener("pointerleave",this._handlePointerLeave)),e.addEventListener("pointermove",this._handlePointerMove),e.addEventListener("pointerleave",this._handlePointerLeave),this._frameEl=e);const t=this.root.querySelector("slot");t&&t!==this._slotEl&&(this._slotEl&&this._slotEl.removeEventListener("slotchange",this._handleSlotChange),t.addEventListener("slotchange",this._handleSlotChange),this._slotEl=t),this.removeEventListener("focusin",this._handleFocusIn),this.removeEventListener("focusout",this._handleFocusOut),this.removeEventListener("keydown",this._handleKeyDown),this.addEventListener("focusin",this._handleFocusIn),this.addEventListener("focusout",this._handleFocusOut),this.addEventListener("keydown",this._handleKeyDown),this._ensureResizeObserver()}_observeLightDom(){this._mutationObserver||typeof MutationObserver>"u"||(this._mutationObserver=new MutationObserver(this._handleLightDomMutation),this._mutationObserver.observe(this,{childList:!0,subtree:!0,characterData:!0}))}_ensureResizeObserver(){this._resizeObserver||typeof ResizeObserver>"u"||(this._resizeObserver=new ResizeObserver(this._handleResize),this._resizeObserver.observe(this))}_bindReducedMotion(){if(typeof window>"u"||typeof window.matchMedia!="function")return;const e=window.matchMedia("(prefers-reduced-motion: reduce)");this._reducedMotion=e.matches,this._mediaQuery=e;try{e.addEventListener("change",this._handleReducedMotionChange)}catch{e.addListener(this._handleReducedMotionChange)}}_handleReducedMotionChange(e){this._reducedMotion=e.matches,this.refresh()}_handleSlotChange(){this.refresh()}_handleLightDomMutation(){this.refresh()}_handleResize(){this._measureItems(),this._updateTargets(),this._queueAnimation()}_handlePointerMove(e){if("pointerType"in e&&e.pointerType==="touch"||!this._frameEl)return;const t=this._frameEl.getBoundingClientRect(),n=this._orientation()==="horizontal"?e.clientX-t.left:e.clientY-t.top;this._pointerActive=!0,this._pointerCoord=n,this._measureItems(),this._updateTargets(),this._queueAnimation()}_handlePointerLeave(){this._pointerActive=!1,this._pointerCoord=Number.NaN,this._updateTargets(),this._queueAnimation()}_handleFocusIn(e){const t=e.target?.closest?.("[data-ui-dock-item]");if(!t)return;const a=this._items.findIndex(n=>n.el===t);a<0||(this._focusedIndex=a,this._rovingIndex=a,this._syncTabIndices(),this._pointerActive=!1,this._pointerCoord=Number.NaN,this._updateTargets(),this._queueAnimation())}_handleFocusOut(e){const t=e.relatedTarget;t&&this.contains(t)||(this._focusedIndex=-1,this._pointerActive||(this._updateTargets(),this._queueAnimation()))}_handleKeyDown(e){if(e.defaultPrevented||!this._items.length)return;const t=this._orientation(),a=t==="horizontal"?["ArrowLeft"]:["ArrowUp"],n=t==="horizontal"?["ArrowRight"]:["ArrowDown"];if(a.includes(e.key)){e.preventDefault();const i=A(this._items,this._rovingIndex,-1);i>=0&&this.focusItem(i);return}if(n.includes(e.key)){e.preventDefault();const i=A(this._items,this._rovingIndex,1);i>=0&&this.focusItem(i);return}if(e.key==="Home"){e.preventDefault();const i=this._items.findIndex(c=>!c.disabled);i>=0&&this.focusItem(i);return}if(e.key==="End"){e.preventDefault();for(let i=this._items.length-1;i>=0;i-=1)if(!this._items[i]?.disabled){this.focusItem(i);break}return}e.key==="Escape"&&this.clearActive()}_collectItems(){const e=new Map(this._items.map(n=>[n.el,n])),t=Array.from(this.children).filter(B).map(n=>{const i=e.get(n),c=n.querySelector("[data-ui-dock-icon]"),o=n.querySelector("[data-ui-dock-label]"),l=n.querySelector("[data-ui-dock-badge]");return{el:n,iconEl:c,labelEl:o,badgeEl:l,center:i?.center??0,currentScale:i?.currentScale??this._idleScale(),targetScale:i?.targetScale??this._idleScale(),currentLift:i?.currentLift??0,targetLift:i?.targetLift??0,labelVisible:i?.labelVisible??!1,disabled:H(n),sticky:j(n),scaleVelocity:i?.scaleVelocity??0,liftVelocity:i?.liftVelocity??0}});this._items=t;const a=this._items.findIndex(n=>n.sticky&&!n.disabled);a>=0?this._rovingIndex=a:(!this._items[this._rovingIndex]||this._items[this._rovingIndex]?.disabled)&&(this._rovingIndex=this._items.findIndex(n=>!n.disabled)),this._rovingIndex<0&&(this._rovingIndex=0),(this._focusedIndex>=this._items.length||this._items[this._focusedIndex]?.disabled)&&(this._focusedIndex=-1),this._syncItemChrome()}_syncItemChrome(){const e=I(this.getAttribute("label-placement"),this._orientation()),t=this._labelMode(),a=this._orientation();this._items.forEach(n=>{const{el:i,iconEl:c,labelEl:o,badgeEl:l,sticky:d}=n;if(i.setAttribute("data-ui-dock-item",""),i.style.setProperty("position","relative"),i.style.setProperty("display","inline-flex"),i.style.setProperty("align-items","center"),i.style.setProperty("justify-content","center"),i.style.setProperty("inline-size","var(--ui-dock-item-size)"),i.style.setProperty("block-size","var(--ui-dock-item-size)"),i.style.setProperty("min-inline-size","var(--ui-dock-item-size)"),i.style.setProperty("min-block-size","var(--ui-dock-item-size)"),i.style.setProperty("flex","0 0 var(--ui-dock-item-size)"),i.style.setProperty("box-sizing","border-box"),i.style.setProperty("background","transparent"),i.style.setProperty("border","none"),i.style.setProperty("padding","0"),i.style.setProperty("margin","0"),i.style.setProperty("color","inherit"),i.style.setProperty("text-decoration","none"),i.style.setProperty("outline","none"),i.style.setProperty("cursor",n.disabled?"not-allowed":"pointer"),i.style.setProperty("transform-origin",a==="horizontal"?"center bottom":"center center"),i.style.setProperty("touch-action","manipulation"),i.hasAttribute("tabindex")||(i.tabIndex=-1),!i.hasAttribute("aria-label")){const r=o?.textContent?.trim()||i.getAttribute("data-label")||i.getAttribute("title")||void 0;r&&i.setAttribute("aria-label",r)}d?i.setAttribute("data-dock-current","true"):i.removeAttribute("data-dock-current"),c&&(c.style.setProperty("display","inline-flex"),c.style.setProperty("align-items","center"),c.style.setProperty("justify-content","center"),c.style.setProperty("inline-size","100%"),c.style.setProperty("block-size","100%"),c.style.setProperty("border-radius","var(--ui-dock-item-radius)"),c.style.setProperty("background","var(--ui-dock-item-bg)"),c.style.setProperty("border","1px solid var(--ui-dock-item-border)"),c.style.setProperty("box-shadow","var(--ui-dock-item-shadow)"),c.style.setProperty("backdrop-filter","var(--ui-dock-item-backdrop)"),c.style.setProperty("font-size","var(--ui-dock-icon-size)"),c.style.setProperty("color","inherit"),c.style.setProperty("overflow","hidden"),c.style.setProperty("box-sizing","border-box")),o&&(o.setAttribute("aria-hidden","true"),o.style.setProperty("position","absolute"),o.style.setProperty("pointer-events","none"),o.style.setProperty("white-space","nowrap"),o.style.setProperty("padding","var(--ui-dock-label-padding)"),o.style.setProperty("border-radius","var(--ui-dock-label-radius)"),o.style.setProperty("background","var(--ui-dock-label-bg)"),o.style.setProperty("color","var(--ui-dock-label-color)"),o.style.setProperty("border","1px solid var(--ui-dock-label-border)"),o.style.setProperty("box-shadow","var(--ui-dock-label-shadow)"),o.style.setProperty("backdrop-filter","var(--ui-dock-label-backdrop)"),o.style.setProperty("font-size","var(--ui-dock-label-font-size)"),o.style.setProperty("font-weight","var(--ui-dock-label-font-weight)"),o.style.setProperty("line-height","1.2"),o.style.setProperty("letter-spacing","0.01em"),o.style.setProperty("min-inline-size","max-content"),o.style.setProperty("z-index","3"),o.style.setProperty("display",t==="none"?"none":"inline-flex"),o.style.removeProperty("top"),o.style.removeProperty("bottom"),o.style.removeProperty("left"),o.style.removeProperty("right"),e==="top"?(o.style.setProperty("left","50%"),o.style.setProperty("bottom","calc(100% + var(--ui-dock-label-offset))")):e==="bottom"?(o.style.setProperty("left","50%"),o.style.setProperty("top","calc(100% + var(--ui-dock-label-offset))")):e==="start"?(o.style.setProperty("right","calc(100% + var(--ui-dock-label-offset))"),o.style.setProperty("top","50%")):(o.style.setProperty("left","calc(100% + var(--ui-dock-label-offset))"),o.style.setProperty("top","50%"))),l&&(l.setAttribute("aria-hidden","true"),l.style.setProperty("position","absolute"),l.style.setProperty("inset-inline-end","-2px"),l.style.setProperty("inset-block-start","-2px"),l.style.setProperty("display","inline-flex"),l.style.setProperty("align-items","center"),l.style.setProperty("justify-content","center"),l.style.setProperty("min-inline-size","18px"),l.style.setProperty("min-block-size","18px"),l.style.setProperty("padding","0 6px"),l.style.setProperty("border-radius","999px"),l.style.setProperty("background","var(--ui-dock-accent)"),l.style.setProperty("color","#ffffff"),l.style.setProperty("font-size","11px"),l.style.setProperty("font-weight","700"),l.style.setProperty("box-shadow","0 8px 18px color-mix(in srgb, var(--ui-dock-accent) 32%, rgba(15, 23, 42, 0.18))"),l.style.setProperty("z-index","4"))})}_syncTabIndices(){const e=this._items.findIndex(t=>!t.disabled);e>=0&&(this._rovingIndex<0||this._items[this._rovingIndex]?.disabled)&&(this._rovingIndex=e),this._items.forEach((t,a)=>{if(t.disabled){t.el.tabIndex=-1;return}t.el.tabIndex=a===this._rovingIndex?0:-1})}_measureItems(){if(!this._frameEl)return;const e=this._frameEl.getBoundingClientRect(),t=this._orientation(),a=t==="horizontal"?e.left:e.top;this._items.forEach(n=>{const i=n.el.getBoundingClientRect();n.center=(t==="horizontal"?i.left+i.width/2:i.top+i.height/2)-a})}_updateTargets(){const e=this._idleScale(),t=Math.max(e,this._magnification()),a=Math.max(1,this._distance()),n=this._lift()*this._motion().lift,i=this._labelMode();this._items.forEach((c,o)=>{let l=e;if(c.sticky&&(l=Math.max(l,e+(t-e)*.08)),this._pointerActive&&Number.isFinite(this._pointerCoord)){const r=Math.abs(this._pointerCoord-c.center),u=p(1-r/a,0,1);l=Math.max(l,e+(t-e)*u*u)}o===this._focusedIndex&&(l=Math.max(l,t)),c.disabled&&(l=e);const d=t===e?0:(l-e)/(t-e);c.targetScale=p(l,e,t),c.targetLift=d*n,c.labelVisible=i==="always"||i!=="none"&&(o===this._focusedIndex||d>.18)}),this._updateRuntimeState()}_applyFrame(e=!1){const t=this._smoothing(),a=this._motion(),n=p(a.response+t*.12,.05,.42),i=p(a.damping+(t-_)*.14,.52,.9),c=this._orientation(),o=I(this.getAttribute("label-placement"),c),l=this._mainAxisOffsets(a.spread);let d=!1;this._items.forEach((r,u)=>{e?(r.currentScale=r.targetScale,r.currentLift=r.targetLift,r.scaleVelocity=0,r.liftVelocity=0):(r.scaleVelocity=r.scaleVelocity*i+(r.targetScale-r.currentScale)*n,r.liftVelocity=r.liftVelocity*i+(r.targetLift-r.currentLift)*n,r.currentScale+=r.scaleVelocity,r.currentLift+=r.liftVelocity,Math.abs(r.targetScale-r.currentScale)<.002&&Math.abs(r.scaleVelocity)<.002&&(r.currentScale=r.targetScale,r.scaleVelocity=0),Math.abs(r.targetLift-r.currentLift)<.002&&Math.abs(r.liftVelocity)<.002&&(r.currentLift=r.targetLift,r.liftVelocity=0)),(Math.abs(r.targetScale-r.currentScale)>=.002||Math.abs(r.targetLift-r.currentLift)>=.002||Math.abs(r.scaleVelocity)>=.002||Math.abs(r.liftVelocity)>=.002)&&(d=!0);const b=l[u]??0,w=c==="horizontal"?b:o==="start"?-r.currentLift*.28:r.currentLift*.28,M=c==="horizontal"?-r.currentLift:b;if(r.el.style.setProperty("transform",`translate3d(${w}px, ${M}px, 0) scale(${r.currentScale})`),r.el.style.setProperty("z-index",String(100+Math.round(r.currentScale*100)+u)),r.iconEl){const f=u===this._focusedIndex?"0 0 0 3px color-mix(in srgb, var(--ui-dock-focus-ring) 26%, transparent), ":r.sticky?"0 0 0 2px color-mix(in srgb, var(--ui-dock-accent) 22%, transparent), ":"";r.iconEl.style.setProperty("box-shadow",`${f}var(--ui-dock-item-shadow)`),r.iconEl.style.setProperty("border-color",r.sticky||u===this._focusedIndex?"color-mix(in srgb, var(--ui-dock-accent) 30%, var(--ui-dock-item-border))":"var(--ui-dock-item-border)")}if(r.labelEl){const f=r.labelVisible;r.labelEl.style.setProperty("opacity",f?"1":"0"),r.labelEl.style.setProperty("transform",this._labelTransform(o,f)),r.labelEl.style.setProperty("filter",f?"blur(0px)":"blur(6px)")}}),d&&this._queueAnimation()}_queueAnimation(){if(this._reducedMotion){E(this._raf),this._raf=null,this._applyFrame(!0);return}this._raf==null&&(this._raf=$(()=>{this._raf=null,this._applyFrame(!1)}))}_mainAxisOffsets(e){if(this._items.length<2)return this._items.map(()=>0);const t=this._resolvedItemSizePx(),a=this._resolvedGapPx(),n=t+a,i=[0];for(let o=1;o<this._items.length;o+=1){const l=this._items[o-1],d=this._items[o],r=t*l.currentScale/2,u=t*d.currentScale/2,b=Math.max(0,r+u-n);i[o]=i[o-1]+b*e}const c=i[i.length-1]/2;return i.map(o=>o-c)}_labelTransform(e,t){return e==="top"?t?"translate3d(-50%, 0, 0)":"translate3d(-50%, 6px, 0)":e==="bottom"?t?"translate3d(-50%, 0, 0)":"translate3d(-50%, -6px, 0)":e==="start"?t?"translate3d(0, -50%, 0)":"translate3d(6px, -50%, 0)":t?"translate3d(0, -50%, 0)":"translate3d(-6px, -50%, 0)"}_syncHostStyles(){const e=h(this.getAttribute("gap"));e?this.style.setProperty("--ui-dock-gap",e):this.style.removeProperty("--ui-dock-gap");const t=h(this.getAttribute("padding"));t?this.style.setProperty("--ui-dock-padding",t):this.style.removeProperty("--ui-dock-padding");const a=h(this.getAttribute("item-size"));a?(this.style.setProperty("--ui-dock-item-size",a),this.style.setProperty("--ui-dock-icon-size",`calc(${a} * 0.44)`)):(this.style.removeProperty("--ui-dock-item-size"),this.style.removeProperty("--ui-dock-icon-size"));const n=this.getAttribute("radius");if(n&&!V.has(n)){const i=h(n)||n;this.style.setProperty("--ui-dock-radius",i),this.style.setProperty("--ui-dock-item-radius",`calc(${i} * 0.82)`)}else this.style.removeProperty("--ui-dock-radius"),this.style.removeProperty("--ui-dock-item-radius")}_orientation(){return this.getAttribute("orientation")==="vertical"?"vertical":"horizontal"}_motion(){const e=this.getAttribute("animation");return e==="calm"||e==="snappy"||e==="bouncy"?v[e]:v.smooth}_labelMode(){const e=this.getAttribute("label-mode");return e==="always"||e==="none"?e:"hover"}_magnification(){return Math.max(this._idleScale(),m(this.getAttribute("magnification"),F))}_distance(){return m(this.getAttribute("distance"),C)}_idleScale(){return Math.max(.5,m(this.getAttribute("idle-scale"),R))}_lift(){return m(this.getAttribute("lift"),D)}_smoothing(){return U(this.getAttribute("smoothing"),_)}_sizeToken(){const e=this.getAttribute("size");return e==="xs"||e==="0"?"xs":e==="sm"||e==="1"?"sm":e==="lg"||e==="3"?"lg":e==="xl"||e==="4"?"xl":"md"}_resolvedItemSizePx(){const e=h(this.getAttribute("item-size"));if(e){const t=Number.parseFloat(e);if(Number.isFinite(t))return t}return k[this._sizeToken()]?.itemSize??O}_resolvedGapPx(){const e=h(this.getAttribute("gap"));if(e){const a=Number.parseFloat(e);if(Number.isFinite(a))return a}const t=k[this._sizeToken()];return t?Number.parseFloat(t.gap):Number.parseFloat(g)}_updateRuntimeState(){const e=this._focusedIndex>=0?"keyboard":this._pointerActive?"pointer":"idle";this.setAttribute("data-state",e)}}typeof customElements<"u"&&!customElements.get("ui-dock")&&customElements.define("ui-dock",L);exports.UIDock=L;