@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.
- package/dist/{ElementBase-1b301e7f.js → ElementBase-EV6mVBUV.js} +1 -1
- package/dist/{ElementBase-909688f3.mjs → ElementBase-YlTLMsGk.mjs} +3 -3
- package/dist/accordion.cjs.js +3 -3
- package/dist/accordion.esm.js +39 -62
- package/dist/alert-dialog.cjs.js +19 -19
- package/dist/alert-dialog.esm.js +69 -87
- package/dist/alert.cjs.js +1 -1
- package/dist/alert.esm.js +4 -7
- package/dist/anchor.cjs.js +2 -2
- package/dist/anchor.esm.js +3 -3
- package/dist/animated-beam.cjs.js +83 -83
- package/dist/animated-beam.esm.js +250 -277
- package/dist/animated-list.cjs.js +4 -4
- package/dist/animated-list.esm.js +47 -61
- package/dist/animated-text.cjs.js +2 -2
- package/dist/animated-text.esm.js +13 -24
- package/dist/app-header.cjs.js +3 -3
- package/dist/app-header.esm.js +11 -13
- package/dist/aspect-ratio.cjs.js +1 -1
- package/dist/aspect-ratio.esm.js +4 -7
- package/dist/avatar.cjs.js +1 -1
- package/dist/avatar.esm.js +7 -13
- package/dist/badge.cjs.js +1 -1
- package/dist/badge.esm.js +4 -7
- package/dist/block-controls.cjs.js +2 -2
- package/dist/block-controls.esm.js +19 -35
- package/dist/box.cjs.js +1 -1
- package/dist/box.esm.js +8 -15
- package/dist/breadcrumb.cjs.js +2 -2
- package/dist/breadcrumb.esm.js +20 -37
- package/dist/button.cjs.js +1 -521
- package/dist/button.esm.js +2 -669
- package/dist/{calendar-2c11b824.mjs → calendar-DLY4acgn.mjs} +293 -342
- package/dist/{calendar-a8735e40.js → calendar-Dkof-FTK.js} +25 -25
- package/dist/calendar.cjs.js +1 -1
- package/dist/calendar.esm.js +8 -9
- package/dist/card.cjs.js +4 -4
- package/dist/card.esm.js +13 -19
- package/dist/chart.cjs.js +64 -64
- package/dist/chart.esm.js +223 -254
- package/dist/checkbox.cjs.js +1 -1
- package/dist/checkbox.esm.js +2 -3
- package/dist/collapsible.cjs.js +1 -1
- package/dist/collapsible.esm.js +5 -9
- package/dist/{collection-a1aac0c6.mjs → collection-C7URGjEI.mjs} +8 -14
- package/dist/collection.cjs.js +1 -1
- package/dist/collection.esm.js +4 -7
- package/dist/color-picker.cjs.js +9 -9
- package/dist/color-picker.esm.js +189 -252
- package/dist/combobox.cjs.js +13 -13
- package/dist/combobox.esm.js +93 -126
- package/dist/command-palette.cjs.js +3 -3
- package/dist/command-palette.esm.js +19 -30
- package/dist/command.cjs.js +4 -4
- package/dist/command.esm.js +41 -53
- package/dist/components/ui-button.d.ts +1 -0
- package/dist/components/ui-button.d.ts.map +1 -1
- package/dist/components/ui-date-picker.d.ts.map +1 -1
- package/dist/components/ui-date-range-picker.d.ts.map +1 -1
- package/dist/components/ui-date-range-time-picker.d.ts +1 -0
- package/dist/components/ui-date-range-time-picker.d.ts.map +1 -1
- package/dist/components/ui-date-time-picker.d.ts +1 -0
- package/dist/components/ui-date-time-picker.d.ts.map +1 -1
- package/dist/components/ui-orbiter.d.ts.map +1 -1
- package/dist/components/ui-skeleton.d.ts.map +1 -1
- package/dist/components/ui-split-button.d.ts +1 -0
- package/dist/components/ui-split-button.d.ts.map +1 -1
- package/dist/components/ui-time-picker.d.ts.map +1 -1
- package/dist/container.cjs.js +2 -2
- package/dist/container.esm.js +2 -3
- package/dist/context-menu.cjs.js +8 -8
- package/dist/context-menu.esm.js +157 -219
- package/dist/control-group.cjs.js +1 -1
- package/dist/control-group.esm.js +2 -3
- package/dist/data-table.cjs.js +4 -4
- package/dist/data-table.esm.js +299 -381
- package/dist/date-field.cjs.js +3 -3
- package/dist/date-field.esm.js +68 -80
- package/dist/date-picker.cjs.js +30 -9
- package/dist/date-picker.esm.js +90 -97
- package/dist/date-range-picker.cjs.js +22 -3
- package/dist/date-range-picker.esm.js +103 -108
- package/dist/date-range-time-picker.cjs.js +28 -12
- package/dist/date-range-time-picker.esm.js +137 -150
- package/dist/date-time-picker.cjs.js +25 -9
- package/dist/date-time-picker.esm.js +139 -155
- package/dist/date-time-utils-Dmost5Ee.js +1 -0
- package/dist/date-time-utils-y1N2gvG2.mjs +268 -0
- package/dist/description.cjs.js +1 -1
- package/dist/description.esm.js +3 -5
- package/dist/dialog.cjs.js +12 -12
- package/dist/dialog.esm.js +44 -63
- package/dist/direction-provider.cjs.js +1 -1
- package/dist/direction-provider.esm.js +2 -3
- package/dist/{dismissable-layer-9c7e6b58.mjs → dismissable-layer-BmPIoK80.mjs} +29 -33
- package/dist/dismissable-layer-DNfrKA20.js +1 -0
- package/dist/dismissable-layer.cjs.js +2 -2
- package/dist/dismissable-layer.esm.js +4 -6
- package/dist/dock.cjs.js +5 -5
- package/dist/dock.esm.js +134 -155
- package/dist/drawer.cjs.js +2 -2
- package/dist/drawer.esm.js +18 -35
- package/dist/dropdown.cjs.js +2 -2
- package/dist/dropdown.esm.js +119 -149
- package/dist/dropzone.cjs.js +1 -1
- package/dist/dropzone.esm.js +0 -1
- package/dist/empty-state.cjs.js +1 -1
- package/dist/empty-state.esm.js +1 -1
- package/dist/field-error.cjs.js +1 -1
- package/dist/field-error.esm.js +3 -5
- package/dist/field.cjs.js +5 -5
- package/dist/field.esm.js +27 -34
- package/dist/fieldset.cjs.js +4 -4
- package/dist/fieldset.esm.js +19 -24
- package/dist/file-upload.cjs.js +4 -4
- package/dist/file-upload.esm.js +69 -93
- package/dist/flex.cjs.js +1 -1
- package/dist/flex.esm.js +5 -9
- package/dist/floating-toolbar.cjs.js +4 -4
- package/dist/floating-toolbar.esm.js +60 -85
- package/dist/focus-scope-Bwug2gDv.js +1 -0
- package/dist/{focus-scope-103833ee.mjs → focus-scope-CmEsG5UZ.mjs} +39 -48
- package/dist/focus-scope.cjs.js +2 -2
- package/dist/focus-scope.esm.js +15 -20
- package/dist/form.cjs.js +2 -2
- package/dist/form.esm.js +26 -53
- package/dist/gantt.cjs.js +43 -43
- package/dist/gantt.esm.js +295 -322
- package/dist/grid.cjs.js +1 -1
- package/dist/grid.esm.js +5 -9
- package/dist/hover-card.cjs.js +4 -4
- package/dist/hover-card.esm.js +22 -28
- package/dist/icon-cloud.cjs.js +7 -7
- package/dist/icon-cloud.esm.js +48 -62
- package/dist/icon.cjs.js +1 -1
- package/dist/icon.esm.js +2 -4
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +378 -390
- package/dist/inline-edit.cjs.js +11 -11
- package/dist/inline-edit.esm.js +32 -36
- package/dist/input.cjs.js +17 -17
- package/dist/input.esm.js +50 -63
- package/dist/label.cjs.js +2 -2
- package/dist/label.esm.js +8 -17
- package/dist/layout.cjs.js +2 -2
- package/dist/layout.esm.js +20 -26
- package/dist/listbox-B6QgECax.js +46 -0
- package/dist/listbox-DJamVeFj.mjs +200 -0
- package/dist/listbox.cjs.js +1 -1
- package/dist/listbox.esm.js +2 -4
- package/dist/marquee.cjs.js +5 -5
- package/dist/marquee.esm.js +33 -50
- package/dist/masonry-grid.cjs.js +1 -1
- package/dist/masonry-grid.esm.js +5 -9
- package/dist/menu.cjs.js +3 -3
- package/dist/menu.esm.js +106 -126
- package/dist/menubar.cjs.js +5 -5
- package/dist/menubar.esm.js +118 -164
- package/dist/meter.cjs.js +2 -2
- package/dist/meter.esm.js +4 -4
- package/dist/multi-select.cjs.js +4 -4
- package/dist/multi-select.esm.js +120 -140
- package/dist/navigation-menu.cjs.js +4 -4
- package/dist/navigation-menu.esm.js +44 -55
- package/dist/number-field.cjs.js +2 -2
- package/dist/number-field.esm.js +73 -98
- package/dist/number-ticker.cjs.js +3 -3
- package/dist/number-ticker.esm.js +22 -43
- package/dist/odometer.cjs.js +1 -1
- package/dist/odometer.esm.js +5 -9
- package/dist/orbiter.cjs.js +13 -13
- package/dist/orbiter.esm.js +79 -90
- package/dist/{overlayManager-5bbd4dc3.mjs → overlayManager-BJjU1VA8.mjs} +4 -5
- package/dist/{overlayManager-0eda4e08.js → overlayManager-CSy3fJmJ.js} +1 -1
- package/dist/pagination.cjs.js +2 -2
- package/dist/pagination.esm.js +14 -18
- package/dist/{panel-group-a376cc5e.mjs → panel-group-8sVNnGxg.mjs} +24 -46
- package/dist/panel-group-CaD0_KQf.js +36 -0
- package/dist/panel-group.cjs.js +1 -1
- package/dist/panel-group.esm.js +2 -5
- package/dist/panel.cjs.js +4 -4
- package/dist/panel.esm.js +8 -10
- package/dist/password-field.cjs.js +9 -9
- package/dist/password-field.esm.js +62 -82
- package/dist/pin-input.cjs.js +3 -3
- package/dist/pin-input.esm.js +33 -39
- package/dist/placement-grid.cjs.js +4 -4
- package/dist/placement-grid.esm.js +108 -131
- package/dist/plugin-panel.cjs.js +7 -7
- package/dist/plugin-panel.esm.js +13 -15
- package/dist/popover.cjs.js +2 -2
- package/dist/popover.esm.js +21 -31
- package/dist/portal-DgpQ3Jo1.js +1 -0
- package/dist/{portal-fe73e5cc.mjs → portal-bR42gHvG.mjs} +43 -48
- package/dist/portal.cjs.js +2 -2
- package/dist/portal.esm.js +10 -19
- package/dist/{positioner-e9770c66.mjs → positioner-D0VGxtYU.mjs} +189 -209
- package/dist/positioner-D_fqyx_j.js +1 -0
- package/dist/positioner.cjs.js +2 -2
- package/dist/positioner.esm.js +11 -18
- package/dist/presence.cjs.js +1 -1
- package/dist/presence.esm.js +7 -13
- package/dist/progress.cjs.js +1 -1
- package/dist/progress.esm.js +5 -9
- package/dist/quick-actions.cjs.js +6 -6
- package/dist/quick-actions.esm.js +52 -62
- package/dist/radio-group.cjs.js +13 -13
- package/dist/radio-group.esm.js +39 -51
- package/dist/radio.cjs.js +1 -1
- package/dist/radio.esm.js +5 -9
- package/dist/rating.cjs.js +1 -1
- package/dist/rating.esm.js +12 -23
- package/dist/{roving-focus-group-4350c9a7.mjs → roving-focus-group-Dbm1Jko_.mjs} +3 -6
- package/dist/roving-focus-group.cjs.js +1 -1
- package/dist/roving-focus-group.esm.js +3 -5
- package/dist/runtime-CTaOSmBj.js +1 -0
- package/dist/{runtime-161f68a2.mjs → runtime-D1gFh1fS.mjs} +338 -366
- package/dist/runtime.cjs.js +1 -1
- package/dist/runtime.esm.js +6 -6
- package/dist/scroll-area.cjs.js +3 -3
- package/dist/scroll-area.esm.js +38 -46
- package/dist/{scroll-lock-31da444f.mjs → scroll-lock-LfqXXqsu.mjs} +5 -9
- package/dist/section.cjs.js +1 -1
- package/dist/section.esm.js +1 -1
- package/dist/select.cjs.js +7 -7
- package/dist/select.esm.js +67 -97
- package/dist/selection-popup.cjs.js +1 -1
- package/dist/selection-popup.esm.js +8 -15
- package/dist/separator.cjs.js +1 -1
- package/dist/separator.esm.js +1 -1
- package/dist/sidebar.cjs.js +18 -18
- package/dist/sidebar.esm.js +117 -139
- package/dist/skeleton.cjs.js +11 -11
- package/dist/skeleton.esm.js +27 -24
- package/dist/slider.cjs.js +1 -1
- package/dist/slider.esm.js +6 -11
- package/dist/slot.cjs.js +4 -4
- package/dist/slot.esm.js +16 -19
- package/dist/sortable.cjs.js +45 -45
- package/dist/sortable.esm.js +421 -524
- package/dist/spinning-text.cjs.js +12 -12
- package/dist/spinning-text.esm.js +80 -92
- package/dist/split-button.cjs.js +4 -4
- package/dist/split-button.esm.js +77 -62
- package/dist/splitter.cjs.js +1 -1
- package/dist/splitter.esm.js +1 -1
- package/dist/stepper.cjs.js +8 -8
- package/dist/stepper.esm.js +32 -52
- package/dist/switch.cjs.js +7 -7
- package/dist/switch.esm.js +23 -31
- package/dist/table.cjs.js +2 -2
- package/dist/table.esm.js +46 -56
- package/dist/tabs.cjs.js +3 -3
- package/dist/tabs.esm.js +35 -55
- package/dist/tags-input.cjs.js +4 -4
- package/dist/tags-input.esm.js +45 -62
- package/dist/textarea.cjs.js +6 -6
- package/dist/textarea.esm.js +32 -41
- package/dist/time-field.cjs.js +4 -4
- package/dist/time-field.esm.js +70 -84
- package/dist/time-picker.cjs.js +29 -21
- package/dist/time-picker.esm.js +96 -110
- package/dist/timeline.cjs.js +1 -1
- package/dist/timeline.esm.js +3 -5
- package/dist/toast.cjs.js +2 -2
- package/dist/toast.esm.js +33 -47
- package/dist/toggle-group.cjs.js +6 -6
- package/dist/toggle-group.esm.js +85 -105
- package/dist/toggle.cjs.js +1 -1
- package/dist/toggle.esm.js +3 -5
- package/dist/toolbar.cjs.js +1 -1
- package/dist/toolbar.esm.js +13 -24
- package/dist/tooltip.cjs.js +2 -2
- package/dist/tooltip.esm.js +31 -42
- package/dist/transfer-list.cjs.js +19 -19
- package/dist/transfer-list.esm.js +98 -111
- package/dist/{tree-dcd74a4a.mjs → tree-B3kE8ESs.mjs} +55 -62
- package/dist/tree-Dx_kv_ih.js +39 -0
- package/dist/tree-item.cjs.js +2 -2
- package/dist/tree-item.esm.js +2 -3
- package/dist/tree.cjs.js +1 -1
- package/dist/tree.esm.js +2 -5
- package/dist/ui-button-Q0GNNWKC.mjs +665 -0
- package/dist/ui-button-rXQOS9QJ.js +521 -0
- package/dist/{icon-9e9da03b.js → ui-icon-BzVNC_lr.js} +4 -4
- package/dist/{icon-e2a85cc1.mjs → ui-icon-YI6lyuqU.mjs} +58 -65
- package/dist/visually-hidden.cjs.js +1 -1
- package/dist/visually-hidden.esm.js +1 -1
- package/dist/wizard.cjs.js +14 -14
- package/dist/wizard.esm.js +85 -105
- package/package.json +3 -3
- package/dist/date-time-utils-66480de4.js +0 -1
- package/dist/date-time-utils-a2c7af25.mjs +0 -307
- package/dist/dismissable-layer-193e3bed.js +0 -1
- package/dist/focus-scope-2b12b4e7.js +0 -1
- package/dist/listbox-308789a0.mjs +0 -210
- package/dist/listbox-ef2f708e.js +0 -46
- package/dist/panel-group-40254cdd.js +0 -36
- package/dist/portal-c69756c0.js +0 -1
- package/dist/positioner-33529bb8.js +0 -1
- package/dist/runtime-3f13807b.js +0 -1
- package/dist/tree-0a7a8d05.js +0 -39
- /package/dist/{collection-a2969ad2.js → collection-qv8A8rq4.js} +0 -0
- /package/dist/{menu-item-styles-27fdbac4.mjs → menu-item-styles-CZiPwPwl.mjs} +0 -0
- /package/dist/{menu-item-styles-83ad1e22.js → menu-item-styles-CbNUEwP2.js} +0 -0
- /package/dist/{roving-focus-group-5c059bf9.js → roving-focus-group-BdJ_4Njm.js} +0 -0
- /package/dist/{scroll-lock-d7b0df21.js → scroll-lock-BX6e3Ced.js} +0 -0
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const ge=require("./ElementBase-EV6mVBUV.js"),ie=3200,ne=0,oe=0,se=3,re=4,de=.18,me=3,D="#8b5cf6",q="#f59e0b",fe="rgba(148, 163, 184, 0.34)",Q=2,xe=new Set(["none","sm","md","lg","full"]),ue=new Set(["brand","neutral","info","success","warning","danger"]),ye=new Set(["calm","smooth","snappy","surge","pulse","heartbeat"]),Y=new Set(["auto","straight","soft","arc"]),X=new Set(["forward","reverse"]),_e=new Set(["none","glow","pulse","ring","shake"]),K=["node-id","column","row","size","from","to","curve","direction","reverse","duration","delay","tone","color-start","color-end","beam-factor","trail-width","beam-width","id"],c={xxs:{nodeSize:36,hubSize:50,columnGap:72,rowGap:28,padding:12,minHeight:160,radius:16},xs:{nodeSize:46,hubSize:62,columnGap:88,rowGap:36,padding:16,minHeight:190,radius:18},sm:{nodeSize:56,hubSize:74,columnGap:108,rowGap:48,padding:20,minHeight:220,radius:22},md:{nodeSize:84,hubSize:116,columnGap:156,rowGap:72,padding:32,minHeight:320,radius:28},lg:{nodeSize:98,hubSize:132,columnGap:188,rowGap:88,padding:40,minHeight:400,radius:34}},v={calm:{durationScale:1.18,glowOpacity:.26,glowBlur:9,beamFactor:.15,pattern:"progress"},smooth:{durationScale:1,glowOpacity:.34,glowBlur:11,beamFactor:de,pattern:"progress"},snappy:{durationScale:.82,glowOpacity:.38,glowBlur:10,beamFactor:.2,pattern:"progress"},surge:{durationScale:.68,glowOpacity:.44,glowBlur:13,beamFactor:.24,pattern:"progress"},pulse:{durationScale:.92,glowOpacity:.42,glowBlur:14,beamFactor:.22,pattern:"pulse"},heartbeat:{durationScale:.86,glowOpacity:.48,glowBlur:15,beamFactor:.18,pattern:"heartbeat"}},E={brand:{start:D,end:q},neutral:{start:"#64748b",end:"#cbd5e1"},info:{start:"#38bdf8",end:"#6366f1"},success:{start:"#22c55e",end:"#14b8a6"},warning:{start:"#f59e0b",end:"#f97316"},danger:{start:"#ef4444",end:"#f97316"}},ve=`
|
|
2
2
|
:host {
|
|
3
3
|
--ui-animated-beam-required-width: 0px;
|
|
4
4
|
--ui-animated-beam-duration: ${ie}ms;
|
|
5
5
|
--ui-animated-beam-delay: ${ne}ms;
|
|
6
6
|
--ui-animated-beam-stagger: ${oe}ms;
|
|
7
|
-
--ui-animated-beam-padding: ${
|
|
8
|
-
--ui-animated-beam-column-gap: ${
|
|
9
|
-
--ui-animated-beam-row-gap: ${
|
|
10
|
-
--ui-animated-beam-node-size: ${
|
|
11
|
-
--ui-animated-beam-hub-size: ${
|
|
12
|
-
--ui-animated-beam-min-height: ${
|
|
7
|
+
--ui-animated-beam-padding: ${c.md.padding}px;
|
|
8
|
+
--ui-animated-beam-column-gap: ${c.md.columnGap}px;
|
|
9
|
+
--ui-animated-beam-row-gap: ${c.md.rowGap}px;
|
|
10
|
+
--ui-animated-beam-node-size: ${c.md.nodeSize}px;
|
|
11
|
+
--ui-animated-beam-hub-size: ${c.md.hubSize}px;
|
|
12
|
+
--ui-animated-beam-min-height: ${c.md.minHeight}px;
|
|
13
13
|
--ui-animated-beam-columns: ${me};
|
|
14
|
-
--ui-animated-beam-radius: ${
|
|
14
|
+
--ui-animated-beam-radius: ${c.md.radius}px;
|
|
15
15
|
--ui-animated-beam-trail-width: ${se}px;
|
|
16
16
|
--ui-animated-beam-beam-width: ${re}px;
|
|
17
17
|
--ui-animated-beam-beam-factor: ${de};
|
|
18
18
|
--ui-animated-beam-accent: ${D};
|
|
19
19
|
--ui-animated-beam-accent-end: ${q};
|
|
20
|
-
--ui-animated-beam-path-color: ${
|
|
20
|
+
--ui-animated-beam-path-color: ${fe};
|
|
21
21
|
--ui-animated-beam-bg: transparent;
|
|
22
22
|
--ui-animated-beam-color: var(--ui-color-text, #0f172a);
|
|
23
23
|
--ui-animated-beam-border-color:
|
|
@@ -56,57 +56,57 @@
|
|
|
56
56
|
|
|
57
57
|
:host([size="xxs"]),
|
|
58
58
|
:host([size="0"]) {
|
|
59
|
-
--ui-animated-beam-padding: ${
|
|
60
|
-
--ui-animated-beam-column-gap: ${
|
|
61
|
-
--ui-animated-beam-row-gap: ${
|
|
62
|
-
--ui-animated-beam-node-size: ${
|
|
63
|
-
--ui-animated-beam-hub-size: ${
|
|
64
|
-
--ui-animated-beam-min-height: ${
|
|
65
|
-
--ui-animated-beam-radius: ${
|
|
59
|
+
--ui-animated-beam-padding: ${c.xxs.padding}px;
|
|
60
|
+
--ui-animated-beam-column-gap: ${c.xxs.columnGap}px;
|
|
61
|
+
--ui-animated-beam-row-gap: ${c.xxs.rowGap}px;
|
|
62
|
+
--ui-animated-beam-node-size: ${c.xxs.nodeSize}px;
|
|
63
|
+
--ui-animated-beam-hub-size: ${c.xxs.hubSize}px;
|
|
64
|
+
--ui-animated-beam-min-height: ${c.xxs.minHeight}px;
|
|
65
|
+
--ui-animated-beam-radius: ${c.xxs.radius}px;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
:host([size="xs"]) {
|
|
69
|
-
--ui-animated-beam-padding: ${
|
|
70
|
-
--ui-animated-beam-column-gap: ${
|
|
71
|
-
--ui-animated-beam-row-gap: ${
|
|
72
|
-
--ui-animated-beam-node-size: ${
|
|
73
|
-
--ui-animated-beam-hub-size: ${
|
|
74
|
-
--ui-animated-beam-min-height: ${
|
|
75
|
-
--ui-animated-beam-radius: ${
|
|
69
|
+
--ui-animated-beam-padding: ${c.xs.padding}px;
|
|
70
|
+
--ui-animated-beam-column-gap: ${c.xs.columnGap}px;
|
|
71
|
+
--ui-animated-beam-row-gap: ${c.xs.rowGap}px;
|
|
72
|
+
--ui-animated-beam-node-size: ${c.xs.nodeSize}px;
|
|
73
|
+
--ui-animated-beam-hub-size: ${c.xs.hubSize}px;
|
|
74
|
+
--ui-animated-beam-min-height: ${c.xs.minHeight}px;
|
|
75
|
+
--ui-animated-beam-radius: ${c.xs.radius}px;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
:host([size="sm"]),
|
|
79
79
|
:host([size="1"]) {
|
|
80
|
-
--ui-animated-beam-padding: ${
|
|
81
|
-
--ui-animated-beam-column-gap: ${
|
|
82
|
-
--ui-animated-beam-row-gap: ${
|
|
83
|
-
--ui-animated-beam-node-size: ${
|
|
84
|
-
--ui-animated-beam-hub-size: ${
|
|
85
|
-
--ui-animated-beam-min-height: ${
|
|
86
|
-
--ui-animated-beam-radius: ${
|
|
80
|
+
--ui-animated-beam-padding: ${c.sm.padding}px;
|
|
81
|
+
--ui-animated-beam-column-gap: ${c.sm.columnGap}px;
|
|
82
|
+
--ui-animated-beam-row-gap: ${c.sm.rowGap}px;
|
|
83
|
+
--ui-animated-beam-node-size: ${c.sm.nodeSize}px;
|
|
84
|
+
--ui-animated-beam-hub-size: ${c.sm.hubSize}px;
|
|
85
|
+
--ui-animated-beam-min-height: ${c.sm.minHeight}px;
|
|
86
|
+
--ui-animated-beam-radius: ${c.sm.radius}px;
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
:host(:not([size])),
|
|
90
90
|
:host([size="md"]),
|
|
91
91
|
:host([size="2"]) {
|
|
92
|
-
--ui-animated-beam-padding: ${
|
|
93
|
-
--ui-animated-beam-column-gap: ${
|
|
94
|
-
--ui-animated-beam-row-gap: ${
|
|
95
|
-
--ui-animated-beam-node-size: ${
|
|
96
|
-
--ui-animated-beam-hub-size: ${
|
|
97
|
-
--ui-animated-beam-min-height: ${
|
|
98
|
-
--ui-animated-beam-radius: ${
|
|
92
|
+
--ui-animated-beam-padding: ${c.md.padding}px;
|
|
93
|
+
--ui-animated-beam-column-gap: ${c.md.columnGap}px;
|
|
94
|
+
--ui-animated-beam-row-gap: ${c.md.rowGap}px;
|
|
95
|
+
--ui-animated-beam-node-size: ${c.md.nodeSize}px;
|
|
96
|
+
--ui-animated-beam-hub-size: ${c.md.hubSize}px;
|
|
97
|
+
--ui-animated-beam-min-height: ${c.md.minHeight}px;
|
|
98
|
+
--ui-animated-beam-radius: ${c.md.radius}px;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
:host([size="lg"]),
|
|
102
102
|
:host([size="3"]) {
|
|
103
|
-
--ui-animated-beam-padding: ${
|
|
104
|
-
--ui-animated-beam-column-gap: ${
|
|
105
|
-
--ui-animated-beam-row-gap: ${
|
|
106
|
-
--ui-animated-beam-node-size: ${
|
|
107
|
-
--ui-animated-beam-hub-size: ${
|
|
108
|
-
--ui-animated-beam-min-height: ${
|
|
109
|
-
--ui-animated-beam-radius: ${
|
|
103
|
+
--ui-animated-beam-padding: ${c.lg.padding}px;
|
|
104
|
+
--ui-animated-beam-column-gap: ${c.lg.columnGap}px;
|
|
105
|
+
--ui-animated-beam-row-gap: ${c.lg.rowGap}px;
|
|
106
|
+
--ui-animated-beam-node-size: ${c.lg.nodeSize}px;
|
|
107
|
+
--ui-animated-beam-hub-size: ${c.lg.hubSize}px;
|
|
108
|
+
--ui-animated-beam-min-height: ${c.lg.minHeight}px;
|
|
109
|
+
--ui-animated-beam-radius: ${c.lg.radius}px;
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
:host([tone="neutral"]) {
|
|
@@ -507,7 +507,7 @@
|
|
|
507
507
|
--ui-animated-beam-path-color: CanvasText;
|
|
508
508
|
}
|
|
509
509
|
}
|
|
510
|
-
`;class ce extends
|
|
510
|
+
`;class ce extends ge.ElementBase{constructor(){super(...arguments),this._nodeSlot=null,this._hubSlot=null,this._connectionSlot=null,this._surfaceEl=null,this._canvasEl=null,this._svgEl=null,this._defsEl=null,this._pathsEl=null,this._animationStyleEl=null,this._nodes=[],this._connections=[],this._nodeEffectAnimations=new Map,this._lastLayoutMetrics=null,this._resizeObserver=null,this._mutationObserver=null,this._mediaQuery=null,this._observedResizeElements=new Set,this._uid=`ui-animated-beam-${Math.random().toString(36).slice(2,10)}`,this._boundSlotChange=this._handleSlotChange.bind(this),this._boundReducedMotionChange=this._handleReducedMotionChange.bind(this),this._boundResize=this._handleResize.bind(this),this._refreshScheduled=!1}static get observedAttributes(){return["animation","variant","tone","size","radius","elevation","columns","rows","padding","column-gap","row-gap","min-height","node-size","hub-size","duration","delay","stagger","trail-width","beam-width","beam-factor","path","glow","node-effect","auto-fit","paused","repeat","direction","reverse","color-start","color-end","trail-color","curve"]}connectedCallback(){super.connectedCallback(),this._bindReducedMotionWatcher(),this._ensureResizeObserver(),this._ensureMutationObserver()}disconnectedCallback(){this._clearNodeEffectAnimations(),this._disconnectResizeObserver(),this._disconnectMutationObserver(),this._mediaQuery?.removeEventListener?.("change",this._boundReducedMotionChange),this._mediaQuery?.removeListener?.(this._boundReducedMotionChange),this._mediaQuery=null,super.disconnectedCallback()}attributeChangedCallback(e,t,r){if(!(t===r||!this.isConnected)){if(e==="paused"){this._syncState();return}this._syncRuntimeStyles(),this._refreshScene()}}play(){this.hasAttribute("paused")&&this.removeAttribute("paused"),this._syncState()}pause(){this.hasAttribute("paused")||this.setAttribute("paused",""),this._syncState()}refresh(){this._clearNodeEffectAnimations(),this._syncRuntimeStyles(),this._syncNodes(),this._syncConnections(),this._layoutNodes(),this._renderConnections(),this._syncObservedResizeElements(),this._syncState()}render(){this.setContent(`
|
|
511
511
|
<style>${ve}</style>
|
|
512
512
|
<style data-ui-animated-beam-animations></style>
|
|
513
513
|
<div class="root" part="root">
|
|
@@ -525,23 +525,23 @@
|
|
|
525
525
|
</div>
|
|
526
526
|
</div>
|
|
527
527
|
</div>
|
|
528
|
-
`),this._surfaceEl=this.root.querySelector(".surface"),this._canvasEl=this.root.querySelector(".canvas"),this._svgEl=this.root.querySelector(".svg"),this._defsEl=this.root.querySelector("defs"),this._pathsEl=this.root.querySelector(".paths"),this._animationStyleEl=this.root.querySelector("style[data-ui-animated-beam-animations]"),this._nodeSlot=this.root.querySelector("slot:not([name])"),this._hubSlot=this.root.querySelector('slot[name="hub"]'),this._connectionSlot=this.root.querySelector('slot[name="connections"]'),(e=this._nodeSlot)==null||e.addEventListener("slotchange",this._boundSlotChange),(t=this._hubSlot)==null||t.addEventListener("slotchange",this._boundSlotChange),(s=this._connectionSlot)==null||s.addEventListener("slotchange",this._boundSlotChange),this._syncRuntimeStyles(),this.refresh()}shouldRenderOnAttributeChange(){return!1}_handleSlotChange(){this._refreshScene()}_handleReducedMotionChange(){this._syncState()}_handleResize(){this._refreshScene()}_refreshScene(){this._refreshScheduled||(this._refreshScheduled=!0,queueMicrotask(()=>{this._refreshScheduled=!1,this.isConnected&&this.refresh()}))}_bindReducedMotionWatcher(){var e,t,s,o;typeof window>"u"||typeof window.matchMedia!="function"||this._mediaQuery||(this._mediaQuery=window.matchMedia("(prefers-reduced-motion: reduce)"),(t=(e=this._mediaQuery).addEventListener)==null||t.call(e,"change",this._boundReducedMotionChange),(o=(s=this._mediaQuery).addListener)==null||o.call(s,this._boundReducedMotionChange))}_prefersReducedMotion(){var e;return!!((e=this._mediaQuery)!=null&&e.matches)}_ensureResizeObserver(){this._resizeObserver||typeof ResizeObserver>"u"||(this._resizeObserver=new ResizeObserver(this._boundResize),this._syncObservedResizeElements())}_disconnectResizeObserver(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null,this._observedResizeElements.clear())}_syncObservedResizeElements(){if(!this._resizeObserver)return;const e=new Set;this._canvasEl&&e.add(this._canvasEl),e.add(this);for(const t of this._nodes)e.add(t.el);for(const t of this._observedResizeElements)e.has(t)||this._resizeObserver.unobserve(t);for(const t of e)this._observedResizeElements.has(t)||this._resizeObserver.observe(t);this._observedResizeElements=e}_ensureMutationObserver(){this._mutationObserver||typeof MutationObserver>"u"||(this._mutationObserver=new MutationObserver(e=>{for(const t of e){if(t.type==="childList"){this._refreshScene();return}if(t.type==="attributes"&&t.target instanceof HTMLElement&&K.includes(t.attributeName||"")){this._refreshScene();return}}}),this._mutationObserver.observe(this,{childList:!0,subtree:!0,attributes:!0,attributeFilter:K}))}_disconnectMutationObserver(){var e;(e=this._mutationObserver)==null||e.disconnect(),this._mutationObserver=null}_syncRuntimeStyles(){const e=this._sizePreset(),t=this._motionPreset();this.style.setProperty("--ui-animated-beam-required-width",`${this._autoFit()?0:this._requiredWidthPx(e)}px`),this.style.setProperty("--ui-animated-beam-duration",`${this._durationMs()*t.durationScale}ms`),this.style.setProperty("--ui-animated-beam-delay",`${this._delayMs()}ms`),this.style.setProperty("--ui-animated-beam-stagger",`${this._staggerMs()}ms`),this.style.setProperty("--ui-animated-beam-columns",String(this._columns())),this.style.setProperty("--ui-animated-beam-padding",`${this._paddingPx(e)}px`),this.style.setProperty("--ui-animated-beam-column-gap",`${this._columnGapPx(e)}px`),this.style.setProperty("--ui-animated-beam-row-gap",`${this._rowGapPx(e)}px`),this.style.setProperty("--ui-animated-beam-node-size",`${this._nodeSizePx(e)}px`),this.style.setProperty("--ui-animated-beam-hub-size",`${this._hubSizePx(e)}px`),this.style.setProperty("--ui-animated-beam-min-height",`${this._minHeightPx(e)}px`),this.style.setProperty("--ui-animated-beam-trail-width",`${this._trailWidthPx()}px`),this.style.setProperty("--ui-animated-beam-beam-width",`${this._beamWidthPx()}px`),this.style.setProperty("--ui-animated-beam-beam-factor",String(this._beamFactor(t))),this.style.setProperty("--ui-animated-beam-glow-opacity",String(t.glowOpacity)),this.style.setProperty("--ui-animated-beam-glow-blur",`${t.glowBlur}px`);const s=this.getAttribute("radius");if(s&&!xe.has(s.trim())){const i=he(s);i?this.style.setProperty("--ui-animated-beam-radius",i):this.style.removeProperty("--ui-animated-beam-radius")}else this.style.removeProperty("--ui-animated-beam-radius");const o=this.getAttribute("color-start"),n=this.getAttribute("color-end");o?this.style.setProperty("--ui-animated-beam-accent",o):this.style.removeProperty("--ui-animated-beam-accent"),n?this.style.setProperty("--ui-animated-beam-accent-end",n):this.style.removeProperty("--ui-animated-beam-accent-end");const r=this.getAttribute("trail-color");r?this.style.setProperty("--ui-animated-beam-path-color",r):this.style.removeProperty("--ui-animated-beam-path-color")}_nodesFromSlot(){return this._nodeSlot?this._nodeSlot.assignedElements({flatten:!0}).filter(e=>e instanceof HTMLElement):[]}_hubsFromSlot(){return this._hubSlot?this._hubSlot.assignedElements({flatten:!0}).filter(e=>e instanceof HTMLElement):[]}_connectionsFromSlot(){return this._connectionSlot?this._connectionSlot.assignedElements({flatten:!0}).filter(e=>e instanceof HTMLElement):[]}_syncNodes(){const e=this._sizePreset(),t=this._columns(),s=this._declaredRows(),o=this._nodesFromSlot(),n=this._hubsFromSlot(),r=new Set([...o,...n]);for(const p of this._nodes)r.has(p.el)||Pe(p.el);const i=[];o.forEach((p,h)=>{i.push(this._buildNodeRecord(p,"node",h,t,s,e))}),n.forEach((p,h)=>{i.push(this._buildNodeRecord(p,"hub",h,t,s,e))}),this._nodes=i,this.setAttribute("data-node-count",String(o.length)),this.setAttribute("data-hub-count",String(n.length))}_buildNodeRecord(e,t,s,o,n,r){const i=t==="hub"?"data-ui-animated-beam-hub":"data-ui-animated-beam-node";e.hasAttribute(i)||e.setAttribute(i,""),e.hasAttribute("data-ui-animated-beam-managed")||e.setAttribute("data-ui-animated-beam-managed",""),e.hasAttribute("data-ui-animated-beam-node-id-owned")||e.removeAttribute("data-ui-animated-beam-node-id-owned"),t==="hub"&&e.getAttribute("slot")!=="hub"&&e.setAttribute("slot","hub");const p=this._nodeIdForElement(e,t,s),h=n?Math.max(1,Math.ceil(n/2)):t==="hub"?2:s+1,d=O(L(e.getAttribute("row"),h),1,Math.max(n||h,h)),m=t==="hub"?Math.ceil(o/2):O(s+1,1,o),c=O(L(e.getAttribute("column"),m),1,o),f=t==="hub"?r.hubSize:r.nodeSize,g=P(e.getAttribute("size"),f);return{el:e,nodeId:p,kind:t,column:c,row:d,sizePx:g,centerX:0,centerY:0,radiusPx:g/2}}_nodeIdForElement(e,t,s){const o=e.getAttribute("node-id")||e.id;if(o)return o;const n=`${t}-${s+1}`;return e.setAttribute("node-id",n),e.setAttribute("data-ui-animated-beam-node-id-owned",""),n}_syncConnections(){const e=this._motionPreset(),t=this._connectionsFromSlot(),s=new Set(t);for(const i of this._connections)s.has(i.el)||ke(i.el);const o=this._tone(),n=[],r=new Map;t.forEach((i,p)=>{i.getAttribute("slot")!=="connections"&&i.setAttribute("slot","connections"),i.hasAttribute("data-ui-animated-beam-connection")||i.setAttribute("data-ui-animated-beam-connection",""),i.hasAttribute("data-ui-animated-beam-managed")||i.setAttribute("data-ui-animated-beam-managed","");const h=i.getAttribute("from"),d=i.getAttribute("to");if(!h||!d)return;const m=Ce(i.getAttribute("tone")),c=F(i.getAttribute("duration"),this._durationMs()),f=i.getAttribute("delay"),g=r.get(h)||0;r.set(h,g+1),n.push({el:i,from:h,to:d,index:p,curve:this._curveForConnection(i),reverse:this._directionForConnection(i)==="reverse",tone:m,durationMs:c*e.durationScale,hasExplicitDelay:f!=null&&f.trim()!=="",localDelayMs:F(f,0),delayMs:0,siblingIndex:g,beamFactor:_(ae(i.getAttribute("beam-factor"),this._beamFactor(e)),.06,.48),trailWidthPx:P(i.getAttribute("trail-width"),this._trailWidthPx()),beamWidthPx:P(i.getAttribute("beam-width"),this._beamWidthPx()),colorStart:i.getAttribute("color-start")||E[m||o].start,colorEnd:i.getAttribute("color-end")||E[m||o].end})}),this._connections=n,this.setAttribute("data-connection-count",String(this._connections.length))}_curveForConnection(e){const t=e.getAttribute("curve");if(t&&Y.has(t))return t;const s=this.getAttribute("curve");return s&&Y.has(s)?s:"auto"}_directionForConnection(e){const t=e.getAttribute("direction");if(t&&X.has(t))return t;if(e.hasAttribute("reverse"))return"reverse";const s=this.getAttribute("direction");return s&&X.has(s)?s:this.hasAttribute("reverse")?"reverse":"forward"}_layoutNodes(){if(!this._canvasEl||!this._svgEl)return;const e=this._layoutMetrics();this._lastLayoutMetrics=e;const t=this._resolvedRowCount(),s=e.columns>1?(e.width-e.padding*2-e.columnGap*(e.columns-1))/e.columns:e.width-e.padding*2,o=t>1?(e.height-e.padding*2-e.rowGap*(t-1))/t:e.height-e.padding*2;for(const n of this._nodes){const r=n.sizePx*e.scale,i=e.padding+s*(n.column-.5)+e.columnGap*(n.column-1),p=e.padding+o*(n.row-.5)+e.rowGap*(n.row-1);n.centerX=i,n.centerY=p,n.radiusPx=r/2,n.el.style.left=`${i}px`,n.el.style.top=`${p}px`,n.el.style.inlineSize=`${r}px`,n.el.style.blockSize=`${r}px`,n.el.style.zIndex=n.kind==="hub"?"2":"1",n.el.style.setProperty("--ui-animated-beam-render-size",`${r}px`)}this._svgEl.setAttribute("viewBox",`0 0 ${e.width} ${e.height}`),this._canvasEl.style.minHeight=`${e.height}px`,this.setAttribute("data-row-count",String(t)),this.setAttribute("data-column-count",String(e.columns))}_renderConnections(){if(!this._defsEl||!this._pathsEl||!this._animationStyleEl)return;const e=this._lastLayoutMetrics||this._layoutMetrics(),t=_(e.scale,.72,1),s=this._nodeEffect(),o=this._motionPreset(),n=new Map(this._nodes.map(y=>[y.nodeId,y])),r=[],i=[],p=[];this._connections.forEach(y=>{const u=n.get(y.from),w=n.get(y.to);if(!u||!w)return;const x=we(u,w,y.curve);r.push({connection:y,geometry:x,travelDistance:x.length})});const h=Se(r,this._delayMs(),this._staggerMs()),d=Math.max(1,...r.map(y=>(h.get(y.connection)??this._delayMs())+y.connection.durationMs)),m=s==="none"?0:J(d),c=this._repeat()?"infinite":"1",f=[],g=new Map;r.forEach(y=>{const w=(h.get(y.connection)??this._delayMs())+y.connection.durationMs,x=be(y.connection);g.set(x,Math.max(g.get(x)??0,w))});const $=Math.max(d,...Array.from(g.values(),y=>y+m));r.forEach(y=>{const{connection:u,geometry:w,travelDistance:x}=y,z=u.reverse?$e(w):w,k=`${this._uid}-gradient-${u.index}`,A=Math.max(1,u.trailWidthPx*t),M=Math.max(1.5,u.beamWidthPx*t),C=A.toFixed(2),T=M.toFixed(2),R=Math.max(M*2,M+4*t),H=R.toFixed(2),N=z.start,G=z.end,I=0,U=_(x*u.beamFactor,M*6,x*.72);u.delayMs=h.get(u)??this._delayMs();const V=`${this._uid}-glow-${u.index}`,j=`${this._uid}-core-${u.index}`;f.push(Z(V,$,u.delayMs,u.durationMs,"var(--ui-animated-beam-glow-opacity)",o.pattern,x,R,R*1.18,U)),f.push(Z(j,$,u.delayMs,u.durationMs,"var(--ui-animated-beam-core-opacity)",o.pattern,x,M,M*1.22,U)),i.push(`
|
|
528
|
+
`),this._surfaceEl=this.root.querySelector(".surface"),this._canvasEl=this.root.querySelector(".canvas"),this._svgEl=this.root.querySelector(".svg"),this._defsEl=this.root.querySelector("defs"),this._pathsEl=this.root.querySelector(".paths"),this._animationStyleEl=this.root.querySelector("style[data-ui-animated-beam-animations]"),this._nodeSlot=this.root.querySelector("slot:not([name])"),this._hubSlot=this.root.querySelector('slot[name="hub"]'),this._connectionSlot=this.root.querySelector('slot[name="connections"]'),this._nodeSlot?.addEventListener("slotchange",this._boundSlotChange),this._hubSlot?.addEventListener("slotchange",this._boundSlotChange),this._connectionSlot?.addEventListener("slotchange",this._boundSlotChange),this._syncRuntimeStyles(),this.refresh()}shouldRenderOnAttributeChange(){return!1}_handleSlotChange(){this._refreshScene()}_handleReducedMotionChange(){this._syncState()}_handleResize(){this._refreshScene()}_refreshScene(){this._refreshScheduled||(this._refreshScheduled=!0,queueMicrotask(()=>{this._refreshScheduled=!1,this.isConnected&&this.refresh()}))}_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}_ensureResizeObserver(){this._resizeObserver||typeof ResizeObserver>"u"||(this._resizeObserver=new ResizeObserver(this._boundResize),this._syncObservedResizeElements())}_disconnectResizeObserver(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null,this._observedResizeElements.clear())}_syncObservedResizeElements(){if(!this._resizeObserver)return;const e=new Set;this._canvasEl&&e.add(this._canvasEl),e.add(this);for(const t of this._nodes)e.add(t.el);for(const t of this._observedResizeElements)e.has(t)||this._resizeObserver.unobserve(t);for(const t of e)this._observedResizeElements.has(t)||this._resizeObserver.observe(t);this._observedResizeElements=e}_ensureMutationObserver(){this._mutationObserver||typeof MutationObserver>"u"||(this._mutationObserver=new MutationObserver(e=>{for(const t of e){if(t.type==="childList"){this._refreshScene();return}if(t.type==="attributes"&&t.target instanceof HTMLElement&&K.includes(t.attributeName||"")){this._refreshScene();return}}}),this._mutationObserver.observe(this,{childList:!0,subtree:!0,attributes:!0,attributeFilter:K}))}_disconnectMutationObserver(){this._mutationObserver?.disconnect(),this._mutationObserver=null}_syncRuntimeStyles(){const e=this._sizePreset(),t=this._motionPreset();this.style.setProperty("--ui-animated-beam-required-width",`${this._autoFit()?0:this._requiredWidthPx(e)}px`),this.style.setProperty("--ui-animated-beam-duration",`${this._durationMs()*t.durationScale}ms`),this.style.setProperty("--ui-animated-beam-delay",`${this._delayMs()}ms`),this.style.setProperty("--ui-animated-beam-stagger",`${this._staggerMs()}ms`),this.style.setProperty("--ui-animated-beam-columns",String(this._columns())),this.style.setProperty("--ui-animated-beam-padding",`${this._paddingPx(e)}px`),this.style.setProperty("--ui-animated-beam-column-gap",`${this._columnGapPx(e)}px`),this.style.setProperty("--ui-animated-beam-row-gap",`${this._rowGapPx(e)}px`),this.style.setProperty("--ui-animated-beam-node-size",`${this._nodeSizePx(e)}px`),this.style.setProperty("--ui-animated-beam-hub-size",`${this._hubSizePx(e)}px`),this.style.setProperty("--ui-animated-beam-min-height",`${this._minHeightPx(e)}px`),this.style.setProperty("--ui-animated-beam-trail-width",`${this._trailWidthPx()}px`),this.style.setProperty("--ui-animated-beam-beam-width",`${this._beamWidthPx()}px`),this.style.setProperty("--ui-animated-beam-beam-factor",String(this._beamFactor(t))),this.style.setProperty("--ui-animated-beam-glow-opacity",String(t.glowOpacity)),this.style.setProperty("--ui-animated-beam-glow-blur",`${t.glowBlur}px`);const r=this.getAttribute("radius");if(r&&!xe.has(r.trim())){const i=he(r);i?this.style.setProperty("--ui-animated-beam-radius",i):this.style.removeProperty("--ui-animated-beam-radius")}else this.style.removeProperty("--ui-animated-beam-radius");const o=this.getAttribute("color-start"),n=this.getAttribute("color-end");o?this.style.setProperty("--ui-animated-beam-accent",o):this.style.removeProperty("--ui-animated-beam-accent"),n?this.style.setProperty("--ui-animated-beam-accent-end",n):this.style.removeProperty("--ui-animated-beam-accent-end");const s=this.getAttribute("trail-color");s?this.style.setProperty("--ui-animated-beam-path-color",s):this.style.removeProperty("--ui-animated-beam-path-color")}_nodesFromSlot(){return this._nodeSlot?this._nodeSlot.assignedElements({flatten:!0}).filter(e=>e instanceof HTMLElement):[]}_hubsFromSlot(){return this._hubSlot?this._hubSlot.assignedElements({flatten:!0}).filter(e=>e instanceof HTMLElement):[]}_connectionsFromSlot(){return this._connectionSlot?this._connectionSlot.assignedElements({flatten:!0}).filter(e=>e instanceof HTMLElement):[]}_syncNodes(){const e=this._sizePreset(),t=this._columns(),r=this._declaredRows(),o=this._nodesFromSlot(),n=this._hubsFromSlot(),s=new Set([...o,...n]);for(const p of this._nodes)s.has(p.el)||Pe(p.el);const i=[];o.forEach((p,l)=>{i.push(this._buildNodeRecord(p,"node",l,t,r,e))}),n.forEach((p,l)=>{i.push(this._buildNodeRecord(p,"hub",l,t,r,e))}),this._nodes=i,this.setAttribute("data-node-count",String(o.length)),this.setAttribute("data-hub-count",String(n.length))}_buildNodeRecord(e,t,r,o,n,s){const i=t==="hub"?"data-ui-animated-beam-hub":"data-ui-animated-beam-node";e.hasAttribute(i)||e.setAttribute(i,""),e.hasAttribute("data-ui-animated-beam-managed")||e.setAttribute("data-ui-animated-beam-managed",""),e.hasAttribute("data-ui-animated-beam-node-id-owned")||e.removeAttribute("data-ui-animated-beam-node-id-owned"),t==="hub"&&e.getAttribute("slot")!=="hub"&&e.setAttribute("slot","hub");const p=this._nodeIdForElement(e,t,r),l=n?Math.max(1,Math.ceil(n/2)):t==="hub"?2:r+1,d=O(L(e.getAttribute("row"),l),1,Math.max(n||l,l)),u=t==="hub"?Math.ceil(o/2):O(r+1,1,o),h=O(L(e.getAttribute("column"),u),1,o),f=t==="hub"?s.hubSize:s.nodeSize,g=P(e.getAttribute("size"),f);return{el:e,nodeId:p,kind:t,column:h,row:d,sizePx:g,centerX:0,centerY:0,radiusPx:g/2}}_nodeIdForElement(e,t,r){const o=e.getAttribute("node-id")||e.id;if(o)return o;const n=`${t}-${r+1}`;return e.setAttribute("node-id",n),e.setAttribute("data-ui-animated-beam-node-id-owned",""),n}_syncConnections(){const e=this._motionPreset(),t=this._connectionsFromSlot(),r=new Set(t);for(const i of this._connections)r.has(i.el)||ke(i.el);const o=this._tone(),n=[],s=new Map;t.forEach((i,p)=>{i.getAttribute("slot")!=="connections"&&i.setAttribute("slot","connections"),i.hasAttribute("data-ui-animated-beam-connection")||i.setAttribute("data-ui-animated-beam-connection",""),i.hasAttribute("data-ui-animated-beam-managed")||i.setAttribute("data-ui-animated-beam-managed","");const l=i.getAttribute("from"),d=i.getAttribute("to");if(!l||!d)return;const u=Ce(i.getAttribute("tone")),h=F(i.getAttribute("duration"),this._durationMs()),f=i.getAttribute("delay"),g=s.get(l)||0;s.set(l,g+1),n.push({el:i,from:l,to:d,index:p,curve:this._curveForConnection(i),reverse:this._directionForConnection(i)==="reverse",tone:u,durationMs:h*e.durationScale,hasExplicitDelay:f!=null&&f.trim()!=="",localDelayMs:F(f,0),delayMs:0,siblingIndex:g,beamFactor:_(ae(i.getAttribute("beam-factor"),this._beamFactor(e)),.06,.48),trailWidthPx:P(i.getAttribute("trail-width"),this._trailWidthPx()),beamWidthPx:P(i.getAttribute("beam-width"),this._beamWidthPx()),colorStart:i.getAttribute("color-start")||E[u||o].start,colorEnd:i.getAttribute("color-end")||E[u||o].end})}),this._connections=n,this.setAttribute("data-connection-count",String(this._connections.length))}_curveForConnection(e){const t=e.getAttribute("curve");if(t&&Y.has(t))return t;const r=this.getAttribute("curve");return r&&Y.has(r)?r:"auto"}_directionForConnection(e){const t=e.getAttribute("direction");if(t&&X.has(t))return t;if(e.hasAttribute("reverse"))return"reverse";const r=this.getAttribute("direction");return r&&X.has(r)?r:this.hasAttribute("reverse")?"reverse":"forward"}_layoutNodes(){if(!this._canvasEl||!this._svgEl)return;const e=this._layoutMetrics();this._lastLayoutMetrics=e;const t=this._resolvedRowCount(),r=e.columns>1?(e.width-e.padding*2-e.columnGap*(e.columns-1))/e.columns:e.width-e.padding*2,o=t>1?(e.height-e.padding*2-e.rowGap*(t-1))/t:e.height-e.padding*2;for(const n of this._nodes){const s=n.sizePx*e.scale,i=e.padding+r*(n.column-.5)+e.columnGap*(n.column-1),p=e.padding+o*(n.row-.5)+e.rowGap*(n.row-1);n.centerX=i,n.centerY=p,n.radiusPx=s/2,n.el.style.left=`${i}px`,n.el.style.top=`${p}px`,n.el.style.inlineSize=`${s}px`,n.el.style.blockSize=`${s}px`,n.el.style.zIndex=n.kind==="hub"?"2":"1",n.el.style.setProperty("--ui-animated-beam-render-size",`${s}px`)}this._svgEl.setAttribute("viewBox",`0 0 ${e.width} ${e.height}`),this._canvasEl.style.minHeight=`${e.height}px`,this.setAttribute("data-row-count",String(t)),this.setAttribute("data-column-count",String(e.columns))}_renderConnections(){if(!this._defsEl||!this._pathsEl||!this._animationStyleEl)return;const e=this._lastLayoutMetrics||this._layoutMetrics(),t=_(e.scale,.72,1),r=this._nodeEffect(),o=this._motionPreset(),n=new Map(this._nodes.map(y=>[y.nodeId,y])),s=[],i=[],p=[];this._connections.forEach(y=>{const m=n.get(y.from),w=n.get(y.to);if(!m||!w)return;const x=we(m,w,y.curve);s.push({connection:y,geometry:x,travelDistance:x.length})});const l=Se(s,this._delayMs(),this._staggerMs()),d=Math.max(1,...s.map(y=>(l.get(y.connection)??this._delayMs())+y.connection.durationMs)),u=r==="none"?0:J(d),h=this._repeat()?"infinite":"1",f=[],g=new Map;s.forEach(y=>{const w=(l.get(y.connection)??this._delayMs())+y.connection.durationMs,x=be(y.connection);g.set(x,Math.max(g.get(x)??0,w))});const $=Math.max(d,...Array.from(g.values(),y=>y+u));s.forEach(y=>{const{connection:m,geometry:w,travelDistance:x}=y,z=m.reverse?$e(w):w,k=`${this._uid}-gradient-${m.index}`,A=Math.max(1,m.trailWidthPx*t),M=Math.max(1.5,m.beamWidthPx*t),C=A.toFixed(2),T=M.toFixed(2),R=Math.max(M*2,M+4*t),H=R.toFixed(2),N=z.start,G=z.end,I=0,U=_(x*m.beamFactor,M*6,x*.72);m.delayMs=l.get(m)??this._delayMs();const V=`${this._uid}-glow-${m.index}`,j=`${this._uid}-core-${m.index}`;f.push(Z(V,$,m.delayMs,m.durationMs,"var(--ui-animated-beam-glow-opacity)",o.pattern,x,R,R*1.18,U)),f.push(Z(j,$,m.delayMs,m.durationMs,"var(--ui-animated-beam-core-opacity)",o.pattern,x,M,M*1.22,U)),i.push(`
|
|
529
529
|
<linearGradient id="${k}" gradientUnits="userSpaceOnUse" x1="${N.x}" y1="${N.y}" x2="${G.x}" y2="${G.y}">
|
|
530
|
-
<stop offset="0%" stop-color="${B(
|
|
531
|
-
<stop offset="100%" stop-color="${B(
|
|
530
|
+
<stop offset="0%" stop-color="${B(m.colorStart||D)}"></stop>
|
|
531
|
+
<stop offset="100%" stop-color="${B(m.colorEnd||q)}"></stop>
|
|
532
532
|
</linearGradient>
|
|
533
533
|
`),p.push(`
|
|
534
534
|
<g
|
|
535
535
|
class="connection"
|
|
536
536
|
part="connection"
|
|
537
|
-
data-from="${B(
|
|
538
|
-
data-to="${B(
|
|
537
|
+
data-from="${B(m.from)}"
|
|
538
|
+
data-to="${B(m.to)}"
|
|
539
539
|
style="
|
|
540
540
|
--ui-animated-beam-travel-distance:${x};
|
|
541
|
-
--ui-animated-beam-connection-duration:${
|
|
542
|
-
--ui-animated-beam-connection-delay:${
|
|
541
|
+
--ui-animated-beam-connection-duration:${m.durationMs}ms;
|
|
542
|
+
--ui-animated-beam-connection-delay:${m.delayMs}ms;
|
|
543
543
|
--ui-animated-beam-cycle-duration:${$}ms;
|
|
544
|
-
--ui-animated-beam-iteration-count:${
|
|
544
|
+
--ui-animated-beam-iteration-count:${h};
|
|
545
545
|
--ui-animated-beam-progress-offset:${I};
|
|
546
546
|
"
|
|
547
547
|
>
|
|
@@ -568,85 +568,85 @@
|
|
|
568
568
|
style="animation-name:${j};"
|
|
569
569
|
></path>
|
|
570
570
|
</g>
|
|
571
|
-
`)}),this._applyNodeEffectStyles(
|
|
572
|
-
`),this.setAttribute("data-path-visible",this._pathVisible()?"true":"false")}_applyNodeEffectStyles(e,t,
|
|
571
|
+
`)}),this._applyNodeEffectStyles(r,g,$,h,f),this._defsEl.innerHTML=i.join(""),this._pathsEl.innerHTML=p.join(""),this._animationStyleEl.textContent=f.join(`
|
|
572
|
+
`),this.setAttribute("data-path-visible",this._pathVisible()?"true":"false")}_applyNodeEffectStyles(e,t,r,o,n){const s=J(r);this._nodes.forEach((i,p)=>{const l=t.get(i.nodeId);if(e==="none"||l==null){this._nodeEffectAnimations.get(i.el)?.cancel(),this._nodeEffectAnimations.delete(i.el),le(i.el);return}const d=`${this._uid}-node-effect-${p}`;n.push(Ae(d,r,l,s,e)),i.el.style.setProperty("--ui-animated-beam-node-effect-name",d),i.el.style.setProperty("--ui-animated-beam-node-effect-cycle",`${r}ms`),i.el.style.setProperty("--ui-animated-beam-node-effect-iterations",o),this._startNodeEffectAnimation(i.el,e,r,l,s,o)})}_syncState(){const e=this.hasAttribute("paused")||this._prefersReducedMotion();this.setAttribute("data-state",e?"paused":"running"),this.setAttribute("data-reduced-motion",this._prefersReducedMotion()?"true":"false"),this.setAttribute("data-path-visible",this._pathVisible()?"true":"false"),this._syncNodeEffectAnimationState(e)}_startNodeEffectAnimation(e,t,r,o,n,s){if(typeof e.animate!="function"||this._prefersReducedMotion()||t==="none")return;this._nodeEffectAnimations.get(e)?.cancel();const i=Math.max(r,1),p=_(o/i,0,1),l=_((o+n*.35)/i,p,1),d=_((o+n*.72)/i,l,1),u=_((o+n)/i,d,1),h=e.animate(Me(t,p,l,d,u),{duration:r,iterations:s==="infinite"?1/0:1,fill:"both",easing:"linear",delay:0});(this.hasAttribute("paused")||this._prefersReducedMotion())&&h.pause(),this._nodeEffectAnimations.set(e,h)}_syncNodeEffectAnimationState(e){this._nodeEffectAnimations.forEach(t=>{e?t.pause():t.play()})}_clearNodeEffectAnimations(){this._nodeEffectAnimations.forEach(e=>e.cancel()),this._nodeEffectAnimations.clear()}_layoutMetrics(){const e=this._sizePreset(),t=this._columns(),r=this._resolvedRowCount(),o=this._paddingPx(e),n=this._columnGapPx(e),s=this._rowGapPx(e),i=this._nodeSizePx(e),p=this._hubSizePx(e),l=this._minHeightPx(e),d=Math.max(i,Math.round(p*.86)),u=o*2+t*d+Math.max(0,t-1)*n,h=this._canvasEl?.getBoundingClientRect(),f=h?.width||this.clientWidth||0,g=this._autoFit()&&f>0&&u>0?_(f/u,.2,1):1,$=o*g,y=n*g,m=s*g,w=i*g,x=p*g,z=l*g,k=Math.max(z,$*2+r*Math.max(w,Math.round(x*.86))+Math.max(0,r-1)*m),A=this._autoFit()&&f>0?f:Math.max(f,u),M=Math.max(h?.height||this.clientHeight||0,k);return{width:A,height:M,scale:g,padding:$,columns:t,rows:r,columnGap:y,rowGap:m,nodeSize:w,hubSize:x}}_resolvedRowCount(){const e=this._declaredRows(),t=this._nodes.reduce((r,o)=>Math.max(r,o.row),1);return Math.max(1,e||t)}_declaredRows(){const e=L(this.getAttribute("rows"),NaN);return Number.isFinite(e)?O(e,1,12):null}_columns(){return O(L(this.getAttribute("columns"),me),1,6)}_paddingPx(e){return P(this.getAttribute("padding"),e.padding)}_columnGapPx(e){return P(this.getAttribute("column-gap"),e.columnGap)}_rowGapPx(e){return P(this.getAttribute("row-gap"),e.rowGap)}_nodeSizePx(e){return P(this.getAttribute("node-size"),e.nodeSize)}_hubSizePx(e){return P(this.getAttribute("hub-size"),e.hubSize)}_minHeightPx(e){return P(this.getAttribute("min-height"),e.minHeight)}_requiredWidthPx(e){const t=this._columns(),r=this._paddingPx(e),o=this._columnGapPx(e),n=this._nodeSizePx(e),s=this._hubSizePx(e),i=Math.max(n,Math.round(s*.86));return r*2+t*i+Math.max(0,t-1)*o}_autoFit(){const e=this.getAttribute("auto-fit");return e==null?!1:W(e,!0)}_trailWidthPx(){return P(this.getAttribute("trail-width"),se)}_beamWidthPx(){return P(this.getAttribute("beam-width"),re)}_durationMs(){return F(this.getAttribute("duration"),ie)}_delayMs(){return F(this.getAttribute("delay"),ne)}_staggerMs(){return F(this.getAttribute("stagger"),oe)}_beamFactor(e){return _(ae(this.getAttribute("beam-factor"),e.beamFactor),.06,.48)}_sizePreset(){const e=this.getAttribute("size");return e==="xxs"||e==="0"?c.xxs:e==="xs"?c.xs:e==="sm"||e==="1"?c.sm:e==="lg"||e==="3"?c.lg:c.md}_motionPreset(){const e=this.getAttribute("animation");return e&&ye.has(e)?v[e]:v.smooth}_tone(){const e=this.getAttribute("tone");return e&&ue.has(e)?e:"brand"}_pathVisible(){const e=this.getAttribute("path");return e==null?!0:W(e,!0)}_repeat(){const e=this.getAttribute("repeat");return e==null?!0:W(e,!0)}_nodeEffect(){const e=this.getAttribute("node-effect");return e&&_e.has(e)?e:"none"}}function we(a,e,t){const r={x:a.centerX,y:a.centerY},o={x:e.centerX,y:e.centerY},n=Math.atan2(o.y-r.y,o.x-r.x),s=te(r,n,Math.max(0,a.radiusPx-Q)),i=te(o,n+Math.PI,Math.max(0,e.radiusPx-Q)),p=i.x-s.x,l=i.y-s.y,d=Math.abs(p),u=Math.abs(l);if(t==="straight"||t==="auto"&&u<Math.max(8,Math.min(a.radiusPx,e.radiusPx)*.28))return{kind:"line",start:s,end:i,d:`M ${b(s.x)} ${b(s.y)} L ${b(i.x)} ${b(i.y)}`,length:pe(s,i)};const h=t==="arc"?.56:t==="soft"?.34:u>d*.45?.48:.4;if(d>=u){const y=Math.max(d*h,44),m={x:s.x+Math.sign(p||1)*y,y:s.y},w={x:i.x-Math.sign(p||1)*y,y:i.y};return{kind:"cubic",start:s,end:i,c1:m,c2:w,d:`M ${b(s.x)} ${b(s.y)} C ${b(m.x)} ${b(m.y)} ${b(w.x)} ${b(w.y)} ${b(i.x)} ${b(i.y)}`,length:ee(s,m,w,i)}}const f=Math.max(u*h,44),g={x:s.x,y:s.y+Math.sign(l||1)*f},$={x:i.x,y:i.y-Math.sign(l||1)*f};return{kind:"cubic",start:s,end:i,c1:g,c2:$,d:`M ${b(s.x)} ${b(s.y)} C ${b(g.x)} ${b(g.y)} ${b($.x)} ${b($.y)} ${b(i.x)} ${b(i.y)}`,length:ee(s,g,$,i)}}function $e(a){if(a.kind==="line")return{kind:"line",start:a.end,end:a.start,d:`M ${b(a.end.x)} ${b(a.end.y)} L ${b(a.start.x)} ${b(a.start.y)}`,length:a.length};const e=a.c2,t=a.c1;return{kind:"cubic",start:a.end,end:a.start,c1:e,c2:t,d:`M ${b(a.end.x)} ${b(a.end.y)} C ${b(e.x)} ${b(e.y)} ${b(t.x)} ${b(t.y)} ${b(a.start.x)} ${b(a.start.y)}`,length:a.length}}function Se(a,e,t){const r=new Map,o=new Map,n=new Map,s=new Set,i=new Set;for(const d of a){const u=be(d.connection),h=r.get(u);h?h.push(d):r.set(u,[d])}const p=d=>{const u=o.get(d);if(u!=null)return u;if(s.has(d))return e;s.add(d);const h=r.get(d);let f=e;return h?.length&&(f=h.reduce((g,$)=>{const y=l($.connection);return Math.max(g,y+$.connection.durationMs)},e)),s.delete(d),o.set(d,f),f},l=d=>{const u=n.get(d);if(u!=null)return u;if(i.has(d))return e;i.add(d);const h=p(ze(d)),f=d.hasExplicitDelay?0:d.siblingIndex*t,g=h+f+d.localDelayMs;return i.delete(d),n.set(d,g),g};for(const d of a)n.set(d.connection,l(d.connection));return n}function Z(a,e,t,r,o,n,s,i,p,l){const d=Math.max(e,1),u=_(t/d*100,0,100),h=_((t+r)/d*100,u,100),f=_(u+Math.max(r/d*100*.02,.01),u,h),g=S(u),$=S(f),y=S(h),m=b(i),w=b(p),x=b(s),z=b(l);if(n==="pulse"){const k=_(u+(h-u)*.42,f,h),A=_(u+(h-u)*.82,k,h),M=S(k),C=S(A);return`
|
|
573
573
|
@keyframes ${a} {
|
|
574
574
|
0%, ${g}% {
|
|
575
575
|
opacity: 0;
|
|
576
576
|
stroke-dasharray: ${z} ${x};
|
|
577
577
|
stroke-dashoffset: 0;
|
|
578
|
-
stroke-width: ${
|
|
578
|
+
stroke-width: ${m};
|
|
579
579
|
}
|
|
580
580
|
${$}% {
|
|
581
581
|
opacity: calc(${o} * 0.72);
|
|
582
582
|
stroke-dasharray: ${z} ${x};
|
|
583
583
|
stroke-dashoffset: 0;
|
|
584
|
-
stroke-width: ${
|
|
584
|
+
stroke-width: ${m};
|
|
585
585
|
}
|
|
586
586
|
${M}% {
|
|
587
587
|
opacity: ${o};
|
|
588
588
|
stroke-dasharray: ${z} ${x};
|
|
589
|
-
stroke-dashoffset: ${
|
|
589
|
+
stroke-dashoffset: ${b(-s*.44)};
|
|
590
590
|
stroke-width: ${w};
|
|
591
591
|
}
|
|
592
592
|
${C}% {
|
|
593
593
|
opacity: calc(${o} * 0.68);
|
|
594
594
|
stroke-dasharray: ${z} ${x};
|
|
595
|
-
stroke-dashoffset: ${
|
|
596
|
-
stroke-width: ${
|
|
595
|
+
stroke-dashoffset: ${b(-s*.84)};
|
|
596
|
+
stroke-width: ${m};
|
|
597
597
|
}
|
|
598
598
|
${y}%,
|
|
599
599
|
100% {
|
|
600
600
|
opacity: 0;
|
|
601
601
|
stroke-dasharray: ${z} ${x};
|
|
602
|
-
stroke-dashoffset: ${
|
|
603
|
-
stroke-width: ${
|
|
602
|
+
stroke-dashoffset: ${b(-s)};
|
|
603
|
+
stroke-width: ${m};
|
|
604
604
|
}
|
|
605
605
|
}
|
|
606
|
-
`}if(n==="heartbeat"){const k=_(
|
|
606
|
+
`}if(n==="heartbeat"){const k=_(l*.72,i*4.5,s*.42),A=b(k),M=_(u+(h-u)*.24,f,h),C=_(u+(h-u)*.34,M,h),T=_(u+(h-u)*.48,C,h),R=_(u+(h-u)*.82,T,h),H=S(M),N=S(C),G=S(T),I=S(R);return`
|
|
607
607
|
@keyframes ${a} {
|
|
608
608
|
0%, ${g}% {
|
|
609
609
|
opacity: 0;
|
|
610
610
|
stroke-dasharray: ${A} ${x};
|
|
611
611
|
stroke-dashoffset: 0;
|
|
612
|
-
stroke-width: ${
|
|
612
|
+
stroke-width: ${m};
|
|
613
613
|
}
|
|
614
614
|
${$}% {
|
|
615
615
|
opacity: calc(${o} * 0.7);
|
|
616
616
|
stroke-dasharray: ${A} ${x};
|
|
617
617
|
stroke-dashoffset: 0;
|
|
618
|
-
stroke-width: ${
|
|
618
|
+
stroke-width: ${m};
|
|
619
619
|
}
|
|
620
620
|
${H}% {
|
|
621
621
|
opacity: calc(${o} * 0.88);
|
|
622
622
|
stroke-dasharray: ${A} ${x};
|
|
623
|
-
stroke-dashoffset: ${
|
|
624
|
-
stroke-width: ${
|
|
623
|
+
stroke-dashoffset: ${b(-s*.24)};
|
|
624
|
+
stroke-width: ${b(i*1.08)};
|
|
625
625
|
}
|
|
626
626
|
${N}% {
|
|
627
627
|
opacity: calc(${o} * 0.5);
|
|
628
628
|
stroke-dasharray: ${A} ${x};
|
|
629
|
-
stroke-dashoffset: ${
|
|
630
|
-
stroke-width: ${
|
|
629
|
+
stroke-dashoffset: ${b(-s*.34)};
|
|
630
|
+
stroke-width: ${m};
|
|
631
631
|
}
|
|
632
632
|
${G}% {
|
|
633
633
|
opacity: ${o};
|
|
634
634
|
stroke-dasharray: ${A} ${x};
|
|
635
|
-
stroke-dashoffset: ${
|
|
635
|
+
stroke-dashoffset: ${b(-s*.5)};
|
|
636
636
|
stroke-width: ${w};
|
|
637
637
|
}
|
|
638
638
|
${I}% {
|
|
639
639
|
opacity: calc(${o} * 0.7);
|
|
640
640
|
stroke-dasharray: ${A} ${x};
|
|
641
|
-
stroke-dashoffset: ${
|
|
642
|
-
stroke-width: ${
|
|
641
|
+
stroke-dashoffset: ${b(-s*.84)};
|
|
642
|
+
stroke-width: ${m};
|
|
643
643
|
}
|
|
644
644
|
${y}%,
|
|
645
645
|
100% {
|
|
646
646
|
opacity: 0;
|
|
647
647
|
stroke-dasharray: ${A} ${x};
|
|
648
|
-
stroke-dashoffset: ${
|
|
649
|
-
stroke-width: ${
|
|
648
|
+
stroke-dashoffset: ${b(-s)};
|
|
649
|
+
stroke-width: ${m};
|
|
650
650
|
}
|
|
651
651
|
}
|
|
652
652
|
`}return`
|
|
@@ -654,20 +654,20 @@
|
|
|
654
654
|
0%, ${g}% {
|
|
655
655
|
opacity: 0;
|
|
656
656
|
stroke-dasharray: 0 ${x};
|
|
657
|
-
stroke-width: ${
|
|
657
|
+
stroke-width: ${m};
|
|
658
658
|
}
|
|
659
659
|
${$}% {
|
|
660
660
|
opacity: ${o};
|
|
661
661
|
stroke-dasharray: 0 ${x};
|
|
662
|
-
stroke-width: ${
|
|
662
|
+
stroke-width: ${m};
|
|
663
663
|
}
|
|
664
664
|
${y}%, 100% {
|
|
665
665
|
opacity: ${o};
|
|
666
666
|
stroke-dasharray: ${x} 0;
|
|
667
|
-
stroke-width: ${
|
|
667
|
+
stroke-width: ${m};
|
|
668
668
|
}
|
|
669
669
|
}
|
|
670
|
-
`}function ze(a){return a.reverse?a.to:a.from}function be(a){return a.reverse?a.from:a.to}function J(a){return _(a*.16,360,900)}function Ae(a,e,t,
|
|
670
|
+
`}function ze(a){return a.reverse?a.to:a.from}function be(a){return a.reverse?a.from:a.to}function J(a){return _(a*.16,360,900)}function Ae(a,e,t,r,o){const n=Math.max(e,1),s=_(t/n*100,0,100),i=_((t+r*.35)/n*100,s,100),p=_((t+r*.72)/n*100,i,100),l=_((t+r)/n*100,p,100),d=S(s),u=S(i),h=S(p),f=S(l);if(o==="shake"){const m=_(s+(i-s)*.3,s,i),w=_(s+(i-s)*.65,m,i),x=S(m),z=S(w);return`
|
|
671
671
|
@keyframes ${a} {
|
|
672
672
|
0%, ${d}%, 100% {
|
|
673
673
|
transform: translate(-50%, -50%) scale(1);
|
|
@@ -684,14 +684,14 @@
|
|
|
684
684
|
${z}% {
|
|
685
685
|
transform: translate(calc(-50% + 2px), calc(-50% - 1px)) scale(1.03) rotate(2deg);
|
|
686
686
|
}
|
|
687
|
-
${
|
|
687
|
+
${u}% {
|
|
688
688
|
transform: translate(-50%, -50%) scale(1.03);
|
|
689
689
|
box-shadow:
|
|
690
690
|
var(--ui-animated-beam-node-base-shadow),
|
|
691
691
|
0 0 0 6px var(--ui-animated-beam-node-effect-ring),
|
|
692
692
|
0 0 24px var(--ui-animated-beam-node-effect-glow);
|
|
693
693
|
}
|
|
694
|
-
${
|
|
694
|
+
${h}%,
|
|
695
695
|
${f}% {
|
|
696
696
|
transform: translate(-50%, -50%) scale(1);
|
|
697
697
|
box-shadow: var(--ui-animated-beam-node-base-shadow);
|
|
@@ -705,16 +705,16 @@
|
|
|
705
705
|
box-shadow: var(--ui-animated-beam-node-base-shadow);
|
|
706
706
|
border-color: color-mix(in srgb, var(--ui-animated-beam-accent) 12%, rgba(15, 23, 42, 0.1));
|
|
707
707
|
}
|
|
708
|
-
${
|
|
708
|
+
${u}% {
|
|
709
709
|
transform: ${o==="pulse"?"translate(-50%, -50%) scale(1.08)":o==="ring"?"translate(-50%, -50%) scale(1.04)":"translate(-50%, -50%) scale(1.03)"};
|
|
710
710
|
box-shadow: ${o==="ring"?"var(--ui-animated-beam-node-base-shadow), 0 0 0 7px var(--ui-animated-beam-node-effect-ring)":o==="pulse"?"var(--ui-animated-beam-node-base-shadow), 0 0 0 6px var(--ui-animated-beam-node-effect-ring), 0 0 20px var(--ui-animated-beam-node-effect-glow)":"var(--ui-animated-beam-node-base-shadow), 0 0 0 5px var(--ui-animated-beam-node-effect-ring), 0 0 28px var(--ui-animated-beam-node-effect-glow)"};
|
|
711
711
|
border-color: ${o==="ring"?"color-mix(in srgb, var(--ui-animated-beam-accent-end) 34%, transparent)":"color-mix(in srgb, var(--ui-animated-beam-accent) 28%, transparent)"};
|
|
712
712
|
}
|
|
713
|
-
${
|
|
713
|
+
${h}%,
|
|
714
714
|
${f}% {
|
|
715
715
|
transform: translate(-50%, -50%) scale(1);
|
|
716
716
|
box-shadow: var(--ui-animated-beam-node-base-shadow);
|
|
717
717
|
border-color: color-mix(in srgb, var(--ui-animated-beam-accent) 12%, rgba(15, 23, 42, 0.1));
|
|
718
718
|
}
|
|
719
719
|
}
|
|
720
|
-
`}function Me(a,e=0,t=.1,
|
|
720
|
+
`}function Me(a,e=0,t=.1,r=.16,o=.2){const n={offset:0,transform:"translate(-50%, -50%) scale(1)",boxShadow:"var(--ui-animated-beam-node-base-shadow)",borderColor:"color-mix(in srgb, var(--ui-animated-beam-accent) 12%, rgba(15, 23, 42, 0.1))"};if(a==="shake"){const l=e+(t-e)*.3,d=e+(t-e)*.65;return[{...n,offset:0},{...n,offset:e},{offset:l,transform:"translate(calc(-50% - 2px), calc(-50% + 1px)) scale(1.02) rotate(-2deg)",boxShadow:"var(--ui-animated-beam-node-base-shadow), 0 0 0 5px var(--ui-animated-beam-node-effect-ring)",borderColor:"color-mix(in srgb, var(--ui-animated-beam-accent-end) 30%, transparent)"},{offset:d,transform:"translate(calc(-50% + 2px), calc(-50% - 1px)) scale(1.03) rotate(2deg)",boxShadow:"var(--ui-animated-beam-node-base-shadow), 0 0 0 5px var(--ui-animated-beam-node-effect-ring)",borderColor:"color-mix(in srgb, var(--ui-animated-beam-accent-end) 30%, transparent)"},{offset:t,transform:"translate(-50%, -50%) scale(1.03)",boxShadow:"var(--ui-animated-beam-node-base-shadow), 0 0 0 6px var(--ui-animated-beam-node-effect-ring), 0 0 24px var(--ui-animated-beam-node-effect-glow)",borderColor:"color-mix(in srgb, var(--ui-animated-beam-accent-end) 30%, transparent)"},{...n,offset:r},{...n,offset:o},{...n,offset:1}]}const s=a==="pulse"?"translate(-50%, -50%) scale(1.08)":a==="ring"?"translate(-50%, -50%) scale(1.04)":"translate(-50%, -50%) scale(1.03)",i=a==="ring"?"var(--ui-animated-beam-node-base-shadow), 0 0 0 7px var(--ui-animated-beam-node-effect-ring)":a==="pulse"?"var(--ui-animated-beam-node-base-shadow), 0 0 0 6px var(--ui-animated-beam-node-effect-ring), 0 0 20px var(--ui-animated-beam-node-effect-glow)":"var(--ui-animated-beam-node-base-shadow), 0 0 0 5px var(--ui-animated-beam-node-effect-ring), 0 0 28px var(--ui-animated-beam-node-effect-glow)",p=a==="ring"?"color-mix(in srgb, var(--ui-animated-beam-accent-end) 34%, transparent)":"color-mix(in srgb, var(--ui-animated-beam-accent) 28%, transparent)";return[{...n,offset:0},{...n,offset:e},{offset:t,transform:s,boxShadow:i,borderColor:p},{...n,offset:r},{...n,offset:o},{...n,offset:1}]}function ee(a,e,t,r){let o=0,n=a;const s=18;for(let i=1;i<=s;i+=1){const p=i/s,l=Ee(a,e,t,r,p);o+=pe(n,l),n=l}return o}function Ee(a,e,t,r,o){const n=1-o,s=n*n*n*a.x+3*n*n*o*e.x+3*n*o*o*t.x+o*o*o*r.x,i=n*n*n*a.y+3*n*n*o*e.y+3*n*o*o*t.y+o*o*o*r.y;return{x:s,y:i}}function te(a,e,t){return{x:a.x+Math.cos(e)*t,y:a.y+Math.sin(e)*t}}function Pe(a){a.removeAttribute("data-ui-animated-beam-managed"),a.removeAttribute("data-ui-animated-beam-node"),a.removeAttribute("data-ui-animated-beam-hub"),a.hasAttribute("data-ui-animated-beam-node-id-owned")&&(a.removeAttribute("node-id"),a.removeAttribute("data-ui-animated-beam-node-id-owned")),a.style.removeProperty("left"),a.style.removeProperty("top"),a.style.removeProperty("inline-size"),a.style.removeProperty("block-size"),a.style.removeProperty("z-index"),a.style.removeProperty("--ui-animated-beam-render-size"),le(a)}function ke(a){a.removeAttribute("data-ui-animated-beam-managed"),a.removeAttribute("data-ui-animated-beam-connection")}function le(a){a.style.removeProperty("--ui-animated-beam-node-effect-name"),a.style.removeProperty("--ui-animated-beam-node-effect-cycle"),a.style.removeProperty("--ui-animated-beam-node-effect-iterations")}function Ce(a){return a&&ue.has(a)?a:null}function he(a){return a?/^-?\d+(\.\d+)?$/.test(a.trim())?`${a.trim()}px`:a:null}function P(a,e){const t=he(a);if(!t)return e;const r=t.match(/-?\d+(\.\d+)?/);return r?Number.parseFloat(r[0]):e}function F(a,e){if(!a)return e;const t=a.trim();return t?/^-?\d+(\.\d+)?$/.test(t)?Number.parseFloat(t):t.endsWith("ms")?Number.parseFloat(t.slice(0,-2))||e:t.endsWith("s")?(Number.parseFloat(t.slice(0,-1))||e/1e3)*1e3:e:e}function W(a,e){if(a==null)return e;const t=a.trim().toLowerCase();return t?t==="false"||t==="0"||t==="off"||t==="no"?!1:t==="true"||t==="1"||t==="on"||t==="yes"?!0:e:!0}function L(a,e){if(a==null)return e;const t=Number.parseInt(a,10);return Number.isFinite(t)?t:e}function ae(a,e){if(a==null)return e;const t=Number.parseFloat(a);return Number.isFinite(t)?t:e}function O(a,e,t){return Math.min(t,Math.max(e,Math.round(a)))}function _(a,e,t){return Math.min(t,Math.max(e,a))}function pe(a,e){return Math.hypot(e.x-a.x,e.y-a.y)}function b(a){return a.toFixed(2)}function S(a){return a.toFixed(4).replace(/\.?0+$/,"")}function B(a){return a.split("&").join("&").split('"').join(""").split("<").join("<").split(">").join(">")}typeof customElements<"u"&&!customElements.get("ui-animated-beam")&&customElements.define("ui-animated-beam",ce);exports.UIAnimatedBeam=ce;
|