funnel-gfx-wc 0.1.73 → 0.1.74
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.
|
@@ -428,13 +428,15 @@ const DataValues = props => {
|
|
|
428
428
|
|
|
429
429
|
/**
|
|
430
430
|
* anime.js - ESM
|
|
431
|
-
* @version v4.0
|
|
431
|
+
* @version v4.1.0
|
|
432
432
|
* @author Julian Garnier
|
|
433
433
|
* @license MIT
|
|
434
434
|
* @copyright (c) 2025 Julian Garnier
|
|
435
435
|
* @see https://animejs.com
|
|
436
436
|
*/
|
|
437
437
|
|
|
438
|
+
// Global types ///////////////////////////////////////////////////////////////
|
|
439
|
+
|
|
438
440
|
/**
|
|
439
441
|
* @typedef {Object} DefaultsParams
|
|
440
442
|
* @property {Number|String} [id]
|
|
@@ -464,61 +466,33 @@ const DataValues = props => {
|
|
|
464
466
|
/** @typedef {JSAnimation|Timeline} Renderable */
|
|
465
467
|
/** @typedef {Timer|Renderable} Tickable */
|
|
466
468
|
/** @typedef {Timer&JSAnimation&Timeline} CallbackArgument */
|
|
467
|
-
/** @typedef {Animatable|Tickable|Draggable|ScrollObserver|Scope} Revertible */
|
|
469
|
+
/** @typedef {Animatable|Tickable|Draggable|ScrollObserver|TextSplitter|Scope} Revertible */
|
|
468
470
|
|
|
469
|
-
|
|
470
|
-
* @typedef {Object} DraggableAxisParam
|
|
471
|
-
* @property {String} [mapTo]
|
|
472
|
-
* @property {TweenModifier} [modifier]
|
|
473
|
-
* @property {TweenComposition} [composition]
|
|
474
|
-
* @property {Number|Array<Number>|((draggable: Draggable) => Number|Array<Number>)} [snap]
|
|
475
|
-
*/
|
|
471
|
+
// Stagger types //////////////////////////////////////////////////////////////
|
|
476
472
|
|
|
477
473
|
/**
|
|
478
|
-
* @
|
|
479
|
-
* @
|
|
480
|
-
* @
|
|
474
|
+
* @callback StaggerFunction
|
|
475
|
+
* @param {Target} [target]
|
|
476
|
+
* @param {Number} [index]
|
|
477
|
+
* @param {Number} [length]
|
|
478
|
+
* @param {Timeline} [tl]
|
|
479
|
+
* @return {Number|String}
|
|
481
480
|
*/
|
|
482
481
|
|
|
483
482
|
/**
|
|
484
|
-
* @typedef
|
|
485
|
-
* @property {
|
|
486
|
-
* @property {
|
|
487
|
-
* @property {Boolean
|
|
488
|
-
* @property {
|
|
483
|
+
* @typedef {Object} StaggerParams
|
|
484
|
+
* @property {Number|String} [start]
|
|
485
|
+
* @property {Number|'first'|'center'|'last'|'random'} [from]
|
|
486
|
+
* @property {Boolean} [reversed]
|
|
487
|
+
* @property {Array.<Number>} [grid]
|
|
488
|
+
* @property {('x'|'y')} [axis]
|
|
489
|
+
* @property {String|StaggerFunction} [use]
|
|
490
|
+
* @property {Number} [total]
|
|
491
|
+
* @property {EasingParam} [ease]
|
|
489
492
|
* @property {TweenModifier} [modifier]
|
|
490
|
-
* @property {Number|Array<Number>|((draggable: Draggable) => Number|Array<Number>)} [snap]
|
|
491
|
-
* @property {Number|Array<Number>|((draggable: Draggable) => Number|Array<Number>)} [containerPadding]
|
|
492
|
-
* @property {Number|((draggable: Draggable) => Number)} [containerFriction]
|
|
493
|
-
* @property {Number|((draggable: Draggable) => Number)} [releaseContainerFriction]
|
|
494
|
-
* @property {Number|((draggable: Draggable) => Number)} [dragSpeed]
|
|
495
|
-
* @property {Number|((draggable: Draggable) => Number)} [scrollSpeed]
|
|
496
|
-
* @property {Number|((draggable: Draggable) => Number)} [scrollThreshold]
|
|
497
|
-
* @property {Number|((draggable: Draggable) => Number)} [minVelocity]
|
|
498
|
-
* @property {Number|((draggable: Draggable) => Number)} [maxVelocity]
|
|
499
|
-
* @property {Number|((draggable: Draggable) => Number)} [velocityMultiplier]
|
|
500
|
-
* @property {Number} [releaseMass]
|
|
501
|
-
* @property {Number} [releaseStiffness]
|
|
502
|
-
* @property {Number} [releaseDamping]
|
|
503
|
-
* @property {Boolean} [releaseDamping]
|
|
504
|
-
* @property {EasingParam} [releaseEase]
|
|
505
|
-
* @property {Boolean|DraggableCursorParams|((draggable: Draggable) => Boolean|DraggableCursorParams)} [cursor]
|
|
506
|
-
* @property {Callback<Draggable>} [onGrab]
|
|
507
|
-
* @property {Callback<Draggable>} [onDrag]
|
|
508
|
-
* @property {Callback<Draggable>} [onRelease]
|
|
509
|
-
* @property {Callback<Draggable>} [onUpdate]
|
|
510
|
-
* @property {Callback<Draggable>} [onSettle]
|
|
511
|
-
* @property {Callback<Draggable>} [onSnap]
|
|
512
|
-
* @property {Callback<Draggable>} [onResize]
|
|
513
|
-
* @property {Callback<Draggable>} [onAfterResize]
|
|
514
493
|
*/
|
|
515
494
|
|
|
516
|
-
|
|
517
|
-
* @typedef {SVGGeometryElement & {
|
|
518
|
-
* setAttribute(name: 'draw', value: `${number} ${number}`): void;
|
|
519
|
-
* draw: `${number} ${number}`;
|
|
520
|
-
* }} DrawableSVGGeometry
|
|
521
|
-
*/
|
|
495
|
+
// Eases types ////////////////////////////////////////////////////////////////
|
|
522
496
|
|
|
523
497
|
/**
|
|
524
498
|
* @callback EasingFunction
|
|
@@ -546,21 +520,7 @@ const DataValues = props => {
|
|
|
546
520
|
/** @typedef {Array.<TargetSelector>|TargetSelector} TargetsParam */
|
|
547
521
|
/** @typedef {Array.<Target>} TargetsArray */
|
|
548
522
|
|
|
549
|
-
|
|
550
|
-
* @callback FunctionValue
|
|
551
|
-
* @param {Target} target - The animated target
|
|
552
|
-
* @param {Number} index - The target index
|
|
553
|
-
* @param {Number} length - The total number of animated targets
|
|
554
|
-
* @return {Number|String|TweenObjectValue|Array.<Number|String|TweenObjectValue>}
|
|
555
|
-
*/
|
|
556
|
-
|
|
557
|
-
/**
|
|
558
|
-
* @callback TweenModifier
|
|
559
|
-
* @param {Number} value - The animated value
|
|
560
|
-
* @return {Number|String}
|
|
561
|
-
*/
|
|
562
|
-
|
|
563
|
-
/** @typedef {[Number, Number, Number, Number]} ColorArray */
|
|
523
|
+
// Callback types ////////////////////////////////////////////////////////////
|
|
564
524
|
|
|
565
525
|
/**
|
|
566
526
|
* @template T
|
|
@@ -587,6 +547,46 @@ const DataValues = props => {
|
|
|
587
547
|
* @property {Callback<T>} [onRender]
|
|
588
548
|
*/
|
|
589
549
|
|
|
550
|
+
// Timer types ////////////////////////////////////////////////////////////////
|
|
551
|
+
|
|
552
|
+
/**
|
|
553
|
+
* @typedef {Object} TimerOptions
|
|
554
|
+
* @property {Number|String} [id]
|
|
555
|
+
* @property {TweenParamValue} [duration]
|
|
556
|
+
* @property {TweenParamValue} [delay]
|
|
557
|
+
* @property {Number} [loopDelay]
|
|
558
|
+
* @property {Boolean} [reversed]
|
|
559
|
+
* @property {Boolean} [alternate]
|
|
560
|
+
* @property {Boolean|Number} [loop]
|
|
561
|
+
* @property {Boolean|ScrollObserver} [autoplay]
|
|
562
|
+
* @property {Number} [frameRate]
|
|
563
|
+
* @property {Number} [playbackRate]
|
|
564
|
+
*/
|
|
565
|
+
|
|
566
|
+
/**
|
|
567
|
+
|
|
568
|
+
/**
|
|
569
|
+
* @typedef {TimerOptions & TickableCallbacks<Timer>} TimerParams
|
|
570
|
+
*/
|
|
571
|
+
|
|
572
|
+
// Tween types ////////////////////////////////////////////////////////////////
|
|
573
|
+
|
|
574
|
+
/**
|
|
575
|
+
* @callback FunctionValue
|
|
576
|
+
* @param {Target} target - The animated target
|
|
577
|
+
* @param {Number} index - The target index
|
|
578
|
+
* @param {Number} length - The total number of animated targets
|
|
579
|
+
* @return {Number|String|TweenObjectValue|Array.<Number|String|TweenObjectValue>}
|
|
580
|
+
*/
|
|
581
|
+
|
|
582
|
+
/**
|
|
583
|
+
* @callback TweenModifier
|
|
584
|
+
* @param {Number} value - The animated value
|
|
585
|
+
* @return {Number|String}
|
|
586
|
+
*/
|
|
587
|
+
|
|
588
|
+
/** @typedef {[Number, Number, Number, Number]} ColorArray */
|
|
589
|
+
|
|
590
590
|
/**
|
|
591
591
|
* @typedef {Object} Tween
|
|
592
592
|
* @property {Number} id
|
|
@@ -640,25 +640,7 @@ const DataValues = props => {
|
|
|
640
640
|
/** @typedef {WeakMap.<Target, TweenLookups>} TweenReplaceLookups */
|
|
641
641
|
/** @typedef {Map.<Target, TweenLookups>} TweenAdditiveLookups */
|
|
642
642
|
|
|
643
|
-
|
|
644
|
-
* @typedef {Object} TimerOptions
|
|
645
|
-
* @property {Number|String} [id]
|
|
646
|
-
* @property {TweenParamValue} [duration]
|
|
647
|
-
* @property {TweenParamValue} [delay]
|
|
648
|
-
* @property {Number} [loopDelay]
|
|
649
|
-
* @property {Boolean} [reversed]
|
|
650
|
-
* @property {Boolean} [alternate]
|
|
651
|
-
* @property {Boolean|Number} [loop]
|
|
652
|
-
* @property {Boolean|ScrollObserver} [autoplay]
|
|
653
|
-
* @property {Number} [frameRate]
|
|
654
|
-
* @property {Number} [playbackRate]
|
|
655
|
-
*/
|
|
656
|
-
|
|
657
|
-
/**
|
|
658
|
-
|
|
659
|
-
/**
|
|
660
|
-
* @typedef {TimerOptions & TickableCallbacks<Timer>} TimerParams
|
|
661
|
-
*/
|
|
643
|
+
// Animation types ////////////////////////////////////////////////////////////
|
|
662
644
|
|
|
663
645
|
/**
|
|
664
646
|
* @typedef {Number|String|FunctionValue} TweenParamValue
|
|
@@ -732,6 +714,8 @@ const DataValues = props => {
|
|
|
732
714
|
* @typedef {Record<String, TweenOptions | Callback<JSAnimation> | TweenModifier | boolean | PercentageKeyframes | DurationKeyframes | ScrollObserver> & TimerOptions & AnimationOptions & TweenParamsOptions & TickableCallbacks<JSAnimation> & RenderableCallbacks<JSAnimation>} AnimationParams
|
|
733
715
|
*/
|
|
734
716
|
|
|
717
|
+
// Timeline types /////////////////////////////////////////////////////////////
|
|
718
|
+
|
|
735
719
|
/**
|
|
736
720
|
* @typedef {Object} TimelineOptions
|
|
737
721
|
* @property {DefaultsParams} [defaults]
|
|
@@ -742,6 +726,8 @@ const DataValues = props => {
|
|
|
742
726
|
* @typedef {TimerOptions & TimelineOptions & TickableCallbacks<Timeline> & RenderableCallbacks<Timeline>} TimelineParams
|
|
743
727
|
*/
|
|
744
728
|
|
|
729
|
+
// Animatable types ///////////////////////////////////////////////////////////
|
|
730
|
+
|
|
745
731
|
/**
|
|
746
732
|
* @callback AnimatablePropertySetter
|
|
747
733
|
* @param {Number|Array.<Number>} to
|
|
@@ -776,6 +762,136 @@ const DataValues = props => {
|
|
|
776
762
|
* @typedef {Record<String, TweenParamValue | EasingParam | TweenModifier | TweenComposition | AnimatablePropertyParamsOptions> & AnimatablePropertyParamsOptions} AnimatableParams
|
|
777
763
|
*/
|
|
778
764
|
|
|
765
|
+
// Scope types ////////////////////////////////////////////////////////////////
|
|
766
|
+
|
|
767
|
+
/**
|
|
768
|
+
* @typedef {Object} ReactRef
|
|
769
|
+
* @property {HTMLElement|SVGElement|null} [current]
|
|
770
|
+
*/
|
|
771
|
+
|
|
772
|
+
/**
|
|
773
|
+
* @typedef {Object} AngularRef
|
|
774
|
+
* @property {HTMLElement|SVGElement} [nativeElement]
|
|
775
|
+
*/
|
|
776
|
+
|
|
777
|
+
/**
|
|
778
|
+
* @typedef {Object} ScopeParams
|
|
779
|
+
* @property {DOMTargetSelector|ReactRef|AngularRef} [root]
|
|
780
|
+
* @property {DefaultsParams} [defaults]
|
|
781
|
+
* @property {Record<String, String>} [mediaQueries]
|
|
782
|
+
*/
|
|
783
|
+
|
|
784
|
+
/**
|
|
785
|
+
* @template T
|
|
786
|
+
* @callback ScopedCallback
|
|
787
|
+
* @param {Scope} scope
|
|
788
|
+
* @return {T}
|
|
789
|
+
*/
|
|
790
|
+
|
|
791
|
+
/**
|
|
792
|
+
* @callback ScopeCleanupCallback
|
|
793
|
+
* @param {Scope} [scope]
|
|
794
|
+
*/
|
|
795
|
+
|
|
796
|
+
/**
|
|
797
|
+
* @callback ScopeConstructorCallback
|
|
798
|
+
* @param {Scope} [scope]
|
|
799
|
+
* @return {ScopeCleanupCallback|void}
|
|
800
|
+
*/
|
|
801
|
+
|
|
802
|
+
/**
|
|
803
|
+
* @callback ScopeMethod
|
|
804
|
+
* @param {...*} args
|
|
805
|
+
* @return {ScopeCleanupCallback|void}
|
|
806
|
+
*/
|
|
807
|
+
|
|
808
|
+
// Draggable types ////////////////////////////////////////////////////////////
|
|
809
|
+
|
|
810
|
+
/**
|
|
811
|
+
* @typedef {Object} DraggableAxisParam
|
|
812
|
+
* @property {String} [mapTo]
|
|
813
|
+
* @property {TweenModifier} [modifier]
|
|
814
|
+
* @property {TweenComposition} [composition]
|
|
815
|
+
* @property {Number|Array<Number>|((draggable: Draggable) => Number|Array<Number>)} [snap]
|
|
816
|
+
*/
|
|
817
|
+
|
|
818
|
+
/**
|
|
819
|
+
* @typedef {Object} DraggableCursorParams
|
|
820
|
+
* @property {String} [onHover]
|
|
821
|
+
* @property {String} [onGrab]
|
|
822
|
+
*/
|
|
823
|
+
|
|
824
|
+
/**
|
|
825
|
+
* @typedef {Object} DraggableParams
|
|
826
|
+
* @property {DOMTargetSelector} [trigger]
|
|
827
|
+
* @property {DOMTargetSelector|Array<Number>|((draggable: Draggable) => DOMTargetSelector|Array<Number>)} [container]
|
|
828
|
+
* @property {Boolean|DraggableAxisParam} [x]
|
|
829
|
+
* @property {Boolean|DraggableAxisParam} [y]
|
|
830
|
+
* @property {TweenModifier} [modifier]
|
|
831
|
+
* @property {Number|Array<Number>|((draggable: Draggable) => Number|Array<Number>)} [snap]
|
|
832
|
+
* @property {Number|Array<Number>|((draggable: Draggable) => Number|Array<Number>)} [containerPadding]
|
|
833
|
+
* @property {Number|((draggable: Draggable) => Number)} [containerFriction]
|
|
834
|
+
* @property {Number|((draggable: Draggable) => Number)} [releaseContainerFriction]
|
|
835
|
+
* @property {Number|((draggable: Draggable) => Number)} [dragSpeed]
|
|
836
|
+
* @property {Number|((draggable: Draggable) => Number)} [scrollSpeed]
|
|
837
|
+
* @property {Number|((draggable: Draggable) => Number)} [scrollThreshold]
|
|
838
|
+
* @property {Number|((draggable: Draggable) => Number)} [minVelocity]
|
|
839
|
+
* @property {Number|((draggable: Draggable) => Number)} [maxVelocity]
|
|
840
|
+
* @property {Number|((draggable: Draggable) => Number)} [velocityMultiplier]
|
|
841
|
+
* @property {Number} [releaseMass]
|
|
842
|
+
* @property {Number} [releaseStiffness]
|
|
843
|
+
* @property {Number} [releaseDamping]
|
|
844
|
+
* @property {Boolean} [releaseDamping]
|
|
845
|
+
* @property {EasingParam} [releaseEase]
|
|
846
|
+
* @property {Boolean|DraggableCursorParams|((draggable: Draggable) => Boolean|DraggableCursorParams)} [cursor]
|
|
847
|
+
* @property {Callback<Draggable>} [onGrab]
|
|
848
|
+
* @property {Callback<Draggable>} [onDrag]
|
|
849
|
+
* @property {Callback<Draggable>} [onRelease]
|
|
850
|
+
* @property {Callback<Draggable>} [onUpdate]
|
|
851
|
+
* @property {Callback<Draggable>} [onSettle]
|
|
852
|
+
* @property {Callback<Draggable>} [onSnap]
|
|
853
|
+
* @property {Callback<Draggable>} [onResize]
|
|
854
|
+
* @property {Callback<Draggable>} [onAfterResize]
|
|
855
|
+
*/
|
|
856
|
+
|
|
857
|
+
// Text types /////////////////////////////////////////////////////////////////
|
|
858
|
+
|
|
859
|
+
/**
|
|
860
|
+
* @typedef {Object} splitTemplateParams
|
|
861
|
+
* @property {false|String} [class]
|
|
862
|
+
* @property {Boolean|'hidden'|'clip'|'visible'|'scroll'|'auto'} [wrap]
|
|
863
|
+
* @property {Boolean|'top'|'right'|'bottom'|'left'|'center'} [clone]
|
|
864
|
+
*/
|
|
865
|
+
|
|
866
|
+
/**
|
|
867
|
+
* @typedef {Boolean|String} SplitValue
|
|
868
|
+
*/
|
|
869
|
+
|
|
870
|
+
/**
|
|
871
|
+
* @callback SplitFunctionValue
|
|
872
|
+
* @param {Node|HTMLElement} [value]
|
|
873
|
+
* @return String
|
|
874
|
+
*/
|
|
875
|
+
|
|
876
|
+
/**
|
|
877
|
+
* @typedef {Object} TextSplitterParams
|
|
878
|
+
* @property {SplitValue|splitTemplateParams|SplitFunctionValue} [lines]
|
|
879
|
+
* @property {SplitValue|splitTemplateParams|SplitFunctionValue} [words]
|
|
880
|
+
* @property {SplitValue|splitTemplateParams|SplitFunctionValue} [chars]
|
|
881
|
+
* @property {Boolean} [accessible]
|
|
882
|
+
* @property {Boolean} [includeSpaces]
|
|
883
|
+
* @property {Boolean} [debug]
|
|
884
|
+
*/
|
|
885
|
+
|
|
886
|
+
// SVG types //////////////////////////////////////////////////////////////////
|
|
887
|
+
|
|
888
|
+
/**
|
|
889
|
+
* @typedef {SVGGeometryElement & {
|
|
890
|
+
* setAttribute(name: 'draw', value: `${number} ${number}`): void;
|
|
891
|
+
* draw: `${number} ${number}`;
|
|
892
|
+
* }} DrawableSVGGeometry
|
|
893
|
+
*/
|
|
894
|
+
|
|
779
895
|
|
|
780
896
|
// Environments
|
|
781
897
|
|
|
@@ -839,11 +955,13 @@ const maxFps = 120;
|
|
|
839
955
|
// Strings
|
|
840
956
|
|
|
841
957
|
const emptyString = '';
|
|
842
|
-
const shortTransforms =
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
958
|
+
const shortTransforms = /*#__PURE__*/ (() => {
|
|
959
|
+
const map = new Map();
|
|
960
|
+
map.set('x', 'translateX');
|
|
961
|
+
map.set('y', 'translateY');
|
|
962
|
+
map.set('z', 'translateZ');
|
|
963
|
+
return map;
|
|
964
|
+
})();
|
|
847
965
|
|
|
848
966
|
const validTransforms = [
|
|
849
967
|
'translateX',
|
|
@@ -865,7 +983,7 @@ const validTransforms = [
|
|
|
865
983
|
'matrix3d',
|
|
866
984
|
];
|
|
867
985
|
|
|
868
|
-
const transformsFragmentStrings = validTransforms.reduce((a, v) => ({...a, [v]: v + '('}), {});
|
|
986
|
+
const transformsFragmentStrings = /*#__PURE__*/ validTransforms.reduce((a, v) => ({...a, [v]: v + '('}), {});
|
|
869
987
|
|
|
870
988
|
// Functions
|
|
871
989
|
|
|
@@ -915,11 +1033,14 @@ const defaults = {
|
|
|
915
1033
|
onRender: noop,
|
|
916
1034
|
};
|
|
917
1035
|
|
|
1036
|
+
const scope = {
|
|
1037
|
+
/** @type {Document|DOMTarget} */
|
|
1038
|
+
root: doc,
|
|
1039
|
+
};
|
|
1040
|
+
|
|
918
1041
|
const globals = {
|
|
919
1042
|
/** @type {DefaultsParams} */
|
|
920
1043
|
defaults,
|
|
921
|
-
/** @type {Document|DOMTarget} */
|
|
922
|
-
root: doc,
|
|
923
1044
|
/** @type {Number} */
|
|
924
1045
|
precision: 4,
|
|
925
1046
|
/** @type {Number} */
|
|
@@ -928,7 +1049,7 @@ const globals = {
|
|
|
928
1049
|
tickThreshold: 200,
|
|
929
1050
|
};
|
|
930
1051
|
|
|
931
|
-
const globalVersions = { version: '4.0
|
|
1052
|
+
const globalVersions = { version: '4.1.0', engine: null };
|
|
932
1053
|
|
|
933
1054
|
if (isBrowser) {
|
|
934
1055
|
if (!win.AnimeJS) win.AnimeJS = [];
|
|
@@ -1641,8 +1762,8 @@ const addAdditiveAnimation = lookups => {
|
|
|
1641
1762
|
return animation;
|
|
1642
1763
|
};
|
|
1643
1764
|
|
|
1644
|
-
const engineTickMethod = isBrowser ? requestAnimationFrame : setImmediate;
|
|
1645
|
-
const engineCancelMethod = isBrowser ? cancelAnimationFrame : clearImmediate;
|
|
1765
|
+
const engineTickMethod = /*#__PURE__*/ (() => isBrowser ? requestAnimationFrame : setImmediate)();
|
|
1766
|
+
const engineCancelMethod = /*#__PURE__*/ (() => isBrowser ? cancelAnimationFrame : clearImmediate)();
|
|
1646
1767
|
|
|
1647
1768
|
class Engine extends Clock {
|
|
1648
1769
|
|
|
@@ -1816,7 +1937,7 @@ const parseInlineTransforms = (target, propName, animationInlineStyles) => {
|
|
|
1816
1937
|
* @return {NodeList|HTMLCollection}
|
|
1817
1938
|
*/
|
|
1818
1939
|
function getNodeList(v) {
|
|
1819
|
-
const n = isStr(v) ?
|
|
1940
|
+
const n = isStr(v) ? scope.root.querySelectorAll(v) : v;
|
|
1820
1941
|
if (n instanceof NodeList || n instanceof HTMLCollection) return n;
|
|
1821
1942
|
}
|
|
1822
1943
|
|
|
@@ -2666,7 +2787,7 @@ class Timer extends Clock {
|
|
|
2666
2787
|
}
|
|
2667
2788
|
|
|
2668
2789
|
get progress() {
|
|
2669
|
-
return clamp(round(this._currentTime / this.duration,
|
|
2790
|
+
return clamp(round(this._currentTime / this.duration, 10), 0, 1);
|
|
2670
2791
|
}
|
|
2671
2792
|
|
|
2672
2793
|
/** @param {Number} progress */
|
|
@@ -2675,7 +2796,7 @@ class Timer extends Clock {
|
|
|
2675
2796
|
}
|
|
2676
2797
|
|
|
2677
2798
|
get iterationProgress() {
|
|
2678
|
-
return clamp(round(this._iterationTime / this.iterationDuration,
|
|
2799
|
+
return clamp(round(this._iterationTime / this.iterationDuration, 10), 0, 1);
|
|
2679
2800
|
}
|
|
2680
2801
|
|
|
2681
2802
|
/** @param {Number} progress */
|
|
@@ -3927,12 +4048,13 @@ class JSAnimation extends Timer {
|
|
|
3927
4048
|
*/
|
|
3928
4049
|
refresh() {
|
|
3929
4050
|
forEachChildren(this, (/** @type {Tween} */tween) => {
|
|
3930
|
-
const
|
|
3931
|
-
|
|
3932
|
-
|
|
3933
|
-
|
|
3934
|
-
|
|
3935
|
-
|
|
4051
|
+
const tweenFunc = tween._func;
|
|
4052
|
+
if (tweenFunc) {
|
|
4053
|
+
const ogValue = getOriginalAnimatableValue(tween.target, tween.property, tween._tweenType);
|
|
4054
|
+
decomposeRawValue(ogValue, decomposedOriginalValue);
|
|
4055
|
+
decomposeRawValue(tweenFunc(), toTargetObject);
|
|
4056
|
+
tween._fromNumbers = cloneArray(decomposedOriginalValue.d);
|
|
4057
|
+
tween._fromNumber = decomposedOriginalValue.n;
|
|
3936
4058
|
tween._toNumbers = cloneArray(toTargetObject.d);
|
|
3937
4059
|
tween._strings = cloneArray(toTargetObject.s);
|
|
3938
4060
|
tween._toNumber = toTargetObject.n;
|
|
@@ -3967,61 +4089,6 @@ class JSAnimation extends Timer {
|
|
|
3967
4089
|
*/
|
|
3968
4090
|
const animate = (targets, parameters) => new JSAnimation(targets, parameters, null, 0, false).init();
|
|
3969
4091
|
|
|
3970
|
-
/**
|
|
3971
|
-
* @typedef {String|Number|Array<String>|Array<Number>} WAAPITweenValue
|
|
3972
|
-
*/
|
|
3973
|
-
|
|
3974
|
-
/**
|
|
3975
|
-
* @callback WAAPIFunctionvalue
|
|
3976
|
-
* @param {DOMTarget} target - The animated target
|
|
3977
|
-
* @param {Number} index - The target index
|
|
3978
|
-
* @param {Number} length - The total number of animated targets
|
|
3979
|
-
* @return {WAAPITweenValue}
|
|
3980
|
-
*/
|
|
3981
|
-
|
|
3982
|
-
/**
|
|
3983
|
-
* @typedef {WAAPITweenValue|WAAPIFunctionvalue|Array<String|Number|WAAPIFunctionvalue>} WAAPIKeyframeValue
|
|
3984
|
-
*/
|
|
3985
|
-
|
|
3986
|
-
/**
|
|
3987
|
-
* @typedef {(animation: WAAPIAnimation) => void} WAAPICallback
|
|
3988
|
-
*/
|
|
3989
|
-
|
|
3990
|
-
/**
|
|
3991
|
-
* @typedef {Object} WAAPITweenOptions
|
|
3992
|
-
* @property {WAAPIKeyframeValue} [to]
|
|
3993
|
-
* @property {WAAPIKeyframeValue} [from]
|
|
3994
|
-
* @property {Number|WAAPIFunctionvalue} [duration]
|
|
3995
|
-
* @property {Number|WAAPIFunctionvalue} [delay]
|
|
3996
|
-
* @property {EasingParam} [ease]
|
|
3997
|
-
* @property {CompositeOperation} [composition]
|
|
3998
|
-
*/
|
|
3999
|
-
|
|
4000
|
-
/**
|
|
4001
|
-
* @typedef {Object} WAAPIAnimationOptions
|
|
4002
|
-
* @property {Number|Boolean} [loop]
|
|
4003
|
-
* @property {Boolean} [Reversed]
|
|
4004
|
-
* @property {Boolean} [Alternate]
|
|
4005
|
-
* @property {Boolean|ScrollObserver} [autoplay]
|
|
4006
|
-
* @property {Number} [playbackRate]
|
|
4007
|
-
* @property {Number|WAAPIFunctionvalue} [duration]
|
|
4008
|
-
* @property {Number|WAAPIFunctionvalue} [delay]
|
|
4009
|
-
* @property {EasingParam} [ease]
|
|
4010
|
-
* @property {CompositeOperation} [composition]
|
|
4011
|
-
* @property {WAAPICallback} [onComplete]
|
|
4012
|
-
*/
|
|
4013
|
-
|
|
4014
|
-
/**
|
|
4015
|
-
* @typedef {Record<String, WAAPIKeyframeValue | WAAPIAnimationOptions | Boolean | ScrollObserver | WAAPICallback | EasingParam | WAAPITweenOptions> & WAAPIAnimationOptions} WAAPIAnimationParams
|
|
4016
|
-
*/
|
|
4017
|
-
|
|
4018
|
-
const transformsShorthands = ['x', 'y', 'z'];
|
|
4019
|
-
|
|
4020
|
-
[...transformsShorthands, ...validTransforms.filter(t => ['X', 'Y', 'Z'].some(axis => t.endsWith(axis)))];
|
|
4021
|
-
|
|
4022
|
-
// Setting it to true in case CSS.registerProperty is not supported will automatically skip the registration and fallback to no animation
|
|
4023
|
-
isBrowser && (isUnd(CSS) || !Object.hasOwnProperty.call(CSS, 'registerProperty'));
|
|
4024
|
-
|
|
4025
4092
|
let barHeight = [];
|
|
4026
4093
|
let barRefs = undefined;
|
|
4027
4094
|
const bgdFill = colorFor('white');
|
|
@@ -426,13 +426,15 @@ const DataValues = props => {
|
|
|
426
426
|
|
|
427
427
|
/**
|
|
428
428
|
* anime.js - ESM
|
|
429
|
-
* @version v4.0
|
|
429
|
+
* @version v4.1.0
|
|
430
430
|
* @author Julian Garnier
|
|
431
431
|
* @license MIT
|
|
432
432
|
* @copyright (c) 2025 Julian Garnier
|
|
433
433
|
* @see https://animejs.com
|
|
434
434
|
*/
|
|
435
435
|
|
|
436
|
+
// Global types ///////////////////////////////////////////////////////////////
|
|
437
|
+
|
|
436
438
|
/**
|
|
437
439
|
* @typedef {Object} DefaultsParams
|
|
438
440
|
* @property {Number|String} [id]
|
|
@@ -462,61 +464,33 @@ const DataValues = props => {
|
|
|
462
464
|
/** @typedef {JSAnimation|Timeline} Renderable */
|
|
463
465
|
/** @typedef {Timer|Renderable} Tickable */
|
|
464
466
|
/** @typedef {Timer&JSAnimation&Timeline} CallbackArgument */
|
|
465
|
-
/** @typedef {Animatable|Tickable|Draggable|ScrollObserver|Scope} Revertible */
|
|
467
|
+
/** @typedef {Animatable|Tickable|Draggable|ScrollObserver|TextSplitter|Scope} Revertible */
|
|
466
468
|
|
|
467
|
-
|
|
468
|
-
* @typedef {Object} DraggableAxisParam
|
|
469
|
-
* @property {String} [mapTo]
|
|
470
|
-
* @property {TweenModifier} [modifier]
|
|
471
|
-
* @property {TweenComposition} [composition]
|
|
472
|
-
* @property {Number|Array<Number>|((draggable: Draggable) => Number|Array<Number>)} [snap]
|
|
473
|
-
*/
|
|
469
|
+
// Stagger types //////////////////////////////////////////////////////////////
|
|
474
470
|
|
|
475
471
|
/**
|
|
476
|
-
* @
|
|
477
|
-
* @
|
|
478
|
-
* @
|
|
472
|
+
* @callback StaggerFunction
|
|
473
|
+
* @param {Target} [target]
|
|
474
|
+
* @param {Number} [index]
|
|
475
|
+
* @param {Number} [length]
|
|
476
|
+
* @param {Timeline} [tl]
|
|
477
|
+
* @return {Number|String}
|
|
479
478
|
*/
|
|
480
479
|
|
|
481
480
|
/**
|
|
482
|
-
* @typedef
|
|
483
|
-
* @property {
|
|
484
|
-
* @property {
|
|
485
|
-
* @property {Boolean
|
|
486
|
-
* @property {
|
|
481
|
+
* @typedef {Object} StaggerParams
|
|
482
|
+
* @property {Number|String} [start]
|
|
483
|
+
* @property {Number|'first'|'center'|'last'|'random'} [from]
|
|
484
|
+
* @property {Boolean} [reversed]
|
|
485
|
+
* @property {Array.<Number>} [grid]
|
|
486
|
+
* @property {('x'|'y')} [axis]
|
|
487
|
+
* @property {String|StaggerFunction} [use]
|
|
488
|
+
* @property {Number} [total]
|
|
489
|
+
* @property {EasingParam} [ease]
|
|
487
490
|
* @property {TweenModifier} [modifier]
|
|
488
|
-
* @property {Number|Array<Number>|((draggable: Draggable) => Number|Array<Number>)} [snap]
|
|
489
|
-
* @property {Number|Array<Number>|((draggable: Draggable) => Number|Array<Number>)} [containerPadding]
|
|
490
|
-
* @property {Number|((draggable: Draggable) => Number)} [containerFriction]
|
|
491
|
-
* @property {Number|((draggable: Draggable) => Number)} [releaseContainerFriction]
|
|
492
|
-
* @property {Number|((draggable: Draggable) => Number)} [dragSpeed]
|
|
493
|
-
* @property {Number|((draggable: Draggable) => Number)} [scrollSpeed]
|
|
494
|
-
* @property {Number|((draggable: Draggable) => Number)} [scrollThreshold]
|
|
495
|
-
* @property {Number|((draggable: Draggable) => Number)} [minVelocity]
|
|
496
|
-
* @property {Number|((draggable: Draggable) => Number)} [maxVelocity]
|
|
497
|
-
* @property {Number|((draggable: Draggable) => Number)} [velocityMultiplier]
|
|
498
|
-
* @property {Number} [releaseMass]
|
|
499
|
-
* @property {Number} [releaseStiffness]
|
|
500
|
-
* @property {Number} [releaseDamping]
|
|
501
|
-
* @property {Boolean} [releaseDamping]
|
|
502
|
-
* @property {EasingParam} [releaseEase]
|
|
503
|
-
* @property {Boolean|DraggableCursorParams|((draggable: Draggable) => Boolean|DraggableCursorParams)} [cursor]
|
|
504
|
-
* @property {Callback<Draggable>} [onGrab]
|
|
505
|
-
* @property {Callback<Draggable>} [onDrag]
|
|
506
|
-
* @property {Callback<Draggable>} [onRelease]
|
|
507
|
-
* @property {Callback<Draggable>} [onUpdate]
|
|
508
|
-
* @property {Callback<Draggable>} [onSettle]
|
|
509
|
-
* @property {Callback<Draggable>} [onSnap]
|
|
510
|
-
* @property {Callback<Draggable>} [onResize]
|
|
511
|
-
* @property {Callback<Draggable>} [onAfterResize]
|
|
512
491
|
*/
|
|
513
492
|
|
|
514
|
-
|
|
515
|
-
* @typedef {SVGGeometryElement & {
|
|
516
|
-
* setAttribute(name: 'draw', value: `${number} ${number}`): void;
|
|
517
|
-
* draw: `${number} ${number}`;
|
|
518
|
-
* }} DrawableSVGGeometry
|
|
519
|
-
*/
|
|
493
|
+
// Eases types ////////////////////////////////////////////////////////////////
|
|
520
494
|
|
|
521
495
|
/**
|
|
522
496
|
* @callback EasingFunction
|
|
@@ -544,21 +518,7 @@ const DataValues = props => {
|
|
|
544
518
|
/** @typedef {Array.<TargetSelector>|TargetSelector} TargetsParam */
|
|
545
519
|
/** @typedef {Array.<Target>} TargetsArray */
|
|
546
520
|
|
|
547
|
-
|
|
548
|
-
* @callback FunctionValue
|
|
549
|
-
* @param {Target} target - The animated target
|
|
550
|
-
* @param {Number} index - The target index
|
|
551
|
-
* @param {Number} length - The total number of animated targets
|
|
552
|
-
* @return {Number|String|TweenObjectValue|Array.<Number|String|TweenObjectValue>}
|
|
553
|
-
*/
|
|
554
|
-
|
|
555
|
-
/**
|
|
556
|
-
* @callback TweenModifier
|
|
557
|
-
* @param {Number} value - The animated value
|
|
558
|
-
* @return {Number|String}
|
|
559
|
-
*/
|
|
560
|
-
|
|
561
|
-
/** @typedef {[Number, Number, Number, Number]} ColorArray */
|
|
521
|
+
// Callback types ////////////////////////////////////////////////////////////
|
|
562
522
|
|
|
563
523
|
/**
|
|
564
524
|
* @template T
|
|
@@ -585,6 +545,46 @@ const DataValues = props => {
|
|
|
585
545
|
* @property {Callback<T>} [onRender]
|
|
586
546
|
*/
|
|
587
547
|
|
|
548
|
+
// Timer types ////////////////////////////////////////////////////////////////
|
|
549
|
+
|
|
550
|
+
/**
|
|
551
|
+
* @typedef {Object} TimerOptions
|
|
552
|
+
* @property {Number|String} [id]
|
|
553
|
+
* @property {TweenParamValue} [duration]
|
|
554
|
+
* @property {TweenParamValue} [delay]
|
|
555
|
+
* @property {Number} [loopDelay]
|
|
556
|
+
* @property {Boolean} [reversed]
|
|
557
|
+
* @property {Boolean} [alternate]
|
|
558
|
+
* @property {Boolean|Number} [loop]
|
|
559
|
+
* @property {Boolean|ScrollObserver} [autoplay]
|
|
560
|
+
* @property {Number} [frameRate]
|
|
561
|
+
* @property {Number} [playbackRate]
|
|
562
|
+
*/
|
|
563
|
+
|
|
564
|
+
/**
|
|
565
|
+
|
|
566
|
+
/**
|
|
567
|
+
* @typedef {TimerOptions & TickableCallbacks<Timer>} TimerParams
|
|
568
|
+
*/
|
|
569
|
+
|
|
570
|
+
// Tween types ////////////////////////////////////////////////////////////////
|
|
571
|
+
|
|
572
|
+
/**
|
|
573
|
+
* @callback FunctionValue
|
|
574
|
+
* @param {Target} target - The animated target
|
|
575
|
+
* @param {Number} index - The target index
|
|
576
|
+
* @param {Number} length - The total number of animated targets
|
|
577
|
+
* @return {Number|String|TweenObjectValue|Array.<Number|String|TweenObjectValue>}
|
|
578
|
+
*/
|
|
579
|
+
|
|
580
|
+
/**
|
|
581
|
+
* @callback TweenModifier
|
|
582
|
+
* @param {Number} value - The animated value
|
|
583
|
+
* @return {Number|String}
|
|
584
|
+
*/
|
|
585
|
+
|
|
586
|
+
/** @typedef {[Number, Number, Number, Number]} ColorArray */
|
|
587
|
+
|
|
588
588
|
/**
|
|
589
589
|
* @typedef {Object} Tween
|
|
590
590
|
* @property {Number} id
|
|
@@ -638,25 +638,7 @@ const DataValues = props => {
|
|
|
638
638
|
/** @typedef {WeakMap.<Target, TweenLookups>} TweenReplaceLookups */
|
|
639
639
|
/** @typedef {Map.<Target, TweenLookups>} TweenAdditiveLookups */
|
|
640
640
|
|
|
641
|
-
|
|
642
|
-
* @typedef {Object} TimerOptions
|
|
643
|
-
* @property {Number|String} [id]
|
|
644
|
-
* @property {TweenParamValue} [duration]
|
|
645
|
-
* @property {TweenParamValue} [delay]
|
|
646
|
-
* @property {Number} [loopDelay]
|
|
647
|
-
* @property {Boolean} [reversed]
|
|
648
|
-
* @property {Boolean} [alternate]
|
|
649
|
-
* @property {Boolean|Number} [loop]
|
|
650
|
-
* @property {Boolean|ScrollObserver} [autoplay]
|
|
651
|
-
* @property {Number} [frameRate]
|
|
652
|
-
* @property {Number} [playbackRate]
|
|
653
|
-
*/
|
|
654
|
-
|
|
655
|
-
/**
|
|
656
|
-
|
|
657
|
-
/**
|
|
658
|
-
* @typedef {TimerOptions & TickableCallbacks<Timer>} TimerParams
|
|
659
|
-
*/
|
|
641
|
+
// Animation types ////////////////////////////////////////////////////////////
|
|
660
642
|
|
|
661
643
|
/**
|
|
662
644
|
* @typedef {Number|String|FunctionValue} TweenParamValue
|
|
@@ -730,6 +712,8 @@ const DataValues = props => {
|
|
|
730
712
|
* @typedef {Record<String, TweenOptions | Callback<JSAnimation> | TweenModifier | boolean | PercentageKeyframes | DurationKeyframes | ScrollObserver> & TimerOptions & AnimationOptions & TweenParamsOptions & TickableCallbacks<JSAnimation> & RenderableCallbacks<JSAnimation>} AnimationParams
|
|
731
713
|
*/
|
|
732
714
|
|
|
715
|
+
// Timeline types /////////////////////////////////////////////////////////////
|
|
716
|
+
|
|
733
717
|
/**
|
|
734
718
|
* @typedef {Object} TimelineOptions
|
|
735
719
|
* @property {DefaultsParams} [defaults]
|
|
@@ -740,6 +724,8 @@ const DataValues = props => {
|
|
|
740
724
|
* @typedef {TimerOptions & TimelineOptions & TickableCallbacks<Timeline> & RenderableCallbacks<Timeline>} TimelineParams
|
|
741
725
|
*/
|
|
742
726
|
|
|
727
|
+
// Animatable types ///////////////////////////////////////////////////////////
|
|
728
|
+
|
|
743
729
|
/**
|
|
744
730
|
* @callback AnimatablePropertySetter
|
|
745
731
|
* @param {Number|Array.<Number>} to
|
|
@@ -774,6 +760,136 @@ const DataValues = props => {
|
|
|
774
760
|
* @typedef {Record<String, TweenParamValue | EasingParam | TweenModifier | TweenComposition | AnimatablePropertyParamsOptions> & AnimatablePropertyParamsOptions} AnimatableParams
|
|
775
761
|
*/
|
|
776
762
|
|
|
763
|
+
// Scope types ////////////////////////////////////////////////////////////////
|
|
764
|
+
|
|
765
|
+
/**
|
|
766
|
+
* @typedef {Object} ReactRef
|
|
767
|
+
* @property {HTMLElement|SVGElement|null} [current]
|
|
768
|
+
*/
|
|
769
|
+
|
|
770
|
+
/**
|
|
771
|
+
* @typedef {Object} AngularRef
|
|
772
|
+
* @property {HTMLElement|SVGElement} [nativeElement]
|
|
773
|
+
*/
|
|
774
|
+
|
|
775
|
+
/**
|
|
776
|
+
* @typedef {Object} ScopeParams
|
|
777
|
+
* @property {DOMTargetSelector|ReactRef|AngularRef} [root]
|
|
778
|
+
* @property {DefaultsParams} [defaults]
|
|
779
|
+
* @property {Record<String, String>} [mediaQueries]
|
|
780
|
+
*/
|
|
781
|
+
|
|
782
|
+
/**
|
|
783
|
+
* @template T
|
|
784
|
+
* @callback ScopedCallback
|
|
785
|
+
* @param {Scope} scope
|
|
786
|
+
* @return {T}
|
|
787
|
+
*/
|
|
788
|
+
|
|
789
|
+
/**
|
|
790
|
+
* @callback ScopeCleanupCallback
|
|
791
|
+
* @param {Scope} [scope]
|
|
792
|
+
*/
|
|
793
|
+
|
|
794
|
+
/**
|
|
795
|
+
* @callback ScopeConstructorCallback
|
|
796
|
+
* @param {Scope} [scope]
|
|
797
|
+
* @return {ScopeCleanupCallback|void}
|
|
798
|
+
*/
|
|
799
|
+
|
|
800
|
+
/**
|
|
801
|
+
* @callback ScopeMethod
|
|
802
|
+
* @param {...*} args
|
|
803
|
+
* @return {ScopeCleanupCallback|void}
|
|
804
|
+
*/
|
|
805
|
+
|
|
806
|
+
// Draggable types ////////////////////////////////////////////////////////////
|
|
807
|
+
|
|
808
|
+
/**
|
|
809
|
+
* @typedef {Object} DraggableAxisParam
|
|
810
|
+
* @property {String} [mapTo]
|
|
811
|
+
* @property {TweenModifier} [modifier]
|
|
812
|
+
* @property {TweenComposition} [composition]
|
|
813
|
+
* @property {Number|Array<Number>|((draggable: Draggable) => Number|Array<Number>)} [snap]
|
|
814
|
+
*/
|
|
815
|
+
|
|
816
|
+
/**
|
|
817
|
+
* @typedef {Object} DraggableCursorParams
|
|
818
|
+
* @property {String} [onHover]
|
|
819
|
+
* @property {String} [onGrab]
|
|
820
|
+
*/
|
|
821
|
+
|
|
822
|
+
/**
|
|
823
|
+
* @typedef {Object} DraggableParams
|
|
824
|
+
* @property {DOMTargetSelector} [trigger]
|
|
825
|
+
* @property {DOMTargetSelector|Array<Number>|((draggable: Draggable) => DOMTargetSelector|Array<Number>)} [container]
|
|
826
|
+
* @property {Boolean|DraggableAxisParam} [x]
|
|
827
|
+
* @property {Boolean|DraggableAxisParam} [y]
|
|
828
|
+
* @property {TweenModifier} [modifier]
|
|
829
|
+
* @property {Number|Array<Number>|((draggable: Draggable) => Number|Array<Number>)} [snap]
|
|
830
|
+
* @property {Number|Array<Number>|((draggable: Draggable) => Number|Array<Number>)} [containerPadding]
|
|
831
|
+
* @property {Number|((draggable: Draggable) => Number)} [containerFriction]
|
|
832
|
+
* @property {Number|((draggable: Draggable) => Number)} [releaseContainerFriction]
|
|
833
|
+
* @property {Number|((draggable: Draggable) => Number)} [dragSpeed]
|
|
834
|
+
* @property {Number|((draggable: Draggable) => Number)} [scrollSpeed]
|
|
835
|
+
* @property {Number|((draggable: Draggable) => Number)} [scrollThreshold]
|
|
836
|
+
* @property {Number|((draggable: Draggable) => Number)} [minVelocity]
|
|
837
|
+
* @property {Number|((draggable: Draggable) => Number)} [maxVelocity]
|
|
838
|
+
* @property {Number|((draggable: Draggable) => Number)} [velocityMultiplier]
|
|
839
|
+
* @property {Number} [releaseMass]
|
|
840
|
+
* @property {Number} [releaseStiffness]
|
|
841
|
+
* @property {Number} [releaseDamping]
|
|
842
|
+
* @property {Boolean} [releaseDamping]
|
|
843
|
+
* @property {EasingParam} [releaseEase]
|
|
844
|
+
* @property {Boolean|DraggableCursorParams|((draggable: Draggable) => Boolean|DraggableCursorParams)} [cursor]
|
|
845
|
+
* @property {Callback<Draggable>} [onGrab]
|
|
846
|
+
* @property {Callback<Draggable>} [onDrag]
|
|
847
|
+
* @property {Callback<Draggable>} [onRelease]
|
|
848
|
+
* @property {Callback<Draggable>} [onUpdate]
|
|
849
|
+
* @property {Callback<Draggable>} [onSettle]
|
|
850
|
+
* @property {Callback<Draggable>} [onSnap]
|
|
851
|
+
* @property {Callback<Draggable>} [onResize]
|
|
852
|
+
* @property {Callback<Draggable>} [onAfterResize]
|
|
853
|
+
*/
|
|
854
|
+
|
|
855
|
+
// Text types /////////////////////////////////////////////////////////////////
|
|
856
|
+
|
|
857
|
+
/**
|
|
858
|
+
* @typedef {Object} splitTemplateParams
|
|
859
|
+
* @property {false|String} [class]
|
|
860
|
+
* @property {Boolean|'hidden'|'clip'|'visible'|'scroll'|'auto'} [wrap]
|
|
861
|
+
* @property {Boolean|'top'|'right'|'bottom'|'left'|'center'} [clone]
|
|
862
|
+
*/
|
|
863
|
+
|
|
864
|
+
/**
|
|
865
|
+
* @typedef {Boolean|String} SplitValue
|
|
866
|
+
*/
|
|
867
|
+
|
|
868
|
+
/**
|
|
869
|
+
* @callback SplitFunctionValue
|
|
870
|
+
* @param {Node|HTMLElement} [value]
|
|
871
|
+
* @return String
|
|
872
|
+
*/
|
|
873
|
+
|
|
874
|
+
/**
|
|
875
|
+
* @typedef {Object} TextSplitterParams
|
|
876
|
+
* @property {SplitValue|splitTemplateParams|SplitFunctionValue} [lines]
|
|
877
|
+
* @property {SplitValue|splitTemplateParams|SplitFunctionValue} [words]
|
|
878
|
+
* @property {SplitValue|splitTemplateParams|SplitFunctionValue} [chars]
|
|
879
|
+
* @property {Boolean} [accessible]
|
|
880
|
+
* @property {Boolean} [includeSpaces]
|
|
881
|
+
* @property {Boolean} [debug]
|
|
882
|
+
*/
|
|
883
|
+
|
|
884
|
+
// SVG types //////////////////////////////////////////////////////////////////
|
|
885
|
+
|
|
886
|
+
/**
|
|
887
|
+
* @typedef {SVGGeometryElement & {
|
|
888
|
+
* setAttribute(name: 'draw', value: `${number} ${number}`): void;
|
|
889
|
+
* draw: `${number} ${number}`;
|
|
890
|
+
* }} DrawableSVGGeometry
|
|
891
|
+
*/
|
|
892
|
+
|
|
777
893
|
|
|
778
894
|
// Environments
|
|
779
895
|
|
|
@@ -837,11 +953,13 @@ const maxFps = 120;
|
|
|
837
953
|
// Strings
|
|
838
954
|
|
|
839
955
|
const emptyString = '';
|
|
840
|
-
const shortTransforms =
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
956
|
+
const shortTransforms = /*#__PURE__*/ (() => {
|
|
957
|
+
const map = new Map();
|
|
958
|
+
map.set('x', 'translateX');
|
|
959
|
+
map.set('y', 'translateY');
|
|
960
|
+
map.set('z', 'translateZ');
|
|
961
|
+
return map;
|
|
962
|
+
})();
|
|
845
963
|
|
|
846
964
|
const validTransforms = [
|
|
847
965
|
'translateX',
|
|
@@ -863,7 +981,7 @@ const validTransforms = [
|
|
|
863
981
|
'matrix3d',
|
|
864
982
|
];
|
|
865
983
|
|
|
866
|
-
const transformsFragmentStrings = validTransforms.reduce((a, v) => ({...a, [v]: v + '('}), {});
|
|
984
|
+
const transformsFragmentStrings = /*#__PURE__*/ validTransforms.reduce((a, v) => ({...a, [v]: v + '('}), {});
|
|
867
985
|
|
|
868
986
|
// Functions
|
|
869
987
|
|
|
@@ -913,11 +1031,14 @@ const defaults = {
|
|
|
913
1031
|
onRender: noop,
|
|
914
1032
|
};
|
|
915
1033
|
|
|
1034
|
+
const scope = {
|
|
1035
|
+
/** @type {Document|DOMTarget} */
|
|
1036
|
+
root: doc,
|
|
1037
|
+
};
|
|
1038
|
+
|
|
916
1039
|
const globals = {
|
|
917
1040
|
/** @type {DefaultsParams} */
|
|
918
1041
|
defaults,
|
|
919
|
-
/** @type {Document|DOMTarget} */
|
|
920
|
-
root: doc,
|
|
921
1042
|
/** @type {Number} */
|
|
922
1043
|
precision: 4,
|
|
923
1044
|
/** @type {Number} */
|
|
@@ -926,7 +1047,7 @@ const globals = {
|
|
|
926
1047
|
tickThreshold: 200,
|
|
927
1048
|
};
|
|
928
1049
|
|
|
929
|
-
const globalVersions = { version: '4.0
|
|
1050
|
+
const globalVersions = { version: '4.1.0', engine: null };
|
|
930
1051
|
|
|
931
1052
|
if (isBrowser) {
|
|
932
1053
|
if (!win.AnimeJS) win.AnimeJS = [];
|
|
@@ -1639,8 +1760,8 @@ const addAdditiveAnimation = lookups => {
|
|
|
1639
1760
|
return animation;
|
|
1640
1761
|
};
|
|
1641
1762
|
|
|
1642
|
-
const engineTickMethod = isBrowser ? requestAnimationFrame : setImmediate;
|
|
1643
|
-
const engineCancelMethod = isBrowser ? cancelAnimationFrame : clearImmediate;
|
|
1763
|
+
const engineTickMethod = /*#__PURE__*/ (() => isBrowser ? requestAnimationFrame : setImmediate)();
|
|
1764
|
+
const engineCancelMethod = /*#__PURE__*/ (() => isBrowser ? cancelAnimationFrame : clearImmediate)();
|
|
1644
1765
|
|
|
1645
1766
|
class Engine extends Clock {
|
|
1646
1767
|
|
|
@@ -1814,7 +1935,7 @@ const parseInlineTransforms = (target, propName, animationInlineStyles) => {
|
|
|
1814
1935
|
* @return {NodeList|HTMLCollection}
|
|
1815
1936
|
*/
|
|
1816
1937
|
function getNodeList(v) {
|
|
1817
|
-
const n = isStr(v) ?
|
|
1938
|
+
const n = isStr(v) ? scope.root.querySelectorAll(v) : v;
|
|
1818
1939
|
if (n instanceof NodeList || n instanceof HTMLCollection) return n;
|
|
1819
1940
|
}
|
|
1820
1941
|
|
|
@@ -2664,7 +2785,7 @@ class Timer extends Clock {
|
|
|
2664
2785
|
}
|
|
2665
2786
|
|
|
2666
2787
|
get progress() {
|
|
2667
|
-
return clamp(round(this._currentTime / this.duration,
|
|
2788
|
+
return clamp(round(this._currentTime / this.duration, 10), 0, 1);
|
|
2668
2789
|
}
|
|
2669
2790
|
|
|
2670
2791
|
/** @param {Number} progress */
|
|
@@ -2673,7 +2794,7 @@ class Timer extends Clock {
|
|
|
2673
2794
|
}
|
|
2674
2795
|
|
|
2675
2796
|
get iterationProgress() {
|
|
2676
|
-
return clamp(round(this._iterationTime / this.iterationDuration,
|
|
2797
|
+
return clamp(round(this._iterationTime / this.iterationDuration, 10), 0, 1);
|
|
2677
2798
|
}
|
|
2678
2799
|
|
|
2679
2800
|
/** @param {Number} progress */
|
|
@@ -3925,12 +4046,13 @@ class JSAnimation extends Timer {
|
|
|
3925
4046
|
*/
|
|
3926
4047
|
refresh() {
|
|
3927
4048
|
forEachChildren(this, (/** @type {Tween} */tween) => {
|
|
3928
|
-
const
|
|
3929
|
-
|
|
3930
|
-
|
|
3931
|
-
|
|
3932
|
-
|
|
3933
|
-
|
|
4049
|
+
const tweenFunc = tween._func;
|
|
4050
|
+
if (tweenFunc) {
|
|
4051
|
+
const ogValue = getOriginalAnimatableValue(tween.target, tween.property, tween._tweenType);
|
|
4052
|
+
decomposeRawValue(ogValue, decomposedOriginalValue);
|
|
4053
|
+
decomposeRawValue(tweenFunc(), toTargetObject);
|
|
4054
|
+
tween._fromNumbers = cloneArray(decomposedOriginalValue.d);
|
|
4055
|
+
tween._fromNumber = decomposedOriginalValue.n;
|
|
3934
4056
|
tween._toNumbers = cloneArray(toTargetObject.d);
|
|
3935
4057
|
tween._strings = cloneArray(toTargetObject.s);
|
|
3936
4058
|
tween._toNumber = toTargetObject.n;
|
|
@@ -3965,61 +4087,6 @@ class JSAnimation extends Timer {
|
|
|
3965
4087
|
*/
|
|
3966
4088
|
const animate = (targets, parameters) => new JSAnimation(targets, parameters, null, 0, false).init();
|
|
3967
4089
|
|
|
3968
|
-
/**
|
|
3969
|
-
* @typedef {String|Number|Array<String>|Array<Number>} WAAPITweenValue
|
|
3970
|
-
*/
|
|
3971
|
-
|
|
3972
|
-
/**
|
|
3973
|
-
* @callback WAAPIFunctionvalue
|
|
3974
|
-
* @param {DOMTarget} target - The animated target
|
|
3975
|
-
* @param {Number} index - The target index
|
|
3976
|
-
* @param {Number} length - The total number of animated targets
|
|
3977
|
-
* @return {WAAPITweenValue}
|
|
3978
|
-
*/
|
|
3979
|
-
|
|
3980
|
-
/**
|
|
3981
|
-
* @typedef {WAAPITweenValue|WAAPIFunctionvalue|Array<String|Number|WAAPIFunctionvalue>} WAAPIKeyframeValue
|
|
3982
|
-
*/
|
|
3983
|
-
|
|
3984
|
-
/**
|
|
3985
|
-
* @typedef {(animation: WAAPIAnimation) => void} WAAPICallback
|
|
3986
|
-
*/
|
|
3987
|
-
|
|
3988
|
-
/**
|
|
3989
|
-
* @typedef {Object} WAAPITweenOptions
|
|
3990
|
-
* @property {WAAPIKeyframeValue} [to]
|
|
3991
|
-
* @property {WAAPIKeyframeValue} [from]
|
|
3992
|
-
* @property {Number|WAAPIFunctionvalue} [duration]
|
|
3993
|
-
* @property {Number|WAAPIFunctionvalue} [delay]
|
|
3994
|
-
* @property {EasingParam} [ease]
|
|
3995
|
-
* @property {CompositeOperation} [composition]
|
|
3996
|
-
*/
|
|
3997
|
-
|
|
3998
|
-
/**
|
|
3999
|
-
* @typedef {Object} WAAPIAnimationOptions
|
|
4000
|
-
* @property {Number|Boolean} [loop]
|
|
4001
|
-
* @property {Boolean} [Reversed]
|
|
4002
|
-
* @property {Boolean} [Alternate]
|
|
4003
|
-
* @property {Boolean|ScrollObserver} [autoplay]
|
|
4004
|
-
* @property {Number} [playbackRate]
|
|
4005
|
-
* @property {Number|WAAPIFunctionvalue} [duration]
|
|
4006
|
-
* @property {Number|WAAPIFunctionvalue} [delay]
|
|
4007
|
-
* @property {EasingParam} [ease]
|
|
4008
|
-
* @property {CompositeOperation} [composition]
|
|
4009
|
-
* @property {WAAPICallback} [onComplete]
|
|
4010
|
-
*/
|
|
4011
|
-
|
|
4012
|
-
/**
|
|
4013
|
-
* @typedef {Record<String, WAAPIKeyframeValue | WAAPIAnimationOptions | Boolean | ScrollObserver | WAAPICallback | EasingParam | WAAPITweenOptions> & WAAPIAnimationOptions} WAAPIAnimationParams
|
|
4014
|
-
*/
|
|
4015
|
-
|
|
4016
|
-
const transformsShorthands = ['x', 'y', 'z'];
|
|
4017
|
-
|
|
4018
|
-
[...transformsShorthands, ...validTransforms.filter(t => ['X', 'Y', 'Z'].some(axis => t.endsWith(axis)))];
|
|
4019
|
-
|
|
4020
|
-
// Setting it to true in case CSS.registerProperty is not supported will automatically skip the registration and fallback to no animation
|
|
4021
|
-
isBrowser && (isUnd(CSS) || !Object.hasOwnProperty.call(CSS, 'registerProperty'));
|
|
4022
|
-
|
|
4023
4090
|
let barHeight = [];
|
|
4024
4091
|
let barRefs = undefined;
|
|
4025
4092
|
const bgdFill = colorFor('white');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as a,b as p}from"./p-C6acOHgL.js";export{s as setNonce}from"./p-C6acOHgL.js";import{g as t}from"./p-DQuL1Twl.js";(()=>{const p=import.meta.url,s={};return""!==p&&(s.resourcesUrl=new URL(".",p).href),a(s)})().then((async a=>(await t(),p([["p-
|
|
1
|
+
import{p as a,b as p}from"./p-C6acOHgL.js";export{s as setNonce}from"./p-C6acOHgL.js";import{g as t}from"./p-DQuL1Twl.js";(()=>{const p=import.meta.url,s={};return""!==p&&(s.resourcesUrl=new URL(".",p).href),a(s)})().then((async a=>(await t(),p([["p-23b645e5",[[257,"funnel-app",{tag:[1]}]]]],a))));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{h as t,g as e,f as n,r as s}from"./p-C6acOHgL.js";const r=e=>{const n=e.hex||"currentColor",s=e.selected||!1,r=e.size||24;return t("svg",{class:e.class,width:r,height:r,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"radio")," ",t("g",{fill:n},t("path",s?{d:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},i=[{id:1,height:400,width:100,x:10,y:10,drop:20},{id:2,height:356,width:100,x:120,y:32,drop:20},{id:3,height:312,width:100,x:230,y:54,drop:20},{id:4,height:268,width:100,x:340,y:76,drop:20},{id:5,height:224,width:100,x:450,y:98,drop:20}],o=i.map((()=>0)),l={bada55:"#bada55",navy:"#001f3f",blue:"#0074d9",aqua:"#7fdbff",teal:"#39cccc",olive:"#3d9970",green:"#2ecc40",lime:"#01ff70",yellow:"#ffdc00",orange:"#ff851b",red:"#ff4136",maroon:"#85144b",fuchsia:"#f012be",purple:"#b10dc9",black:"#111111",gray:"#aaaaaa",silver:"#dddddd"},a={slate:"#708090",slate4:"#4e5964",white:"#ffffff"},c=t=>l[t]||a[t],h=Object.keys(l),u=t=>!("isConnected"in t)||t.isConnected,d=(()=>{let t;return(...e)=>{t&&clearTimeout(t),t=setTimeout((()=>{t=0,(t=>{for(let e of t.keys())t.set(e,t.get(e).filter(u))})(...e)}),2e3)}})(),f=t=>"function"==typeof t?t():t,p=(t,e)=>{const n=t.indexOf(e);n>=0&&(t[n]=t[t.length-1],t.length--)},g="funnel-gfx-wc::app-data",b=(()=>{const t=((t,e=(t,e)=>t!==e)=>{const n=f(t);let s=new Map(Object.entries(n??{}));const r={dispose:[],get:[],set:[],reset:[]},i=new Map,o=()=>{s=new Map(Object.entries(f(t)??{})),r.reset.forEach((t=>t()))},l=t=>(r.get.forEach((e=>e(t))),s.get(t)),a=(t,n)=>{const i=s.get(t);e(n,i,t)&&(s.set(t,n),r.set.forEach((e=>e(t,n,i))))},c="undefined"==typeof Proxy?{}:new Proxy(n,{get:(t,e)=>l(e),ownKeys:()=>Array.from(s.keys()),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0}),has:(t,e)=>s.has(e),set:(t,e,n)=>(a(e,n),!0)}),h=(t,e)=>(r[t].push(e),()=>{p(r[t],e)});return{state:c,get:l,set:a,on:h,onChange:(e,n)=>{const s=(t,s)=>{t===e&&n(s)},r=()=>n(f(t)[e]),o=h("set",s),l=h("reset",r);return i.set(n,{setHandler:s,resetHandler:r,propName:e}),()=>{o(),l(),i.delete(n)}},use:(...t)=>{const e=t.reduce(((t,e)=>(e.set&&t.push(h("set",e.set)),e.get&&t.push(h("get",e.get)),e.reset&&t.push(h("reset",e.reset)),e.dispose&&t.push(h("dispose",e.dispose)),t)),[]);return()=>e.forEach((t=>t()))},dispose:()=>{r.dispose.forEach((t=>t())),o()},reset:o,forceUpdate:t=>{const e=s.get(t);r.set.forEach((n=>n(t,e,e)))},removeListener:(t,e)=>{const n=i.get(e);n&&n.propName===t&&(p(r.set,n.setHandler),p(r.reset,n.resetHandler),i.delete(e))}}})({count:0,pick:"bada55",values:[...o]},void 0);return t.use((()=>{if("function"!=typeof e)return{};const t=new Map;return{dispose:()=>t.clear(),get:n=>{const s=e();s&&((t,e,n)=>{const s=t.get(e);s?s.includes(n)||s.push(n):t.set(e,[n])})(t,n,s)},set:e=>{const s=t.get(e);s&&t.set(e,s.filter(n)),d(t)},reset:()=>{t.forEach((t=>t.forEach(n))),d(t)}}})()),t})(),{state:m,onChange:v}=b,x=()=>{const{count:t,pick:e,values:n}=m;(t=>{const e=JSON.stringify(t);localStorage.setItem(g,e)})({count:t,pick:e,values:n})},y={initApp:()=>{const t=(()=>{const t=localStorage.getItem(g);return t?JSON.parse(t):void 0})();if(t){const{count:e,pick:n,values:s}=t;m.count=e,m.pick=n,m.values=s}},refresh:()=>{const t=o.map((()=>Math.floor(100*Math.random())));m.count=m.count+1,m.values=t,x()},reset:()=>{m.count=0,m.values=[...o],x()},updatePick:t=>{m.pick=t,x()}},w=e=>{const{actions:n,state:s}=e,{pick:i}=s;return t("div",{id:"toolbar",class:"flex flex-wrap",role:"radiogroup"},h.map((e=>{const s=c(e),o=i==e;return t("div",{"aria-label":e,"aria-checked":o?"true":"false",role:"radio",onClick:()=>{n.updatePick(e)}},t(r,{hex:s,selected:o,label:e}))})))},C=e=>{const n=e.hex||"currentColor",s=e.size||24;return t("svg",{class:e.class,width:s,height:s,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"chevron-double-left"),t("g",{fill:n},t("path",{d:"M18.41,7.41L17,6L11,12L17,18L18.41,16.59L13.83,12L18.41,7.41M12.41,7.41L11,6L5,12L11,18L12.41,16.59L7.83,12L12.41,7.41Z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},k=e=>{const n=e.hex||"currentColor",s=e.size||24;return t("svg",{class:e.class,width:s,height:s,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"close"),t("g",{fill:n},t("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},_=e=>{const n=e.hex||"currentColor",s=e.size||24;return t("svg",{class:e.class,width:s,height:s,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"refresh"),t("g",{fill:n},t("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99\n 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65\n 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35\n 2.35z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},M=e=>{const{actions:n,state:s}=e,{count:r}=s;return t("div",{class:"mb-10px mt-3 flex items-center"},t("button",{"aria-label":"Refresh",class:"ds1-button data-button bg-clrs-blue",onClick:()=>{n.refresh()}},t(_,{label:"Refresh"})),t("button",{"aria-label":"Reset",class:"ds1-button data-button bg-clrs-red",onClick:()=>{n.reset()}},t(k,{label:"Reset"})),t("span",{class:"flex items-center"},t(C,{size:28}),t("span",{class:"italic"},"click a button... ",t("sup",null,r))))},N=()=>t("label",{class:"ml-auto align-top text-xs italic text-clrs-slate4"},"Tailwind ","4.1.11"),$=e=>{const{state:n}=e,{values:s,pick:r,count:i}=n;return t("div",{class:"flex"},t("div",{class:"flex flex-col"},t("div",{class:"flex"},t("span",{class:"mr-10px font-bold"},"color:"),t("span",{class:"italic text-clrs-slate4"},r)),t("div",{class:"mt-5px flex"},t("span",{class:"mr-10px font-bold"},"sample:"),t("span",{class:"italic text-clrs-slate4"},`${i>0?s:"..."}`))),t(N,null))},A="undefined"!=typeof window,L=A?window:null,z=A?document:null,S={replace:0,none:1,blend:2},T=Symbol(),O=Symbol(),R=Symbol(),B=Symbol(),j=Symbol(),U=1e-11,E=1e12,D=1e3,H="",I=(()=>{const t=new Map;return t.set("x","translateX"),t.set("y","translateY"),t.set("z","translateZ"),t})(),P=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"],Z=P.reduce(((t,e)=>({...t,[e]:e+"("})),{}),X=()=>{},Y=/(^#([\da-f]{3}){1,2}$)|(^#([\da-f]{4}){1,2}$)/i,F=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i,q=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,Q=/hsl\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*\)/i,J=/hsla\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,V=/[-+]?\d*\.?\d+(?:e[-+]?\d)?/gi,G=/^([-+]?\d*\.?\d+(?:e[-+]?\d+)?)([a-z]+|%)$/i,K=/([a-z])([A-Z])/g,W=/(\w+)(\([^)]+\)+)/g,tt={id:null,keyframes:null,playbackEase:null,playbackRate:1,frameRate:120,loop:0,reversed:!1,alternate:!1,autoplay:!0,duration:D,delay:0,loopDelay:0,ease:"out(2)",composition:S.replace,modifier:t=>t,onBegin:X,onBeforeUpdate:X,onUpdate:X,onLoop:X,onPause:X,onComplete:X,onRender:X},et={root:z},nt={defaults:tt,precision:4,timeScale:1,tickThreshold:200},st={version:"4.1.0",engine:null};A&&(L.AnimeJS||(L.AnimeJS=[]),L.AnimeJS.push(st));const rt=(t,e)=>0===t.indexOf(e),it=Date.now,ot=Array.isArray,lt=t=>t&&t.constructor===Object,at=t=>"string"==typeof t,ct=t=>"function"==typeof t,ht=t=>void 0===t,ut=t=>ht(t)||null===t,dt=t=>A&&t instanceof SVGElement,ft=t=>Y.test(t),pt=t=>rt(t,"rgb"),gt=t=>rt(t,"hsl"),bt=t=>!nt.defaults.hasOwnProperty(t),mt=t=>at(t)?parseFloat(t):t,vt=Math.pow,xt=Math.sqrt,yt=Math.sin,wt=Math.cos,Ct=Math.abs,kt=Math.ceil,_t=Math.floor,Mt=Math.asin,Nt=Math.PI,$t=Math.round,At=(t,e,n)=>t<e?e:t>n?n:t,Lt={},zt=(t,e)=>{if(e<0)return t;if(!e)return $t(t);let n=Lt[e];return n||(n=Lt[e]=10**e),$t(t*n)/n},St=(t,e,n)=>t+(e-t)*n,Tt=t=>t===1/0?E:t===-1/0?-1e12:t,Ot=t=>t<=U?U:Tt(zt(t,11)),Rt=t=>ot(t)?[...t]:t,Bt=(t,e,n,s="_prev",r="_next")=>{let i=t._head,o=r;for(n&&(i=t._tail,o=s);i;){const t=i[o];e(i),i=t}},jt=(t,e,n="_prev",s="_next")=>{const r=e[n],i=e[s];r?r[s]=i:t._head=i,i?i[n]=r:t._tail=r,e[n]=null,e[s]=null},Ut=(t,e,n,s="_prev",r="_next")=>{let i=t._tail;for(;i&&n&&n(i,e);)i=i[s];const o=i?i[r]:t._head;i?i[r]=e:t._head=e,o?o[s]=e:t._tail=e,e[s]=i,e[r]=o};class Et{constructor(t=0){this.deltaTime=0,this._currentTime=t,this._elapsedTime=t,this._startTime=t,this._lastTime=t,this._scheduledTime=0,this._frameDuration=zt(D/120,0),this._fps=120,this._speed=1,this._hasChildren=!1,this._head=null,this._tail=null}get fps(){return this._fps}set fps(t){const e=this._frameDuration,n=+t,s=n<U?U:n,r=zt(D/s,0);this._fps=s,this._frameDuration=r,this._scheduledTime+=r-e}get speed(){return this._speed}set speed(t){const e=+t;this._speed=e<U?U:e}requestTick(t){const e=this._scheduledTime,n=this._elapsedTime;if(this._elapsedTime+=t-n,n<e)return 0;const s=this._frameDuration,r=n-e;return this._scheduledTime+=r<s?s:r,1}computeDeltaTime(t){const e=t-this._lastTime;return this.deltaTime=e,this._lastTime=t,e}}const Dt=(t,e,n,s,r)=>{const i=t.parent,o=t.duration,l=t.completed,a=t.iterationDuration,c=t.iterationCount,h=t._currentIteration,u=t._loopDelay,d=t._reversed,f=t._alternate,p=t._hasChildren,g=t._delay,b=t._currentTime,m=g+a,v=e-g,x=At(b,-g,o),y=At(v,-g,o),w=v-b,C=y>0,k=y>=o,_=o<=U,M=2===r;let N=0,$=v,A=0;c>1&&(t._currentIteration=At(~~(y/(a+(k?0:u))),0,c),k&&t._currentIteration--,N=t._currentIteration%2,$=y%(a+u)||0);const L=d^(f&&N),z=t._ease;let T=k?L?0:o:L?a-$:$;z&&(T=a*z(T/a)||0);const O=(i?i.backwards:v<b)?!L:!!L;if(t._currentTime=v,t._iterationTime=T,t.backwards=O,C&&!t.began?(t.began=!0,n||i&&(O||!i.began)||t.onBegin(t)):v<=0&&(t.began=!1),n||p||!C||t._currentIteration===h||t.onLoop(t),M||1===r&&(e>=g&&e<=m||e<=g&&x>g||e>=m&&x!==o)||T>=m&&x!==o||T<=g&&x>0||e<=x&&x===o&&l||k&&!l&&_){if(C&&(t.computeDeltaTime(x),n||t.onBeforeUpdate(t)),!p){const e=M||(O?-1*w:w)>=nt.tickThreshold,r=t._offset+(i?i._offset:0)+g+T;let o,l,a,c,h=t._head,u=0;for(;h;){const t=h._composition,n=h._currentTime,i=h._changeDuration,d=h._absoluteStartTime+h._changeDuration,f=h._nextRep,p=h._prevRep,g=t!==S.none;if((e||(n!==i||r<=d+(f?f._delay:0))&&(0!==n||r>=h._absoluteStartTime))&&(!g||!h._isOverridden&&(!h._isOverlapped||r<=d)&&(!f||f._isOverridden||r<=f._absoluteStartTime)&&(!p||p._isOverridden||r>=p._absoluteStartTime+p._changeDuration+h._delay))){const e=h._currentTime=At(T-h._startTime,0,i),n=h._ease(e/h._updateDuration),r=h._modifier,d=h._valueType,f=h._tweenType,p=0===f,b=0===d,m=b&&p||0===n||1===n?-1:nt.precision;let v,x;if(b)v=x=r(zt(St(h._fromNumber,h._toNumber,n),m));else if(1===d)x=r(zt(St(h._fromNumber,h._toNumber,n),m)),v=`${x}${h._unit}`;else if(2===d){const t=h._fromNumbers,e=h._toNumbers,s=zt(At(r(St(t[0],e[0],n)),0,255),0),i=zt(At(r(St(t[1],e[1],n)),0,255),0),o=zt(At(r(St(t[2],e[2],n)),0,255),0),l=At(r(zt(St(t[3],e[3],n),m)),0,1);if(v=`rgba(${s},${i},${o},${l})`,g){const t=h._numbers;t[0]=s,t[1]=i,t[2]=o,t[3]=l}}else if(3===d){v=h._strings[0];for(let t=0,e=h._toNumbers.length;t<e;t++){const e=r(zt(St(h._fromNumbers[t],h._toNumbers[t],n),m)),s=h._strings[t+1];v+=`${s?e+s:e}`,g&&(h._numbers[t]=e)}}if(g&&(h._number=x),s||t===S.blend)h._value=v;else{const t=h.property;o=h.target,p?o[t]=v:1===f?o.setAttribute(t,v):(l=o.style,3===f?(o!==a&&(a=o,c=o[B]),c[t]=v,u=1):2===f?l[t]=v:4===f&&l.setProperty(t,v)),C&&(A=1)}}if(u&&h._renderTransforms){let t=H;for(let e in c)t+=`${Z[e]}${c[e]}) `;l.transform=t,u=0}h=h._next}!n&&A&&t.onRender(t)}!n&&C&&t.onUpdate(t)}return i&&_?!n&&(i.began&&!O&&v>=o&&!l||O&&v<=U&&l)&&(t.onComplete(t),t.completed=!O):C&&k?c===1/0?t._startTime+=t.duration:t._currentIteration>=c-1&&(t.paused=!0,l||p||(t.completed=!0,n||i&&(O||!i.began)||(t.onComplete(t),t._resolve(t)))):t.completed=!1,A},Ht=(t,e,n,s,r)=>{const i=t._currentIteration;if(Dt(t,e,n,s,r),t._hasChildren){const o=t,l=o.backwards,a=s?e:o._iterationTime,c=it();let h=0,u=!0;if(!s&&o._currentIteration!==i){const t=o.iterationDuration;Bt(o,(e=>{if(l){const s=e.duration,r=e._offset+e._delay;n||!(s<=U)||r&&r+s!==t||e.onComplete(e)}else!e.completed&&!e.backwards&&e._currentTime<e.iterationDuration&&Dt(e,t,n,1,2),e.began=!1,e.completed=!1})),n||o.onLoop(o)}Bt(o,(t=>{const e=zt((a-t._offset)*t._speed,12),i=t._fps<o._fps?t.requestTick(c):r;h+=Dt(t,e,n,s,i),!t.completed&&u&&(u=!1)}),l),!n&&h&&o.onRender(o),u&&o._currentTime>=o.duration&&(o.paused=!0,o.completed||(o.completed=!0,n||(o.onComplete(o),o._resolve(o))))}},It={animation:null,update:X},Pt=(()=>A?requestAnimationFrame:setImmediate)(),Zt=(()=>A?cancelAnimationFrame:clearImmediate)();class Xt extends Et{constructor(t){super(t),this.useDefaultMainLoop=!0,this.pauseOnDocumentHidden=!0,this.defaults=tt,this.paused=!(!A||!z.hidden),this.reqId=null}update(){const t=this._currentTime=it();if(this.requestTick(t)){this.computeDeltaTime(t);const e=this._speed,n=this._fps;let s=this._head;for(;s;){const r=s._next;s.paused?(jt(this,s),this._hasChildren=!!this._tail,s._running=!1,s.completed&&!s._cancelled&&s.cancel()):Ht(s,(t-s._startTime)*s._speed*e,0,0,s._fps<n?s.requestTick(t):1),s=r}It.update()}}wake(){return!this.useDefaultMainLoop||this.reqId||this.paused||(this.reqId=Pt(Ft)),this}pause(){return this.paused=!0,qt()}resume(){if(this.paused)return this.paused=!1,Bt(this,(t=>t.resetTime())),this.wake()}get speed(){return this._speed*(1===nt.timeScale?1:D)}set speed(t){this._speed=t*nt.timeScale,Bt(this,(t=>t.speed=t._speed))}get timeUnit(){return 1===nt.timeScale?"ms":"s"}set timeUnit(t){const e="s"===t,n=e?.001:1;if(nt.timeScale!==n){nt.timeScale=n,nt.tickThreshold=200*n;const t=e?.001:D;this.defaults.duration*=t,this._speed*=t}}get precision(){return nt.precision}set precision(t){nt.precision=t}}const Yt=(()=>{const t=new Xt(it());return A&&(st.engine=t,z.addEventListener("visibilitychange",(()=>{t.pauseOnDocumentHidden&&(z.hidden?t.pause():t.resume())}))),t})(),Ft=()=>{Yt._head?(Yt.reqId=Pt(Ft),Yt.update()):Yt.reqId=0},qt=()=>(Zt(Yt.reqId),Yt.reqId=0,Yt);function Qt(t){const e=at(t)?et.root.querySelectorAll(t):t;if(e instanceof NodeList||e instanceof HTMLCollection)return e}const Jt=["opacity","rotate","overflow","color"],Vt=(t,e,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t),Gt=(t,e)=>ht(t)?e:t,Kt=(t,e,n,s,r)=>{if(ct(t)){const i=()=>{const r=t(e,n,s);return isNaN(+r)?r||0:+r};return r&&(r.func=i),i()}return t},Wt=(t,e)=>t[O]?t[R]&&((t,e)=>{if(Jt.includes(e))return!1;if(t.getAttribute(e)||e in t){if("scale"===e){const e=t.parentNode;return e&&"filter"===e.tagName}return!0}})(t,e)?1:P.includes(e)||I.get(e)?3:rt(e,"--")?4:e in t.style?2:e in t?0:1:0,te=(t,e,n)=>{const s=t.style[e];s&&n&&(n[e]=s);const r=s||getComputedStyle(t[j]||t).getPropertyValue(e);return"auto"===r?"0":r},ee=(t,e,n,s)=>{const r=ht(n)?Wt(t,e):n;return 0===r?t[e]||0:1===r?t.getAttribute(e):3===r?((t,e,n)=>{const s=t.style.transform;let r;if(s){const i=t[B];let o;for(;o=W.exec(s);){const t=o[1],s=o[2].slice(1,-1);i[t]=s,t===e&&(r=s,n&&(n[e]=s))}}return s&&!ht(r)?r:rt(e,"scale")?"1":rt(e,"rotate")||rt(e,"skew")?"0deg":"0px"})(t,e,s):4===r?te(t,e,s).trimStart():te(t,e,s)},ne=(t,e,n)=>"-"===n?t-e:"+"===n?t+e:t*e,se=(t,e)=>{if(e.t=0,e.n=0,e.u=null,e.o=null,e.d=null,e.s=null,!t)return e;const n=+t;if(isNaN(n)){let n=t;"="===n[1]&&(e.o=n[0],n=n.slice(2));const i=!n.includes(" ")&&G.exec(n);if(i)return e.t=1,e.n=+i[1],e.u=i[2],e;if(e.o)return e.n=+n,e;if(ft(r=n)||pt(r)||gt(r))return e.t=2,e.d=pt(s=n)?(t=>{const e=F.exec(t)||q.exec(t),n=ht(e[4])?1:+e[4];return[+e[1],+e[2],+e[3],n]})(s):ft(s)?(t=>{const e=t.length,n=4===e||5===e;return[+("0x"+t[1]+t[n?1:2]),+("0x"+t[n?2:3]+t[n?2:4]),+("0x"+t[n?3:5]+t[n?3:6]),5===e||9===e?+(+("0x"+t[n?4:7]+t[n?4:8])/255).toFixed(3):1]})(s):gt(s)?(t=>{const e=Q.exec(t)||J.exec(t),n=+e[1]/360,s=+e[2]/100,r=+e[3]/100,i=ht(e[4])?1:+e[4];let o,l,a;if(0===s)o=l=a=r;else{const t=r<.5?r*(1+s):r+s-r*s,e=2*r-t;o=zt(255*Vt(e,t,n+1/3),0),l=zt(255*Vt(e,t,n),0),a=zt(255*Vt(e,t,n-1/3),0)}return[o,l,a,i]})(s):[0,0,0,1],e;{const t=n.match(V);return e.t=3,e.d=t?t.map(Number):[],e.s=n.split(V)||[],e}}var s,r;return e.n=n,e},re=(t,e)=>(e.t=t._valueType,e.n=t._toNumber,e.u=t._unit,e.o=null,e.d=Rt(t._toNumbers),e.s=Rt(t._strings),e),ie={t:0,n:0,u:null,o:null,d:null,s:null},oe={_rep:new WeakMap,_add:new Map},le=(t,e,n="_rep")=>{const s=oe[n];let r=s.get(t);return r||(r={},s.set(t,r)),r[e]?r[e]:r[e]={_head:null,_tail:null}},ae=(t,e)=>t._isOverridden||t._absoluteStartTime>e._absoluteStartTime,ce=t=>{t._isOverlapped=1,t._isOverridden=1,t._changeDuration=U,t._currentTime=U},he=(t,e)=>{const n=t._composition;if(n===S.replace){const n=t._absoluteStartTime;Ut(e,t,ae,"_prevRep","_nextRep");const s=t._prevRep;if(s){const e=s.parent,r=s._absoluteStartTime+s._changeDuration;if(t.parent.id!==e.id&&e.iterationCount>1&&r+(e.duration-e.iterationDuration)>n){ce(s);let t=s._prevRep;for(;t&&t.parent.id===e.id;)ce(t),t=t._prevRep}const i=n-t._delay;if(r>i){const t=s._startTime;s._changeDuration=i-(r-(t+s._updateDuration))-t,s._currentTime=s._changeDuration,s._isOverlapped=1,s._changeDuration<U&&ce(s)}let o=!0;if(Bt(e,(t=>{t._isOverlapped||(o=!1)})),o){const t=e.parent;if(t){let n=!0;Bt(t,(t=>{t!==e&&Bt(t,(t=>{t._isOverlapped||(n=!1)}))})),n&&t.cancel()}else e.cancel()}}}else if(n===S.blend){const e=le(t.target,t.property,"_add"),n=(t=>{let e=It.animation;return e||(e={duration:U,computeDeltaTime:X,_offset:0,_delay:0,_head:null,_tail:null},It.animation=e,It.update=()=>{t.forEach((t=>{for(let e in t){const n=t[e],s=n._head;if(s){const t=s._valueType,e=3===t||2===t?Rt(s._fromNumbers):null;let r=s._fromNumber,i=n._tail;for(;i&&i!==s;){if(e)for(let t=0,n=i._numbers.length;t<n;t++)e[t]+=i._numbers[t];else r+=i._number;i=i._prevAdd}s._toNumber=r,s._toNumbers=e}}})),Dt(e,1,1,0,2)}),e})(oe._add);let s=e._head;s||(s={...t},s._composition=S.replace,s._updateDuration=U,s._startTime=0,s._numbers=Rt(t._fromNumbers),s._number=0,s._next=null,s._prev=null,Ut(e,s),Ut(n,s));const r=t._toNumber;if(t._fromNumber=s._fromNumber-r,t._toNumber=0,t._numbers=Rt(t._fromNumbers),t._number=0,s._fromNumber=r,t._toNumbers){const e=Rt(t._toNumbers);e&&e.forEach(((e,n)=>{t._fromNumbers[n]=s._fromNumbers[n]-e,t._toNumbers[n]=0})),s._fromNumbers=e}Ut(e,t,null,"_prevAdd","_nextAdd")}return t},ue=t=>{const e=t._composition;if(e!==S.none){const n=t.target,s=t.property,r=oe._rep.get(n);if(jt(r[s],t,"_prevRep","_nextRep"),e===S.blend){const e=oe._add,r=e.get(n);if(!r)return;const i=r[s],o=It.animation;jt(i,t,"_prevAdd","_nextAdd");const l=i._head;if(l&&l===i._tail){jt(i,l,"_prevAdd","_nextAdd"),jt(o,l);let t=!0;for(let e in r)if(r[e]._head){t=!1;break}t&&e.delete(n)}}}return t},de=t=>(t.paused=!0,t.began=!1,t.completed=!1,t),fe=t=>t._cancelled?(Bt(t,t._hasChildren?fe:t=>{t._composition!==S.none&&he(t,le(t.target,t.property))}),t._cancelled=0,t):t;let pe=0;class ge extends Et{constructor(t={},e=null,n=0){super(0);const{id:s,delay:r,duration:i,reversed:o,alternate:l,loop:a,loopDelay:c,autoplay:h,frameRate:u,playbackRate:d,onComplete:f,onLoop:p,onPause:g,onBegin:b,onBeforeUpdate:m,onUpdate:v}=t,x=e?0:Yt._elapsedTime,y=e?e.defaults:nt.defaults,w=ct(r)||ht(r)?y.delay:+r,C=ct(i)||ht(i)?1/0:+i,k=Gt(a,y.loop),_=Gt(c,y.loopDelay),M=!0===k||k===1/0||k<0?1/0:k+1;let N=0;if(e)N=n;else{let t=it();Yt.paused&&(Yt.requestTick(t),t=Yt._elapsedTime),N=t-Yt._startTime}this.id=ht(s)?++pe:s,this.parent=e,this.duration=Tt((C+_)*M-_)||U,this.backwards=!1,this.paused=!0,this.began=!1,this.completed=!1,this.onBegin=b||y.onBegin,this.onBeforeUpdate=m||y.onBeforeUpdate,this.onUpdate=v||y.onUpdate,this.onLoop=p||y.onLoop,this.onPause=g||y.onPause,this.onComplete=f||y.onComplete,this.iterationDuration=C,this.iterationCount=M,this._autoplay=!e&&Gt(h,y.autoplay),this._offset=N,this._delay=w,this._loopDelay=_,this._iterationTime=0,this._currentIteration=0,this._resolve=X,this._running=!1,this._reversed=+Gt(o,y.reversed),this._reverse=this._reversed,this._cancelled=0,this._alternate=Gt(l,y.alternate),this._prev=null,this._next=null,this._elapsedTime=x,this._startTime=x,this._lastTime=x,this._fps=Gt(u,y.frameRate),this._speed=Gt(d,y.playbackRate)}get cancelled(){return!!this._cancelled}set cancelled(t){t?this.cancel():this.reset(1).play()}get currentTime(){return At(zt(this._currentTime,nt.precision),-this._delay,this.duration)}set currentTime(t){const e=this.paused;this.pause().seek(+t),e||this.resume()}get iterationCurrentTime(){return zt(this._iterationTime,nt.precision)}set iterationCurrentTime(t){this.currentTime=this.iterationDuration*this._currentIteration+t}get progress(){return At(zt(this._currentTime/this.duration,10),0,1)}set progress(t){this.currentTime=this.duration*t}get iterationProgress(){return At(zt(this._iterationTime/this.iterationDuration,10),0,1)}set iterationProgress(t){const e=this.iterationDuration;this.currentTime=e*this._currentIteration+e*t}get currentIteration(){return this._currentIteration}set currentIteration(t){this.currentTime=this.iterationDuration*At(+t,0,this.iterationCount-1)}get reversed(){return!!this._reversed}set reversed(t){t?this.reverse():this.play()}get speed(){return super.speed}set speed(t){super.speed=t,this.resetTime()}reset(t=0){return fe(this),this._reversed&&!this._reverse&&(this.reversed=!1),this._iterationTime=this.iterationDuration,Ht(this,0,1,t,2),de(this),this._hasChildren&&Bt(this,de),this}init(t=0){this.fps=this._fps,this.speed=this._speed,!t&&this._hasChildren&&Ht(this,this.duration,1,t,2),this.reset(t);const e=this._autoplay;return!0===e?this.resume():e&&!ht(e.linked)&&e.link(this),this}resetTime(){const t=1/(this._speed*Yt._speed);return this._startTime=it()-(this._currentTime+this._delay)*t,this}pause(){return this.paused||(this.paused=!0,this.onPause(this)),this}resume(){return this.paused?(this.paused=!1,this.duration<=U&&!this._hasChildren?Ht(this,U,0,0,2):(this._running||(Ut(Yt,this),Yt._hasChildren=!0,this._running=!0),this.resetTime(),this._startTime-=12,Yt.wake()),this):this}restart(){return this.reset(0).resume()}seek(t,e=0,n=0){fe(this),this.completed=!1;const s=this.paused;return this.paused=!0,Ht(this,t+this._delay,~~e,~~n,1),s?this:this.resume()}alternate(){const t=this._reversed,e=this.iterationCount,n=this.iterationDuration,s=e===1/0?_t(E/n):e;return this._reversed=+(!this._alternate||s%2?!t:t),e===1/0?this.iterationProgress=this._reversed?1-this.iterationProgress:this.iterationProgress:this.seek(n*s-this._currentTime),this.resetTime(),this}play(){return this._reversed&&this.alternate(),this.resume()}reverse(){return this._reversed||this.alternate(),this.resume()}cancel(){return this._hasChildren?Bt(this,(t=>t.cancel()),!0):Bt(this,ue),this._cancelled=1,this.pause()}stretch(t){const e=this.duration,n=Ot(t);if(e===n)return this;const s=t/e,r=t<=U;return this.duration=r?U:n,this.iterationDuration=r?U:Ot(this.iterationDuration*s),this._offset*=s,this._delay*=s,this._loopDelay*=s,this}revert(){Ht(this,0,1,0,1);const t=this._autoplay;return t&&t.linked&&t.linked===this&&t.revert(),this.cancel()}complete(){return this.seek(this.duration).cancel()}then(t=X){const e=this.then,n=()=>{this.then=null,t(this),this.then=e,this._resolve=X};return new Promise((t=>(this._resolve=()=>t(n()),this.completed&&this._resolve(),this)))}}const be=t=>t,me=(t,e,n)=>(((1-3*n+3*e)*t+(3*n-6*e))*t+3*e)*t,ve=(t=.5,e=0,n=.5,s=1)=>t===e&&n===s?be:r=>0===r||1===r?r:me(((t,e,n)=>{let s,r,i=0,o=1,l=0;do{r=i+(o-i)/2,s=me(r,e,n)-t,s>0?o=r:i=r}while(Ct(s)>1e-7&&++l<100);return r})(r,t,n),e,s),xe=(t=10,e)=>{const n=e?kt:_t;return e=>n(At(e,0,1)*t)*(1/t)},ye=(...t)=>{const e=t.length;if(!e)return be;const n=e-1,s=t[n],r=[0],i=[mt(t[0])];for(let e=1;e<n;e++){const s=t[e],o=at(s)?s.trim().split(" "):[s],l=o[0],a=o[1];r.push(ht(a)?e/n:mt(a)/100),i.push(mt(l))}return i.push(mt(s)),r.push(1),function(t){for(let e=1,n=r.length;e<n;e++){const n=r[e];if(t<=n){const s=r[e-1],o=i[e-1];return o+(i[e]-o)*(t-s)/(n-s)}}return i[i.length-1]}},we=(t=10,e=1)=>{const n=[0],s=t-1;for(let t=1;t<s;t++){const r=n[t-1],i=t/s,o=i+((t+1)/s-i)*Math.random();n.push(At(i*(1-e)+o*e,r,1))}return n.push(1),ye(...n)},Ce=Nt/2,ke=2*Nt,_e=(t=1.68)=>e=>vt(e,+t),Me={[H]:_e,Quad:_e(2),Cubic:_e(3),Quart:_e(4),Quint:_e(5),Sine:t=>1-wt(t*Ce),Circ:t=>1-xt(1-t*t),Expo:t=>t?vt(2,10*t-10):0,Bounce:t=>{let e,n=4;for(;t<((e=vt(2,--n))-1)/11;);return 1/vt(4,3-n)-7.5625*vt((3*e-2)/22-t,2)},Back:(t=1.70158)=>e=>(+t+1)*e*e*e-+t*e*e,Elastic:(t=1,e=.3)=>{const n=At(+t,1,10),s=At(+e,U,2),r=s/ke*Mt(1/n),i=ke/s;return t=>0===t||1===t?t:-n*vt(2,-10*(1-t))*yt((1-t-r)*i)}},Ne={in:t=>e=>t(e),out:t=>e=>1-t(1-e),inOut:t=>e=>e<.5?t(2*e)/2:1-t(-2*e+2)/2,outIn:t=>e=>e<.5?(1-t(1-2*e))/2:(t(2*e-1)+1)/2},$e=(()=>{const t={linear:ye,irregular:we,steps:xe,cubicBezier:ve};for(let e in Ne)for(let n in Me){const s=Me[n],r=Ne[e];t[e+n]=n===H||"Back"===n||"Elastic"===n?(t,e)=>r(s(t,e)):r(s)}return t})(),Ae={linear:be},Le=t=>ct(t)?t:at(t)?((t,e,n)=>{if(n[t])return n[t];if(t.indexOf("(")<=-1){const s=Ne[t]||t.includes("Back")||t.includes("Elastic")?e[t]():e[t];return s?n[t]=s:be}{const s=t.slice(0,-1).split("("),r=e[s[0]];return r?n[t]=r(...s[1].split(",")):be}})(t,$e,Ae):be,ze={},Se=(t,e,n)=>{if(3===n){return I.get(t)||t}if(2===n||1===n&&dt(e)&&t in e.style){const e=ze[t];if(e)return e;{const e=t?t.replace(K,"$1-$2").toLowerCase():t;return ze[t]=e,e}}return t},Te={deg:1,rad:180/Nt,turn:360},Oe={},Re=(t,e,n,s=!1)=>{const r=e.u,i=e.n;if(1===e.t&&r===n)return e;const o=i+r+n,l=Oe[o];if(ht(l)||s){let s;if(r in Te)s=i*Te[r]/Te[n];else{const e=100,o=t.cloneNode(),l=t.parentNode,a=l&&l!==z?l:z.body;a.appendChild(o);const c=o.style;c.width=e+r;const h=o.offsetWidth||e;c.width=e+n;const u=h/(o.offsetWidth||e);a.removeChild(o),s=u*i}e.n=s,Oe[o]=s}else e.n=l;return e.u=n,e},Be=t=>{if(t._hasChildren)Bt(t,Be,!0);else{const e=t;e.pause(),Bt(e,(t=>{const n=t.property,s=t.target;if(s[O]){const r=s.style,i=e._inlineStyles[n];if(3===t._tweenType){const e=s[B];if(ht(i)||i===H?delete e[n]:e[n]=i,t._renderTransforms)if(Object.keys(e).length){let t=H;for(let n in e)t+=Z[n]+e[n]+") ";r.transform=t}else r.removeProperty("transform")}else ht(i)||i===H?r.removeProperty(n):r[n]=i;e._tail===t&&e.targets.forEach((t=>{t.getAttribute&&t.getAttribute("style")===H&&t.removeAttribute("style")}))}}))}return t},je={t:0,n:0,u:null,o:null,d:null,s:null},Ue={t:0,n:0,u:null,o:null,d:null,s:null},Ee={func:null},De=[null],He=[null,null],Ie={to:null};let Pe,Ze,Xe=0;class Ye extends ge{constructor(t,e,n,s,r=!1,i=0,o=0){super(e,n,s);const l=function(t){const e=function(t){if(ut(t))return[];if(ot(t)){const e=t.flat(1/0),n=[];for(let t=0,s=e.length;t<s;t++){const s=e[t];if(!ut(s)){const t=Qt(s);if(t)for(let e=0,s=t.length;e<s;e++){const s=t[e];if(!ut(s)){let t=!1;for(let e=0,r=n.length;e<r;e++)if(n[e]===s){t=!0;break}t||n.push(s)}}else{let t=!1;for(let e=0,r=n.length;e<r;e++)if(n[e]===s){t=!0;break}t||n.push(s)}}}return n}if(!A)return[t];const e=Qt(t);return e?Array.from(e):[t]}(t),n=e.length;if(n)for(let t=0;t<n;t++){const n=e[t];if(!n[T]){n[T]=!0;const t=dt(n);(n.nodeType||t)&&(n[O]=!0,n[R]=t,n[B]={})}}return e}(t),a=l.length,c=e.keyframes,h=c?((t,e)=>{const n={...t};for(let s in e){const r=t[s];n[s]=ht(r)?e[s]:r}return n})(((t,e)=>{const n={};if(ot(t)){const e=[].concat(...t.map((t=>Object.keys(t)))).filter(bt);for(let s=0,r=e.length;s<r;s++){const r=e[s],i=t.map((t=>{const e={};for(let n in t){const s=t[n];bt(n)?n===r&&(e.to=s):e[n]=s}return e}));n[r]=i}}else{const s=Gt(e.duration,nt.defaults.duration),r=Object.keys(t).map((e=>({o:parseFloat(e)/100,p:t[e]}))).sort(((t,e)=>t.o-e.o));r.forEach((t=>{const e=t.o,r=t.p;for(let t in r)if(bt(t)){let i=n[t];i||(i=n[t]=[]);const o=e*s;let l=i.length,a=i[l-1];const c={to:r[t]};let h=0;for(let t=0;t<l;t++)h+=i[t].duration;1===l&&(c.from=a.to),r.ease&&(c.ease=r.ease),c.duration=o-(l?h:0),i.push(c)}return t}));for(let t in n){const e=n[t];let s;for(let t=0,n=e.length;t<n;t++){const n=e[t],r=n.ease;n.ease=s||void 0,s=r}e[0].duration||e.shift()}}return n})(c,e),e):e,{delay:u,duration:d,ease:f,playbackEase:p,modifier:g,composition:b,onRender:m}=h,v=n?n.defaults:nt.defaults,x=Gt(p,v.playbackEase),y=x?Le(x):null,w=!ht(f)&&!ht(f.ease),C=w?f.ease:Gt(f,y?"linear":v.ease),k=w?f.duration:Gt(d,v.duration),_=Gt(u,v.delay),M=g||v.modifier,N=ht(b)&&a>=D?S.none:ht(b)?v.composition:b,$={},L=this._offset+(n?n._offset:0);let z=NaN,j=NaN,E=0,H=0;for(let t=0;t<a;t++){const e=l[t],s=i||t,c=o||a;let u=NaN,d=NaN;for(let t in h)if(bt(t)){const i=Wt(e,t),o=Se(t,e,i);let l=h[t];const a=ot(l);if(r&&!a&&(He[0]=l,He[1]=l,l=He),a){const t=l.length,e=!lt(l[0]);2===t&&e?(Ie.to=l,De[0]=Ie,Pe=De):t>2&&e?(Pe=[],l.forEach(((t,e)=>{e?1===e?(He[1]=t,Pe.push(He)):Pe.push(t):He[0]=t}))):Pe=l}else De[0]=l,Pe=De;let f=null,p=null,g=NaN,b=0,m=0;for(let t=Pe.length;m<t;m++){const r=Pe[m];lt(r)?Ze=r:(Ie.to=r,Ze=Ie),Ee.func=null;const l=Kt(Ze.to,e,s,c,Ee);let a;lt(l)&&!ht(l.to)?(Ze=l,a=l.to):a=l;const h=Kt(Ze.from,e,s,c),u=Ze.ease,d=!ht(u)&&!ht(u.ease),v=d?u.ease:u||C,x=d?u.duration:Kt(Gt(Ze.duration,t>1?Kt(k,e,s,c)/t:k),e,s,c),y=Kt(Gt(Ze.delay,m?0:_),e,s,c),w=Kt(Gt(Ze.composition,N),e,s,c),A="number"!=typeof(I=w)||isNaN(I)?S[w]:w,z=Ze.modifier||M,T=!ht(h),O=!ht(a),R=ot(a),B=R||T&&O,j=p?b+y:y,D=L+j;H||!T&&!R||(H=1);let P=p;if(A!==S.none){f||(f=le(e,o));let t=f._head;for(;t&&!t._isOverridden&&t._absoluteStartTime<=D;)if(P=t,t=t._nextRep,t&&t._absoluteStartTime>=D)for(;t;)ce(t),t=t._nextRep}if(B?(se(R?Kt(a[0],e,s,c):h,je),se(R?Kt(a[1],e,s,c,Ee):a,Ue),0===je.t&&(P?1===P._valueType&&(je.t=1,je.u=P._unit):(se(ee(e,o,i,$),ie),1===ie.t&&(je.t=1,je.u=ie.u)))):(O?se(a,Ue):p?re(p,Ue):se(n&&P&&P.parent.parent===n?P._value:ee(e,o,i,$),Ue),T?se(h,je):p?re(p,je):se(n&&P&&P.parent.parent===n?P._value:ee(e,o,i,$),je)),je.o&&(je.n=ne(P?P._toNumber:se(ee(e,o,i,$),ie).n,je.n,je.o)),Ue.o&&(Ue.n=ne(je.n,Ue.n,Ue.o)),je.t!==Ue.t)if(3===je.t||3===Ue.t){const t=3===je.t?je:Ue,e=3===je.t?Ue:je;e.t=3,e.s=Rt(t.s),e.d=t.d.map((()=>e.n))}else if(1===je.t||1===Ue.t){const t=1===je.t?je:Ue,e=1===je.t?Ue:je;e.t=1,e.u=t.u}else if(2===je.t||2===Ue.t){const t=2===je.t?je:Ue,e=2===je.t?Ue:je;e.t=2,e.s=t.s,e.d=[0,0,0,1]}if(je.u!==Ue.u){let t=Ue.u?je:Ue;t=Re(e,t,Ue.u?Ue.u:je.u,!1)}if(Ue.d&&je.d&&Ue.d.length!==je.d.length){const t=je.d.length>Ue.d.length?je:Ue,e=t===je?Ue:je;e.d=t.d.map(((t,n)=>ht(e.d[n])?0:e.d[n])),e.s=Rt(t.s)}const Z=zt(+x||U,12),X={parent:this,id:Xe++,property:o,target:e,_value:null,_func:Ee.func,_ease:Le(v),_fromNumbers:Rt(je.d),_toNumbers:Rt(Ue.d),_strings:Rt(Ue.s),_fromNumber:je.n,_toNumber:Ue.n,_numbers:Rt(je.d),_number:je.n,_unit:Ue.u,_modifier:z,_currentTime:0,_startTime:j,_delay:+y,_updateDuration:Z,_changeDuration:Z,_absoluteStartTime:D,_tweenType:i,_valueType:Ue.t,_composition:A,_isOverlapped:0,_isOverridden:0,_renderTransforms:0,_prevRep:null,_nextRep:null,_prevAdd:null,_nextAdd:null,_prev:null,_next:null};A!==S.none&&he(X,f),isNaN(g)&&(g=X._startTime),b=zt(j+Z,12),p=X,E++,Ut(this,X)}(isNaN(j)||g<j)&&(j=g),(isNaN(z)||b>z)&&(z=b),3===i&&(u=E-m,d=E)}if(!isNaN(u)){let t=0;Bt(this,(e=>{t>=u&&t<d&&(e._renderTransforms=1,e._composition===S.blend&&Bt(It.animation,(t=>{t.id===e.id&&(t._renderTransforms=1)}))),t++}))}}var I;a||console.warn("No target found. Make sure the element you're trying to animate is accessible before creating your animation."),j?(Bt(this,(t=>{t._startTime-t._delay||(t._delay-=j),t._startTime-=j})),z-=j):j=0,z||(z=U,this.iterationCount=0),this.targets=l,this.duration=z===U?U:Tt((z+this._loopDelay)*this.iterationCount-this._loopDelay)||U,this.onRender=m||v.onRender,this._ease=y,this._delay=j,this.iterationDuration=z,this._inlineStyles=$,!this._autoplay&&H&&this.onRender(this)}stretch(t){const e=this.duration;if(e===Ot(t))return this;const n=t/e;return Bt(this,(t=>{t._updateDuration=Ot(t._updateDuration*n),t._changeDuration=Ot(t._changeDuration*n),t._currentTime*=n,t._startTime*=n,t._absoluteStartTime*=n})),super.stretch(t)}refresh(){return Bt(this,(t=>{const e=t._func;if(e){const n=ee(t.target,t.property,t._tweenType);se(n,ie),se(e(),Ue),t._fromNumbers=Rt(ie.d),t._fromNumber=ie.n,t._toNumbers=Rt(Ue.d),t._strings=Rt(Ue.s),t._toNumber=Ue.n}})),this}revert(){return super.revert(),Be(this)}then(t){return super.then(t)}}const Fe=(t,e)=>new Ye(t,e,null,0,!1).init();let qe,Qe=[];const Je=c("white"),Ve=c("bada55");let Ge,Ke;const We=t=>{qe&&(Ge&&Ge.pause(),Ge=Fe(qe,{fill:c(t),ease:"inOutCubic"}))},tn=t=>{qe&&(Ke&&Ke.pause(),Ke=Fe(qe,{y:(e,n)=>Qe[n]*((100-t[n])/100),ease:"inOutCubic"}))},en=()=>{const e=i.map((t=>(({id:t,height:e,width:n,x:s,y:r,drop:i})=>({id:t,height:e,width:n,x:s,y:r,maskId:`mask-${t}`,maskUri:`url('#mask-${t}')`,mask:`0.5,0.5,0.5,${e-.5},${n-.5},${e-i-.5},${n-.5},${i+.5}`,matrix:`matrix(1,0,0,1,${s},${r})`,points:`0,0,0,${e},${n},${e-i},${n},${i}`}))(t))),n="currentColor";return Qe=Array(e.length),qe=Array(e.length),t("div",{class:"funnel-gfx"},t("svg",{viewBox:"0 0 600 420"},t("desc",null,"Created with Snap"),t("defs",null,e.map((e=>t("mask",{id:e.maskId},t("polygon",{points:e.mask,fill:Je}))))),e.map(((e,s)=>{const{height:r,width:i,maskUri:o,matrix:l,points:a}=e;return Qe[s]=r,t("g",{transform:l},t("polygon",{points:a,fill:Je,stroke:n}),t("rect",{ref:t=>qe[s]=t,x:"0",y:r,width:i,height:r,mask:o,fill:Ve,stroke:n}))}))))},nn=e=>{const n=e.hex||"currentColor",s=e.size||24;return t("svg",{class:e.class,width:s,height:s,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"fingerprint"),t("g",{fill:n},t("path",{d:"M17.81,4.47C17.73,4.47 17.65,4.45 17.58,4.41C15.66,3.42 14,3\n 12,3C10.03,3 8.15,3.47 6.44,4.41C6.2,4.54 5.9,4.45 5.76,4.21C5.63,3.97\n 5.72,3.66 5.96,3.53C7.82,2.5 9.86,2 12,2C14.14,2 16,2.47\n 18.04,3.5C18.29,3.65 18.38,3.95 18.25,4.19C18.16,4.37 18,4.47\n 17.81,4.47M3.5,9.72C3.4,9.72 3.3,9.69 3.21,9.63C3,9.47 2.93,9.16\n 3.09,8.93C4.08,7.53 5.34,6.43 6.84,5.66C10,4.04 14,4.03\n 17.15,5.65C18.65,6.42 19.91,7.5 20.9,8.9C21.06,9.12 21,9.44\n 20.78,9.6C20.55,9.76 20.24,9.71 20.08,9.5C19.18,8.22 18.04,7.23\n 16.69,6.54C13.82,5.07 10.15,5.07 7.29,6.55C5.93,7.25 4.79,8.25\n 3.89,9.5C3.81,9.65 3.66,9.72 3.5,9.72M9.75,21.79C9.62,21.79 9.5,21.74\n 9.4,21.64C8.53,20.77 8.06,20.21 7.39,19C6.7,17.77 6.34,16.27\n 6.34,14.66C6.34,11.69 8.88,9.27 12,9.27C15.12,9.27 17.66,11.69\n 17.66,14.66A0.5,0.5 0 0,1 17.16,15.16A0.5,0.5 0 0,1\n 16.66,14.66C16.66,12.24 14.57,10.27 12,10.27C9.43,10.27 7.34,12.24\n 7.34,14.66C7.34,16.1 7.66,17.43 8.27,18.5C8.91,19.66 9.35,20.15\n 10.12,20.93C10.31,21.13 10.31,21.44 10.12,21.64C10,21.74 9.88,21.79\n 9.75,21.79M16.92,19.94C15.73,19.94 14.68,19.64 13.82,19.05C12.33,18.04\n 11.44,16.4 11.44,14.66A0.5,0.5 0 0,1 11.94,14.16A0.5,0.5 0 0,1\n 12.44,14.66C12.44,16.07 13.16,17.4 14.38,18.22C15.09,18.7 15.92,18.93\n 16.92,18.93C17.16,18.93 17.56,18.9 17.96,18.83C18.23,18.78 18.5,18.96\n 18.54,19.24C18.59,19.5 18.41,19.77 18.13,19.82C17.56,19.93 17.06,19.94\n 16.92,19.94M14.91,22C14.87,22 14.82,22 14.78,22C13.19,21.54 12.15,20.95\n 11.06,19.88C9.66,18.5 8.89,16.64 8.89,14.66C8.89,13.04 10.27,11.72\n 11.97,11.72C13.67,11.72 15.05,13.04 15.05,14.66C15.05,15.73 16,16.6\n 17.13,16.6C18.28,16.6 19.21,15.73 19.21,14.66C19.21,10.89 15.96,7.83\n 11.96,7.83C9.12,7.83 6.5,9.41 5.35,11.86C4.96,12.67 4.76,13.62\n 4.76,14.66C4.76,15.44 4.83,16.67 5.43,18.27C5.53,18.53 5.4,18.82\n 5.14,18.91C4.88,19 4.59,18.87 4.5,18.62C4,17.31 3.77,16\n 3.77,14.66C3.77,13.46 4,12.37 4.45,11.42C5.78,8.63 8.73,6.82\n 11.96,6.82C16.5,6.82 20.21,10.33 20.21,14.65C20.21,16.27 18.83,17.59\n 17.13,17.59C15.43,17.59 14.05,16.27 14.05,14.65C14.05,13.58 13.12,12.71\n 11.97,12.71C10.82,12.71 9.89,13.58 9.89,14.65C9.89,16.36 10.55,17.96\n 11.76,19.16C12.71,20.1 13.62,20.62 15.03,21C15.3,21.08 15.45,21.36\n 15.38,21.62C15.33,21.85 15.12,22 14.91,22Z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},sn="eswat2",rn=()=>t("a",{class:"absolute right-8 top-8 text-clrs-gray hover:text-clrs-navy",href:"https://eswat2.dev","aria-label":sn,target:"blank",title:sn},t(nn,{label:"eswat2"})),on=class{constructor(t){s(this,t),this.tag="funnel-app"}componentDidLoad(){v("pick",We),v("values",tn),y.initApp()}render(){return t("div",{key:"7998626a3f01e8bb4b2ed4b2b80d8b8de4a11206",id:"app",class:"ds1-main relative"},t(rn,{key:"44437debf47c76557ac6a115eec78b43a0aa2648"}),t(en,{key:"f0806a91f365823850ab6ccebbc1339c18dd46b1"}),t(M,{key:"bfe9dc2f232eac7142d416c2dff3e7d8522930b7",actions:y,state:m}),t(w,{key:"23836d760ccb38b898857abd205ae186d8f05242",actions:y,state:m}),t("hr",{key:"33eae1954a6b50e6a7b8c3124e92895114a8412d",class:"ml-0 mr-0"}),t($,{key:"4d449b22dedd37ce95356c98b00d5137008b5345",state:m}))}};on.style="/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans:\n ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n --spacing: 0.25rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --font-weight-bold: 700;\n }\n}\n@layer utilities {\n .absolute {\n position: absolute;\n }\n .relative {\n position: relative;\n }\n .top-8 {\n top: calc(var(--spacing) * 8);\n }\n .right-8 {\n right: calc(var(--spacing) * 8);\n }\n .mt-3 {\n margin-top: calc(var(--spacing) * 3);\n }\n .mt-5px {\n margin-top: 5px;\n }\n .mr-0 {\n margin-right: calc(var(--spacing) * 0);\n }\n .mr-10px {\n margin-right: 10px;\n }\n .mb-10px {\n margin-bottom: 10px;\n }\n .ml-0 {\n margin-left: calc(var(--spacing) * 0);\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,)\n var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-clrs-gray {\n border-color: var(--clrs-gray, #aaaaaa);\n }\n .border-clrs-slate {\n border-color: var(--clrs-slate, #708090);\n }\n .bg-clrs-blue {\n background-color: var(--clrs-blue, #0074d9);\n }\n .bg-clrs-red {\n background-color: var(--clrs-red, #ff4136);\n }\n .bg-clrs-silver {\n background-color: var(--clrs-silver, #dddddd);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .align-top {\n vertical-align: top;\n }\n .font-sans {\n font-family: var(--font-sans);\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .text-clrs-gray {\n color: var(--clrs-gray, #aaaaaa);\n }\n .text-clrs-navy {\n color: var(--clrs-navy, #001f3f);\n }\n .text-clrs-slate4 {\n color: var(--clrs-slate4, #4e5964);\n }\n .text-clrs-white {\n color: var(--clrs-white, #ffffff);\n }\n .italic {\n font-style: italic;\n }\n .shadow {\n --tw-shadow:\n 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),\n 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow), var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .hover\\:text-clrs-navy {\n &:hover {\n @media (hover: hover) {\n color: var(--clrs-navy, #001f3f);\n }\n }\n }\n .active\\:bg-clrs-gray {\n &:active {\n background-color: var(--clrs-gray, #aaaaaa);\n }\n }\n .active\\:text-clrs-navy {\n &:active {\n color: var(--clrs-navy, #001f3f);\n }\n }\n}\n@layer components {\n .ds1-main {\n display: flex;\n flex-direction: column;\n padding: calc(var(--spacing) * 4);\n font-family: var(--font-sans);\n color: var(--clrs-navy, #001f3f);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .ds1-button {\n display: flex;\n align-items: center;\n --tw-border-style: solid;\n border-style: solid;\n border-color: var(--clrs-slate, #708090);\n color: var(--clrs-white, #ffffff);\n &:active {\n background-color: var(--clrs-gray, #aaaaaa);\n }\n &:active {\n color: var(--clrs-navy, #001f3f);\n }\n }\n .funnel-gfx {\n --tw-border-style: solid;\n border-style: solid;\n border-color: var(--clrs-gray, #aaaaaa);\n background-color: var(--clrs-silver, #dddddd);\n stroke-width: 1;\n }\n}\n.data-button {\n border-radius: 5px;\n border-width: 1px;\n padding: 5px;\n margin: 0px;\n margin-right: 5px;\n cursor: pointer;\n}\n.funnel-gfx {\n width: calc(100% - 20px);\n height: 100%;\n padding: 10px;\n padding-bottom: 7px;\n border-radius: 10px;\n border-width: 1px;\n}\n";export{on as funnel_app}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "funnel-gfx-wc",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.74",
|
|
4
4
|
"description": "prototype -- a simple SVG demo built with Stencil and Tailwind",
|
|
5
5
|
"main": "dist/index.cjs.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@stencil/core": "4.36.1",
|
|
31
31
|
"@stencil/store": "2.2.0",
|
|
32
|
-
"animejs": "4.0
|
|
32
|
+
"animejs": "4.1.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"autoprefixer": "10.4.21",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as t,g as e,f as n,r as s}from"./p-C6acOHgL.js";const r=e=>{const n=e.hex||"currentColor",s=e.selected||!1,r=e.size||24;return t("svg",{class:e.class,width:r,height:r,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"radio")," ",t("g",{fill:n},t("path",s?{d:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},i=[{id:1,height:400,width:100,x:10,y:10,drop:20},{id:2,height:356,width:100,x:120,y:32,drop:20},{id:3,height:312,width:100,x:230,y:54,drop:20},{id:4,height:268,width:100,x:340,y:76,drop:20},{id:5,height:224,width:100,x:450,y:98,drop:20}],o=i.map((()=>0)),l={bada55:"#bada55",navy:"#001f3f",blue:"#0074d9",aqua:"#7fdbff",teal:"#39cccc",olive:"#3d9970",green:"#2ecc40",lime:"#01ff70",yellow:"#ffdc00",orange:"#ff851b",red:"#ff4136",maroon:"#85144b",fuchsia:"#f012be",purple:"#b10dc9",black:"#111111",gray:"#aaaaaa",silver:"#dddddd"},a={slate:"#708090",slate4:"#4e5964",white:"#ffffff"},c=t=>l[t]||a[t],h=Object.keys(l),u=t=>!("isConnected"in t)||t.isConnected,d=(()=>{let t;return(...e)=>{t&&clearTimeout(t),t=setTimeout((()=>{t=0,(t=>{for(let e of t.keys())t.set(e,t.get(e).filter(u))})(...e)}),2e3)}})(),f=t=>"function"==typeof t?t():t,p=(t,e)=>{const n=t.indexOf(e);n>=0&&(t[n]=t[t.length-1],t.length--)},g="funnel-gfx-wc::app-data",b=(()=>{const t=((t,e=(t,e)=>t!==e)=>{const n=f(t);let s=new Map(Object.entries(n??{}));const r={dispose:[],get:[],set:[],reset:[]},i=new Map,o=()=>{s=new Map(Object.entries(f(t)??{})),r.reset.forEach((t=>t()))},l=t=>(r.get.forEach((e=>e(t))),s.get(t)),a=(t,n)=>{const i=s.get(t);e(n,i,t)&&(s.set(t,n),r.set.forEach((e=>e(t,n,i))))},c="undefined"==typeof Proxy?{}:new Proxy(n,{get:(t,e)=>l(e),ownKeys:()=>Array.from(s.keys()),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0}),has:(t,e)=>s.has(e),set:(t,e,n)=>(a(e,n),!0)}),h=(t,e)=>(r[t].push(e),()=>{p(r[t],e)});return{state:c,get:l,set:a,on:h,onChange:(e,n)=>{const s=(t,s)=>{t===e&&n(s)},r=()=>n(f(t)[e]),o=h("set",s),l=h("reset",r);return i.set(n,{setHandler:s,resetHandler:r,propName:e}),()=>{o(),l(),i.delete(n)}},use:(...t)=>{const e=t.reduce(((t,e)=>(e.set&&t.push(h("set",e.set)),e.get&&t.push(h("get",e.get)),e.reset&&t.push(h("reset",e.reset)),e.dispose&&t.push(h("dispose",e.dispose)),t)),[]);return()=>e.forEach((t=>t()))},dispose:()=>{r.dispose.forEach((t=>t())),o()},reset:o,forceUpdate:t=>{const e=s.get(t);r.set.forEach((n=>n(t,e,e)))},removeListener:(t,e)=>{const n=i.get(e);n&&n.propName===t&&(p(r.set,n.setHandler),p(r.reset,n.resetHandler),i.delete(e))}}})({count:0,pick:"bada55",values:[...o]},void 0);return t.use((()=>{if("function"!=typeof e)return{};const t=new Map;return{dispose:()=>t.clear(),get:n=>{const s=e();s&&((t,e,n)=>{const s=t.get(e);s?s.includes(n)||s.push(n):t.set(e,[n])})(t,n,s)},set:e=>{const s=t.get(e);s&&t.set(e,s.filter(n)),d(t)},reset:()=>{t.forEach((t=>t.forEach(n))),d(t)}}})()),t})(),{state:m,onChange:v}=b,x=()=>{const{count:t,pick:e,values:n}=m;(t=>{const e=JSON.stringify(t);localStorage.setItem(g,e)})({count:t,pick:e,values:n})},y={initApp:()=>{const t=(()=>{const t=localStorage.getItem(g);return t?JSON.parse(t):void 0})();if(t){const{count:e,pick:n,values:s}=t;m.count=e,m.pick=n,m.values=s}},refresh:()=>{const t=o.map((()=>Math.floor(100*Math.random())));m.count=m.count+1,m.values=t,x()},reset:()=>{m.count=0,m.values=[...o],x()},updatePick:t=>{m.pick=t,x()}},w=e=>{const{actions:n,state:s}=e,{pick:i}=s;return t("div",{id:"toolbar",class:"flex flex-wrap",role:"radiogroup"},h.map((e=>{const s=c(e),o=i==e;return t("div",{"aria-label":e,"aria-checked":o?"true":"false",role:"radio",onClick:()=>{n.updatePick(e)}},t(r,{hex:s,selected:o,label:e}))})))},C=e=>{const n=e.hex||"currentColor",s=e.size||24;return t("svg",{class:e.class,width:s,height:s,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"chevron-double-left"),t("g",{fill:n},t("path",{d:"M18.41,7.41L17,6L11,12L17,18L18.41,16.59L13.83,12L18.41,7.41M12.41,7.41L11,6L5,12L11,18L12.41,16.59L7.83,12L12.41,7.41Z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},k=e=>{const n=e.hex||"currentColor",s=e.size||24;return t("svg",{class:e.class,width:s,height:s,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"close"),t("g",{fill:n},t("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},_=e=>{const n=e.hex||"currentColor",s=e.size||24;return t("svg",{class:e.class,width:s,height:s,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"refresh"),t("g",{fill:n},t("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99\n 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65\n 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35\n 2.35z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},M=e=>{const{actions:n,state:s}=e,{count:r}=s;return t("div",{class:"mb-10px mt-3 flex items-center"},t("button",{"aria-label":"Refresh",class:"ds1-button data-button bg-clrs-blue",onClick:()=>{n.refresh()}},t(_,{label:"Refresh"})),t("button",{"aria-label":"Reset",class:"ds1-button data-button bg-clrs-red",onClick:()=>{n.reset()}},t(k,{label:"Reset"})),t("span",{class:"flex items-center"},t(C,{size:28}),t("span",{class:"italic"},"click a button... ",t("sup",null,r))))},N=()=>t("label",{class:"ml-auto align-top text-xs italic text-clrs-slate4"},"Tailwind ","4.1.11"),$=e=>{const{state:n}=e,{values:s,pick:r,count:i}=n;return t("div",{class:"flex"},t("div",{class:"flex flex-col"},t("div",{class:"flex"},t("span",{class:"mr-10px font-bold"},"color:"),t("span",{class:"italic text-clrs-slate4"},r)),t("div",{class:"mt-5px flex"},t("span",{class:"mr-10px font-bold"},"sample:"),t("span",{class:"italic text-clrs-slate4"},`${i>0?s:"..."}`))),t(N,null))},S="undefined"!=typeof window,A=S?window:null,L=S?document:null,z={replace:0,none:1,blend:2},T=Symbol(),O=Symbol(),R=Symbol(),B=Symbol(),j=Symbol(),U=1e-11,E=1e12,P=1e3,D="",H=new Map;H.set("x","translateX"),H.set("y","translateY"),H.set("z","translateZ");const I=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"],Z=I.reduce(((t,e)=>({...t,[e]:e+"("})),{}),X=()=>{},Y=/(^#([\da-f]{3}){1,2}$)|(^#([\da-f]{4}){1,2}$)/i,F=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i,q=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,Q=/hsl\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*\)/i,J=/hsla\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,V=/[-+]?\d*\.?\d+(?:e[-+]?\d)?/gi,G=/^([-+]?\d*\.?\d+(?:e[-+]?\d+)?)([a-z]+|%)$/i,K=/([a-z])([A-Z])/g,W=/(\w+)(\([^)]+\)+)/g,tt={id:null,keyframes:null,playbackEase:null,playbackRate:1,frameRate:120,loop:0,reversed:!1,alternate:!1,autoplay:!0,duration:P,delay:0,loopDelay:0,ease:"out(2)",composition:z.replace,modifier:t=>t,onBegin:X,onBeforeUpdate:X,onUpdate:X,onLoop:X,onPause:X,onComplete:X,onRender:X},et={defaults:tt,root:L,precision:4,timeScale:1,tickThreshold:200},nt={version:"4.0.2",engine:null};S&&(A.AnimeJS||(A.AnimeJS=[]),A.AnimeJS.push(nt));const st=(t,e)=>0===t.indexOf(e),rt=Date.now,it=Array.isArray,ot=t=>t&&t.constructor===Object,lt=t=>"string"==typeof t,at=t=>"function"==typeof t,ct=t=>void 0===t,ht=t=>ct(t)||null===t,ut=t=>S&&t instanceof SVGElement,dt=t=>Y.test(t),ft=t=>st(t,"rgb"),pt=t=>st(t,"hsl"),gt=t=>!et.defaults.hasOwnProperty(t),bt=t=>lt(t)?parseFloat(t):t,mt=Math.pow,vt=Math.sqrt,xt=Math.sin,yt=Math.cos,wt=Math.abs,Ct=Math.ceil,kt=Math.floor,_t=Math.asin,Mt=Math.PI,Nt=Math.round,$t=(t,e,n)=>t<e?e:t>n?n:t,St={},At=(t,e)=>{if(e<0)return t;if(!e)return Nt(t);let n=St[e];return n||(n=St[e]=10**e),Nt(t*n)/n},Lt=(t,e,n)=>t+(e-t)*n,zt=t=>t===1/0?E:t===-1/0?-1e12:t,Tt=t=>t<=U?U:zt(At(t,11)),Ot=t=>it(t)?[...t]:t,Rt=(t,e,n,s="_prev",r="_next")=>{let i=t._head,o=r;for(n&&(i=t._tail,o=s);i;){const t=i[o];e(i),i=t}},Bt=(t,e,n="_prev",s="_next")=>{const r=e[n],i=e[s];r?r[s]=i:t._head=i,i?i[n]=r:t._tail=r,e[n]=null,e[s]=null},jt=(t,e,n,s="_prev",r="_next")=>{let i=t._tail;for(;i&&n&&n(i,e);)i=i[s];const o=i?i[r]:t._head;i?i[r]=e:t._head=e,o?o[s]=e:t._tail=e,e[s]=i,e[r]=o};class Ut{constructor(t=0){this.deltaTime=0,this._currentTime=t,this._elapsedTime=t,this._startTime=t,this._lastTime=t,this._scheduledTime=0,this._frameDuration=At(P/120,0),this._fps=120,this._speed=1,this._hasChildren=!1,this._head=null,this._tail=null}get fps(){return this._fps}set fps(t){const e=this._frameDuration,n=+t,s=n<U?U:n,r=At(P/s,0);this._fps=s,this._frameDuration=r,this._scheduledTime+=r-e}get speed(){return this._speed}set speed(t){const e=+t;this._speed=e<U?U:e}requestTick(t){const e=this._scheduledTime,n=this._elapsedTime;if(this._elapsedTime+=t-n,n<e)return 0;const s=this._frameDuration,r=n-e;return this._scheduledTime+=r<s?s:r,1}computeDeltaTime(t){const e=t-this._lastTime;return this.deltaTime=e,this._lastTime=t,e}}const Et=(t,e,n,s,r)=>{const i=t.parent,o=t.duration,l=t.completed,a=t.iterationDuration,c=t.iterationCount,h=t._currentIteration,u=t._loopDelay,d=t._reversed,f=t._alternate,p=t._hasChildren,g=t._delay,b=t._currentTime,m=g+a,v=e-g,x=$t(b,-g,o),y=$t(v,-g,o),w=v-b,C=y>0,k=y>=o,_=o<=U,M=2===r;let N=0,$=v,S=0;c>1&&(t._currentIteration=$t(~~(y/(a+(k?0:u))),0,c),k&&t._currentIteration--,N=t._currentIteration%2,$=y%(a+u)||0);const A=d^(f&&N),L=t._ease;let T=k?A?0:o:A?a-$:$;L&&(T=a*L(T/a)||0);const O=(i?i.backwards:v<b)?!A:!!A;if(t._currentTime=v,t._iterationTime=T,t.backwards=O,C&&!t.began?(t.began=!0,n||i&&(O||!i.began)||t.onBegin(t)):v<=0&&(t.began=!1),n||p||!C||t._currentIteration===h||t.onLoop(t),M||1===r&&(e>=g&&e<=m||e<=g&&x>g||e>=m&&x!==o)||T>=m&&x!==o||T<=g&&x>0||e<=x&&x===o&&l||k&&!l&&_){if(C&&(t.computeDeltaTime(x),n||t.onBeforeUpdate(t)),!p){const e=M||(O?-1*w:w)>=et.tickThreshold,r=t._offset+(i?i._offset:0)+g+T;let o,l,a,c,h=t._head,u=0;for(;h;){const t=h._composition,n=h._currentTime,i=h._changeDuration,d=h._absoluteStartTime+h._changeDuration,f=h._nextRep,p=h._prevRep,g=t!==z.none;if((e||(n!==i||r<=d+(f?f._delay:0))&&(0!==n||r>=h._absoluteStartTime))&&(!g||!h._isOverridden&&(!h._isOverlapped||r<=d)&&(!f||f._isOverridden||r<=f._absoluteStartTime)&&(!p||p._isOverridden||r>=p._absoluteStartTime+p._changeDuration+h._delay))){const e=h._currentTime=$t(T-h._startTime,0,i),n=h._ease(e/h._updateDuration),r=h._modifier,d=h._valueType,f=h._tweenType,p=0===f,b=0===d,m=b&&p||0===n||1===n?-1:et.precision;let v,x;if(b)v=x=r(At(Lt(h._fromNumber,h._toNumber,n),m));else if(1===d)x=r(At(Lt(h._fromNumber,h._toNumber,n),m)),v=`${x}${h._unit}`;else if(2===d){const t=h._fromNumbers,e=h._toNumbers,s=At($t(r(Lt(t[0],e[0],n)),0,255),0),i=At($t(r(Lt(t[1],e[1],n)),0,255),0),o=At($t(r(Lt(t[2],e[2],n)),0,255),0),l=$t(r(At(Lt(t[3],e[3],n),m)),0,1);if(v=`rgba(${s},${i},${o},${l})`,g){const t=h._numbers;t[0]=s,t[1]=i,t[2]=o,t[3]=l}}else if(3===d){v=h._strings[0];for(let t=0,e=h._toNumbers.length;t<e;t++){const e=r(At(Lt(h._fromNumbers[t],h._toNumbers[t],n),m)),s=h._strings[t+1];v+=`${s?e+s:e}`,g&&(h._numbers[t]=e)}}if(g&&(h._number=x),s||t===z.blend)h._value=v;else{const t=h.property;o=h.target,p?o[t]=v:1===f?o.setAttribute(t,v):(l=o.style,3===f?(o!==a&&(a=o,c=o[B]),c[t]=v,u=1):2===f?l[t]=v:4===f&&l.setProperty(t,v)),C&&(S=1)}}if(u&&h._renderTransforms){let t=D;for(let e in c)t+=`${Z[e]}${c[e]}) `;l.transform=t,u=0}h=h._next}!n&&S&&t.onRender(t)}!n&&C&&t.onUpdate(t)}return i&&_?!n&&(i.began&&!O&&v>=o&&!l||O&&v<=U&&l)&&(t.onComplete(t),t.completed=!O):C&&k?c===1/0?t._startTime+=t.duration:t._currentIteration>=c-1&&(t.paused=!0,l||p||(t.completed=!0,n||i&&(O||!i.began)||(t.onComplete(t),t._resolve(t)))):t.completed=!1,S},Pt=(t,e,n,s,r)=>{const i=t._currentIteration;if(Et(t,e,n,s,r),t._hasChildren){const o=t,l=o.backwards,a=s?e:o._iterationTime,c=rt();let h=0,u=!0;if(!s&&o._currentIteration!==i){const t=o.iterationDuration;Rt(o,(e=>{if(l){const s=e.duration,r=e._offset+e._delay;n||!(s<=U)||r&&r+s!==t||e.onComplete(e)}else!e.completed&&!e.backwards&&e._currentTime<e.iterationDuration&&Et(e,t,n,1,2),e.began=!1,e.completed=!1})),n||o.onLoop(o)}Rt(o,(t=>{const e=At((a-t._offset)*t._speed,12),i=t._fps<o._fps?t.requestTick(c):r;h+=Et(t,e,n,s,i),!t.completed&&u&&(u=!1)}),l),!n&&h&&o.onRender(o),u&&o._currentTime>=o.duration&&(o.paused=!0,o.completed||(o.completed=!0,n||(o.onComplete(o),o._resolve(o))))}},Dt={animation:null,update:X},Ht=S?requestAnimationFrame:setImmediate,It=S?cancelAnimationFrame:clearImmediate;class Zt extends Ut{constructor(t){super(t),this.useDefaultMainLoop=!0,this.pauseOnDocumentHidden=!0,this.defaults=tt,this.paused=!(!S||!L.hidden),this.reqId=null}update(){const t=this._currentTime=rt();if(this.requestTick(t)){this.computeDeltaTime(t);const e=this._speed,n=this._fps;let s=this._head;for(;s;){const r=s._next;s.paused?(Bt(this,s),this._hasChildren=!!this._tail,s._running=!1,s.completed&&!s._cancelled&&s.cancel()):Pt(s,(t-s._startTime)*s._speed*e,0,0,s._fps<n?s.requestTick(t):1),s=r}Dt.update()}}wake(){return!this.useDefaultMainLoop||this.reqId||this.paused||(this.reqId=Ht(Yt)),this}pause(){return this.paused=!0,Ft()}resume(){if(this.paused)return this.paused=!1,Rt(this,(t=>t.resetTime())),this.wake()}get speed(){return this._speed*(1===et.timeScale?1:P)}set speed(t){this._speed=t*et.timeScale,Rt(this,(t=>t.speed=t._speed))}get timeUnit(){return 1===et.timeScale?"ms":"s"}set timeUnit(t){const e="s"===t,n=e?.001:1;if(et.timeScale!==n){et.timeScale=n,et.tickThreshold=200*n;const t=e?.001:P;this.defaults.duration*=t,this._speed*=t}}get precision(){return et.precision}set precision(t){et.precision=t}}const Xt=(()=>{const t=new Zt(rt());return S&&(nt.engine=t,L.addEventListener("visibilitychange",(()=>{t.pauseOnDocumentHidden&&(L.hidden?t.pause():t.resume())}))),t})(),Yt=()=>{Xt._head?(Xt.reqId=Ht(Yt),Xt.update()):Xt.reqId=0},Ft=()=>(It(Xt.reqId),Xt.reqId=0,Xt);function qt(t){const e=lt(t)?et.root.querySelectorAll(t):t;if(e instanceof NodeList||e instanceof HTMLCollection)return e}const Qt=["opacity","rotate","overflow","color"],Jt=(t,e,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t),Vt=(t,e)=>ct(t)?e:t,Gt=(t,e,n,s,r)=>{if(at(t)){const i=()=>{const r=t(e,n,s);return isNaN(+r)?r||0:+r};return r&&(r.func=i),i()}return t},Kt=(t,e)=>t[O]?t[R]&&((t,e)=>{if(Qt.includes(e))return!1;if(t.getAttribute(e)||e in t){if("scale"===e){const e=t.parentNode;return e&&"filter"===e.tagName}return!0}})(t,e)?1:I.includes(e)||H.get(e)?3:st(e,"--")?4:e in t.style?2:e in t?0:1:0,Wt=(t,e,n)=>{const s=t.style[e];s&&n&&(n[e]=s);const r=s||getComputedStyle(t[j]||t).getPropertyValue(e);return"auto"===r?"0":r},te=(t,e,n,s)=>{const r=ct(n)?Kt(t,e):n;return 0===r?t[e]||0:1===r?t.getAttribute(e):3===r?((t,e,n)=>{const s=t.style.transform;let r;if(s){const i=t[B];let o;for(;o=W.exec(s);){const t=o[1],s=o[2].slice(1,-1);i[t]=s,t===e&&(r=s,n&&(n[e]=s))}}return s&&!ct(r)?r:st(e,"scale")?"1":st(e,"rotate")||st(e,"skew")?"0deg":"0px"})(t,e,s):4===r?Wt(t,e,s).trimStart():Wt(t,e,s)},ee=(t,e,n)=>"-"===n?t-e:"+"===n?t+e:t*e,ne=(t,e)=>{if(e.t=0,e.n=0,e.u=null,e.o=null,e.d=null,e.s=null,!t)return e;const n=+t;if(isNaN(n)){let n=t;"="===n[1]&&(e.o=n[0],n=n.slice(2));const i=!n.includes(" ")&&G.exec(n);if(i)return e.t=1,e.n=+i[1],e.u=i[2],e;if(e.o)return e.n=+n,e;if(dt(r=n)||ft(r)||pt(r))return e.t=2,e.d=ft(s=n)?(t=>{const e=F.exec(t)||q.exec(t),n=ct(e[4])?1:+e[4];return[+e[1],+e[2],+e[3],n]})(s):dt(s)?(t=>{const e=t.length,n=4===e||5===e;return[+("0x"+t[1]+t[n?1:2]),+("0x"+t[n?2:3]+t[n?2:4]),+("0x"+t[n?3:5]+t[n?3:6]),5===e||9===e?+(+("0x"+t[n?4:7]+t[n?4:8])/255).toFixed(3):1]})(s):pt(s)?(t=>{const e=Q.exec(t)||J.exec(t),n=+e[1]/360,s=+e[2]/100,r=+e[3]/100,i=ct(e[4])?1:+e[4];let o,l,a;if(0===s)o=l=a=r;else{const t=r<.5?r*(1+s):r+s-r*s,e=2*r-t;o=At(255*Jt(e,t,n+1/3),0),l=At(255*Jt(e,t,n),0),a=At(255*Jt(e,t,n-1/3),0)}return[o,l,a,i]})(s):[0,0,0,1],e;{const t=n.match(V);return e.t=3,e.d=t?t.map(Number):[],e.s=n.split(V)||[],e}}var s,r;return e.n=n,e},se=(t,e)=>(e.t=t._valueType,e.n=t._toNumber,e.u=t._unit,e.o=null,e.d=Ot(t._toNumbers),e.s=Ot(t._strings),e),re={t:0,n:0,u:null,o:null,d:null,s:null},ie={_rep:new WeakMap,_add:new Map},oe=(t,e,n="_rep")=>{const s=ie[n];let r=s.get(t);return r||(r={},s.set(t,r)),r[e]?r[e]:r[e]={_head:null,_tail:null}},le=(t,e)=>t._isOverridden||t._absoluteStartTime>e._absoluteStartTime,ae=t=>{t._isOverlapped=1,t._isOverridden=1,t._changeDuration=U,t._currentTime=U},ce=(t,e)=>{const n=t._composition;if(n===z.replace){const n=t._absoluteStartTime;jt(e,t,le,"_prevRep","_nextRep");const s=t._prevRep;if(s){const e=s.parent,r=s._absoluteStartTime+s._changeDuration;if(t.parent.id!==e.id&&e.iterationCount>1&&r+(e.duration-e.iterationDuration)>n){ae(s);let t=s._prevRep;for(;t&&t.parent.id===e.id;)ae(t),t=t._prevRep}const i=n-t._delay;if(r>i){const t=s._startTime;s._changeDuration=i-(r-(t+s._updateDuration))-t,s._currentTime=s._changeDuration,s._isOverlapped=1,s._changeDuration<U&&ae(s)}let o=!0;if(Rt(e,(t=>{t._isOverlapped||(o=!1)})),o){const t=e.parent;if(t){let n=!0;Rt(t,(t=>{t!==e&&Rt(t,(t=>{t._isOverlapped||(n=!1)}))})),n&&t.cancel()}else e.cancel()}}}else if(n===z.blend){const e=oe(t.target,t.property,"_add"),n=(t=>{let e=Dt.animation;return e||(e={duration:U,computeDeltaTime:X,_offset:0,_delay:0,_head:null,_tail:null},Dt.animation=e,Dt.update=()=>{t.forEach((t=>{for(let e in t){const n=t[e],s=n._head;if(s){const t=s._valueType,e=3===t||2===t?Ot(s._fromNumbers):null;let r=s._fromNumber,i=n._tail;for(;i&&i!==s;){if(e)for(let t=0,n=i._numbers.length;t<n;t++)e[t]+=i._numbers[t];else r+=i._number;i=i._prevAdd}s._toNumber=r,s._toNumbers=e}}})),Et(e,1,1,0,2)}),e})(ie._add);let s=e._head;s||(s={...t},s._composition=z.replace,s._updateDuration=U,s._startTime=0,s._numbers=Ot(t._fromNumbers),s._number=0,s._next=null,s._prev=null,jt(e,s),jt(n,s));const r=t._toNumber;if(t._fromNumber=s._fromNumber-r,t._toNumber=0,t._numbers=Ot(t._fromNumbers),t._number=0,s._fromNumber=r,t._toNumbers){const e=Ot(t._toNumbers);e&&e.forEach(((e,n)=>{t._fromNumbers[n]=s._fromNumbers[n]-e,t._toNumbers[n]=0})),s._fromNumbers=e}jt(e,t,null,"_prevAdd","_nextAdd")}return t},he=t=>{const e=t._composition;if(e!==z.none){const n=t.target,s=t.property,r=ie._rep.get(n);if(Bt(r[s],t,"_prevRep","_nextRep"),e===z.blend){const e=ie._add,r=e.get(n);if(!r)return;const i=r[s],o=Dt.animation;Bt(i,t,"_prevAdd","_nextAdd");const l=i._head;if(l&&l===i._tail){Bt(i,l,"_prevAdd","_nextAdd"),Bt(o,l);let t=!0;for(let e in r)if(r[e]._head){t=!1;break}t&&e.delete(n)}}}return t},ue=t=>(t.paused=!0,t.began=!1,t.completed=!1,t),de=t=>t._cancelled?(Rt(t,t._hasChildren?de:t=>{t._composition!==z.none&&ce(t,oe(t.target,t.property))}),t._cancelled=0,t):t;let fe=0;class pe extends Ut{constructor(t={},e=null,n=0){super(0);const{id:s,delay:r,duration:i,reversed:o,alternate:l,loop:a,loopDelay:c,autoplay:h,frameRate:u,playbackRate:d,onComplete:f,onLoop:p,onPause:g,onBegin:b,onBeforeUpdate:m,onUpdate:v}=t,x=e?0:Xt._elapsedTime,y=e?e.defaults:et.defaults,w=at(r)||ct(r)?y.delay:+r,C=at(i)||ct(i)?1/0:+i,k=Vt(a,y.loop),_=Vt(c,y.loopDelay),M=!0===k||k===1/0||k<0?1/0:k+1;let N=0;if(e)N=n;else{let t=rt();Xt.paused&&(Xt.requestTick(t),t=Xt._elapsedTime),N=t-Xt._startTime}this.id=ct(s)?++fe:s,this.parent=e,this.duration=zt((C+_)*M-_)||U,this.backwards=!1,this.paused=!0,this.began=!1,this.completed=!1,this.onBegin=b||y.onBegin,this.onBeforeUpdate=m||y.onBeforeUpdate,this.onUpdate=v||y.onUpdate,this.onLoop=p||y.onLoop,this.onPause=g||y.onPause,this.onComplete=f||y.onComplete,this.iterationDuration=C,this.iterationCount=M,this._autoplay=!e&&Vt(h,y.autoplay),this._offset=N,this._delay=w,this._loopDelay=_,this._iterationTime=0,this._currentIteration=0,this._resolve=X,this._running=!1,this._reversed=+Vt(o,y.reversed),this._reverse=this._reversed,this._cancelled=0,this._alternate=Vt(l,y.alternate),this._prev=null,this._next=null,this._elapsedTime=x,this._startTime=x,this._lastTime=x,this._fps=Vt(u,y.frameRate),this._speed=Vt(d,y.playbackRate)}get cancelled(){return!!this._cancelled}set cancelled(t){t?this.cancel():this.reset(1).play()}get currentTime(){return $t(At(this._currentTime,et.precision),-this._delay,this.duration)}set currentTime(t){const e=this.paused;this.pause().seek(+t),e||this.resume()}get iterationCurrentTime(){return At(this._iterationTime,et.precision)}set iterationCurrentTime(t){this.currentTime=this.iterationDuration*this._currentIteration+t}get progress(){return $t(At(this._currentTime/this.duration,5),0,1)}set progress(t){this.currentTime=this.duration*t}get iterationProgress(){return $t(At(this._iterationTime/this.iterationDuration,5),0,1)}set iterationProgress(t){const e=this.iterationDuration;this.currentTime=e*this._currentIteration+e*t}get currentIteration(){return this._currentIteration}set currentIteration(t){this.currentTime=this.iterationDuration*$t(+t,0,this.iterationCount-1)}get reversed(){return!!this._reversed}set reversed(t){t?this.reverse():this.play()}get speed(){return super.speed}set speed(t){super.speed=t,this.resetTime()}reset(t=0){return de(this),this._reversed&&!this._reverse&&(this.reversed=!1),this._iterationTime=this.iterationDuration,Pt(this,0,1,t,2),ue(this),this._hasChildren&&Rt(this,ue),this}init(t=0){this.fps=this._fps,this.speed=this._speed,!t&&this._hasChildren&&Pt(this,this.duration,1,t,2),this.reset(t);const e=this._autoplay;return!0===e?this.resume():e&&!ct(e.linked)&&e.link(this),this}resetTime(){const t=1/(this._speed*Xt._speed);return this._startTime=rt()-(this._currentTime+this._delay)*t,this}pause(){return this.paused||(this.paused=!0,this.onPause(this)),this}resume(){return this.paused?(this.paused=!1,this.duration<=U&&!this._hasChildren?Pt(this,U,0,0,2):(this._running||(jt(Xt,this),Xt._hasChildren=!0,this._running=!0),this.resetTime(),this._startTime-=12,Xt.wake()),this):this}restart(){return this.reset(0).resume()}seek(t,e=0,n=0){de(this),this.completed=!1;const s=this.paused;return this.paused=!0,Pt(this,t+this._delay,~~e,~~n,1),s?this:this.resume()}alternate(){const t=this._reversed,e=this.iterationCount,n=this.iterationDuration,s=e===1/0?kt(E/n):e;return this._reversed=+(!this._alternate||s%2?!t:t),e===1/0?this.iterationProgress=this._reversed?1-this.iterationProgress:this.iterationProgress:this.seek(n*s-this._currentTime),this.resetTime(),this}play(){return this._reversed&&this.alternate(),this.resume()}reverse(){return this._reversed||this.alternate(),this.resume()}cancel(){return this._hasChildren?Rt(this,(t=>t.cancel()),!0):Rt(this,he),this._cancelled=1,this.pause()}stretch(t){const e=this.duration,n=Tt(t);if(e===n)return this;const s=t/e,r=t<=U;return this.duration=r?U:n,this.iterationDuration=r?U:Tt(this.iterationDuration*s),this._offset*=s,this._delay*=s,this._loopDelay*=s,this}revert(){Pt(this,0,1,0,1);const t=this._autoplay;return t&&t.linked&&t.linked===this&&t.revert(),this.cancel()}complete(){return this.seek(this.duration).cancel()}then(t=X){const e=this.then,n=()=>{this.then=null,t(this),this.then=e,this._resolve=X};return new Promise((t=>(this._resolve=()=>t(n()),this.completed&&this._resolve(),this)))}}const ge=t=>t,be=(t,e,n)=>(((1-3*n+3*e)*t+(3*n-6*e))*t+3*e)*t,me=(t=.5,e=0,n=.5,s=1)=>t===e&&n===s?ge:r=>0===r||1===r?r:be(((t,e,n)=>{let s,r,i=0,o=1,l=0;do{r=i+(o-i)/2,s=be(r,e,n)-t,s>0?o=r:i=r}while(wt(s)>1e-7&&++l<100);return r})(r,t,n),e,s),ve=(t=10,e)=>{const n=e?Ct:kt;return e=>n($t(e,0,1)*t)*(1/t)},xe=(...t)=>{const e=t.length;if(!e)return ge;const n=e-1,s=t[n],r=[0],i=[bt(t[0])];for(let e=1;e<n;e++){const s=t[e],o=lt(s)?s.trim().split(" "):[s],l=o[0],a=o[1];r.push(ct(a)?e/n:bt(a)/100),i.push(bt(l))}return i.push(bt(s)),r.push(1),function(t){for(let e=1,n=r.length;e<n;e++){const n=r[e];if(t<=n){const s=r[e-1],o=i[e-1];return o+(i[e]-o)*(t-s)/(n-s)}}return i[i.length-1]}},ye=(t=10,e=1)=>{const n=[0],s=t-1;for(let t=1;t<s;t++){const r=n[t-1],i=t/s,o=i+((t+1)/s-i)*Math.random();n.push($t(i*(1-e)+o*e,r,1))}return n.push(1),xe(...n)},we=Mt/2,Ce=2*Mt,ke=(t=1.68)=>e=>mt(e,+t),_e={[D]:ke,Quad:ke(2),Cubic:ke(3),Quart:ke(4),Quint:ke(5),Sine:t=>1-yt(t*we),Circ:t=>1-vt(1-t*t),Expo:t=>t?mt(2,10*t-10):0,Bounce:t=>{let e,n=4;for(;t<((e=mt(2,--n))-1)/11;);return 1/mt(4,3-n)-7.5625*mt((3*e-2)/22-t,2)},Back:(t=1.70158)=>e=>(+t+1)*e*e*e-+t*e*e,Elastic:(t=1,e=.3)=>{const n=$t(+t,1,10),s=$t(+e,U,2),r=s/Ce*_t(1/n),i=Ce/s;return t=>0===t||1===t?t:-n*mt(2,-10*(1-t))*xt((1-t-r)*i)}},Me={in:t=>e=>t(e),out:t=>e=>1-t(1-e),inOut:t=>e=>e<.5?t(2*e)/2:1-t(-2*e+2)/2,outIn:t=>e=>e<.5?(1-t(1-2*e))/2:(t(2*e-1)+1)/2},Ne=(()=>{const t={linear:xe,irregular:ye,steps:ve,cubicBezier:me};for(let e in Me)for(let n in _e){const s=_e[n],r=Me[e];t[e+n]=n===D||"Back"===n||"Elastic"===n?(t,e)=>r(s(t,e)):r(s)}return t})(),$e={linear:ge},Se=t=>at(t)?t:lt(t)?((t,e,n)=>{if(n[t])return n[t];if(t.indexOf("(")<=-1){const s=Me[t]||t.includes("Back")||t.includes("Elastic")?e[t]():e[t];return s?n[t]=s:ge}{const s=t.slice(0,-1).split("("),r=e[s[0]];return r?n[t]=r(...s[1].split(",")):ge}})(t,Ne,$e):ge,Ae={},Le=(t,e,n)=>{if(3===n){return H.get(t)||t}if(2===n||1===n&&ut(e)&&t in e.style){const e=Ae[t];if(e)return e;{const e=t?t.replace(K,"$1-$2").toLowerCase():t;return Ae[t]=e,e}}return t},ze={deg:1,rad:180/Mt,turn:360},Te={},Oe=(t,e,n,s=!1)=>{const r=e.u,i=e.n;if(1===e.t&&r===n)return e;const o=i+r+n,l=Te[o];if(ct(l)||s){let s;if(r in ze)s=i*ze[r]/ze[n];else{const e=100,o=t.cloneNode(),l=t.parentNode,a=l&&l!==L?l:L.body;a.appendChild(o);const c=o.style;c.width=e+r;const h=o.offsetWidth||e;c.width=e+n;const u=h/(o.offsetWidth||e);a.removeChild(o),s=u*i}e.n=s,Te[o]=s}else e.n=l;return e.u=n,e},Re=t=>{if(t._hasChildren)Rt(t,Re,!0);else{const e=t;e.pause(),Rt(e,(t=>{const n=t.property,s=t.target;if(s[O]){const r=s.style,i=e._inlineStyles[n];if(3===t._tweenType){const e=s[B];if(ct(i)||i===D?delete e[n]:e[n]=i,t._renderTransforms)if(Object.keys(e).length){let t=D;for(let n in e)t+=Z[n]+e[n]+") ";r.transform=t}else r.removeProperty("transform")}else ct(i)||i===D?r.removeProperty(n):r[n]=i;e._tail===t&&e.targets.forEach((t=>{t.getAttribute&&t.getAttribute("style")===D&&t.removeAttribute("style")}))}}))}return t},Be={t:0,n:0,u:null,o:null,d:null,s:null},je={t:0,n:0,u:null,o:null,d:null,s:null},Ue={func:null},Ee=[null],Pe=[null,null],De={to:null};let He,Ie,Ze=0;class Xe extends pe{constructor(t,e,n,s,r=!1,i=0,o=0){super(e,n,s);const l=function(t){const e=function(t){if(ht(t))return[];if(it(t)){const e=t.flat(1/0),n=[];for(let t=0,s=e.length;t<s;t++){const s=e[t];if(!ht(s)){const t=qt(s);if(t)for(let e=0,s=t.length;e<s;e++){const s=t[e];if(!ht(s)){let t=!1;for(let e=0,r=n.length;e<r;e++)if(n[e]===s){t=!0;break}t||n.push(s)}}else{let t=!1;for(let e=0,r=n.length;e<r;e++)if(n[e]===s){t=!0;break}t||n.push(s)}}}return n}if(!S)return[t];const e=qt(t);return e?Array.from(e):[t]}(t),n=e.length;if(n)for(let t=0;t<n;t++){const n=e[t];if(!n[T]){n[T]=!0;const t=ut(n);(n.nodeType||t)&&(n[O]=!0,n[R]=t,n[B]={})}}return e}(t),a=l.length,c=e.keyframes,h=c?((t,e)=>{const n={...t};for(let s in e){const r=t[s];n[s]=ct(r)?e[s]:r}return n})(((t,e)=>{const n={};if(it(t)){const e=[].concat(...t.map((t=>Object.keys(t)))).filter(gt);for(let s=0,r=e.length;s<r;s++){const r=e[s],i=t.map((t=>{const e={};for(let n in t){const s=t[n];gt(n)?n===r&&(e.to=s):e[n]=s}return e}));n[r]=i}}else{const s=Vt(e.duration,et.defaults.duration),r=Object.keys(t).map((e=>({o:parseFloat(e)/100,p:t[e]}))).sort(((t,e)=>t.o-e.o));r.forEach((t=>{const e=t.o,r=t.p;for(let t in r)if(gt(t)){let i=n[t];i||(i=n[t]=[]);const o=e*s;let l=i.length,a=i[l-1];const c={to:r[t]};let h=0;for(let t=0;t<l;t++)h+=i[t].duration;1===l&&(c.from=a.to),r.ease&&(c.ease=r.ease),c.duration=o-(l?h:0),i.push(c)}return t}));for(let t in n){const e=n[t];let s;for(let t=0,n=e.length;t<n;t++){const n=e[t],r=n.ease;n.ease=s||void 0,s=r}e[0].duration||e.shift()}}return n})(c,e),e):e,{delay:u,duration:d,ease:f,playbackEase:p,modifier:g,composition:b,onRender:m}=h,v=n?n.defaults:et.defaults,x=Vt(p,v.playbackEase),y=x?Se(x):null,w=!ct(f)&&!ct(f.ease),C=w?f.ease:Vt(f,y?"linear":v.ease),k=w?f.duration:Vt(d,v.duration),_=Vt(u,v.delay),M=g||v.modifier,N=ct(b)&&a>=P?z.none:ct(b)?v.composition:b,$={},A=this._offset+(n?n._offset:0);let L=NaN,j=NaN,E=0,D=0;for(let t=0;t<a;t++){const e=l[t],s=i||t,c=o||a;let u=NaN,d=NaN;for(let t in h)if(gt(t)){const i=Kt(e,t),o=Le(t,e,i);let l=h[t];const a=it(l);if(r&&!a&&(Pe[0]=l,Pe[1]=l,l=Pe),a){const t=l.length,e=!ot(l[0]);2===t&&e?(De.to=l,Ee[0]=De,He=Ee):t>2&&e?(He=[],l.forEach(((t,e)=>{e?1===e?(Pe[1]=t,He.push(Pe)):He.push(t):Pe[0]=t}))):He=l}else Ee[0]=l,He=Ee;let f=null,p=null,g=NaN,b=0,m=0;for(let t=He.length;m<t;m++){const r=He[m];ot(r)?Ie=r:(De.to=r,Ie=De),Ue.func=null;const l=Gt(Ie.to,e,s,c,Ue);let a;ot(l)&&!ct(l.to)?(Ie=l,a=l.to):a=l;const h=Gt(Ie.from,e,s,c),u=Ie.ease,d=!ct(u)&&!ct(u.ease),v=d?u.ease:u||C,x=d?u.duration:Gt(Vt(Ie.duration,t>1?Gt(k,e,s,c)/t:k),e,s,c),y=Gt(Vt(Ie.delay,m?0:_),e,s,c),w=Gt(Vt(Ie.composition,N),e,s,c),S="number"!=typeof(H=w)||isNaN(H)?z[w]:w,L=Ie.modifier||M,T=!ct(h),O=!ct(a),R=it(a),B=R||T&&O,j=p?b+y:y,P=A+j;D||!T&&!R||(D=1);let I=p;if(S!==z.none){f||(f=oe(e,o));let t=f._head;for(;t&&!t._isOverridden&&t._absoluteStartTime<=P;)if(I=t,t=t._nextRep,t&&t._absoluteStartTime>=P)for(;t;)ae(t),t=t._nextRep}if(B?(ne(R?Gt(a[0],e,s,c):h,Be),ne(R?Gt(a[1],e,s,c,Ue):a,je),0===Be.t&&(I?1===I._valueType&&(Be.t=1,Be.u=I._unit):(ne(te(e,o,i,$),re),1===re.t&&(Be.t=1,Be.u=re.u)))):(O?ne(a,je):p?se(p,je):ne(n&&I&&I.parent.parent===n?I._value:te(e,o,i,$),je),T?ne(h,Be):p?se(p,Be):ne(n&&I&&I.parent.parent===n?I._value:te(e,o,i,$),Be)),Be.o&&(Be.n=ee(I?I._toNumber:ne(te(e,o,i,$),re).n,Be.n,Be.o)),je.o&&(je.n=ee(Be.n,je.n,je.o)),Be.t!==je.t)if(3===Be.t||3===je.t){const t=3===Be.t?Be:je,e=3===Be.t?je:Be;e.t=3,e.s=Ot(t.s),e.d=t.d.map((()=>e.n))}else if(1===Be.t||1===je.t){const t=1===Be.t?Be:je,e=1===Be.t?je:Be;e.t=1,e.u=t.u}else if(2===Be.t||2===je.t){const t=2===Be.t?Be:je,e=2===Be.t?je:Be;e.t=2,e.s=t.s,e.d=[0,0,0,1]}if(Be.u!==je.u){let t=je.u?Be:je;t=Oe(e,t,je.u?je.u:Be.u,!1)}if(je.d&&Be.d&&je.d.length!==Be.d.length){const t=Be.d.length>je.d.length?Be:je,e=t===Be?je:Be;e.d=t.d.map(((t,n)=>ct(e.d[n])?0:e.d[n])),e.s=Ot(t.s)}const Z=At(+x||U,12),X={parent:this,id:Ze++,property:o,target:e,_value:null,_func:Ue.func,_ease:Se(v),_fromNumbers:Ot(Be.d),_toNumbers:Ot(je.d),_strings:Ot(je.s),_fromNumber:Be.n,_toNumber:je.n,_numbers:Ot(Be.d),_number:Be.n,_unit:je.u,_modifier:L,_currentTime:0,_startTime:j,_delay:+y,_updateDuration:Z,_changeDuration:Z,_absoluteStartTime:P,_tweenType:i,_valueType:je.t,_composition:S,_isOverlapped:0,_isOverridden:0,_renderTransforms:0,_prevRep:null,_nextRep:null,_prevAdd:null,_nextAdd:null,_prev:null,_next:null};S!==z.none&&ce(X,f),isNaN(g)&&(g=X._startTime),b=At(j+Z,12),p=X,E++,jt(this,X)}(isNaN(j)||g<j)&&(j=g),(isNaN(L)||b>L)&&(L=b),3===i&&(u=E-m,d=E)}if(!isNaN(u)){let t=0;Rt(this,(e=>{t>=u&&t<d&&(e._renderTransforms=1,e._composition===z.blend&&Rt(Dt.animation,(t=>{t.id===e.id&&(t._renderTransforms=1)}))),t++}))}}var H;a||console.warn("No target found. Make sure the element you're trying to animate is accessible before creating your animation."),j?(Rt(this,(t=>{t._startTime-t._delay||(t._delay-=j),t._startTime-=j})),L-=j):j=0,L||(L=U,this.iterationCount=0),this.targets=l,this.duration=L===U?U:zt((L+this._loopDelay)*this.iterationCount-this._loopDelay)||U,this.onRender=m||v.onRender,this._ease=y,this._delay=j,this.iterationDuration=L,this._inlineStyles=$,!this._autoplay&&D&&this.onRender(this)}stretch(t){const e=this.duration;if(e===Tt(t))return this;const n=t/e;return Rt(this,(t=>{t._updateDuration=Tt(t._updateDuration*n),t._changeDuration=Tt(t._changeDuration*n),t._currentTime*=n,t._startTime*=n,t._absoluteStartTime*=n})),super.stretch(t)}refresh(){return Rt(this,(t=>{const e=te(t.target,t.property,t._tweenType);ne(e,re),t._fromNumbers=Ot(re.d),t._fromNumber=re.n,t._func&&(ne(t._func(),je),t._toNumbers=Ot(je.d),t._strings=Ot(je.s),t._toNumber=je.n)})),this}revert(){return super.revert(),Re(this)}then(t){return super.then(t)}}const Ye=(t,e)=>new Xe(t,e,null,0,!1).init();I.filter((t=>["X","Y","Z"].some((e=>t.endsWith(e))))),S&&(ct(CSS)||Object.hasOwnProperty.call(CSS,"registerProperty"));let Fe,qe=[];const Qe=c("white"),Je=c("bada55");let Ve,Ge;const Ke=t=>{Fe&&(Ve&&Ve.pause(),Ve=Ye(Fe,{fill:c(t),ease:"inOutCubic"}))},We=t=>{Fe&&(Ge&&Ge.pause(),Ge=Ye(Fe,{y:(e,n)=>qe[n]*((100-t[n])/100),ease:"inOutCubic"}))},tn=()=>{const e=i.map((t=>(({id:t,height:e,width:n,x:s,y:r,drop:i})=>({id:t,height:e,width:n,x:s,y:r,maskId:`mask-${t}`,maskUri:`url('#mask-${t}')`,mask:`0.5,0.5,0.5,${e-.5},${n-.5},${e-i-.5},${n-.5},${i+.5}`,matrix:`matrix(1,0,0,1,${s},${r})`,points:`0,0,0,${e},${n},${e-i},${n},${i}`}))(t))),n="currentColor";return qe=Array(e.length),Fe=Array(e.length),t("div",{class:"funnel-gfx"},t("svg",{viewBox:"0 0 600 420"},t("desc",null,"Created with Snap"),t("defs",null,e.map((e=>t("mask",{id:e.maskId},t("polygon",{points:e.mask,fill:Qe}))))),e.map(((e,s)=>{const{height:r,width:i,maskUri:o,matrix:l,points:a}=e;return qe[s]=r,t("g",{transform:l},t("polygon",{points:a,fill:Qe,stroke:n}),t("rect",{ref:t=>Fe[s]=t,x:"0",y:r,width:i,height:r,mask:o,fill:Je,stroke:n}))}))))},en=e=>{const n=e.hex||"currentColor",s=e.size||24;return t("svg",{class:e.class,width:s,height:s,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"fingerprint"),t("g",{fill:n},t("path",{d:"M17.81,4.47C17.73,4.47 17.65,4.45 17.58,4.41C15.66,3.42 14,3\n 12,3C10.03,3 8.15,3.47 6.44,4.41C6.2,4.54 5.9,4.45 5.76,4.21C5.63,3.97\n 5.72,3.66 5.96,3.53C7.82,2.5 9.86,2 12,2C14.14,2 16,2.47\n 18.04,3.5C18.29,3.65 18.38,3.95 18.25,4.19C18.16,4.37 18,4.47\n 17.81,4.47M3.5,9.72C3.4,9.72 3.3,9.69 3.21,9.63C3,9.47 2.93,9.16\n 3.09,8.93C4.08,7.53 5.34,6.43 6.84,5.66C10,4.04 14,4.03\n 17.15,5.65C18.65,6.42 19.91,7.5 20.9,8.9C21.06,9.12 21,9.44\n 20.78,9.6C20.55,9.76 20.24,9.71 20.08,9.5C19.18,8.22 18.04,7.23\n 16.69,6.54C13.82,5.07 10.15,5.07 7.29,6.55C5.93,7.25 4.79,8.25\n 3.89,9.5C3.81,9.65 3.66,9.72 3.5,9.72M9.75,21.79C9.62,21.79 9.5,21.74\n 9.4,21.64C8.53,20.77 8.06,20.21 7.39,19C6.7,17.77 6.34,16.27\n 6.34,14.66C6.34,11.69 8.88,9.27 12,9.27C15.12,9.27 17.66,11.69\n 17.66,14.66A0.5,0.5 0 0,1 17.16,15.16A0.5,0.5 0 0,1\n 16.66,14.66C16.66,12.24 14.57,10.27 12,10.27C9.43,10.27 7.34,12.24\n 7.34,14.66C7.34,16.1 7.66,17.43 8.27,18.5C8.91,19.66 9.35,20.15\n 10.12,20.93C10.31,21.13 10.31,21.44 10.12,21.64C10,21.74 9.88,21.79\n 9.75,21.79M16.92,19.94C15.73,19.94 14.68,19.64 13.82,19.05C12.33,18.04\n 11.44,16.4 11.44,14.66A0.5,0.5 0 0,1 11.94,14.16A0.5,0.5 0 0,1\n 12.44,14.66C12.44,16.07 13.16,17.4 14.38,18.22C15.09,18.7 15.92,18.93\n 16.92,18.93C17.16,18.93 17.56,18.9 17.96,18.83C18.23,18.78 18.5,18.96\n 18.54,19.24C18.59,19.5 18.41,19.77 18.13,19.82C17.56,19.93 17.06,19.94\n 16.92,19.94M14.91,22C14.87,22 14.82,22 14.78,22C13.19,21.54 12.15,20.95\n 11.06,19.88C9.66,18.5 8.89,16.64 8.89,14.66C8.89,13.04 10.27,11.72\n 11.97,11.72C13.67,11.72 15.05,13.04 15.05,14.66C15.05,15.73 16,16.6\n 17.13,16.6C18.28,16.6 19.21,15.73 19.21,14.66C19.21,10.89 15.96,7.83\n 11.96,7.83C9.12,7.83 6.5,9.41 5.35,11.86C4.96,12.67 4.76,13.62\n 4.76,14.66C4.76,15.44 4.83,16.67 5.43,18.27C5.53,18.53 5.4,18.82\n 5.14,18.91C4.88,19 4.59,18.87 4.5,18.62C4,17.31 3.77,16\n 3.77,14.66C3.77,13.46 4,12.37 4.45,11.42C5.78,8.63 8.73,6.82\n 11.96,6.82C16.5,6.82 20.21,10.33 20.21,14.65C20.21,16.27 18.83,17.59\n 17.13,17.59C15.43,17.59 14.05,16.27 14.05,14.65C14.05,13.58 13.12,12.71\n 11.97,12.71C10.82,12.71 9.89,13.58 9.89,14.65C9.89,16.36 10.55,17.96\n 11.76,19.16C12.71,20.1 13.62,20.62 15.03,21C15.3,21.08 15.45,21.36\n 15.38,21.62C15.33,21.85 15.12,22 14.91,22Z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},nn="eswat2",sn=()=>t("a",{class:"absolute right-8 top-8 text-clrs-gray hover:text-clrs-navy",href:"https://eswat2.dev","aria-label":nn,target:"blank",title:nn},t(en,{label:"eswat2"})),rn=class{constructor(t){s(this,t),this.tag="funnel-app"}componentDidLoad(){v("pick",Ke),v("values",We),y.initApp()}render(){return t("div",{key:"7998626a3f01e8bb4b2ed4b2b80d8b8de4a11206",id:"app",class:"ds1-main relative"},t(sn,{key:"44437debf47c76557ac6a115eec78b43a0aa2648"}),t(tn,{key:"f0806a91f365823850ab6ccebbc1339c18dd46b1"}),t(M,{key:"bfe9dc2f232eac7142d416c2dff3e7d8522930b7",actions:y,state:m}),t(w,{key:"23836d760ccb38b898857abd205ae186d8f05242",actions:y,state:m}),t("hr",{key:"33eae1954a6b50e6a7b8c3124e92895114a8412d",class:"ml-0 mr-0"}),t($,{key:"4d449b22dedd37ce95356c98b00d5137008b5345",state:m}))}};rn.style="/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans:\n ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n --spacing: 0.25rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --font-weight-bold: 700;\n }\n}\n@layer utilities {\n .absolute {\n position: absolute;\n }\n .relative {\n position: relative;\n }\n .top-8 {\n top: calc(var(--spacing) * 8);\n }\n .right-8 {\n right: calc(var(--spacing) * 8);\n }\n .mt-3 {\n margin-top: calc(var(--spacing) * 3);\n }\n .mt-5px {\n margin-top: 5px;\n }\n .mr-0 {\n margin-right: calc(var(--spacing) * 0);\n }\n .mr-10px {\n margin-right: 10px;\n }\n .mb-10px {\n margin-bottom: 10px;\n }\n .ml-0 {\n margin-left: calc(var(--spacing) * 0);\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,)\n var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-clrs-gray {\n border-color: var(--clrs-gray, #aaaaaa);\n }\n .border-clrs-slate {\n border-color: var(--clrs-slate, #708090);\n }\n .bg-clrs-blue {\n background-color: var(--clrs-blue, #0074d9);\n }\n .bg-clrs-red {\n background-color: var(--clrs-red, #ff4136);\n }\n .bg-clrs-silver {\n background-color: var(--clrs-silver, #dddddd);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .align-top {\n vertical-align: top;\n }\n .font-sans {\n font-family: var(--font-sans);\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .text-clrs-gray {\n color: var(--clrs-gray, #aaaaaa);\n }\n .text-clrs-navy {\n color: var(--clrs-navy, #001f3f);\n }\n .text-clrs-slate4 {\n color: var(--clrs-slate4, #4e5964);\n }\n .text-clrs-white {\n color: var(--clrs-white, #ffffff);\n }\n .italic {\n font-style: italic;\n }\n .shadow {\n --tw-shadow:\n 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),\n 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow), var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .hover\\:text-clrs-navy {\n &:hover {\n @media (hover: hover) {\n color: var(--clrs-navy, #001f3f);\n }\n }\n }\n .active\\:bg-clrs-gray {\n &:active {\n background-color: var(--clrs-gray, #aaaaaa);\n }\n }\n .active\\:text-clrs-navy {\n &:active {\n color: var(--clrs-navy, #001f3f);\n }\n }\n}\n@layer components {\n .ds1-main {\n display: flex;\n flex-direction: column;\n padding: calc(var(--spacing) * 4);\n font-family: var(--font-sans);\n color: var(--clrs-navy, #001f3f);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .ds1-button {\n display: flex;\n align-items: center;\n --tw-border-style: solid;\n border-style: solid;\n border-color: var(--clrs-slate, #708090);\n color: var(--clrs-white, #ffffff);\n &:active {\n background-color: var(--clrs-gray, #aaaaaa);\n }\n &:active {\n color: var(--clrs-navy, #001f3f);\n }\n }\n .funnel-gfx {\n --tw-border-style: solid;\n border-style: solid;\n border-color: var(--clrs-gray, #aaaaaa);\n background-color: var(--clrs-silver, #dddddd);\n stroke-width: 1;\n }\n}\n.data-button {\n border-radius: 5px;\n border-width: 1px;\n padding: 5px;\n margin: 0px;\n margin-right: 5px;\n cursor: pointer;\n}\n.funnel-gfx {\n width: calc(100% - 20px);\n height: 100%;\n padding: 10px;\n padding-bottom: 7px;\n border-radius: 10px;\n border-width: 1px;\n}\n";export{rn as funnel_app}
|