triggr-motion 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +379 -0
  3. package/dist/animations-DhYFMdig.d.mts +63 -0
  4. package/dist/animations-DhYFMdig.d.ts +63 -0
  5. package/dist/block/animations.cjs +2 -0
  6. package/dist/block/animations.cjs.map +1 -0
  7. package/dist/block/animations.d.mts +13 -0
  8. package/dist/block/animations.d.ts +13 -0
  9. package/dist/block/animations.js +2 -0
  10. package/dist/block/animations.js.map +1 -0
  11. package/dist/block/index.cjs +11 -0
  12. package/dist/block/index.cjs.map +1 -0
  13. package/dist/block/index.d.mts +22 -0
  14. package/dist/block/index.d.ts +22 -0
  15. package/dist/block/index.js +11 -0
  16. package/dist/block/index.js.map +1 -0
  17. package/dist/list/animations.cjs +2 -0
  18. package/dist/list/animations.cjs.map +1 -0
  19. package/dist/list/animations.d.mts +13 -0
  20. package/dist/list/animations.d.ts +13 -0
  21. package/dist/list/animations.js +2 -0
  22. package/dist/list/animations.js.map +1 -0
  23. package/dist/list/index.cjs +2 -0
  24. package/dist/list/index.cjs.map +1 -0
  25. package/dist/list/index.d.mts +10 -0
  26. package/dist/list/index.d.ts +10 -0
  27. package/dist/list/index.js +2 -0
  28. package/dist/list/index.js.map +1 -0
  29. package/dist/paragraph/animations.cjs +2 -0
  30. package/dist/paragraph/animations.cjs.map +1 -0
  31. package/dist/paragraph/animations.d.mts +2 -0
  32. package/dist/paragraph/animations.d.ts +2 -0
  33. package/dist/paragraph/animations.js +2 -0
  34. package/dist/paragraph/animations.js.map +1 -0
  35. package/dist/paragraph/index.cjs +3 -0
  36. package/dist/paragraph/index.cjs.map +1 -0
  37. package/dist/paragraph/index.d.mts +10 -0
  38. package/dist/paragraph/index.d.ts +10 -0
  39. package/dist/paragraph/index.js +3 -0
  40. package/dist/paragraph/index.js.map +1 -0
  41. package/dist/text/animations.cjs +2 -0
  42. package/dist/text/animations.cjs.map +1 -0
  43. package/dist/text/animations.d.mts +12 -0
  44. package/dist/text/animations.d.ts +12 -0
  45. package/dist/text/animations.js +2 -0
  46. package/dist/text/animations.js.map +1 -0
  47. package/dist/text/index.cjs +3 -0
  48. package/dist/text/index.cjs.map +1 -0
  49. package/dist/text/index.d.mts +10 -0
  50. package/dist/text/index.d.ts +10 -0
  51. package/dist/text/index.js +3 -0
  52. package/dist/text/index.js.map +1 -0
  53. package/dist/types-BuLn_v48.d.mts +59 -0
  54. package/dist/types-BuLn_v48.d.ts +59 -0
  55. package/dist/types-BuzDNWZT.d.mts +62 -0
  56. package/dist/types-BuzDNWZT.d.ts +62 -0
  57. package/dist/types-C3sFNX1j.d.mts +77 -0
  58. package/dist/types-C3sFNX1j.d.ts +77 -0
  59. package/package.json +98 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/list/animations.ts"],"names":["EASE_IN","EASE_OUT","EASE_IN_OUT","SPRING","SNAPPY","SMOOTH","SPRING_EASE","SMOOTH_EASE","SNAPPY_EASE","enterPresets","extended","merged","presets"],"mappings":"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","file":"animations.js","sourcesContent":["import type { ListAnimationPreset, AnimationDefinition } from \"./types\"\n\nexport const EASE_IN = \"cubic-bezier(0.0, 0.0, 0.2, 1)\"\nexport const EASE_OUT = \"cubic-bezier(0.4, 0.0, 1, 1)\"\nexport const EASE_IN_OUT = \"cubic-bezier(0.4, 0.0, 0.2, 1)\"\nexport const SPRING = \"cubic-bezier(0.34, 1.56, 0.64, 1)\"\nexport const SNAPPY = \"cubic-bezier(0.2, 0, 0, 1)\"\nexport const SMOOTH = \"cubic-bezier(0.22, 1, 0.36, 1)\"\n\nconst SPRING_EASE = SPRING\nconst SMOOTH_EASE = SMOOTH\nconst SNAPPY_EASE = SNAPPY\n\nexport const enterPresets: Record<string, AnimationDefinition> = {\n staggerFadeIn: {\n keyframes: [{ opacity: 0, transform: \"translateY(10px)\", filter: \"blur(2px)\" }, { opacity: 1, transform: \"translateY(0)\", filter: \"blur(0px)\" }],\n options: { duration: 320, easing: SPRING_EASE },\n },\n staggerSlideUp: {\n keyframes: [{ transform: \"translateY(18px)\", opacity: 0, filter: \"blur(2.5px)\" }, { transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" }],\n options: { duration: 340, easing: SPRING_EASE },\n },\n staggerSlideLeft: {\n keyframes: [{ transform: \"translateX(24px)\", opacity: 0, filter: \"blur(2.5px)\" }, { transform: \"translateX(0)\", opacity: 1, filter: \"blur(0px)\" }],\n options: { duration: 340, easing: SPRING_EASE },\n },\n staggerZoomIn: {\n keyframes: [{ transform: \"scale(0.86)\", opacity: 0, filter: \"blur(2px)\" }, { transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" }],\n options: { duration: 360, easing: SPRING_EASE },\n },\n staggerPopIn: {\n keyframes: [\n { transform: \"scale(0.86)\", opacity: 0, filter: \"blur(2px)\" },\n { transform: \"scale(1.05)\", opacity: 1, filter: \"blur(0px)\", offset: 0.48 },\n { transform: \"scale(0.98)\", opacity: 1, filter: \"blur(0px)\", offset: 0.72 },\n { transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" },\n ],\n options: { duration: 380, easing: SPRING_EASE },\n },\n stackIn: {\n keyframes: [{ transform: \"translateY(28px) scale(0.92)\", opacity: 0, filter: \"blur(3px)\" }, { transform: \"translateY(0) scale(1)\", opacity: 1, filter: \"blur(0px)\" }],\n options: { duration: 400, easing: SMOOTH_EASE },\n },\n wordCascade: {\n keyframes: [{ transform: \"translateY(14px)\", opacity: 0, filter: \"blur(2px)\" }, { transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" }],\n options: { duration: 300, easing: SMOOTH_EASE },\n },\n wordWave: {\n keyframes: [\n { transform: \"translateY(0)\", opacity: 0, filter: \"blur(0px)\" },\n { transform: \"translateY(-12px)\", opacity: 1, filter: \"blur(0px)\", offset: 0.4 },\n { transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" },\n ],\n options: { duration: 400, easing: SMOOTH_EASE },\n },\n wordDrop: {\n keyframes: [{ transform: \"translateY(-22px)\", opacity: 0, filter: \"blur(3px)\" }, { transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" }],\n options: { duration: 360, easing: SMOOTH_EASE },\n },\n wordFadeIn: {\n keyframes: [{ opacity: 0, filter: \"blur(2px)\" }, { opacity: 1, filter: \"blur(0px)\" }],\n options: { duration: 280, easing: SMOOTH_EASE },\n },\n\n marquee: { keyframes: [] },\n marqueeReverse: { keyframes: [] },\n marqueeFade: { keyframes: [] },\n\n // ── Scroll-linked collection motion (handled by runtime) ──\n parallax: { keyframes: [] },\n parallaxFast: { keyframes: [] },\n parallaxReverse: { keyframes: [] },\n tiltScroll: { keyframes: [] },\n scaleScroll: { keyframes: [] },\n parallaxStagger: { keyframes: [] },\n\n // ── Presence ──\n itemFadeIn: { keyframes: [{ opacity: 0, filter: \"blur(2px)\" }, { opacity: 1, filter: \"blur(0px)\" }], options: { duration: 250, easing: SPRING_EASE } },\n itemSlideIn: {\n keyframes: [{ transform: \"translateY(14px)\", opacity: 0, filter: \"blur(2px)\" }, { transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" }],\n options: { duration: 280, easing: SPRING_EASE },\n },\n itemPopIn: {\n keyframes: [{ transform: \"scale(0.88)\", opacity: 0, filter: \"blur(2px)\" }, { transform: \"scale(1.04)\", opacity: 1, filter: \"blur(0px)\", offset: 0.6 }, { transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" }],\n options: { duration: 280, easing: SNAPPY_EASE },\n },\n itemBounceIn: {\n keyframes: [\n { transform: \"scale(0.86)\", opacity: 0, filter: \"blur(2px)\" },\n { transform: \"scale(1.08)\", opacity: 1, filter: \"blur(0px)\", offset: 0.46 },\n { transform: \"scale(0.97)\", opacity: 1, filter: \"blur(0px)\", offset: 0.72 },\n { transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" },\n ],\n options: { duration: 350, easing: SPRING_EASE },\n },\n itemFadeOut: { keyframes: [{ opacity: 1, filter: \"blur(0px)\" }, { opacity: 0, filter: \"blur(2px)\" }], options: { duration: 200, easing: EASE_OUT } },\n itemSlideOut: {\n keyframes: [{ transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"translateY(-16px)\", opacity: 0, filter: \"blur(2px)\" }],\n options: { duration: 230, easing: EASE_OUT },\n },\n itemCollapseOut: {\n keyframes: [{ transform: \"scaleY(1)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"scaleY(0)\", opacity: 0, filter: \"blur(2px)\" }],\n options: { duration: 250, easing: EASE_OUT },\n },\n\n // ── Reorder tokens (handled by runtime) ──\n flip: { keyframes: [] },\n smooth: { keyframes: [] },\n spring: { keyframes: [] },\n none: { keyframes: [] },\n}\n\n// Distinct legacy aliases (not references — each has its own identity)\nconst extended: Record<string, AnimationDefinition> = {\n fadeIn: { keyframes: [{ opacity: 0, transform: \"translateY(8px)\", filter: \"blur(2.5px)\" }, { opacity: 1, transform: \"translateY(0)\", filter: \"blur(0px)\" }], options: { duration: 320, easing: SMOOTH_EASE } },\n slideIn: { keyframes: [{ transform: \"translateY(24px)\", opacity: 0, filter: \"blur(3px)\" }, { transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" }], options: { duration: 350, easing: SMOOTH_EASE } },\n slideInLeft: { keyframes: [{ transform: \"translateX(-24px)\", opacity: 0, filter: \"blur(2.5px)\" }, { transform: \"translateX(0)\", opacity: 1, filter: \"blur(0px)\" }], options: { duration: 330, easing: SPRING_EASE } },\n slideInRight:{ keyframes: [{ transform: \"translateX(24px)\", opacity: 0, filter: \"blur(2.5px)\" }, { transform: \"translateX(0)\", opacity: 1, filter: \"blur(0px)\" }], options: { duration: 330, easing: SPRING_EASE } },\n popIn: { keyframes: [{ transform: \"scale(0.88)\", opacity: 0, filter: \"blur(2px)\" }, { transform: \"scale(1.06)\", opacity: 1, filter: \"blur(0px)\", offset: 0.52 }, { transform: \"scale(0.98)\", opacity: 1, filter: \"blur(0px)\", offset: 0.76 }, { transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" }], options: { duration: 360, easing: SPRING_EASE } },\n bounceIn: { keyframes: [{ transform: \"translateY(14px) scale(0.88)\", opacity: 0, filter: \"blur(2px)\" }, { transform: \"translateY(-6px) scale(1.08)\", opacity: 1, filter: \"blur(0px)\", offset: 0.42 }, { transform: \"translateY(2px) scale(0.99)\", opacity: 1, filter: \"blur(0px)\", offset: 0.68 }, { transform: \"translateY(0) scale(1)\", opacity: 1, filter: \"blur(0px)\" }], options: { duration: 380, easing: SPRING_EASE } },\n expandIn: { keyframes: [{ transform: \"scaleY(0.82)\", opacity: 0, filter: \"blur(2px)\" }, { transform: \"scaleY(1)\", opacity: 1, filter: \"blur(0px)\" }], options: { duration: 330, easing: SPRING_EASE } },\n flipIn: { keyframes: [{ transform: \"perspective(800px) rotateX(-80deg)\", opacity: 0, filter: \"blur(3px)\" }, { transform: \"perspective(800px) rotateX(4deg)\", opacity: 1, filter: \"blur(0px)\", offset: 0.72 }, { transform: \"perspective(800px) rotateX(0deg)\", opacity: 1, filter: \"blur(0px)\" }], options: { duration: 420, easing: SMOOTH_EASE } },\n glideIn: { keyframes: [{ transform: \"translateX(-14px)\", opacity: 0, filter: \"blur(2px)\" }, { transform: \"translateX(0)\", opacity: 1, filter: \"blur(0px)\" }], options: { duration: 300, easing: SMOOTH_EASE } },\n fadeOut: { keyframes: [{ opacity: 1, filter: \"blur(0px)\" }, { opacity: 0, filter: \"blur(2px)\" }], options: { duration: 200, easing: EASE_OUT } },\n slideOut: { keyframes: [{ transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"translateY(24px)\", opacity: 0, filter: \"blur(2.5px)\" }], options: { duration: 230, easing: EASE_OUT } },\n slideOutLeft: { keyframes: [{ transform: \"translateX(0)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"translateX(-24px)\", opacity: 0, filter: \"blur(2.5px)\" }], options: { duration: 230, easing: EASE_OUT } },\n slideOutRight:{ keyframes: [{ transform: \"translateX(0)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"translateX(24px)\", opacity: 0, filter: \"blur(2.5px)\" }], options: { duration: 230, easing: EASE_OUT } },\n popOut: { keyframes: [{ transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"scale(1.04)\", opacity: 1, filter: \"blur(0px)\", offset: 0.28 }, { transform: \"scale(0.88)\", opacity: 0, filter: \"blur(2px)\" }], options: { duration: 230, easing: EASE_OUT } },\n bounceOut: { keyframes: [{ transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"translateY(-4px) scale(1.06)\", opacity: 1, filter: \"blur(0px)\", offset: 0.3 }, { transform: \"translateY(0) scale(0.88)\", opacity: 0, filter: \"blur(2px)\" }], options: { duration: 260, easing: EASE_OUT } },\n collapseOut: { keyframes: [{ transform: \"scaleY(1)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"scaleY(0)\", opacity: 0, filter: \"blur(2px)\" }], options: { duration: 250, easing: EASE_OUT } },\n flipOut: { keyframes: [{ transform: \"perspective(800px) rotateX(0deg)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"perspective(800px) rotateX(80deg)\", opacity: 0, filter: \"blur(3px)\" }], options: { duration: 270, easing: EASE_OUT } },\n glideOut: { keyframes: [{ transform: \"translateX(0)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"translateX(-14px)\", opacity: 0, filter: \"blur(2px)\" }], options: { duration: 220, easing: EASE_OUT } },\n\n staggerBlurIn: {\n keyframes: [\n { filter: 'blur(4px)', opacity: 0 },\n { filter: 'blur(0px)', opacity: 1 },\n ],\n options: { duration: 400, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', fill: 'forwards' },\n },\n feedAppend: {\n keyframes: [\n { transform: 'translateY(20px)', opacity: 0, filter: 'blur(2.5px)' },\n { transform: 'translateY(0)', opacity: 1, filter: 'blur(0px)' },\n ],\n options: { duration: 380, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', fill: 'forwards' },\n },\n filterIn: {\n keyframes: [\n { transform: 'scale(0.82)', opacity: 0, filter: 'blur(2px)' },\n { transform: 'scale(1.04)', opacity: 1, filter: 'blur(0px)', offset: 0.58 },\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n ],\n options: { duration: 340, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', fill: 'forwards' },\n },\n emptyToList: {\n keyframes: [\n { transform: 'translateY(12px)', opacity: 0, filter: 'blur(2px)' },\n { transform: 'translateY(0)', opacity: 1, filter: 'blur(0px)' },\n ],\n options: { duration: 450, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', fill: 'forwards' },\n },\n selectionPulse: {\n keyframes: [\n { boxShadow: '0 0 0 0 rgba(99, 102, 241, 0.4)', transform: 'scale(1)' },\n { boxShadow: '0 0 0 6px rgba(99, 102, 241, 0)', transform: 'scale(1.02)', offset: 0.5 },\n { boxShadow: '0 0 0 0 rgba(99, 102, 241, 0)', transform: 'scale(1)' },\n ],\n options: { duration: 400, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', fill: 'forwards' },\n },\n insertItem: {\n keyframes: [\n { transform: 'translateY(-18px) scale(0.94)', opacity: 0, filter: 'blur(3px)' },\n { transform: 'translateY(0) scale(1.03)', opacity: 1, filter: 'blur(0px)', offset: 0.58 },\n { transform: 'translateY(0) scale(1)', opacity: 1, filter: 'blur(0px)' },\n ],\n options: { duration: 380, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', fill: 'forwards' },\n },\n emptyStateToList: {\n keyframes: [\n { transform: 'translateY(24px)', opacity: 0, filter: 'blur(3px)' },\n { transform: 'translateY(0)', opacity: 1, filter: 'blur(0px)' },\n ],\n options: { duration: 550, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', fill: 'forwards' },\n },\n itemSlideOutLeft: {\n keyframes: [\n { transform: 'translateX(0)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateX(-24px)', opacity: 0, filter: 'blur(2.5px)' },\n ],\n options: { duration: 240, easing: 'cubic-bezier(0.4, 0.0, 1, 1)', fill: 'forwards' },\n },\n itemSlideOutRight: {\n keyframes: [\n { transform: 'translateX(0)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateX(24px)', opacity: 0, filter: 'blur(2.5px)' },\n ],\n options: { duration: 240, easing: 'cubic-bezier(0.4, 0.0, 1, 1)', fill: 'forwards' },\n },\n itemScaleOut: {\n keyframes: [\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'scale(0.88)', opacity: 0, filter: 'blur(3px)' },\n ],\n options: { duration: 220, easing: 'cubic-bezier(0.4, 0.0, 1, 1)', fill: 'forwards' },\n },\n itemPopOut: {\n keyframes: [\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'scale(1.04)', opacity: 0.35, filter: 'blur(1px)', offset: 0.28 },\n { transform: 'scale(0.88)', opacity: 0, filter: 'blur(2.5px)' },\n ],\n options: { duration: 240, easing: 'cubic-bezier(0.4, 0.0, 1, 1)', fill: 'forwards' },\n },\n itemBlurOut: {\n keyframes: [\n { filter: 'blur(0)', opacity: 1 },\n { filter: 'blur(4px)', opacity: 0 },\n ],\n options: { duration: 270, easing: 'cubic-bezier(0.4, 0.0, 1, 1)', fill: 'forwards' },\n },\n itemDismissOut: {\n keyframes: [\n { transform: 'translateX(0)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateX(24px)', opacity: 0, filter: 'blur(2.5px)' },\n ],\n options: { duration: 270, easing: 'cubic-bezier(0.4, 0.0, 1, 1)', fill: 'forwards' },\n },\n tagRemove: {\n keyframes: [\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'scale(0.78)', opacity: 0, filter: 'blur(2px)' },\n ],\n options: { duration: 200, easing: 'cubic-bezier(0.4, 0.0, 1, 1)', fill: 'forwards' },\n },\n cardRemove: {\n keyframes: [\n { transform: 'translateY(0) scale(1)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateY(-10px) scale(0.94)', opacity: 0, filter: 'blur(2.5px)' },\n ],\n options: { duration: 260, easing: 'cubic-bezier(0.4, 0.0, 1, 1)', fill: 'forwards' },\n },\n rowCollapseOut: {\n keyframes: [\n { maxHeight: '200px', opacity: 1, marginBottom: '8px', overflow: 'hidden' },\n { maxHeight: '0px', opacity: 0, marginBottom: '0px', overflow: 'hidden', padding: '0 16px' },\n ],\n options: { duration: 280, easing: 'cubic-bezier(0.4, 0.0, 0.2, 1)', fill: 'forwards' },\n },\n}\n\n// Merge enterPresets + extended into a single lookup, typed as the union\nconst merged = { ...enterPresets, ...extended } as Record<string, AnimationDefinition>\nexport const presets = merged as Record<ListAnimationPreset, AnimationDefinition>\n"]}
@@ -0,0 +1,2 @@
1
+ 'use strict';var W=require('react');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var W__default=/*#__PURE__*/_interopDefault(W);var ie="cubic-bezier(0.0, 0.0, 0.2, 1)",S="cubic-bezier(0.4, 0.0, 1, 1)",st="cubic-bezier(0.4, 0.0, 0.2, 1)",At="cubic-bezier(0.34, 1.56, 0.64, 1)",Ye="cubic-bezier(0.2, 0, 0, 1)",Ae="cubic-bezier(0.22, 1, 0.36, 1)",A=At,D=Ae,He=Ye,Pe={staggerFadeIn:{keyframes:[{opacity:0,transform:"translateY(10px)",filter:"blur(2px)"},{opacity:1,transform:"translateY(0)",filter:"blur(0px)"}],options:{duration:320,easing:A}},staggerSlideUp:{keyframes:[{transform:"translateY(18px)",opacity:0,filter:"blur(2.5px)"},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],options:{duration:340,easing:A}},staggerSlideLeft:{keyframes:[{transform:"translateX(24px)",opacity:0,filter:"blur(2.5px)"},{transform:"translateX(0)",opacity:1,filter:"blur(0px)"}],options:{duration:340,easing:A}},staggerZoomIn:{keyframes:[{transform:"scale(0.86)",opacity:0,filter:"blur(2px)"},{transform:"scale(1)",opacity:1,filter:"blur(0px)"}],options:{duration:360,easing:A}},staggerPopIn:{keyframes:[{transform:"scale(0.86)",opacity:0,filter:"blur(2px)"},{transform:"scale(1.05)",opacity:1,filter:"blur(0px)",offset:.48},{transform:"scale(0.98)",opacity:1,filter:"blur(0px)",offset:.72},{transform:"scale(1)",opacity:1,filter:"blur(0px)"}],options:{duration:380,easing:A}},stackIn:{keyframes:[{transform:"translateY(28px) scale(0.92)",opacity:0,filter:"blur(3px)"},{transform:"translateY(0) scale(1)",opacity:1,filter:"blur(0px)"}],options:{duration:400,easing:D}},wordCascade:{keyframes:[{transform:"translateY(14px)",opacity:0,filter:"blur(2px)"},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],options:{duration:300,easing:D}},wordWave:{keyframes:[{transform:"translateY(0)",opacity:0,filter:"blur(0px)"},{transform:"translateY(-12px)",opacity:1,filter:"blur(0px)",offset:.4},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],options:{duration:400,easing:D}},wordDrop:{keyframes:[{transform:"translateY(-22px)",opacity:0,filter:"blur(3px)"},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],options:{duration:360,easing:D}},wordFadeIn:{keyframes:[{opacity:0,filter:"blur(2px)"},{opacity:1,filter:"blur(0px)"}],options:{duration:280,easing:D}},marquee:{keyframes:[]},marqueeReverse:{keyframes:[]},marqueeFade:{keyframes:[]},parallax:{keyframes:[]},parallaxFast:{keyframes:[]},parallaxReverse:{keyframes:[]},tiltScroll:{keyframes:[]},scaleScroll:{keyframes:[]},parallaxStagger:{keyframes:[]},itemFadeIn:{keyframes:[{opacity:0,filter:"blur(2px)"},{opacity:1,filter:"blur(0px)"}],options:{duration:250,easing:A}},itemSlideIn:{keyframes:[{transform:"translateY(14px)",opacity:0,filter:"blur(2px)"},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],options:{duration:280,easing:A}},itemPopIn:{keyframes:[{transform:"scale(0.88)",opacity:0,filter:"blur(2px)"},{transform:"scale(1.04)",opacity:1,filter:"blur(0px)",offset:.6},{transform:"scale(1)",opacity:1,filter:"blur(0px)"}],options:{duration:280,easing:He}},itemBounceIn:{keyframes:[{transform:"scale(0.86)",opacity:0,filter:"blur(2px)"},{transform:"scale(1.08)",opacity:1,filter:"blur(0px)",offset:.46},{transform:"scale(0.97)",opacity:1,filter:"blur(0px)",offset:.72},{transform:"scale(1)",opacity:1,filter:"blur(0px)"}],options:{duration:350,easing:A}},itemFadeOut:{keyframes:[{opacity:1,filter:"blur(0px)"},{opacity:0,filter:"blur(2px)"}],options:{duration:200,easing:S}},itemSlideOut:{keyframes:[{transform:"translateY(0)",opacity:1,filter:"blur(0px)"},{transform:"translateY(-16px)",opacity:0,filter:"blur(2px)"}],options:{duration:230,easing:S}},itemCollapseOut:{keyframes:[{transform:"scaleY(1)",opacity:1,filter:"blur(0px)"},{transform:"scaleY(0)",opacity:0,filter:"blur(2px)"}],options:{duration:250,easing:S}},flip:{keyframes:[]},smooth:{keyframes:[]},spring:{keyframes:[]},none:{keyframes:[]}},Ie={fadeIn:{keyframes:[{opacity:0,transform:"translateY(8px)",filter:"blur(2.5px)"},{opacity:1,transform:"translateY(0)",filter:"blur(0px)"}],options:{duration:320,easing:D}},slideIn:{keyframes:[{transform:"translateY(24px)",opacity:0,filter:"blur(3px)"},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],options:{duration:350,easing:D}},slideInLeft:{keyframes:[{transform:"translateX(-24px)",opacity:0,filter:"blur(2.5px)"},{transform:"translateX(0)",opacity:1,filter:"blur(0px)"}],options:{duration:330,easing:A}},slideInRight:{keyframes:[{transform:"translateX(24px)",opacity:0,filter:"blur(2.5px)"},{transform:"translateX(0)",opacity:1,filter:"blur(0px)"}],options:{duration:330,easing:A}},popIn:{keyframes:[{transform:"scale(0.88)",opacity:0,filter:"blur(2px)"},{transform:"scale(1.06)",opacity:1,filter:"blur(0px)",offset:.52},{transform:"scale(0.98)",opacity:1,filter:"blur(0px)",offset:.76},{transform:"scale(1)",opacity:1,filter:"blur(0px)"}],options:{duration:360,easing:A}},bounceIn:{keyframes:[{transform:"translateY(14px) scale(0.88)",opacity:0,filter:"blur(2px)"},{transform:"translateY(-6px) scale(1.08)",opacity:1,filter:"blur(0px)",offset:.42},{transform:"translateY(2px) scale(0.99)",opacity:1,filter:"blur(0px)",offset:.68},{transform:"translateY(0) scale(1)",opacity:1,filter:"blur(0px)"}],options:{duration:380,easing:A}},expandIn:{keyframes:[{transform:"scaleY(0.82)",opacity:0,filter:"blur(2px)"},{transform:"scaleY(1)",opacity:1,filter:"blur(0px)"}],options:{duration:330,easing:A}},flipIn:{keyframes:[{transform:"perspective(800px) rotateX(-80deg)",opacity:0,filter:"blur(3px)"},{transform:"perspective(800px) rotateX(4deg)",opacity:1,filter:"blur(0px)",offset:.72},{transform:"perspective(800px) rotateX(0deg)",opacity:1,filter:"blur(0px)"}],options:{duration:420,easing:D}},glideIn:{keyframes:[{transform:"translateX(-14px)",opacity:0,filter:"blur(2px)"},{transform:"translateX(0)",opacity:1,filter:"blur(0px)"}],options:{duration:300,easing:D}},fadeOut:{keyframes:[{opacity:1,filter:"blur(0px)"},{opacity:0,filter:"blur(2px)"}],options:{duration:200,easing:S}},slideOut:{keyframes:[{transform:"translateY(0)",opacity:1,filter:"blur(0px)"},{transform:"translateY(24px)",opacity:0,filter:"blur(2.5px)"}],options:{duration:230,easing:S}},slideOutLeft:{keyframes:[{transform:"translateX(0)",opacity:1,filter:"blur(0px)"},{transform:"translateX(-24px)",opacity:0,filter:"blur(2.5px)"}],options:{duration:230,easing:S}},slideOutRight:{keyframes:[{transform:"translateX(0)",opacity:1,filter:"blur(0px)"},{transform:"translateX(24px)",opacity:0,filter:"blur(2.5px)"}],options:{duration:230,easing:S}},popOut:{keyframes:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(1.04)",opacity:1,filter:"blur(0px)",offset:.28},{transform:"scale(0.88)",opacity:0,filter:"blur(2px)"}],options:{duration:230,easing:S}},bounceOut:{keyframes:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"translateY(-4px) scale(1.06)",opacity:1,filter:"blur(0px)",offset:.3},{transform:"translateY(0) scale(0.88)",opacity:0,filter:"blur(2px)"}],options:{duration:260,easing:S}},collapseOut:{keyframes:[{transform:"scaleY(1)",opacity:1,filter:"blur(0px)"},{transform:"scaleY(0)",opacity:0,filter:"blur(2px)"}],options:{duration:250,easing:S}},flipOut:{keyframes:[{transform:"perspective(800px) rotateX(0deg)",opacity:1,filter:"blur(0px)"},{transform:"perspective(800px) rotateX(80deg)",opacity:0,filter:"blur(3px)"}],options:{duration:270,easing:S}},glideOut:{keyframes:[{transform:"translateX(0)",opacity:1,filter:"blur(0px)"},{transform:"translateX(-14px)",opacity:0,filter:"blur(2px)"}],options:{duration:220,easing:S}},staggerBlurIn:{keyframes:[{filter:"blur(4px)",opacity:0},{filter:"blur(0px)",opacity:1}],options:{duration:400,easing:"cubic-bezier(0.22, 1, 0.36, 1)",fill:"forwards"}},feedAppend:{keyframes:[{transform:"translateY(20px)",opacity:0,filter:"blur(2.5px)"},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],options:{duration:380,easing:"cubic-bezier(0.34, 1.56, 0.64, 1)",fill:"forwards"}},filterIn:{keyframes:[{transform:"scale(0.82)",opacity:0,filter:"blur(2px)"},{transform:"scale(1.04)",opacity:1,filter:"blur(0px)",offset:.58},{transform:"scale(1)",opacity:1,filter:"blur(0px)"}],options:{duration:340,easing:"cubic-bezier(0.34, 1.56, 0.64, 1)",fill:"forwards"}},emptyToList:{keyframes:[{transform:"translateY(12px)",opacity:0,filter:"blur(2px)"},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],options:{duration:450,easing:"cubic-bezier(0.22, 1, 0.36, 1)",fill:"forwards"}},selectionPulse:{keyframes:[{boxShadow:"0 0 0 0 rgba(99, 102, 241, 0.4)",transform:"scale(1)"},{boxShadow:"0 0 0 6px rgba(99, 102, 241, 0)",transform:"scale(1.02)",offset:.5},{boxShadow:"0 0 0 0 rgba(99, 102, 241, 0)",transform:"scale(1)"}],options:{duration:400,easing:"cubic-bezier(0.22, 1, 0.36, 1)",fill:"forwards"}},insertItem:{keyframes:[{transform:"translateY(-18px) scale(0.94)",opacity:0,filter:"blur(3px)"},{transform:"translateY(0) scale(1.03)",opacity:1,filter:"blur(0px)",offset:.58},{transform:"translateY(0) scale(1)",opacity:1,filter:"blur(0px)"}],options:{duration:380,easing:"cubic-bezier(0.34, 1.56, 0.64, 1)",fill:"forwards"}},emptyStateToList:{keyframes:[{transform:"translateY(24px)",opacity:0,filter:"blur(3px)"},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],options:{duration:550,easing:"cubic-bezier(0.22, 1, 0.36, 1)",fill:"forwards"}},itemSlideOutLeft:{keyframes:[{transform:"translateX(0)",opacity:1,filter:"blur(0px)"},{transform:"translateX(-24px)",opacity:0,filter:"blur(2.5px)"}],options:{duration:240,easing:"cubic-bezier(0.4, 0.0, 1, 1)",fill:"forwards"}},itemSlideOutRight:{keyframes:[{transform:"translateX(0)",opacity:1,filter:"blur(0px)"},{transform:"translateX(24px)",opacity:0,filter:"blur(2.5px)"}],options:{duration:240,easing:"cubic-bezier(0.4, 0.0, 1, 1)",fill:"forwards"}},itemScaleOut:{keyframes:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(0.88)",opacity:0,filter:"blur(3px)"}],options:{duration:220,easing:"cubic-bezier(0.4, 0.0, 1, 1)",fill:"forwards"}},itemPopOut:{keyframes:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(1.04)",opacity:.35,filter:"blur(1px)",offset:.28},{transform:"scale(0.88)",opacity:0,filter:"blur(2.5px)"}],options:{duration:240,easing:"cubic-bezier(0.4, 0.0, 1, 1)",fill:"forwards"}},itemBlurOut:{keyframes:[{filter:"blur(0)",opacity:1},{filter:"blur(4px)",opacity:0}],options:{duration:270,easing:"cubic-bezier(0.4, 0.0, 1, 1)",fill:"forwards"}},itemDismissOut:{keyframes:[{transform:"translateX(0)",opacity:1,filter:"blur(0px)"},{transform:"translateX(24px)",opacity:0,filter:"blur(2.5px)"}],options:{duration:270,easing:"cubic-bezier(0.4, 0.0, 1, 1)",fill:"forwards"}},tagRemove:{keyframes:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(0.78)",opacity:0,filter:"blur(2px)"}],options:{duration:200,easing:"cubic-bezier(0.4, 0.0, 1, 1)",fill:"forwards"}},cardRemove:{keyframes:[{transform:"translateY(0) scale(1)",opacity:1,filter:"blur(0px)"},{transform:"translateY(-10px) scale(0.94)",opacity:0,filter:"blur(2.5px)"}],options:{duration:260,easing:"cubic-bezier(0.4, 0.0, 1, 1)",fill:"forwards"}},rowCollapseOut:{keyframes:[{maxHeight:"200px",opacity:1,marginBottom:"8px",overflow:"hidden"},{maxHeight:"0px",opacity:0,marginBottom:"0px",overflow:"hidden",padding:"0 16px"}],options:{duration:280,easing:"cubic-bezier(0.4, 0.0, 0.2, 1)",fill:"forwards"}}},ze={...Pe,...Ie},dt=ze;function se(t){let n=W.useRef([]),r=n.current,s=new Set(r),u=new Set(t),p=t.filter(b=>!s.has(b)),l=r.filter(b=>!u.has(b)),d=[],g=[],T=new Map(r.map((b,P)=>[b,P]));return t.forEach((b,P)=>{s.has(b)&&u.has(b)&&(T.get(b)!==P?g.push(b):d.push(b));}),W.useEffect(()=>{n.current=t;}),{added:p,removed:l,reordered:g,stable:d}}function le(t){let n=W.useRef(new Map),r=W.useCallback(()=>{let u=t.current;if(!u)return;let p=new Map,l=u.getBoundingClientRect();for(let d of u.children){let g=d.getAttribute("data-trigr-key");if(!g)continue;let T=d.getBoundingClientRect();p.set(g,{top:T.top-l.top-u.clientTop,left:T.left-l.left-u.clientLeft,width:T.width,height:T.height});}n.current=p;},[t]),s=W.useCallback(()=>new Map(n.current),[]);return {snapshot:r,getPositions:s}}var fe=new Set;function ot(t,n=300){let r=Number(t);return Number.isFinite(r)&&r>0?r:n}function yt(t,n,r){if(n==="enter"&&(r!=null&&r.enter))return r.enter;if(n==="exit"&&(r!=null&&r.exit))return r.exit;let s=dt[t];return s||(fe.has(t)||(fe.add(t),console.warn(`[trigr/list] Unknown animation "${t}", falling back to "${n==="enter"?"staggerFadeIn":"itemFadeOut"}"`)),n==="enter"?dt.staggerFadeIn:dt.itemFadeOut)}function qe(t,n){let r=n[0];r&&(r.opacity!==void 0&&(t.style.opacity=String(r.opacity)),r.transform!==void 0&&(t.style.transform=String(r.transform)),r.filter!==void 0&&(t.style.filter=String(r.filter)));}function ce(t,n){let r=n[0],s=n[n.length-1];if(!s)return;let u=r.opacity!==void 0,p=r.filter!==void 0;s.opacity!==void 0?t.style.opacity=String(s.opacity):u&&(t.style.opacity="1"),s.transform!==void 0&&(t.style.transform=String(s.transform)),s.filter!==void 0?t.style.filter=String(s.filter):p&&(t.style.filter="blur(0px)");}function De(t,n){if(!n)return t;let{distance:r,scale:s,blur:u}=n;return t.map(p=>{let l=p.transform,d=p.filter;return r!==void 0&&l&&(l=l.replace(/translateY\((-?\d+(?:\.\d+)?)(px)?\)/g,(g,T)=>`translateY(${Math.round(Number(T)*(r/32))}px)`),l=l.replace(/translateX\((-?\d+(?:\.\d+)?)(px)?\)/g,(g,T)=>`translateX(${Math.round(Number(T)*(r/32))}px)`)),s!==void 0&&l&&(l=l.replace(/scale\((-?[\d.]+(?:,\s*-?[\d.]+)?)\)/g,`scale(${s})`)),u!==void 0&&d&&(d=d.replace(/blur\((\d+)px\)/g,`blur(${u}px)`)),{...p,transform:l,filter:d}})}function gt(t,n,r,s){t.style.willChange="transform, opacity, filter";let u=De(n.keyframes,s),p=Ne()?u.map(({opacity:b})=>({opacity:b!=null?b:1})):u,l=t.style.transformOrigin,d=u.some(b=>{var P;return (P=b.transform)==null?void 0:P.includes("scaleY")});d&&(t.style.transformOrigin="top"),qe(t,p);let g=t.animate(p,{...n.options,...r,fill:"forwards"}),T=()=>{d&&(t.style.transformOrigin=l);};return g.addEventListener("finish",()=>{ce(t,p),t.style.willChange="auto",T();}),g.addEventListener("cancel",()=>{ce(t,p),t.style.willChange="auto",T();}),g}function ue(t){t.getAnimations({subtree:true}).forEach(n=>n.cancel());}function Ne(){var t,n;return typeof window=="undefined"?false:(n=(t=window.matchMedia)==null?void 0:t.call(window,"(prefers-reduced-motion: reduce)").matches)!=null?n:false}function It(t,n,r){if(!n||Object.keys(n).length===0)return null;let s={},u={};for(let[l,d]of Object.entries(n))s[l]=d[0],u[l]=d[1];for(let[l,d]of Object.entries(s))t.style[l]=d;let p=t.animate([s,u],{...r,fill:"forwards"});return p.addEventListener("finish",()=>{for(let[l,d]of Object.entries(n))t.style[l]=String(d[1]);}),p.addEventListener("cancel",()=>{for(let[l,d]of Object.entries(s))t.style[l]=d;}),p}function ye(t){let n=t.parentElement;for(;n&&n!==document.body&&n!==document.documentElement;){let r=getComputedStyle(n);if(/(auto|scroll|overlay)/.test(`${r.overflowY}${r.overflow}`)&&n.scrollHeight>n.clientHeight)return n;n=n.parentElement;}return null}function Ke(t,n){var l;let r=ye(t),s=(l=r==null?void 0:r.clientHeight)!=null?l:window.innerHeight,u=Math.min(.95,Math.max(.05,n)),p=Math.round(s*Math.min(.48,u/2));return {root:r,rootMargin:`-${p}px 0px -${p}px 0px`,threshold:0}}function _e(t){let n=[];return W__default.default.Children.forEach(t,r=>{W__default.default.isValidElement(r)&&r.key!=null&&n.push(r.key);}),n}function pe(t){return t==="marquee"||t==="marqueeReverse"||t==="marqueeFade"}function bt(t){return t==="parallax"||t==="parallaxFast"||t==="parallaxReverse"||t==="tiltScroll"||t==="scaleScroll"||t==="parallaxStagger"}function Be(t){return Number.isFinite(t)?Math.min(1.5,Math.max(.05,t)):.5}function me(t,n){return t.closest("[data-trigr-key]")}function de(t){return t.getAttribute("data-trigr-key")}var Ge=W.forwardRef(function({triggers:n,animation:r="staggerFadeIn",scrollAnimation:s,properties:u,exitAnimation:p="itemFadeOut",reorderAnimation:l="flip",reorder:d="flip",duration:g=300,reorderDuration:T=250,stagger:b=60,exitStagger:P=0,speed:xt=50,trigger:lt="mount",threshold:ft=.4,easing:N=ie,reorderEasing:zt=st,as:Ct="div",className:Ot,style:Xt,onItemEnter:Z,onItemExit:J,onReorder:ht,presetOptions:R,children:B,customAnimation:G},ge){var Gt,jt,Ut,Vt,Wt,Zt;let I=W.useRef(null),be=_e(B),z=se(be),{snapshot:xe,getPositions:he}=le(I),wt=W.useRef(B),[j,$t]=W.useState(new Map),Mt=W.useRef(new Set),ct=W.useRef(new Map),F=W.useRef(null),Q=W.useRef(false),ut=W.useRef([]),Ft=W.useRef(0),O=W.useRef(false),Y=W.useMemo(()=>n?n.map(i=>{var o;return {trigger:i.trigger,animation:i.animation,threshold:(o=i.threshold)!=null?o:ft}}):(Array.isArray(lt)?lt.slice(0,2):[lt]).map(i=>({trigger:i,animation:i==="scroll"&&s?s:r,threshold:ft})),[n,lt,r,s,ft]),kt=W.useMemo(()=>Y.map(e=>e.trigger),[Y]),L=W.useCallback(e=>kt.includes(e),[kt]),[tt,vt]=W.useState(null),[qt,Dt]=W.useState(!L("scroll")),Lt=(jt=(Gt=tt==null?void 0:tt.source)!=null?Gt:kt[0])!=null?jt:"mount",Tt=Y.find(e=>e.trigger===Lt),nt=(Ut=Tt==null?void 0:Tt.animation)!=null?Ut:r,Et=Y.find(e=>e.trigger==="scroll"),Nt=(Vt=Et==null?void 0:Et.threshold)!=null?Vt:ft;typeof window!="undefined"&&(O.current=(Zt=(Wt=window.matchMedia)==null?void 0:Wt.call(window,"(prefers-reduced-motion: reduce)").matches)!=null?Zt:false),W.useEffect(()=>{Dt(!L("scroll"));},[L]),W.useEffect(()=>{if(!L("scroll"))return;let e=I.current;if(!e)return;let i=new IntersectionObserver(o=>{for(let a of o)a.target===e&&Dt(a.isIntersecting);},Ke(e,Nt));return i.observe(e),()=>i.disconnect()},[L,Nt]);let et=W.useCallback(()=>{F.current!==null&&(clearTimeout(F.current),F.current=null),Q.current=false;let e=ut.current.shift();e?(Q.current=true,vt({id:++Ft.current,source:e})):vt(null);},[]),at=W.useCallback(e=>{if(Q.current){e!=="scroll"&&(ut.current=[...ut.current,e].slice(-2));return}Q.current=true,vt({id:++Ft.current,source:e});},[]),St=l!=null?l:d,Kt=W.useCallback((e=Lt)=>{var f,x,m,h;let i=I.current;if(!i){et();return}if(O.current){et();return}let o=Y.find(k=>k.trigger===e),a=(f=o==null?void 0:o.animation)!=null?f:r;if(bt(a)||pe(a)){et();return}let y=yt(a,"enter",G),w=Array.from(i.querySelectorAll("[data-trigr-key]"));if(w.length===0){et();return}F.current!==null&&(clearTimeout(F.current),F.current=null);let M=O.current?ot(g,300)/2:ot((m=(x=y.options)==null?void 0:x.duration)!=null?m:g,300),v=(h=R==null?void 0:R.stagger)!=null?h:b;w.forEach((k,E)=>{var H,c;ue(k),gt(k,y,{duration:M,easing:(c=(H=y.options)==null?void 0:H.easing)!=null?c:N,delay:E*v,fill:"forwards"},R),It(k,u,{duration:M,easing:N,delay:E*v});}),F.current=setTimeout(et,M+Math.max(0,w.length-1)*v+80);},[Lt,r,G,g,N,et,u,Y,b]),Rt=W.useRef(null),pt=W.useCallback((e,i)=>{var f,x,m;let o=I.current;if(!o||O.current)return;let a=o.querySelector(`[data-trigr-key="${e}"]`);if(!a)return;ue(a);let y=i?Y.find(h=>h.trigger===i):void 0,w=(f=y==null?void 0:y.animation)!=null?f:r,M=yt(w,"enter",G),v=O.current?ot(g,300)/2:ot(g,300);gt(a,M,{duration:v,easing:(m=(x=M.options)==null?void 0:x.easing)!=null?m:N,fill:"forwards"},R),It(a,u,{duration:v,easing:N});},[r,g,N,G,u,Y]),we=W.useCallback(e=>{if(!L("hover")||Q.current)return;let i=I.current;if(!i)return;let o=me(e.target);if(!o)return;let a=de(o);a==null||a===Rt.current||(Rt.current=a,pt(a,"hover"));},[L,pt]),Me=W.useCallback(()=>{Rt.current=null;},[]),ke=W.useCallback(e=>{if(!L("click")||Q.current)return;let i=I.current;if(!i)return;let o=me(e.target);if(!o)return;let a=de(o);a!=null&&pt(a,"click");},[L,pt]);W.useImperativeHandle(ge,()=>({animate:()=>at("manual")}),[at]);let ve={flip:st,smooth:st,spring:At,none:st};W.useEffect(()=>{var v;let e=I.current;if(!e)return;let i=g,o=T;if(O.current){z.removed.length>0&&z.removed.forEach(f=>J==null?void 0:J(f)),z.added.length>0&&z.added.forEach(f=>Z==null?void 0:Z(f)),wt.current=B;return}let a=f=>e.querySelector(`[data-trigr-key="${f}"]`),y=e.getBoundingClientRect(),w=()=>{let f=new Map;for(let x of e.children){let m=x.getAttribute("data-trigr-key");if(!m)continue;let h=x.getBoundingClientRect();f.set(m,{top:h.top-y.top,left:h.left-y.left,width:h.width,height:h.height});}return f},M=he();if(z.reordered.length>0&&St!=="none"){let f=w(),x=(v=ve[St])!=null?v:zt;for(let m of z.reordered){let h=M.get(m),k=f.get(m);if(!h||!k)continue;let E=h.left-k.left,H=h.top-k.top;if(E===0&&H===0)continue;let c=a(m);if(!c)continue;c.style.zIndex="1",c.style.willChange="transform",c.style.transform=`translate(${E}px, ${H}px)`,c.getBoundingClientRect();let q=c.animate([{transform:`translate(${E}px, ${H}px)`},{transform:"translate(0, 0)"}],{duration:o,easing:x,fill:"forwards"});q.onfinish=()=>{c.style.zIndex="",c.style.willChange="auto";},q.oncancel=()=>{c.style.zIndex="",c.style.willChange="auto",c.style.transform="";},c.style.transform="";}ht==null||ht();}if(z.added.length>0){let f=yt(nt,"enter",G);z.added.forEach((x,m)=>{var k,E,H,c;let h=a(x);h&&(gt(h,f,{duration:i,easing:(E=(k=f.options)==null?void 0:k.easing)!=null?E:N,delay:m*((H=R==null?void 0:R.stagger)!=null?H:b),fill:"forwards"},R),It(h,u,{duration:i,easing:N,delay:m*((c=R==null?void 0:R.stagger)!=null?c:b)})),Z==null||Z(x);});}if(z.removed.length>0){let f=W__default.default.Children.toArray(wt.current),x=new Map(j);z.removed.forEach(m=>{if(j.has(m))return;let h=f.find(E=>W__default.default.isValidElement(E)&&E.key===m),k=M.get(m);h&&k&&x.set(m,{key:m,element:h,...k});}),x.size!==j.size&&$t(x);}wt.current=B,xe();},[z,B,nt,p,g,T,b,P,St,zt,u]),W.useEffect(()=>{if(O.current)return;let e=I.current;if(!e||j.size===0)return;let i=yt(p,"exit",G),o=[];j.forEach((a,y)=>{Mt.current.has(y)||o.push([y,a]);}),o.length!==0&&o.forEach(([a],y)=>{var v,f;Mt.current.add(a);let w=setTimeout(()=>{$t(x=>{let m=new Map(x);return m.delete(a),m}),Mt.current.delete(a),ct.current.delete(a);},ot(g,300)+y*P);ct.current.set(a,w);let M=e.querySelector(`[data-trigr-key="${a}"]:not([data-trigr-ghost])`);M&&(M.getAnimations().forEach(x=>x.cancel()),gt(M,i,{duration:g,easing:(f=(v=i.options)==null?void 0:v.easing)!=null?f:S,delay:y*P,fill:"forwards"},R)),J==null||J(a);});},[j,p,g,P,G]),W.useEffect(()=>{var E,H;let e=Y.find(c=>c.trigger==="scroll"),i=(H=(E=e==null?void 0:e.animation)!=null?E:s)!=null?H:r;if(!L("scroll")||!bt(i))return;let o=I.current;if(!o||O.current)return;let a=ye(o),y=a!=null?a:window,w=new Map,M=0,v=false,f=null;function x(){return a?{top:a.getBoundingClientRect().top,height:a.clientHeight}:{top:0,height:window.innerHeight}}function m(){return Array.from(o.children).filter(c=>c instanceof HTMLElement&&c.hasAttribute("data-trigr-key"))}function h(){if(v=false,!o)return;f&&clearTimeout(f);let c=m(),q=c.length;if(q===0)return;let Jt=o.getBoundingClientRect(),Yt=x(),Ee=Yt.top+Yt.height/2,Se=(Jt.top+Jt.height/2-Ee)/Math.max(Yt.height,1),U=Math.max(-1.25,Math.min(1.25,Se)),Qt=Be(xt),Re=(q-1)/2;c.forEach((X,te)=>{w.has(X)||w.set(X,{transform:X.style.transform,zIndex:X.style.zIndex,willChange:X.style.willChange});let C=te-Re,it=Qt*(44+Math.abs(C)*18),rt=-U*it+C*10,ee=0,mt=1-Math.min(.04,Math.abs(C)*.012),re=0,ne="";if(i==="parallaxFast"&&(rt=-U*it*1.45+C*12),i==="parallaxReverse"&&(rt=U*it+C*10),i==="tiltScroll"&&(rt=-U*it*.62+C*8,re=-U*(7+Math.abs(C)*2),mt=1-Math.min(.035,Math.abs(C)*.01),ne=`perspective(720px) translate3d(0, ${rt.toFixed(2)}px, 0) rotateX(${re.toFixed(2)}deg) scale(${mt.toFixed(3)})`),i==="scaleScroll"){let ae=1-Math.min(1,Math.abs(U));rt=-U*it*.28+C*8,ee=C*ae*5,mt=Math.min(1.12,Math.max(.9,.9+ae*(.18+Qt*.08)-Math.abs(C)*.01));}X.style.willChange="transform",X.style.zIndex=String(te+1),X.style.transform=ne||`translate3d(${ee.toFixed(2)}px, ${rt.toFixed(2)}px, 0) scale(${mt.toFixed(3)})`;}),f=setTimeout(()=>{c.forEach(X=>{X.style.willChange="auto";});},300);}function k(){v||(M=requestAnimationFrame(h),v=true);}return y.addEventListener("scroll",k,{passive:true}),window.addEventListener("resize",k,{passive:true}),k(),()=>{y.removeEventListener("scroll",k),window.removeEventListener("resize",k),M&&cancelAnimationFrame(M),f&&clearTimeout(f),w.forEach((c,q)=>{q.style.transform=c.transform,q.style.zIndex=c.zIndex,q.style.willChange=c.willChange;});}},[r,L,s,xt,Y]),W.useEffect(()=>{var o,a,y;if(L("mount")){let w=Y.find(v=>v.trigger==="mount"),M=(o=w==null?void 0:w.animation)!=null?o:r;if(bt(M))return;at("mount");return}let e=Y.find(w=>w.trigger==="scroll"),i=(y=(a=e==null?void 0:e.animation)!=null?a:s)!=null?y:r;L("scroll")&&qt&&!bt(i)&&at("scroll");},[r,L,qt,at,s,Y]),W.useEffect(()=>{tt&&Kt(tt.source);},[Kt,tt]),W.useEffect(()=>()=>{ct.current.forEach(e=>clearTimeout(e)),ct.current.clear(),F.current!==null&&clearTimeout(F.current),ut.current=[];},[]);let _t=W.useMemo(()=>"trigr-list-marquee-x-"+Math.random().toString(36).slice(2,8),[]);if(pe(nt)){let e=W__default.default.Children.toArray(B),i=[...e,...e],o=nt==="marqueeReverse",a=nt==="marqueeFade",y=Math.max(xt,1),w=Math.max(800,e.length*180),M=Math.round(w/y*1e3);return W.createElement(Ct,{ref:I,className:Ot,style:{position:"relative",overflow:"hidden",width:"100%",...a?{maskImage:"linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%)"}:null,...Xt}},W.createElement("style",{key:"trigr-list-marquee-keyframes",dangerouslySetInnerHTML:{__html:`@keyframes ${_t}{from{transform:translateX(0)}to{transform:translateX(-50%)}}`}}),W.createElement("div",{style:{display:"inline-flex",width:"max-content",gap:"1rem",whiteSpace:"nowrap",animation:O.current?void 0:`${_t} ${M}ms linear infinite${o?" reverse":""}`,willChange:O.current?void 0:"transform"}},i.map((v,f)=>W.createElement("div",{key:`mq-${f}`,style:{display:"inline-flex",alignItems:"center"}},v))))}let Bt=[];j.forEach(e=>{Bt.push(W.createElement("div",{key:`ghost-${e.key}`,"data-trigr-key":e.key,"data-trigr-ghost":"true",style:{position:"absolute",top:e.top,left:e.left,width:e.width,height:e.height,overflow:"visible",pointerEvents:"none"}},e.element));});let Le={position:"relative",...Xt},Te=W__default.default.Children.map(B,e=>{var i;return W__default.default.isValidElement(e)?W.createElement("div",{key:e.key,"data-trigr-key":(i=e.key)!=null?i:"",style:{overflow:"visible"}},e):e});return W.createElement(Ct,{ref:I,className:Ot,style:Le,onMouseOver:L("hover")?we:void 0,onMouseLeave:L("hover")?Me:void 0,onClick:L("click")?ke:void 0},Te,...Bt)});var ar={List:Ge};exports.Animate=ar;exports.AnimateList=Ge;//# sourceMappingURL=index.cjs.map
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/list/animations.ts","../../src/list/useListDiff.ts","../../src/list/usePositionTracker.ts","../../src/list/index.tsx"],"names":["EASE_IN","EASE_OUT","EASE_IN_OUT","SPRING","SNAPPY","SMOOTH","SPRING_EASE","SMOOTH_EASE","SNAPPY_EASE","enterPresets","extended","merged","presets","useListDiff","keys","prevKeysRef","useRef","prev","prevSet","currSet","added","k","removed","stable","reordered","prevIndexMap","i","useEffect","usePositionTracker","containerRef","posRef","snapshot","useCallback","el","map","containerRect","child","key","rect","getPositions","warned","validDuration","value","fallback","n","resolveDef","name","type","custom","def","applyInitialState","keyframes","first","applyFinalState","last","hadOpacity","hadFilter","rebaseListKeyframes","options","distance","scale","blur","kf","t","f","_","val","runAnimation","opts","presetOptions","rebased","reducedMotion","opacity","prevOrigin","hasScaleY","_a","anim","cleanup","cancelElementAnimations","animation","_b","runPropertyAnimation","properties","from","to","property","pair","getScrollRoot","parent","style","scrollObserverOptions","threshold","root","rootHeight","clamped","inset","getKeys","children","React","isMarqueeAnimation","isParallaxAnimation","normalizeParallaxSpeed","speed","closestItem","getItemKey","AnimateList","forwardRef","triggersProp","scrollAnimation","exitAnimation","reorderAnimation","reorder","duration","reorderDuration","stagger","exitStagger","trigger","easing","reorderEasing","as","className","onItemEnter","onItemExit","onReorder","customAnimation","ref","_c","_d","_e","_f","rootRef","currentKeys","diff","prevChildrenRef","ghosts","setGhosts","useState","ghostAnimatedRef","ghostTimersRef","runTimerRef","runningRef","queueRef","runIdRef","reducedRef","triggerConfigs","useMemo","tc","s","triggerSources","hasTrigger","source","currentRun","setCurrentRun","inView","setInView","activeTrigger","activeConfig","activeAnimation","scrollConfig","scrollThreshold","node","observer","entries","entry","finishRun","next","requestRun","reorderMode","animateCollection","sourceConfig","selectedAnimation","nodes","resolvedDuration","effectiveStagger","index","hoveredKeyRef","runSingleItem","dur","handleMouseOver","target","handleMouseLeave","handleItemClick","useImperativeHandle","reorderEasings","rDur","getEl","rootRect","readPositions","oldPositions","newPositions","rEasing","old","now","deltaX","deltaY","prevArr","newGhosts","element","c","pos","unanimated","g","idx","timer","a","scrollName","scrollRoot","scrollTarget","previous","raf","ticking","idleTimer","viewport","update","count","view","viewCenter","rawCenterOffset","centerOffset","baseSpeed","centerIndex","depth","layerSpeed","y","x","rotateX","transform","focus","onScroll","styles","mountConfig","mountAnim","marqueeKeyframeName","childrenArr","marqueeChildren","reverse","fadeMask","pxPerSec","travelPx","marqueeDurationMs","createElement","ghostEntries","wrapperStyle","items","Animate"],"mappings":"oJAEO,IAAMA,EAAAA,CAAU,iCACVC,CAAAA,CAAW,8BAAA,CACXC,EAAAA,CAAc,gCAAA,CACdC,GAAS,mCAAA,CACTC,EAAAA,CAAS,4BAAA,CACTC,EAAAA,CAAS,iCAEhBC,CAAAA,CAAcH,EAAAA,CACdI,EAAcF,EAAAA,CACdG,EAAAA,CAAcJ,GAEPK,EAAAA,CAAoD,CAC/D,aAAA,CAAe,CACb,UAAW,CAAC,CAAE,OAAA,CAAS,CAAA,CAAG,UAAW,kBAAA,CAAoB,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,OAAA,CAAS,CAAA,CAAG,SAAA,CAAW,eAAA,CAAiB,OAAQ,WAAY,CAAC,CAAA,CAC/I,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQH,CAAY,CAChD,CAAA,CACA,cAAA,CAAgB,CACd,SAAA,CAAW,CAAC,CAAE,SAAA,CAAW,mBAAoB,OAAA,CAAS,CAAA,CAAG,OAAQ,aAAc,CAAA,CAAG,CAAE,SAAA,CAAW,gBAAiB,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAC,CAAA,CACjJ,OAAA,CAAS,CAAE,QAAA,CAAU,IAAK,MAAA,CAAQA,CAAY,CAChD,CAAA,CACA,iBAAkB,CAChB,SAAA,CAAW,CAAC,CAAE,UAAW,kBAAA,CAAoB,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,aAAc,CAAA,CAAG,CAAE,SAAA,CAAW,eAAA,CAAiB,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAC,CAAA,CACjJ,QAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQA,CAAY,CAChD,CAAA,CACA,aAAA,CAAe,CACb,UAAW,CAAC,CAAE,SAAA,CAAW,aAAA,CAAe,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,UAAW,UAAA,CAAY,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAC,CAAA,CACrI,OAAA,CAAS,CAAE,SAAU,GAAA,CAAK,MAAA,CAAQA,CAAY,CAChD,EACA,YAAA,CAAc,CACZ,UAAW,CACT,CAAE,UAAW,aAAA,CAAe,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAC5D,CAAE,SAAA,CAAW,aAAA,CAAe,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAA,CAAa,MAAA,CAAQ,GAAK,CAAA,CAC1E,CAAE,SAAA,CAAW,aAAA,CAAe,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAA,CAAa,MAAA,CAAQ,GAAK,CAAA,CAC1E,CAAE,SAAA,CAAW,UAAA,CAAY,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAC3D,EACA,OAAA,CAAS,CAAE,SAAU,GAAA,CAAK,MAAA,CAAQA,CAAY,CAChD,CAAA,CACA,OAAA,CAAS,CACP,UAAW,CAAC,CAAE,SAAA,CAAW,8BAAA,CAAgC,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,SAAA,CAAW,wBAAA,CAA0B,OAAA,CAAS,CAAA,CAAG,OAAQ,WAAY,CAAC,CAAA,CACpK,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQC,CAAY,CAChD,CAAA,CACA,WAAA,CAAa,CACX,SAAA,CAAW,CAAC,CAAE,SAAA,CAAW,mBAAoB,OAAA,CAAS,CAAA,CAAG,OAAQ,WAAY,CAAA,CAAG,CAAE,SAAA,CAAW,gBAAiB,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAC,CAAA,CAC/I,OAAA,CAAS,CAAE,QAAA,CAAU,IAAK,MAAA,CAAQA,CAAY,CAChD,CAAA,CACA,SAAU,CACR,SAAA,CAAW,CACT,CAAE,UAAW,eAAA,CAAiB,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAC9D,CAAE,SAAA,CAAW,mBAAA,CAAqB,QAAS,CAAA,CAAG,MAAA,CAAQ,YAAa,MAAA,CAAQ,EAAI,EAC/E,CAAE,SAAA,CAAW,eAAA,CAAiB,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,CAChE,CAAA,CACA,QAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQA,CAAY,CAChD,CAAA,CACA,SAAU,CACR,SAAA,CAAW,CAAC,CAAE,SAAA,CAAW,mBAAA,CAAqB,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,UAAW,eAAA,CAAiB,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAC,CAAA,CAChJ,QAAS,CAAE,QAAA,CAAU,IAAK,MAAA,CAAQA,CAAY,CAChD,CAAA,CACA,WAAY,CACV,SAAA,CAAW,CAAC,CAAE,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAC,CAAA,CACpF,OAAA,CAAS,CAAE,QAAA,CAAU,IAAK,MAAA,CAAQA,CAAY,CAChD,CAAA,CAEA,QAAS,CAAE,SAAA,CAAW,EAAG,EACzB,cAAA,CAAgB,CAAE,UAAW,EAAG,EAChC,WAAA,CAAa,CAAE,SAAA,CAAW,EAAG,CAAA,CAG7B,QAAA,CAAU,CAAE,SAAA,CAAW,EAAG,CAAA,CAC1B,YAAA,CAAc,CAAE,UAAW,EAAG,CAAA,CAC9B,eAAA,CAAiB,CAAE,SAAA,CAAW,EAAG,CAAA,CACjC,WAAY,CAAE,SAAA,CAAW,EAAG,EAC5B,WAAA,CAAa,CAAE,SAAA,CAAW,EAAG,CAAA,CAC7B,eAAA,CAAiB,CAAE,SAAA,CAAW,EAAG,CAAA,CAGjC,UAAA,CAAY,CAAE,SAAA,CAAW,CAAC,CAAE,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,OAAA,CAAS,CAAA,CAAG,OAAQ,WAAY,CAAC,CAAA,CAAG,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQD,CAAY,CAAE,CAAA,CACrJ,WAAA,CAAa,CACX,SAAA,CAAW,CAAC,CAAE,SAAA,CAAW,kBAAA,CAAoB,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,EAAG,CAAE,SAAA,CAAW,gBAAiB,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAC,CAAA,CAC/I,OAAA,CAAS,CAAE,QAAA,CAAU,IAAK,MAAA,CAAQA,CAAY,CAChD,CAAA,CACA,UAAW,CACT,SAAA,CAAW,CAAC,CAAE,SAAA,CAAW,cAAe,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,EAAG,CAAE,SAAA,CAAW,aAAA,CAAe,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAA,CAAa,MAAA,CAAQ,EAAI,EAAG,CAAE,SAAA,CAAW,WAAY,OAAA,CAAS,CAAA,CAAG,OAAQ,WAAY,CAAC,CAAA,CACjN,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQE,EAAY,CAChD,CAAA,CACA,YAAA,CAAc,CACZ,SAAA,CAAW,CACT,CAAE,SAAA,CAAW,aAAA,CAAe,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,CAAA,CAC5D,CAAE,UAAW,aAAA,CAAe,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,YAAa,MAAA,CAAQ,GAAK,CAAA,CAC1E,CAAE,UAAW,aAAA,CAAe,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAA,CAAa,OAAQ,GAAK,CAAA,CAC1E,CAAE,SAAA,CAAW,WAAY,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAC3D,CAAA,CACA,OAAA,CAAS,CAAE,QAAA,CAAU,IAAK,MAAA,CAAQF,CAAY,CAChD,CAAA,CACA,WAAA,CAAa,CAAE,SAAA,CAAW,CAAC,CAAE,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAC,EAAG,OAAA,CAAS,CAAE,SAAU,GAAA,CAAK,MAAA,CAAQL,CAAS,CAAE,CAAA,CACnJ,YAAA,CAAc,CACZ,UAAW,CAAC,CAAE,SAAA,CAAW,eAAA,CAAiB,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,SAAA,CAAW,mBAAA,CAAqB,OAAA,CAAS,CAAA,CAAG,OAAQ,WAAY,CAAC,CAAA,CAChJ,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQA,CAAS,CAC7C,CAAA,CACA,eAAA,CAAiB,CACf,SAAA,CAAW,CAAC,CAAE,SAAA,CAAW,YAAa,OAAA,CAAS,CAAA,CAAG,OAAQ,WAAY,CAAA,CAAG,CAAE,SAAA,CAAW,YAAa,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAC,CAAA,CACpI,OAAA,CAAS,CAAE,QAAA,CAAU,IAAK,MAAA,CAAQA,CAAS,CAC7C,CAAA,CAGA,IAAA,CAAM,CAAE,SAAA,CAAW,EAAG,CAAA,CACtB,OAAQ,CAAE,SAAA,CAAW,EAAG,EACxB,MAAA,CAAQ,CAAE,SAAA,CAAW,EAAG,CAAA,CACxB,IAAA,CAAM,CAAE,SAAA,CAAW,EAAG,CACxB,CAAA,CAGMS,EAAAA,CAAgD,CACpD,OAAa,CAAE,SAAA,CAAW,CAAC,CAAE,QAAS,CAAA,CAAG,SAAA,CAAW,iBAAA,CAAmB,MAAA,CAAQ,aAAc,CAAA,CAAG,CAAE,OAAA,CAAS,CAAA,CAAG,UAAW,eAAA,CAAiB,MAAA,CAAQ,WAAY,CAAC,EAAG,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,OAAQH,CAAY,CAAE,CAAA,CAClN,OAAA,CAAa,CAAE,SAAA,CAAW,CAAC,CAAE,SAAA,CAAW,kBAAA,CAAoB,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,SAAA,CAAW,eAAA,CAAiB,OAAA,CAAS,CAAA,CAAG,OAAQ,WAAY,CAAC,CAAA,CAAG,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQA,CAAY,CAAE,CAAA,CACjN,WAAA,CAAa,CAAE,SAAA,CAAW,CAAC,CAAE,SAAA,CAAW,mBAAA,CAAqB,OAAA,CAAS,EAAG,MAAA,CAAQ,aAAc,CAAA,CAAG,CAAE,UAAW,eAAA,CAAiB,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,CAAC,CAAA,CAAG,OAAA,CAAS,CAAE,QAAA,CAAU,IAAK,MAAA,CAAQD,CAAY,CAAE,CAAA,CACpN,aAAa,CAAE,SAAA,CAAW,CAAC,CAAE,UAAW,kBAAA,CAAoB,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,aAAc,CAAA,CAAG,CAAE,SAAA,CAAW,eAAA,CAAiB,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAC,EAAG,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,OAAQA,CAAY,CAAE,EACnN,KAAA,CAAO,CAAE,UAAW,CAAC,CAAE,SAAA,CAAW,aAAA,CAAe,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,SAAA,CAAW,aAAA,CAAe,OAAA,CAAS,CAAA,CAAG,OAAQ,WAAA,CAAa,MAAA,CAAQ,GAAK,CAAA,CAAG,CAAE,UAAW,aAAA,CAAe,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,YAAa,MAAA,CAAQ,GAAK,CAAA,CAAG,CAAE,UAAW,UAAA,CAAY,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAC,CAAA,CAAG,QAAS,CAAE,QAAA,CAAU,IAAK,MAAA,CAAQA,CAAY,CAAE,CAAA,CAC3V,SAAU,CAAE,SAAA,CAAW,CAAC,CAAE,UAAW,8BAAA,CAAgC,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,SAAA,CAAW,8BAAA,CAAgC,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAA,CAAa,MAAA,CAAQ,GAAK,CAAA,CAAG,CAAE,SAAA,CAAW,6BAAA,CAA+B,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAA,CAAa,MAAA,CAAQ,GAAK,CAAA,CAAG,CAAE,UAAW,wBAAA,CAA0B,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,CAAC,CAAA,CAAG,QAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQA,CAAY,CAAE,CAAA,CAC9Z,QAAA,CAAY,CAAE,UAAW,CAAC,CAAE,UAAW,cAAA,CAAgB,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,UAAW,WAAA,CAAa,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAC,CAAA,CAAG,OAAA,CAAS,CAAE,SAAU,GAAA,CAAK,MAAA,CAAQA,CAAY,CAAE,CAAA,CACxM,OAAQ,CAAE,SAAA,CAAW,CAAC,CAAE,UAAW,oCAAA,CAAsC,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,SAAA,CAAW,kCAAA,CAAoC,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAA,CAAa,MAAA,CAAQ,GAAK,CAAA,CAAG,CAAE,SAAA,CAAW,kCAAA,CAAoC,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAC,EAAG,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,OAAQC,CAAY,CAAE,EACnV,OAAA,CAAY,CAAE,UAAW,CAAC,CAAE,SAAA,CAAW,mBAAA,CAAqB,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,SAAA,CAAW,eAAA,CAAiB,OAAA,CAAS,CAAA,CAAG,OAAQ,WAAY,CAAC,EAAG,OAAA,CAAS,CAAE,SAAU,GAAA,CAAK,MAAA,CAAQA,CAAY,CAAE,EACjN,OAAA,CAAc,CAAE,SAAA,CAAW,CAAC,CAAE,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,EAAG,CAAE,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,CAAC,CAAA,CAAG,OAAA,CAAS,CAAE,QAAA,CAAU,IAAK,MAAA,CAAQN,CAAS,CAAE,CAAA,CACpJ,SAAc,CAAE,SAAA,CAAW,CAAC,CAAE,UAAW,eAAA,CAAiB,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,SAAA,CAAW,kBAAA,CAAoB,QAAS,CAAA,CAAG,MAAA,CAAQ,aAAc,CAAC,EAAG,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,OAAQA,CAAS,CAAE,EACjN,YAAA,CAAc,CAAE,UAAW,CAAC,CAAE,SAAA,CAAW,eAAA,CAAiB,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,SAAA,CAAW,mBAAA,CAAqB,OAAA,CAAS,CAAA,CAAG,OAAQ,aAAc,CAAC,CAAA,CAAG,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQA,CAAS,CAAE,CAAA,CAClN,aAAA,CAAc,CAAE,SAAA,CAAW,CAAC,CAAE,SAAA,CAAW,eAAA,CAAiB,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,EAAG,CAAE,SAAA,CAAW,mBAAoB,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,aAAc,CAAC,CAAA,CAAG,OAAA,CAAS,CAAE,QAAA,CAAU,IAAK,MAAA,CAAQA,CAAS,CAAE,CAAA,CACjN,OAAQ,CAAE,SAAA,CAAW,CAAC,CAAE,UAAW,UAAA,CAAY,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,SAAA,CAAW,aAAA,CAAe,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAA,CAAa,MAAA,CAAQ,GAAK,CAAA,CAAG,CAAE,UAAW,aAAA,CAAe,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,CAAC,CAAA,CAAG,QAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQA,CAAS,CAAE,CAAA,CAC5Q,SAAA,CAAW,CAAE,UAAW,CAAC,CAAE,UAAW,UAAA,CAAY,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,UAAW,8BAAA,CAAgC,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,YAAa,MAAA,CAAQ,EAAI,CAAA,CAAG,CAAE,UAAW,2BAAA,CAA6B,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,CAAC,CAAA,CAAG,OAAA,CAAS,CAAE,QAAA,CAAU,IAAK,MAAA,CAAQA,CAAS,CAAE,CAAA,CAC7S,YAAa,CAAE,SAAA,CAAW,CAAC,CAAE,UAAW,WAAA,CAAa,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,SAAA,CAAW,WAAA,CAAa,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAC,EAAG,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,OAAQA,CAAS,CAAE,EACnM,OAAA,CAAS,CAAE,UAAW,CAAC,CAAE,SAAA,CAAW,kCAAA,CAAoC,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAAG,CAAE,SAAA,CAAW,mCAAA,CAAqC,OAAA,CAAS,CAAA,CAAG,OAAQ,WAAY,CAAC,EAAG,OAAA,CAAS,CAAE,SAAU,GAAA,CAAK,MAAA,CAAQA,CAAS,CAAE,EAC9O,QAAA,CAAU,CAAE,SAAA,CAAW,CAAC,CAAE,SAAA,CAAW,eAAA,CAAiB,OAAA,CAAS,CAAA,CAAG,OAAQ,WAAY,CAAA,CAAG,CAAE,SAAA,CAAW,mBAAA,CAAqB,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAC,EAAG,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,OAAQA,CAAS,CAAE,CAAA,CAE5M,aAAA,CAAe,CACb,SAAA,CAAW,CACT,CAAE,MAAA,CAAQ,YAAa,OAAA,CAAS,CAAE,CAAA,CAClC,CAAE,OAAQ,WAAA,CAAa,OAAA,CAAS,CAAE,CACpC,EACA,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,OAAQ,gCAAA,CAAkC,IAAA,CAAM,UAAW,CACvF,CAAA,CACA,WAAY,CACV,SAAA,CAAW,CACT,CAAE,UAAW,kBAAA,CAAoB,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,aAAc,CAAA,CACnE,CAAE,SAAA,CAAW,eAAA,CAAiB,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAChE,CAAA,CACA,QAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,oCAAqC,IAAA,CAAM,UAAW,CAC1F,CAAA,CACA,SAAU,CACR,SAAA,CAAW,CACT,CAAE,UAAW,aAAA,CAAe,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,EAC5D,CAAE,SAAA,CAAW,aAAA,CAAe,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAA,CAAa,MAAA,CAAQ,GAAK,EAC1E,CAAE,SAAA,CAAW,UAAA,CAAY,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,CAC3D,CAAA,CACA,QAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,oCAAqC,IAAA,CAAM,UAAW,CAC1F,CAAA,CACA,YAAa,CACX,SAAA,CAAW,CACT,CAAE,UAAW,kBAAA,CAAoB,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,EACjE,CAAE,SAAA,CAAW,eAAA,CAAiB,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,CAChE,CAAA,CACA,QAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,iCAAkC,IAAA,CAAM,UAAW,CACvF,CAAA,CACA,eAAgB,CACd,SAAA,CAAW,CACT,CAAE,UAAW,iCAAA,CAAmC,SAAA,CAAW,UAAW,CAAA,CACtE,CAAE,SAAA,CAAW,iCAAA,CAAmC,SAAA,CAAW,aAAA,CAAe,OAAQ,EAAI,CAAA,CACtF,CAAE,SAAA,CAAW,+BAAA,CAAiC,UAAW,UAAW,CACtE,CAAA,CACA,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,gCAAA,CAAkC,KAAM,UAAW,CACvF,CAAA,CACA,UAAA,CAAY,CACV,SAAA,CAAW,CACT,CAAE,SAAA,CAAW,gCAAiC,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,EAC9E,CAAE,SAAA,CAAW,2BAAA,CAA6B,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAA,CAAa,MAAA,CAAQ,GAAK,EACxF,CAAE,SAAA,CAAW,yBAA0B,OAAA,CAAS,CAAA,CAAG,OAAQ,WAAY,CACzE,CAAA,CACA,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,mCAAA,CAAqC,KAAM,UAAW,CAC1F,CAAA,CACA,gBAAA,CAAkB,CAChB,SAAA,CAAW,CACT,CAAE,SAAA,CAAW,kBAAA,CAAoB,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CACjE,CAAE,SAAA,CAAW,eAAA,CAAiB,OAAA,CAAS,CAAA,CAAG,OAAQ,WAAY,CAChE,CAAA,CACA,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,OAAQ,gCAAA,CAAkC,IAAA,CAAM,UAAW,CACvF,CAAA,CACA,gBAAA,CAAkB,CAChB,UAAW,CACT,CAAE,SAAA,CAAW,eAAA,CAAiB,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAC9D,CAAE,SAAA,CAAW,mBAAA,CAAqB,OAAA,CAAS,CAAA,CAAG,OAAQ,aAAc,CACtE,CAAA,CACA,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,8BAAA,CAAgC,KAAM,UAAW,CACrF,CAAA,CACA,iBAAA,CAAmB,CACjB,SAAA,CAAW,CACT,CAAE,SAAA,CAAW,eAAA,CAAiB,QAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CAC9D,CAAE,SAAA,CAAW,kBAAA,CAAoB,OAAA,CAAS,CAAA,CAAG,OAAQ,aAAc,CACrE,CAAA,CACA,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,8BAAA,CAAgC,KAAM,UAAW,CACrF,CAAA,CACA,YAAA,CAAc,CACZ,SAAA,CAAW,CACT,CAAE,SAAA,CAAW,WAAY,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,EACzD,CAAE,SAAA,CAAW,cAAe,OAAA,CAAS,CAAA,CAAG,OAAQ,WAAY,CAC9D,CAAA,CACA,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,8BAAA,CAAgC,KAAM,UAAW,CACrF,CAAA,CACA,UAAA,CAAY,CACV,SAAA,CAAW,CACT,CAAE,SAAA,CAAW,WAAY,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,EACzD,CAAE,SAAA,CAAW,aAAA,CAAe,OAAA,CAAS,IAAM,MAAA,CAAQ,WAAA,CAAa,MAAA,CAAQ,GAAK,EAC7E,CAAE,SAAA,CAAW,cAAe,OAAA,CAAS,CAAA,CAAG,OAAQ,aAAc,CAChE,CAAA,CACA,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,8BAAA,CAAgC,KAAM,UAAW,CACrF,CAAA,CACA,WAAA,CAAa,CACX,SAAA,CAAW,CACT,CAAE,MAAA,CAAQ,SAAA,CAAW,QAAS,CAAE,CAAA,CAChC,CAAE,MAAA,CAAQ,YAAa,OAAA,CAAS,CAAE,CACpC,CAAA,CACA,QAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,+BAAgC,IAAA,CAAM,UAAW,CACrF,CAAA,CACA,cAAA,CAAgB,CACd,SAAA,CAAW,CACT,CAAE,SAAA,CAAW,gBAAiB,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,EAC9D,CAAE,SAAA,CAAW,kBAAA,CAAoB,OAAA,CAAS,EAAG,MAAA,CAAQ,aAAc,CACrE,CAAA,CACA,QAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,+BAAgC,IAAA,CAAM,UAAW,CACrF,CAAA,CACA,UAAW,CACT,SAAA,CAAW,CACT,CAAE,UAAW,UAAA,CAAY,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,EACzD,CAAE,SAAA,CAAW,aAAA,CAAe,OAAA,CAAS,EAAG,MAAA,CAAQ,WAAY,CAC9D,CAAA,CACA,QAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,+BAAgC,IAAA,CAAM,UAAW,CACrF,CAAA,CACA,WAAY,CACV,SAAA,CAAW,CACT,CAAE,UAAW,wBAAA,CAA0B,OAAA,CAAS,CAAA,CAAG,MAAA,CAAQ,WAAY,CAAA,CACvE,CAAE,SAAA,CAAW,+BAAA,CAAiC,QAAS,CAAA,CAAG,MAAA,CAAQ,aAAc,CAClF,CAAA,CACA,QAAS,CAAE,QAAA,CAAU,GAAA,CAAK,MAAA,CAAQ,+BAAgC,IAAA,CAAM,UAAW,CACrF,CAAA,CACA,eAAgB,CACd,SAAA,CAAW,CACT,CAAE,UAAW,OAAA,CAAS,OAAA,CAAS,CAAA,CAAG,YAAA,CAAc,MAAO,QAAA,CAAU,QAAS,CAAA,CAC1E,CAAE,UAAW,KAAA,CAAO,OAAA,CAAS,CAAA,CAAG,YAAA,CAAc,MAAO,QAAA,CAAU,QAAA,CAAU,OAAA,CAAS,QAAS,CAC7F,CAAA,CACA,OAAA,CAAS,CAAE,QAAA,CAAU,GAAA,CAAK,OAAQ,gCAAA,CAAkC,IAAA,CAAM,UAAW,CACvF,CACF,CAAA,CAGMU,EAAAA,CAAS,CAAE,GAAGF,GAAc,GAAGC,EAAS,CAAA,CACjCE,EAAAA,CAAUD,GC1PhB,SAASE,EAAAA,CAAYC,CAAAA,CAAqC,CAC/D,IAAMC,CAAAA,CAAcC,QAAAA,CAA4B,EAAE,EAC5CC,CAAAA,CAAOF,CAAAA,CAAY,OAAA,CAEnBG,CAAAA,CAAU,IAAI,GAAA,CAAID,CAAI,EACtBE,CAAAA,CAAU,IAAI,IAAIL,CAAI,CAAA,CAEtBM,CAAAA,CAAQN,CAAAA,CAAK,OAAQO,CAAAA,EAAM,CAACH,CAAAA,CAAQ,GAAA,CAAIG,CAAC,CAAC,CAAA,CAC1CC,CAAAA,CAAUL,CAAAA,CAAK,OAAQI,CAAAA,EAAM,CAACF,CAAAA,CAAQ,GAAA,CAAIE,CAAC,CAAC,CAAA,CAC5CE,CAAAA,CAA8B,GAC9BC,CAAAA,CAAiC,EAAC,CAElCC,CAAAA,CAAe,IAAI,GAAA,CAAIR,CAAAA,CAAK,GAAA,CAAI,CAACI,EAAGK,CAAAA,GAAM,CAACL,EAAGK,CAAC,CAAC,CAAC,CAAA,CACvD,OAAAZ,CAAAA,CAAK,OAAA,CAAQ,CAACO,CAAAA,CAAGK,CAAAA,GAAM,CACjBR,CAAAA,CAAQ,IAAIG,CAAC,CAAA,EAAKF,CAAAA,CAAQ,GAAA,CAAIE,CAAC,CAAA,GAC7BI,CAAAA,CAAa,IAAIJ,CAAC,CAAA,GAAMK,EAAGF,CAAAA,CAAU,IAAA,CAAKH,CAAC,CAAA,CAC1CE,EAAO,IAAA,CAAKF,CAAC,CAAA,EAEtB,CAAC,EAEDM,WAAAA,CAAU,IAAM,CACdZ,CAAAA,CAAY,QAAUD,EACxB,CAAC,EAEM,CAAE,KAAA,CAAAM,EAAO,OAAA,CAAAE,CAAAA,CAAS,SAAA,CAAAE,CAAAA,CAAW,OAAAD,CAAO,CAC7C,CCzBO,SAASK,EAAAA,CAAmBC,CAAAA,CAAmD,CACpF,IAAMC,EAASd,QAAAA,CAAoB,IAAI,GAAK,CAAA,CAEtCe,EAAWC,aAAAA,CAAY,IAAM,CACjC,IAAMC,EAAKJ,CAAAA,CAAa,OAAA,CACxB,GAAI,CAACI,EAAI,OACT,IAAMC,EAAmB,IAAI,GAAA,CACvBC,EAAgBF,CAAAA,CAAG,qBAAA,EAAsB,CAC/C,IAAA,IAAWG,KAASH,CAAAA,CAAG,QAAA,CAAU,CAC/B,IAAMI,EAAOD,CAAAA,CAAsB,YAAA,CAAa,gBAAgB,CAAA,CAChE,GAAI,CAACC,CAAAA,CAAK,SACV,IAAMC,CAAAA,CAAQF,EAAsB,qBAAA,EAAsB,CAC1DF,CAAAA,CAAI,GAAA,CAAIG,EAAK,CACX,GAAA,CAAKC,CAAAA,CAAK,GAAA,CAAMH,EAAc,GAAA,CAAMF,CAAAA,CAAG,SAAA,CACvC,IAAA,CAAMK,EAAK,IAAA,CAAOH,CAAAA,CAAc,KAAOF,CAAAA,CAAG,UAAA,CAC1C,MAAOK,CAAAA,CAAK,KAAA,CACZ,MAAA,CAAQA,CAAAA,CAAK,MACf,CAAC,EACH,CACAR,CAAAA,CAAO,QAAUI,EACnB,CAAA,CAAG,CAACL,CAAY,CAAC,CAAA,CAEXU,CAAAA,CAAeP,aAAAA,CAAY,IACxB,IAAI,GAAA,CAAIF,CAAAA,CAAO,OAAO,CAAA,CAC5B,EAAE,CAAA,CAEL,OAAO,CAAE,SAAAC,CAAAA,CAAU,YAAA,CAAAQ,CAAa,CAClC,CCxBA,IAAMC,EAAAA,CAAS,IAAI,GAAA,CAEnB,SAASC,GAAcC,CAAAA,CAAgBC,CAAAA,CAAW,GAAA,CAAa,CAC7D,IAAMC,CAAAA,CAAI,MAAA,CAAOF,CAAK,CAAA,CACtB,OAAO,MAAA,CAAO,QAAA,CAASE,CAAC,CAAA,EAAKA,EAAI,CAAA,CAAIA,CAAAA,CAAID,CAC3C,CAEA,SAASE,EAAAA,CAAWC,CAAAA,CAA2BC,CAAAA,CAAwBC,CAAAA,CAAmE,CACxI,GAAID,CAAAA,GAAS,OAAA,GAAWC,CAAAA,EAAA,MAAAA,CAAAA,CAAQ,KAAA,CAAA,CAAO,OAAOA,CAAAA,CAAO,MACrD,GAAID,CAAAA,GAAS,SAAUC,CAAAA,EAAA,IAAA,EAAAA,EAAQ,IAAA,CAAA,CAAM,OAAOA,CAAAA,CAAO,IAAA,CACnD,IAAMC,CAAAA,CAAMrC,EAAAA,CAAQkC,CAAI,CAAA,CACxB,OAAKG,CAAAA,GACET,EAAAA,CAAO,GAAA,CAAIM,CAAI,IAClBN,EAAAA,CAAO,GAAA,CAAIM,CAAI,CAAA,CAEf,QAAQ,IAAA,CAAK,CAAA,gCAAA,EAAmCA,CAAI,CAAA,oBAAA,EADnCC,IAAS,OAAA,CAAU,eAAA,CAAkB,aAC6B,CAAA,CAAA,CAAG,GAEjFA,CAAAA,GAAS,OAAA,CAAUnC,EAAAA,CAAQ,aAAA,CAAgBA,GAAQ,WAAA,CAG9D,CAEA,SAASsC,EAAAA,CAAkBjB,CAAAA,CAAiBkB,EAAuB,CACjE,IAAMC,CAAAA,CAAQD,CAAAA,CAAU,CAAC,CAAA,CACpBC,CAAAA,GACAA,CAAAA,CAAc,OAAA,GAAY,SAAWnB,CAAAA,CAAG,KAAA,CAAM,OAAA,CAAU,MAAA,CAAQmB,EAAc,OAAO,CAAA,CAAA,CACrFA,EAAc,SAAA,GAAc,MAAA,GAAWnB,EAAG,KAAA,CAAM,SAAA,CAAY,MAAA,CAAQmB,CAAAA,CAAc,SAAS,CAAA,CAAA,CAC3FA,CAAAA,CAAc,MAAA,GAAW,MAAA,GAAWnB,EAAG,KAAA,CAAM,MAAA,CAAS,MAAA,CAAQmB,CAAAA,CAAc,MAAM,CAAA,CAAA,EACzF,CAEA,SAASC,EAAAA,CAAgBpB,CAAAA,CAAiBkB,EAAuB,CAC/D,IAAMC,CAAAA,CAAQD,CAAAA,CAAU,CAAC,CAAA,CACnBG,CAAAA,CAAOH,CAAAA,CAAUA,CAAAA,CAAU,OAAS,CAAC,CAAA,CAC3C,GAAI,CAACG,EAAM,OACX,IAAMC,CAAAA,CAAcH,CAAAA,CAAc,UAAY,MAAA,CACxCI,CAAAA,CAAaJ,CAAAA,CAAc,MAAA,GAAW,OACvCE,CAAAA,CAAa,OAAA,GAAY,MAAA,CAC5BrB,CAAAA,CAAG,MAAM,OAAA,CAAU,MAAA,CAAQqB,CAAAA,CAAa,OAAO,EACtCC,CAAAA,GACTtB,CAAAA,CAAG,MAAM,OAAA,CAAU,GAAA,CAAA,CAEhBqB,EAAa,SAAA,GAAc,MAAA,GAAWrB,CAAAA,CAAG,KAAA,CAAM,UAAY,MAAA,CAAQqB,CAAAA,CAAa,SAAS,CAAA,CAAA,CACzFA,EAAa,MAAA,GAAW,MAAA,CAC3BrB,CAAAA,CAAG,KAAA,CAAM,OAAS,MAAA,CAAQqB,CAAAA,CAAa,MAAM,CAAA,CACpCE,CAAAA,GACTvB,EAAG,KAAA,CAAM,MAAA,CAAS,WAAA,EAEtB,CAEA,SAASwB,EAAAA,CAAoBN,CAAAA,CAAuBO,CAAAA,CAAyC,CAC3F,GAAI,CAACA,CAAAA,CAAS,OAAOP,CAAAA,CACrB,GAAM,CAAE,QAAA,CAAAQ,EAAU,KAAA,CAAAC,CAAAA,CAAO,KAAAC,CAAK,CAAA,CAAIH,CAAAA,CAClC,OAAOP,EAAU,GAAA,CAAIW,CAAAA,EAAM,CACzB,IAAIC,EAAKD,CAAAA,CAAW,SAAA,CAChBE,CAAAA,CAAKF,CAAAA,CAAW,OACpB,OAAIH,CAAAA,GAAa,MAAA,EAAaI,CAAAA,GAC5BA,EAAIA,CAAAA,CAAE,OAAA,CAAQ,uCAAA,CAAyC,CAACE,EAAGC,CAAAA,GACzD,CAAA,WAAA,EAAc,IAAA,CAAK,KAAA,CAAM,OAAOA,CAAG,CAAA,EAAKP,CAAAA,CAAW,EAAA,CAAG,CAAC,CAAA,GAAA,CAAK,CAAA,CAC9DI,EAAIA,CAAAA,CAAE,OAAA,CAAQ,wCAAyC,CAACE,CAAAA,CAAGC,CAAAA,GACzD,CAAA,WAAA,EAAc,KAAK,KAAA,CAAM,MAAA,CAAOA,CAAG,CAAA,EAAKP,EAAW,EAAA,CAAG,CAAC,CAAA,GAAA,CAAK,CAAA,CAAA,CAE5DC,IAAU,MAAA,EAAaG,CAAAA,GACzBA,EAAIA,CAAAA,CAAE,OAAA,CAAQ,wCAAyC,CAAA,MAAA,EAASH,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAEtEC,IAAS,MAAA,EAAaG,CAAAA,GACxBA,CAAAA,CAAIA,CAAAA,CAAE,QAAQ,kBAAA,CAAoB,CAAA,KAAA,EAAQH,CAAI,CAAA,GAAA,CAAK,GAE9C,CAAE,GAAGC,EAAI,SAAA,CAAWC,CAAAA,CAAG,OAAQC,CAAE,CAC1C,CAAC,CACH,CAEA,SAASG,EAAAA,CAAalC,CAAAA,CAAiBgB,CAAAA,CAA0BmB,EAA2CC,CAAAA,CAA8C,CACxJpC,CAAAA,CAAG,KAAA,CAAM,WAAa,4BAAA,CACtB,IAAMqC,CAAAA,CAAUb,EAAAA,CAAoBR,EAAI,SAAA,CAAWoB,CAAa,CAAA,CAC1DlB,CAAAA,CAAYoB,IAAc,CAC5BD,CAAAA,CAAQ,GAAA,CAAI,CAAC,CAAE,OAAA,CAAAE,CAAQ,CAAA,IAAO,CAAE,QAASA,CAAAA,EAAA,IAAA,CAAAA,EAAW,CAAE,CAAA,CAAE,EACxDF,CAAAA,CACEG,CAAAA,CAAaxC,CAAAA,CAAG,KAAA,CAAM,gBACtByC,CAAAA,CAAYJ,CAAAA,CAAQ,IAAA,CAAMjD,CAAAA,EAAQ,CApF1C,IAAAsD,CAAAA,CAoF6C,OAAA,CAAAA,CAAAA,CAAAtD,EAAE,SAAA,GAAF,IAAA,CAAA,MAAA,CAAAsD,CAAAA,CAAa,QAAA,CAAS,UAAS,CAAA,CACtED,CAAAA,GAAWzC,CAAAA,CAAG,KAAA,CAAM,gBAAkB,KAAA,CAAA,CAC1CiB,EAAAA,CAAkBjB,CAAAA,CAAIkB,CAAS,EAC/B,IAAMyB,CAAAA,CAAO3C,CAAAA,CAAG,OAAA,CAAQkB,EAAW,CAAE,GAAGF,EAAI,OAAA,CAAS,GAAGmB,EAAM,IAAA,CAAM,UAAW,CAAC,CAAA,CAC1ES,EAAU,IAAM,CAChBH,CAAAA,GAAWzC,CAAAA,CAAG,MAAM,eAAA,CAAkBwC,CAAAA,EAC5C,CAAA,CACA,OAAAG,EAAK,gBAAA,CAAiB,QAAA,CAAU,IAAM,CACpCvB,GAAgBpB,CAAAA,CAAIkB,CAAS,CAAA,CAC7BlB,CAAAA,CAAG,MAAM,UAAA,CAAa,MAAA,CACtB4C,CAAAA,GACF,CAAC,CAAA,CACDD,CAAAA,CAAK,gBAAA,CAAiB,QAAA,CAAU,IAAM,CACpCvB,EAAAA,CAAgBpB,EAAIkB,CAAS,CAAA,CAC7BlB,EAAG,KAAA,CAAM,UAAA,CAAa,MAAA,CACtB4C,CAAAA,GACF,CAAC,CAAA,CACMD,CACT,CAEA,SAASE,EAAAA,CAAwB7C,CAAAA,CAAiB,CAChDA,CAAAA,CAAG,cAAc,CAAE,OAAA,CAAS,IAAK,CAAC,CAAA,CAAE,QAAS8C,CAAAA,EAAcA,CAAAA,CAAU,MAAA,EAAQ,EAC/E,CAEA,SAASR,EAAAA,EAAyB,CA5GlC,IAAAI,CAAAA,CAAAK,CAAAA,CA6GE,OAAI,OAAO,QAAW,WAAA,CAAoB,KAAA,CAAA,CACnCA,GAAAL,CAAAA,CAAA,MAAA,CAAO,aAAP,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAA,IAAA,CAAA,MAAA,CAAoB,kCAAA,CAAA,CAAoC,UAAxD,IAAA,CAAAK,CAAAA,CAAmE,KAC5E,CAEA,SAASC,EAAAA,CACPhD,CAAAA,CACAiD,CAAAA,CACAxB,CAAAA,CACkB,CAClB,GAAI,CAACwB,CAAAA,EAAc,MAAA,CAAO,KAAKA,CAAU,CAAA,CAAE,MAAA,GAAW,CAAA,CAAG,OAAO,IAAA,CAChE,IAAMC,CAAAA,CAAiB,GACjBC,CAAAA,CAAe,EAAC,CACtB,IAAA,GAAW,CAACC,CAAAA,CAAUC,CAAI,IAAK,MAAA,CAAO,OAAA,CAAQJ,CAAU,CAAA,CACtDC,CAAAA,CAAKE,CAA0B,CAAA,CAAIC,EAAK,CAAC,CAAA,CACzCF,CAAAA,CAAGC,CAA0B,EAAIC,CAAAA,CAAK,CAAC,CAAA,CAGzC,IAAA,GAAW,CAACD,CAAAA,CAAU3C,CAAK,IAAK,MAAA,CAAO,OAAA,CAAQyC,CAAI,CAAA,CAC/ClD,CAAAA,CAAG,KAAA,CAAcoD,CAAQ,EAAI3C,CAAAA,CAEjC,IAAMkC,CAAAA,CAAO3C,CAAAA,CAAG,QAAQ,CAACkD,CAAAA,CAAMC,CAAE,CAAA,CAAG,CAAE,GAAG1B,CAAAA,CAAS,KAAM,UAAW,CAAC,EACpE,OAAAkB,CAAAA,CAAK,gBAAA,CAAiB,QAAA,CAAU,IAAM,CACpC,IAAA,GAAW,CAACS,CAAAA,CAAUC,CAAI,CAAA,GAAK,MAAA,CAAO,OAAA,CAAQJ,CAAU,EACpDjD,CAAAA,CAAG,KAAA,CAAcoD,CAAQ,CAAA,CAAI,OAAOC,CAAAA,CAAK,CAAC,CAAC,EAEjD,CAAC,CAAA,CACDV,CAAAA,CAAK,gBAAA,CAAiB,QAAA,CAAU,IAAM,CACpC,IAAA,GAAW,CAACS,CAAAA,CAAU3C,CAAK,CAAA,GAAK,MAAA,CAAO,QAAQyC,CAAI,CAAA,CAC/ClD,EAAG,KAAA,CAAcoD,CAAQ,CAAA,CAAI3C,EAEnC,CAAC,CAAA,CACMkC,CACT,CAEA,SAASW,GAActD,CAAAA,CAAqC,CAC1D,IAAIuD,CAAAA,CAASvD,EAAG,aAAA,CAChB,KAAOuD,GAAUA,CAAAA,GAAW,QAAA,CAAS,MAAQA,CAAAA,GAAW,QAAA,CAAS,eAAA,EAAiB,CAChF,IAAMC,CAAAA,CAAQ,gBAAA,CAAiBD,CAAM,CAAA,CACrC,GAAI,uBAAA,CAAwB,IAAA,CAAK,CAAA,EAAGC,CAAAA,CAAM,SAAS,CAAA,EAAGA,CAAAA,CAAM,QAAQ,CAAA,CAAE,CAAA,EAAKD,EAAO,YAAA,CAAeA,CAAAA,CAAO,YAAA,CACtG,OAAOA,EAETA,CAAAA,CAASA,CAAAA,CAAO,cAClB,CACA,OAAO,IACT,CAEA,SAASE,EAAAA,CAAsBzD,EAAiB0D,CAAAA,CAA6C,CA3J7F,IAAAhB,CAAAA,CA4JE,IAAMiB,CAAAA,CAAOL,EAAAA,CAActD,CAAE,CAAA,CACvB4D,GAAalB,CAAAA,CAAAiB,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAM,eAAN,IAAA,CAAAjB,CAAAA,CAAsB,MAAA,CAAO,WAAA,CAC1CmB,EAAU,IAAA,CAAK,GAAA,CAAI,IAAM,IAAA,CAAK,GAAA,CAAI,IAAMH,CAAS,CAAC,CAAA,CAClDI,CAAAA,CAAQ,KAAK,KAAA,CAAMF,CAAAA,CAAa,IAAA,CAAK,GAAA,CAAI,IAAMC,CAAAA,CAAU,CAAC,CAAC,CAAA,CACjE,OAAO,CACL,IAAA,CAAAF,CAAAA,CACA,UAAA,CAAY,IAAIG,CAAK,CAAA,QAAA,EAAWA,CAAK,CAAA,MAAA,CAAA,CACrC,UAAW,CACb,CACF,CAEA,SAASC,GAAQC,CAAAA,CAAgD,CAC/D,IAAMnF,CAAAA,CAA4B,EAAC,CACnC,OAAAoF,mBAAM,QAAA,CAAS,OAAA,CAAQD,EAAW7D,CAAAA,EAAU,CACtC8D,kBAAAA,CAAM,cAAA,CAAe9D,CAAK,CAAA,EAAKA,CAAAA,CAAM,GAAA,EAAO,IAAA,EAAMtB,EAAK,IAAA,CAAKsB,CAAAA,CAAM,GAAG,EAC3E,CAAC,CAAA,CACMtB,CACT,CAEA,SAASqF,GAAmBrD,CAAAA,CAAoC,CAC9D,OAAOA,CAAAA,GAAS,WAAaA,CAAAA,GAAS,gBAAA,EAAoBA,CAAAA,GAAS,aACrE,CAEA,SAASsD,EAAAA,CAAoBtD,CAAAA,CAAoC,CAC/D,OAAOA,CAAAA,GAAS,UAAA,EACXA,IAAS,cAAA,EACTA,CAAAA,GAAS,mBACTA,CAAAA,GAAS,YAAA,EACTA,CAAAA,GAAS,aAAA,EACTA,IAAS,iBAChB,CAEA,SAASuD,EAAAA,CAAuBC,EAAuB,CACrD,OAAK,MAAA,CAAO,QAAA,CAASA,CAAK,CAAA,CACnB,IAAA,CAAK,IAAI,GAAA,CAAK,IAAA,CAAK,IAAI,GAAA,CAAMA,CAAK,CAAC,CAAA,CADN,EAEtC,CAEA,SAASC,EAAAA,CAAYtE,CAAAA,CAAiB2D,EAAuC,CAC3E,OAAO3D,CAAAA,CAAG,OAAA,CAAQ,kBAAkB,CACtC,CAEA,SAASuE,EAAAA,CAAWvE,CAAAA,CAAgC,CAClD,OAAOA,CAAAA,CAAG,YAAA,CAAa,gBAAgB,CACzC,CAEA,IAAMwE,EAAAA,CAAcC,YAAAA,CAAgD,SAAqB,CACvF,QAAA,CAAUC,CAAAA,CACV,SAAA,CAAA5B,EAAY,eAAA,CACZ,eAAA,CAAA6B,CAAAA,CACA,UAAA,CAAA1B,EACA,aAAA,CAAA2B,CAAAA,CAAgB,aAAA,CAChB,gBAAA,CAAAC,EAAmB,MAAA,CACnB,OAAA,CAAAC,CAAAA,CAAU,MAAA,CACV,SAAAC,CAAAA,CAAW,GAAA,CACX,eAAA,CAAAC,CAAAA,CAAkB,IAClB,OAAA,CAAAC,CAAAA,CAAU,GACV,WAAA,CAAAC,CAAAA,CAAc,EACd,KAAA,CAAAb,EAAAA,CAAQ,EAAA,CACR,OAAA,CAAAc,GAAU,OAAA,CACV,SAAA,CAAAzB,EAAAA,CAAY,EAAA,CACZ,OAAA0B,CAAAA,CAASrH,EAAAA,CACT,aAAA,CAAAsH,EAAAA,CAAgBpH,GAChB,EAAA,CAAAqH,EAAAA,CAAK,KAAA,CACL,SAAA,CAAAC,GACA,KAAA,CAAA/B,EAAAA,CACA,WAAA,CAAAgC,CAAAA,CACA,WAAAC,CAAAA,CACA,SAAA,CAAAC,EAAAA,CACA,aAAA,CAAAtD,EACA,QAAA,CAAA4B,CAAAA,CACA,eAAA,CAAA2B,CACF,EAAGC,EAAAA,CAAK,CAnOR,IAAAlD,EAAAA,CAAAK,EAAAA,CAAA8C,GAAAC,EAAAA,CAAAC,EAAAA,CAAAC,EAAAA,CAoOE,IAAMC,EAAUlH,QAAAA,CAAoB,IAAI,CAAA,CAClCmH,EAAAA,CAAcnC,GAAQC,CAAQ,CAAA,CAC9BmC,CAAAA,CAAOvH,EAAAA,CAAYsH,EAAW,CAAA,CAC9B,CAAE,QAAA,CAAApG,EAAAA,CAAU,aAAAQ,EAAa,CAAA,CAAIX,EAAAA,CAAmBsG,CAAO,EACvDG,EAAAA,CAAkBrH,QAAAA,CAAwBiF,CAAQ,CAAA,CAClD,CAACqC,CAAAA,CAAQC,EAAS,CAAA,CAAIC,UAAAA,CAA2C,IAAI,GAAK,CAAA,CAC1EC,GAAmBzH,QAAAA,CAA6B,IAAI,GAAK,CAAA,CACzD0H,EAAAA,CAAiB1H,QAAAA,CAA4D,IAAI,GAAK,CAAA,CACtF2H,CAAAA,CAAc3H,QAAAA,CAA6C,IAAI,EAC/D4H,CAAAA,CAAa5H,QAAAA,CAAO,KAAK,CAAA,CACzB6H,GAAW7H,QAAAA,CAAsB,EAAE,CAAA,CACnC8H,EAAAA,CAAW9H,SAAO,CAAC,CAAA,CACnB+H,CAAAA,CAAa/H,QAAAA,CAAO,KAAK,CAAA,CACzBgI,CAAAA,CAAiBC,SAAAA,CAAQ,IACzBtC,EACKA,CAAAA,CAAa,GAAA,CAAIuC,CAAAA,EAAG,CAnPjC,IAAAvE,CAAAA,CAmPqC,OAAA,CAC7B,QAASuE,CAAAA,CAAG,OAAA,CACZ,UAAWA,CAAAA,CAAG,SAAA,CACd,SAAA,CAAA,CAAWvE,CAAAA,CAAAuE,EAAG,SAAA,GAAH,IAAA,CAAAvE,CAAAA,CAAgBgB,EAC7B,EAAE,CAAA,CAAA,CAEa,KAAA,CAAM,OAAA,CAAQyB,EAAO,EAAIA,EAAAA,CAAQ,KAAA,CAAM,CAAA,CAAG,CAAC,EAAI,CAACA,EAAO,CAAA,EACzD,GAAA,CAAI+B,IAAM,CACvB,OAAA,CAASA,CAAAA,CACT,SAAA,CAAWA,IAAM,QAAA,EAAYvC,CAAAA,CAAkBA,CAAAA,CAAkB7B,CAAAA,CACjE,UAAAY,EACF,CAAA,CAAE,EACD,CAACgB,CAAAA,CAAcS,GAASrC,CAAAA,CAAW6B,CAAAA,CAAiBjB,EAAS,CAAC,EAE3DyD,EAAAA,CAAiBH,SAAAA,CACrB,IAAMD,CAAAA,CAAe,IAAIE,CAAAA,EAAMA,CAAAA,CAAG,OAAO,CAAA,CACzC,CAACF,CAAc,CACjB,CAAA,CAEMK,CAAAA,CAAarH,cAAasH,CAAAA,EAAwBF,EAAAA,CAAe,QAAA,CAASE,CAAM,EAAG,CAACF,EAAc,CAAC,CAAA,CACnG,CAACG,EAAAA,CAAYC,EAAa,CAAA,CAAIhB,UAAAA,CAAqD,IAAI,CAAA,CACvF,CAACiB,GAAQC,EAAS,CAAA,CAAIlB,WAAS,CAACa,CAAAA,CAAW,QAAQ,CAAC,EACpDM,EAAAA,CAAAA,CAAgB3E,EAAAA,CAAAA,CAAAL,EAAAA,CAAA4E,EAAAA,EAAA,YAAAA,EAAAA,CAAY,MAAA,GAAZ,IAAA,CAAA5E,EAAAA,CAAsByE,GAAe,CAAC,CAAA,GAAtC,IAAA,CAAApE,EAAAA,CAA2C,QAC3D4E,EAAAA,CAAeZ,CAAAA,CAAe,IAAA,CAAKE,CAAAA,EAAMA,EAAG,OAAA,GAAYS,EAAa,CAAA,CACrEE,EAAAA,CAAAA,CAAkB/B,GAAA8B,EAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAAA,CAAc,SAAA,GAAd,KAAA9B,EAAAA,CAA2B/C,CAAAA,CAC7C+E,GAAed,CAAAA,CAAe,IAAA,CAAKE,GAAMA,CAAAA,CAAG,OAAA,GAAY,QAAQ,CAAA,CAChEa,IAAkBhC,EAAAA,CAAA+B,EAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAAA,CAAc,YAAd,IAAA,CAAA/B,EAAAA,CAA2BpC,EAAAA,CAE/C,OAAO,QAAW,WAAA,GACpBoD,CAAAA,CAAW,SAAUd,EAAAA,CAAAA,CAAAD,EAAAA,CAAA,OAAO,UAAA,GAAP,IAAA,CAAA,MAAA,CAAAA,EAAAA,CAAA,IAAA,CAAA,MAAA,CAAoB,oCAAoC,OAAA,GAAxD,IAAA,CAAAC,EAAAA,CAAmE,KAAA,CAAA,CAG1FtG,YAAU,IAAM,CACd+H,EAAAA,CAAU,CAACL,EAAW,QAAQ,CAAC,EACjC,CAAA,CAAG,CAACA,CAAU,CAAC,CAAA,CAEf1H,WAAAA,CAAU,IAAM,CACd,GAAI,CAAC0H,CAAAA,CAAW,QAAQ,EAAG,OAC3B,IAAMW,CAAAA,CAAO9B,CAAAA,CAAQ,QACrB,GAAI,CAAC8B,CAAAA,CAAM,OACX,IAAMC,CAAAA,CAAW,IAAI,oBAAA,CAClBC,CAAAA,EAAY,CACX,IAAA,IAAWC,CAAAA,IAASD,CAAAA,CACdC,CAAAA,CAAM,SAAWH,CAAAA,EACrBN,EAAAA,CAAUS,CAAAA,CAAM,cAAc,EAElC,CAAA,CACAzE,EAAAA,CAAsBsE,EAAMD,EAAe,CAC7C,EACA,OAAAE,CAAAA,CAAS,OAAA,CAAQD,CAAI,EACd,IAAMC,CAAAA,CAAS,UAAA,EACxB,EAAG,CAACZ,CAAAA,CAAYU,EAAe,CAAC,EAEhC,IAAMK,EAAAA,CAAYpI,cAAY,IAAM,CAC9B2G,EAAY,OAAA,GAAY,IAAA,GAC1B,YAAA,CAAaA,CAAAA,CAAY,OAAO,CAAA,CAChCA,CAAAA,CAAY,OAAA,CAAU,IAAA,CAAA,CAExBC,EAAW,OAAA,CAAU,KAAA,CACrB,IAAMyB,CAAAA,CAAOxB,GAAS,OAAA,CAAQ,KAAA,GAC1BwB,CAAAA,EACFzB,CAAAA,CAAW,QAAU,IAAA,CACrBY,EAAAA,CAAc,CAAE,EAAA,CAAI,EAAEV,EAAAA,CAAS,OAAA,CAAS,MAAA,CAAQuB,CAAK,CAAC,CAAA,EAEtDb,EAAAA,CAAc,IAAI,EAEtB,EAAG,EAAE,CAAA,CAECc,EAAAA,CAAatI,cAAasH,CAAAA,EAAwB,CACtD,GAAIV,CAAAA,CAAW,QAAS,CAClBU,CAAAA,GAAW,QAAA,GAAUT,EAAAA,CAAS,QAAU,CAAC,GAAGA,EAAAA,CAAS,OAAA,CAASS,CAAM,CAAA,CAAE,KAAA,CAAM,EAAE,CAAA,CAAA,CAClF,MACF,CACAV,CAAAA,CAAW,OAAA,CAAU,IAAA,CACrBY,EAAAA,CAAc,CAAE,EAAA,CAAI,EAAEV,EAAAA,CAAS,OAAA,CAAS,OAAAQ,CAAO,CAAC,EAClD,CAAA,CAAG,EAAE,CAAA,CAECiB,GAAczD,CAAAA,EAAA,IAAA,CAAAA,EAAoBC,CAAAA,CAElCyD,EAAAA,CAAoBxI,aAAAA,CAAY,CAACsH,EAAsBK,EAAAA,GAAkB,CAlUjF,IAAAhF,CAAAA,CAAAK,EAAA8C,CAAAA,CAAAC,CAAAA,CAmUI,IAAMnC,CAAAA,CAAOsC,EAAQ,OAAA,CACrB,GAAI,CAACtC,CAAAA,CAAM,CACTwE,IAAU,CACV,MACF,CACA,GAAIrB,EAAW,OAAA,CAAS,CACtBqB,EAAAA,EAAU,CACV,MACF,CACA,IAAMK,CAAAA,CAAezB,CAAAA,CAAe,KAAKE,CAAAA,EAAMA,CAAAA,CAAG,OAAA,GAAYI,CAAM,EAC9DoB,CAAAA,CAAAA,CAAoB/F,CAAAA,CAAA8F,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAc,SAAA,GAAd,IAAA,CAAA9F,CAAAA,CAA2BI,CAAAA,CACrD,GAAIqB,EAAAA,CAAoBsE,CAAiB,CAAA,EAAKvE,EAAAA,CAAmBuE,CAAiB,CAAA,CAAG,CACnFN,IAAU,CACV,MACF,CACA,IAAMnH,CAAAA,CAAMJ,EAAAA,CAAW6H,CAAAA,CAAmB,QAAS9C,CAAe,CAAA,CAC5D+C,CAAAA,CAAQ,KAAA,CAAM,KAAK/E,CAAAA,CAAK,gBAAA,CAA8B,kBAAkB,CAAC,EAC/E,GAAI+E,CAAAA,CAAM,MAAA,GAAW,CAAA,CAAG,CACtBP,EAAAA,EAAU,CACV,MACF,CACIzB,EAAY,OAAA,GAAY,IAAA,GAC1B,YAAA,CAAaA,CAAAA,CAAY,OAAO,CAAA,CAChCA,CAAAA,CAAY,OAAA,CAAU,IAAA,CAAA,CAExB,IAAMiC,CAAAA,CAAmB7B,CAAAA,CAAW,QAChCtG,EAAAA,CAAcuE,CAAAA,CAAU,GAAG,CAAA,CAAI,CAAA,CAC/BvE,EAAAA,CAAAA,CAAcqF,CAAAA,CAAAA,CAAA9C,EAAA/B,CAAAA,CAAI,OAAA,GAAJ,IAAA,CAAA,MAAA,CAAA+B,CAAAA,CAAa,WAAb,IAAA,CAAA8C,CAAAA,CAAyBd,CAAAA,CAAU,GAAG,EAClD6D,CAAAA,CAAAA,CAAmB9C,CAAAA,CAAA1D,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAe,OAAA,GAAf,IAAA,CAAA0D,CAAAA,CAA0Bb,CAAAA,CACnDyD,EAAM,OAAA,CAAQ,CAAC1I,CAAAA,CAAI6I,CAAAA,GAAU,CAhWjC,IAAAnG,CAAAA,CAAAK,CAAAA,CAiWMF,EAAAA,CAAwB7C,CAAE,CAAA,CAC1BkC,EAAAA,CAAalC,EAAIgB,CAAAA,CAAK,CACpB,SAAU2H,CAAAA,CACV,MAAA,CAAA,CAAQ5F,CAAAA,CAAAA,CAAAL,CAAAA,CAAA1B,EAAI,OAAA,GAAJ,IAAA,CAAA,MAAA,CAAA0B,CAAAA,CAAa,MAAA,GAAb,KAAAK,CAAAA,CAAuBqC,CAAAA,CAC/B,KAAA,CAAOyD,CAAAA,CAAQD,EACf,IAAA,CAAM,UACR,EAAGxG,CAAa,CAAA,CAChBY,GAAqBhD,CAAAA,CAAIiD,CAAAA,CAAY,CACnC,QAAA,CAAU0F,EACV,MAAA,CAAAvD,CAAAA,CACA,KAAA,CAAOyD,CAAAA,CAAQD,CACjB,CAAC,EACH,CAAC,CAAA,CACDlC,EAAY,OAAA,CAAU,UAAA,CAAWyB,GAAWQ,CAAAA,CAAmB,IAAA,CAAK,IAAI,CAAA,CAAGD,CAAAA,CAAM,MAAA,CAAS,CAAC,EAAIE,CAAAA,CAAmB,EAAE,EACtH,CAAA,CAAG,CAAClB,EAAAA,CAAe5E,CAAAA,CAAW6C,CAAAA,CAAiBZ,CAAAA,CAAUK,EAAQ+C,EAAAA,CAAWlF,CAAAA,CAAY8D,CAAAA,CAAgB9B,CAAO,CAAC,CAAA,CAE1G6D,EAAAA,CAAgB/J,QAAAA,CAA+B,IAAI,EAEnDgK,EAAAA,CAAgBhJ,aAAAA,CAAY,CAACK,CAAAA,CAAsBiH,IAAyB,CAnXpF,IAAA3E,CAAAA,CAAAK,CAAAA,CAAA8C,EAoXI,IAAMlC,CAAAA,CAAOsC,EAAQ,OAAA,CACrB,GAAI,CAACtC,CAAAA,EAAQmD,CAAAA,CAAW,OAAA,CAAS,OACjC,IAAM9G,CAAAA,CAAK2D,CAAAA,CAAK,aAAA,CAAc,CAAA,iBAAA,EAAoBvD,CAAG,CAAA,EAAA,CAAI,CAAA,CACzD,GAAI,CAACJ,EAAI,OACT6C,EAAAA,CAAwB7C,CAAE,CAAA,CAC1B,IAAMwI,EAAenB,CAAAA,CAASN,CAAAA,CAAe,IAAA,CAAKE,CAAAA,EAAMA,EAAG,OAAA,GAAYI,CAAM,CAAA,CAAI,MAAA,CAC3E1E,GAAOD,CAAAA,CAAA8F,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAc,YAAd,IAAA,CAAA9F,CAAAA,CAA2BI,EAClC9B,CAAAA,CAAMJ,EAAAA,CAAW+B,EAAM,OAAA,CAASgD,CAAe,CAAA,CAC/CqD,CAAAA,CAAMlC,EAAW,OAAA,CAAUtG,EAAAA,CAAcuE,CAAAA,CAAU,GAAG,EAAI,CAAA,CAAIvE,EAAAA,CAAcuE,CAAAA,CAAU,GAAG,EAC/F7C,EAAAA,CAAalC,CAAAA,CAAIgB,CAAAA,CAAK,CACpB,SAAUgI,CAAAA,CACV,MAAA,CAAA,CAAQnD,CAAAA,CAAAA,CAAA9C,CAAAA,CAAA/B,EAAI,OAAA,GAAJ,IAAA,CAAA,MAAA,CAAA+B,CAAAA,CAAa,MAAA,GAAb,KAAA8C,CAAAA,CAAuBT,CAAAA,CAC/B,IAAA,CAAM,UACR,EAAGhD,CAAa,CAAA,CAChBY,GAAqBhD,CAAAA,CAAIiD,CAAAA,CAAY,CAAE,QAAA,CAAU+F,CAAAA,CAAK,MAAA,CAAA5D,CAAO,CAAC,EAChE,CAAA,CAAG,CAACtC,CAAAA,CAAWiC,EAAUK,CAAAA,CAAQO,CAAAA,CAAiB1C,CAAAA,CAAY8D,CAAc,CAAC,CAAA,CAEvEkC,EAAAA,CAAkBlJ,cAAa,CAAA,EAAwB,CAE3D,GADI,CAACqH,CAAAA,CAAW,OAAO,CAAA,EACnBT,EAAW,OAAA,CAAS,OACxB,IAAMhD,CAAAA,CAAOsC,EAAQ,OAAA,CACrB,GAAI,CAACtC,CAAAA,CAAM,OACX,IAAMuF,CAAAA,CAAS5E,GAAY,CAAA,CAAE,MAA2B,CAAA,CACxD,GAAI,CAAC4E,CAAAA,CAAQ,OACb,IAAM9I,CAAAA,CAAMmE,EAAAA,CAAW2E,CAAM,EACzB9I,CAAAA,EAAO,IAAA,EAAQA,CAAAA,GAAQ0I,EAAAA,CAAc,UACzCA,EAAAA,CAAc,OAAA,CAAU1I,CAAAA,CACxB2I,EAAAA,CAAc3I,EAAK,OAAO,CAAA,EAC5B,CAAA,CAAG,CAACgH,EAAY2B,EAAa,CAAC,CAAA,CAExBI,EAAAA,CAAmBpJ,cAAY,IAAM,CACzC+I,EAAAA,CAAc,OAAA,CAAU,KAC1B,CAAA,CAAG,EAAE,CAAA,CAECM,EAAAA,CAAkBrJ,cAAa,CAAA,EAAwB,CAE3D,GADI,CAACqH,EAAW,OAAO,CAAA,EACnBT,CAAAA,CAAW,OAAA,CAAS,OACxB,IAAMhD,CAAAA,CAAOsC,CAAAA,CAAQ,OAAA,CACrB,GAAI,CAACtC,CAAAA,CAAM,OACX,IAAMuF,EAAS5E,EAAAA,CAAY,CAAA,CAAE,MAA2B,EACxD,GAAI,CAAC4E,CAAAA,CAAQ,OACb,IAAM9I,CAAAA,CAAMmE,EAAAA,CAAW2E,CAAM,CAAA,CACzB9I,GAAO,IAAA,EACX2I,EAAAA,CAAc3I,EAAK,OAAO,EAC5B,EAAG,CAACgH,CAAAA,CAAY2B,EAAa,CAAC,EAE9BM,qBAAAA,CAAoBzD,EAAAA,CAAK,KAAO,CAAE,QAAS,IAAMyC,EAAAA,CAAW,QAAQ,CAAE,GAAI,CAACA,EAAU,CAAC,CAAA,CAEtF,IAAMiB,EAAAA,CAAyC,CAC7C,IAAA,CAAMrL,EAAAA,CACN,OAAQA,EAAAA,CACR,MAAA,CAAQC,EAAAA,CACR,IAAA,CAAMD,EACR,CAAA,CAEAyB,WAAAA,CAAU,IAAM,CA3alB,IAAAgD,CAAAA,CA4aI,IAAMiB,EAAOsC,CAAAA,CAAQ,OAAA,CACrB,GAAI,CAACtC,CAAAA,CAAM,OACX,IAAMqF,EAAMjE,CAAAA,CACNwE,CAAAA,CAAOvE,CAAAA,CAEb,GAAI8B,EAAW,OAAA,CAAS,CAClBX,CAAAA,CAAK,OAAA,CAAQ,OAAS,CAAA,EAAGA,CAAAA,CAAK,QAAQ,OAAA,CAAS/F,CAAAA,EAAQqF,GAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAarF,CAAAA,CAAI,CAAA,CACxE+F,EAAK,KAAA,CAAM,MAAA,CAAS,CAAA,EAAGA,CAAAA,CAAK,MAAM,OAAA,CAAS/F,CAAAA,EAAQoF,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAcpF,CAAAA,CAAI,CAAA,CACzEgG,GAAgB,OAAA,CAAUpC,CAAAA,CAC1B,MACF,CAEA,IAAMwF,CAAAA,CAASpJ,CAAAA,EACbuD,EAAK,aAAA,CAAc,CAAA,iBAAA,EAAoBvD,CAAG,CAAA,EAAA,CAAI,EAE1CqJ,CAAAA,CAAW9F,CAAAA,CAAK,qBAAA,EAAsB,CACtC+F,EAAgB,IAAM,CAC1B,IAAMzJ,CAAAA,CAAM,IAAI,GAAA,CAChB,IAAA,IAAWE,CAAAA,IAASwD,CAAAA,CAAK,SAAU,CACjC,IAAMvE,CAAAA,CAAKe,CAAAA,CAAsB,aAAa,gBAAgB,CAAA,CAC9D,GAAI,CAACf,EAAG,SACR,IAAMiB,EAAQF,CAAAA,CAAsB,qBAAA,GACpCF,CAAAA,CAAI,GAAA,CAAIb,CAAAA,CAAG,CACT,IAAKiB,CAAAA,CAAK,GAAA,CAAMoJ,CAAAA,CAAS,GAAA,CACzB,KAAMpJ,CAAAA,CAAK,IAAA,CAAOoJ,CAAAA,CAAS,IAAA,CAC3B,MAAOpJ,CAAAA,CAAK,KAAA,CACZ,OAAQA,CAAAA,CAAK,MACf,CAAC,EACH,CACA,OAAOJ,CACT,EAEM0J,CAAAA,CAAerJ,EAAAA,EAAa,CAElC,GAAI6F,EAAK,SAAA,CAAU,MAAA,CAAS,CAAA,EAAKmC,EAAAA,GAAgB,OAAQ,CACvD,IAAMsB,EAAeF,CAAAA,EAAc,CAC7BG,GAAUnH,CAAAA,CAAA4G,EAAAA,CAAehB,EAAW,CAAA,GAA1B,KAAA5F,CAAAA,CAA+B2C,EAAAA,CAC/C,IAAA,IAAWjF,CAAAA,IAAO+F,EAAK,SAAA,CAAW,CAChC,IAAM2D,CAAAA,CAAMH,EAAa,GAAA,CAAIvJ,CAAG,CAAA,CAC1B2J,CAAAA,CAAMH,EAAa,GAAA,CAAIxJ,CAAG,CAAA,CAChC,GAAI,CAAC0J,CAAAA,EAAO,CAACC,CAAAA,CAAK,SAClB,IAAMC,CAAAA,CAASF,CAAAA,CAAI,IAAA,CAAOC,CAAAA,CAAI,KACxBE,CAAAA,CAASH,CAAAA,CAAI,IAAMC,CAAAA,CAAI,GAAA,CAC7B,GAAIC,CAAAA,GAAW,CAAA,EAAKC,CAAAA,GAAW,CAAA,CAAG,SAClC,IAAMjK,CAAAA,CAAKwJ,CAAAA,CAAMpJ,CAAG,EACpB,GAAI,CAACJ,CAAAA,CAAI,SACTA,EAAG,KAAA,CAAM,MAAA,CAAS,IAClBA,CAAAA,CAAG,KAAA,CAAM,WAAa,WAAA,CACtBA,CAAAA,CAAG,KAAA,CAAM,SAAA,CAAY,aAAagK,CAAM,CAAA,IAAA,EAAOC,CAAM,CAAA,GAAA,CAAA,CACrDjK,EAAG,qBAAA,EAAsB,CACzB,IAAM2C,CAAAA,CAAO3C,EAAG,OAAA,CACd,CAAC,CAAE,SAAA,CAAW,CAAA,UAAA,EAAagK,CAAM,CAAA,IAAA,EAAOC,CAAM,CAAA,GAAA,CAAM,CAAA,CAAG,CAAE,SAAA,CAAW,iBAAkB,CAAC,CAAA,CACvF,CAAE,QAAA,CAAUV,CAAAA,CAAM,MAAA,CAAQM,CAAAA,CAAS,KAAM,UAAW,CACtD,CAAA,CACAlH,CAAAA,CAAK,SAAW,IAAM,CACpB3C,CAAAA,CAAG,KAAA,CAAM,OAAS,EAAA,CAClBA,CAAAA,CAAG,KAAA,CAAM,UAAA,CAAa,OACxB,CAAA,CACA2C,CAAAA,CAAK,QAAA,CAAW,IAAM,CACpB3C,CAAAA,CAAG,KAAA,CAAM,OAAS,EAAA,CAClBA,CAAAA,CAAG,MAAM,UAAA,CAAa,MAAA,CACtBA,CAAAA,CAAG,KAAA,CAAM,UAAY,GACvB,CAAA,CACAA,CAAAA,CAAG,KAAA,CAAM,UAAY,GACvB,CACA0F,EAAAA,EAAA,IAAA,EAAAA,KACF,CAEA,GAAIS,CAAAA,CAAK,KAAA,CAAM,OAAS,CAAA,CAAG,CACzB,IAAMnF,CAAAA,CAAMJ,GAAWgH,EAAAA,CAAiB,OAAA,CAASjC,CAAe,CAAA,CAChEQ,EAAK,KAAA,CAAM,OAAA,CAAQ,CAAC/F,CAAAA,CAAKX,IAAM,CAlfrC,IAAAiD,EAAAK,CAAAA,CAAA8C,CAAAA,CAAAC,EAmfQ,IAAM9F,CAAAA,CAAKwJ,CAAAA,CAAMpJ,CAAG,EAChBJ,CAAAA,GACFkC,EAAAA,CAAalC,CAAAA,CAAIgB,CAAAA,CAAK,CACpB,QAAA,CAAUgI,CAAAA,CACV,MAAA,CAAA,CAAQjG,CAAAA,CAAAA,CAAAL,EAAA1B,CAAAA,CAAI,OAAA,GAAJ,IAAA,CAAA,MAAA,CAAA0B,CAAAA,CAAa,SAAb,IAAA,CAAAK,CAAAA,CAAuBqC,CAAAA,CAC/B,KAAA,CAAO3F,IAAKoG,CAAAA,CAAAzD,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAe,UAAf,IAAA,CAAAyD,CAAAA,CAA0BZ,CAAAA,CAAAA,CACtC,IAAA,CAAM,UACR,CAAA,CAAG7C,CAAa,EAChBY,EAAAA,CAAqBhD,CAAAA,CAAIiD,EAAY,CACnC,QAAA,CAAU+F,CAAAA,CACV,MAAA,CAAA5D,EACA,KAAA,CAAO3F,CAAAA,EAAAA,CAAKqG,CAAAA,CAAA1D,CAAAA,EAAA,YAAAA,CAAAA,CAAe,OAAA,GAAf,IAAA,CAAA0D,CAAAA,CAA0Bb,EACxC,CAAC,CAAA,CAAA,CAEHO,GAAA,IAAA,EAAAA,CAAAA,CAAcpF,GAChB,CAAC,EACH,CAEA,GAAI+F,EAAK,OAAA,CAAQ,MAAA,CAAS,CAAA,CAAG,CAC3B,IAAM+D,CAAAA,CAAUjG,kBAAAA,CAAM,QAAA,CAAS,OAAA,CAAQmC,GAAgB,OAAO,CAAA,CACxD+D,EAAY,IAAI,GAAA,CAAI9D,CAAM,CAAA,CAChCF,CAAAA,CAAK,OAAA,CAAQ,OAAA,CAAS/F,GAAQ,CAC5B,GAAIiG,CAAAA,CAAO,GAAA,CAAIjG,CAAG,CAAA,CAAG,OACrB,IAAMgK,CAAAA,CAAUF,EAAQ,IAAA,CAAMG,CAAAA,EAAMpG,kBAAAA,CAAM,cAAA,CAAeoG,CAAC,CAAA,EAAKA,CAAAA,CAAE,GAAA,GAAQjK,CAAG,EACtEkK,CAAAA,CAAMX,CAAAA,CAAa,GAAA,CAAIvJ,CAAG,EAC5BgK,CAAAA,EAAWE,CAAAA,EAAKH,CAAAA,CAAU,GAAA,CAAI/J,EAAK,CAAE,GAAA,CAAAA,EAAK,OAAA,CAAAgK,CAAAA,CAAS,GAAGE,CAAI,CAAC,EACjE,CAAC,EACGH,CAAAA,CAAU,IAAA,GAAS9D,CAAAA,CAAO,IAAA,EAAMC,GAAU6D,CAAS,EACzD,CAEA/D,EAAAA,CAAgB,QAAUpC,CAAAA,CAC1BlE,EAAAA,GACF,CAAA,CAAG,CAACqG,CAAAA,CAAMnC,CAAAA,CAAU4D,EAAAA,CAAiBhD,CAAAA,CAAeG,EAAUC,CAAAA,CAAiBC,CAAAA,CAASC,CAAAA,CAAaoD,EAAAA,CAAajD,GAAepC,CAAU,CAAC,CAAA,CAE5IvD,WAAAA,CAAU,IAAM,CACd,GAAIoH,EAAW,OAAA,CAAS,OACxB,IAAMnD,CAAAA,CAAOsC,CAAAA,CAAQ,OAAA,CACrB,GAAI,CAACtC,CAAAA,EAAQ0C,CAAAA,CAAO,IAAA,GAAS,CAAA,CAAG,OAChC,IAAMrF,CAAAA,CAAMJ,EAAAA,CAAWgE,CAAAA,CAAe,OAAQe,CAAe,CAAA,CAEvD4E,CAAAA,CAA8C,GACpDlE,CAAAA,CAAO,OAAA,CAAQ,CAACmE,CAAAA,CAAGpK,IAAQ,CACpBoG,EAAAA,CAAiB,OAAA,CAAQ,GAAA,CAAIpG,CAAG,CAAA,EAAGmK,CAAAA,CAAW,IAAA,CAAK,CAACnK,EAAKoK,CAAC,CAAC,EAClE,CAAC,CAAA,CACGD,EAAW,MAAA,GAAW,CAAA,EAE1BA,CAAAA,CAAW,OAAA,CAAQ,CAAC,CAACnK,CAAG,CAAA,CAAGqK,CAAAA,GAAQ,CAjiBvC,IAAA/H,CAAAA,CAAAK,CAAAA,CAkiBMyD,EAAAA,CAAiB,QAAQ,GAAA,CAAIpG,CAAG,EAChC,IAAMsK,CAAAA,CAAQ,WAAW,IAAM,CAC7BpE,EAAAA,CAAWtH,CAAAA,EAAS,CAClB,IAAMoJ,CAAAA,CAAO,IAAI,GAAA,CAAIpJ,CAAI,CAAA,CACzB,OAAAoJ,CAAAA,CAAK,MAAA,CAAOhI,CAAG,CAAA,CACRgI,CACT,CAAC,CAAA,CACD5B,EAAAA,CAAiB,QAAQ,MAAA,CAAOpG,CAAG,CAAA,CACnCqG,EAAAA,CAAe,QAAQ,MAAA,CAAOrG,CAAG,EACnC,CAAA,CAAGI,GAAcuE,CAAAA,CAAU,GAAG,CAAA,CAAI0F,CAAAA,CAAMvF,CAAW,CAAA,CACnDuB,EAAAA,CAAe,OAAA,CAAQ,GAAA,CAAIrG,EAAKsK,CAAK,CAAA,CAErC,IAAM1K,CAAAA,CAAK2D,EAAK,aAAA,CAAc,CAAA,iBAAA,EAAoBvD,CAAG,CAAA,0BAAA,CAA4B,EAC7EJ,CAAAA,GACFA,CAAAA,CAAG,aAAA,EAAc,CAAE,QAAS2K,CAAAA,EAAMA,CAAAA,CAAE,QAAQ,CAAA,CAC5CzI,GAAalC,CAAAA,CAAIgB,CAAAA,CAAK,CACpB,QAAA,CAAA+D,EACA,MAAA,CAAA,CAAQhC,CAAAA,CAAAA,CAAAL,CAAAA,CAAA1B,CAAAA,CAAI,UAAJ,IAAA,CAAA,MAAA,CAAA0B,CAAAA,CAAa,MAAA,GAAb,IAAA,CAAAK,EAAuB/E,CAAAA,CAC/B,KAAA,CAAOyM,CAAAA,CAAMvF,CAAAA,CACb,KAAM,UACR,CAAA,CAAG9C,CAAa,CAAA,CAAA,CAElBqD,GAAA,IAAA,EAAAA,CAAAA,CAAarF,CAAAA,EACf,CAAC,EACH,CAAA,CAAG,CAACiG,CAAAA,CAAQzB,CAAAA,CAAeG,EAAUG,CAAAA,CAAaS,CAAe,CAAC,CAAA,CAElEjG,WAAAA,CAAU,IAAM,CA5jBlB,IAAAgD,CAAAA,CAAAK,CAAAA,CA6jBI,IAAM8E,CAAAA,CAAed,CAAAA,CAAe,IAAA,CAAKE,CAAAA,EAAMA,EAAG,OAAA,GAAY,QAAQ,CAAA,CAChE2D,CAAAA,CAAAA,CAAa7H,GAAAL,CAAAA,CAAAmF,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAc,YAAd,IAAA,CAAAnF,CAAAA,CAA2BiC,CAAAA,GAA3B,IAAA,CAAA5B,EAA8CD,CAAAA,CACjE,GAAI,CAACsE,CAAAA,CAAW,QAAQ,CAAA,EAAK,CAACjD,EAAAA,CAAoByG,CAAU,EAAG,OAC/D,IAAMjH,EAAOsC,CAAAA,CAAQ,OAAA,CACrB,GAAI,CAACtC,CAAAA,EAAQmD,CAAAA,CAAW,OAAA,CAAS,OAEjC,IAAM+D,CAAAA,CAAavH,EAAAA,CAAcK,CAAI,EAC/BmH,CAAAA,CAAqCD,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAc,OACnDE,CAAAA,CAAW,IAAI,IACjBC,CAAAA,CAAM,CAAA,CACNC,EAAU,KAAA,CACVC,CAAAA,CAAkD,IAAA,CAEtD,SAASC,GAAW,CAClB,OAAIN,CAAAA,CAEK,CAAE,IADIA,CAAAA,CAAW,qBAAA,EAAsB,CAC3B,GAAA,CAAK,OAAQA,CAAAA,CAAW,YAAa,EAEnD,CAAE,GAAA,CAAK,EAAG,MAAA,CAAQ,MAAA,CAAO,WAAY,CAC9C,CAEA,SAAS7G,CAAAA,EAAW,CAClB,OAAO,MAAM,IAAA,CAAKL,CAAAA,CAAM,QAAQ,CAAA,CAAE,OAAQxD,CAAAA,EACxCA,CAAAA,YAAiB,WAAA,EAAeA,CAAAA,CAAM,aAAa,gBAAgB,CACrE,CACF,CAEA,SAASiL,CAAAA,EAAS,CAEhB,GADAH,CAAAA,CAAU,MACN,CAACtH,CAAAA,CAAM,OACPuH,CAAAA,EAAW,aAAaA,CAAS,CAAA,CACrC,IAAMxC,CAAAA,CAAQ1E,CAAAA,GACRqH,CAAAA,CAAQ3C,CAAAA,CAAM,MAAA,CACpB,GAAI2C,IAAU,CAAA,CAAG,OAEjB,IAAM5B,EAAAA,CAAW9F,EAAK,qBAAA,EAAsB,CACtC2H,EAAAA,CAAOH,CAAAA,GACPI,EAAAA,CAAaD,EAAAA,CAAK,IAAMA,EAAAA,CAAK,MAAA,CAAS,EAEtCE,EAAAA,CAAAA,CADa/B,EAAAA,CAAS,GAAA,CAAMA,EAAAA,CAAS,OAAS,CAAA,CACd8B,EAAAA,EAAc,IAAA,CAAK,GAAA,CAAID,GAAK,MAAA,CAAQ,CAAC,CAAA,CACrEG,CAAAA,CAAe,KAAK,GAAA,CAAI,KAAA,CAAO,KAAK,GAAA,CAAI,IAAA,CAAMD,EAAe,CAAC,CAAA,CAC9DE,EAAAA,CAAYtH,EAAAA,CAAuBC,EAAK,CAAA,CACxCsH,EAAAA,CAAAA,CAAeN,CAAAA,CAAQ,CAAA,EAAK,EAElC3C,CAAAA,CAAM,OAAA,CAAQ,CAAC1I,CAAAA,CAAI6I,KAAU,CACtBkC,CAAAA,CAAS,GAAA,CAAI/K,CAAE,GAClB+K,CAAAA,CAAS,GAAA,CAAI/K,CAAAA,CAAI,CACf,UAAWA,CAAAA,CAAG,KAAA,CAAM,SAAA,CACpB,MAAA,CAAQA,EAAG,KAAA,CAAM,MAAA,CACjB,UAAA,CAAYA,CAAAA,CAAG,MAAM,UACvB,CAAC,EAGH,IAAM4L,CAAAA,CAAQ/C,GAAQ8C,EAAAA,CAChBE,EAAAA,CAAaH,EAAAA,EAAa,EAAA,CAAK,KAAK,GAAA,CAAIE,CAAK,CAAA,CAAI,EAAA,CAAA,CACnDE,GAAI,CAACL,CAAAA,CAAeI,EAAAA,CAAaD,CAAAA,CAAQ,GACzCG,EAAAA,CAAI,CAAA,CACJpK,GAAQ,CAAA,CAAI,IAAA,CAAK,IAAI,GAAA,CAAM,IAAA,CAAK,GAAA,CAAIiK,CAAK,EAAI,IAAK,CAAA,CAClDI,EAAAA,CAAU,CAAA,CACVC,GAAY,EAAA,CAiBhB,GAfIrB,CAAAA,GAAe,cAAA,GACjBkB,GAAI,CAACL,CAAAA,CAAeI,GAAa,IAAA,CAAOD,CAAAA,CAAQ,IAG9ChB,CAAAA,GAAe,iBAAA,GACjBkB,EAAAA,CAAIL,CAAAA,CAAeI,GAAaD,CAAAA,CAAQ,EAAA,CAAA,CAGtChB,CAAAA,GAAe,YAAA,GACjBkB,GAAI,CAACL,CAAAA,CAAeI,EAAAA,CAAa,GAAA,CAAOD,EAAQ,CAAA,CAChDI,EAAAA,CAAU,CAACP,CAAAA,EAAgB,EAAI,IAAA,CAAK,GAAA,CAAIG,CAAK,CAAA,CAAI,GACjDjK,EAAAA,CAAQ,CAAA,CAAI,IAAA,CAAK,GAAA,CAAI,KAAO,IAAA,CAAK,GAAA,CAAIiK,CAAK,CAAA,CAAI,GAAI,CAAA,CAClDK,EAAAA,CAAY,qCAAqCH,EAAAA,CAAE,OAAA,CAAQ,CAAC,CAAC,CAAA,eAAA,EAAkBE,EAAAA,CAAQ,OAAA,CAAQ,CAAC,CAAC,CAAA,WAAA,EAAcrK,EAAAA,CAAM,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,CAAA,CAAA,CAG7HiJ,CAAAA,GAAe,aAAA,CAAe,CAChC,IAAMsB,EAAAA,CAAQ,CAAA,CAAI,IAAA,CAAK,IAAI,CAAA,CAAG,IAAA,CAAK,GAAA,CAAIT,CAAY,CAAC,CAAA,CACpDK,EAAAA,CAAI,CAACL,CAAAA,CAAeI,GAAa,GAAA,CAAOD,CAAAA,CAAQ,CAAA,CAChDG,EAAAA,CAAIH,EAAQM,EAAAA,CAAQ,CAAA,CACpBvK,GAAQ,IAAA,CAAK,GAAA,CAAI,KAAM,IAAA,CAAK,GAAA,CAAI,EAAA,CAAK,EAAA,CAAMuK,IAAS,GAAA,CAAOR,EAAAA,CAAY,GAAA,CAAA,CAAQ,IAAA,CAAK,IAAIE,CAAK,CAAA,CAAI,GAAI,CAAC,EACxG,CAEA5L,CAAAA,CAAG,KAAA,CAAM,UAAA,CAAa,YACtBA,CAAAA,CAAG,KAAA,CAAM,MAAA,CAAS,MAAA,CAAO6I,GAAQ,CAAC,CAAA,CAClC7I,CAAAA,CAAG,KAAA,CAAM,UAAYiM,EAAAA,EAAa,CAAA,YAAA,EAAeF,EAAAA,CAAE,OAAA,CAAQ,CAAC,CAAC,CAAA,IAAA,EAAOD,GAAE,OAAA,CAAQ,CAAC,CAAC,CAAA,aAAA,EAAgBnK,EAAAA,CAAM,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,EAClH,CAAC,CAAA,CAEDuJ,CAAAA,CAAY,WAAW,IAAM,CAC3BxC,CAAAA,CAAM,OAAA,CAAS1I,GAAO,CAAEA,CAAAA,CAAG,MAAM,UAAA,CAAa,OAAO,CAAC,EACxD,CAAA,CAAG,GAAG,EACR,CAEA,SAASmM,CAAAA,EAAW,CACdlB,CAAAA,GACJD,EAAM,qBAAA,CAAsBI,CAAM,CAAA,CAClCH,CAAAA,CAAU,MACZ,CAEA,OAAAH,EAAa,gBAAA,CAAiB,QAAA,CAAUqB,EAAU,CAAE,OAAA,CAAS,IAAK,CAAC,EACnE,MAAA,CAAO,gBAAA,CAAiB,QAAA,CAAUA,CAAAA,CAAU,CAAE,OAAA,CAAS,IAAK,CAAC,CAAA,CAC7DA,GAAS,CAEF,IAAM,CACXrB,CAAAA,CAAa,oBAAoB,QAAA,CAAUqB,CAAQ,CAAA,CACnD,MAAA,CAAO,oBAAoB,QAAA,CAAUA,CAAQ,CAAA,CACzCnB,CAAAA,EAAK,qBAAqBA,CAAG,CAAA,CAC7BE,CAAAA,EAAW,YAAA,CAAaA,CAAS,CAAA,CACrCH,CAAAA,CAAS,QAAQ,CAACqB,CAAAA,CAAQpM,IAAO,CAC/BA,CAAAA,CAAG,KAAA,CAAM,SAAA,CAAYoM,EAAO,SAAA,CAC5BpM,CAAAA,CAAG,KAAA,CAAM,MAAA,CAASoM,EAAO,MAAA,CACzBpM,CAAAA,CAAG,KAAA,CAAM,UAAA,CAAaoM,EAAO,WAC/B,CAAC,EACH,CACF,CAAA,CAAG,CAACtJ,CAAAA,CAAWsE,CAAAA,CAAYzC,CAAAA,CAAiBN,EAAAA,CAAO0C,CAAc,CAAC,CAAA,CAElErH,WAAAA,CAAU,IAAM,CAjrBlB,IAAAgD,CAAAA,CAAAK,CAAAA,CAAA8C,CAAAA,CAkrBI,GAAIuB,CAAAA,CAAW,OAAO,EAAG,CACvB,IAAMiF,EAActF,CAAAA,CAAe,IAAA,CAAKE,CAAAA,EAAMA,CAAAA,CAAG,UAAY,OAAO,CAAA,CAC9DqF,CAAAA,CAAAA,CAAY5J,CAAAA,CAAA2J,GAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAa,SAAA,GAAb,IAAA,CAAA3J,EAA0BI,CAAAA,CAC5C,GAAIqB,EAAAA,CAAoBmI,CAAS,EAAG,OACpCjE,EAAAA,CAAW,OAAO,CAAA,CAClB,MACF,CACA,IAAMR,CAAAA,CAAed,CAAAA,CAAe,KAAKE,CAAAA,EAAMA,CAAAA,CAAG,OAAA,GAAY,QAAQ,EAChE2D,CAAAA,CAAAA,CAAa/E,CAAAA,CAAAA,CAAA9C,EAAA8E,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,EAAc,SAAA,GAAd,IAAA,CAAA9E,CAAAA,CAA2B4B,CAAAA,GAA3B,KAAAkB,CAAAA,CAA8C/C,CAAAA,CAC7DsE,CAAAA,CAAW,QAAQ,GAAKI,EAAAA,EAAU,CAACrD,EAAAA,CAAoByG,CAAU,GAAGvC,EAAAA,CAAW,QAAQ,EAC7F,CAAA,CAAG,CAACvF,EAAWsE,CAAAA,CAAYI,EAAAA,CAAQa,EAAAA,CAAY1D,CAAAA,CAAiBoC,CAAc,CAAC,CAAA,CAE/ErH,WAAAA,CAAU,IAAM,CACT4H,EAAAA,EACLiB,EAAAA,CAAkBjB,EAAAA,CAAW,MAAM,EACrC,CAAA,CAAG,CAACiB,GAAmBjB,EAAU,CAAC,EAElC5H,WAAAA,CAAU,IAAM,IAAM,CACpB+G,GAAe,OAAA,CAAQ,OAAA,CAAS3E,CAAAA,EAAM,YAAA,CAAaA,CAAC,CAAC,CAAA,CACrD2E,EAAAA,CAAe,OAAA,CAAQ,OAAM,CACzBC,CAAAA,CAAY,OAAA,GAAY,IAAA,EAAM,aAAaA,CAAAA,CAAY,OAAO,CAAA,CAClEE,EAAAA,CAAS,QAAU,GACrB,CAAA,CAAG,EAAE,CAAA,CAEL,IAAM2F,EAAAA,CAAsBvF,SAAAA,CAAQ,IAAM,uBAAA,CAA0B,IAAA,CAAK,QAAO,CAAE,QAAA,CAAS,EAAE,CAAA,CAAE,KAAA,CAAM,CAAA,CAAG,CAAC,EAAG,EAAE,CAAA,CAG9G,GADgB9C,GAAmB0D,EAAe,CAAA,CACrC,CACX,IAAM4E,EAAcvI,kBAAAA,CAAM,QAAA,CAAS,OAAA,CAAQD,CAAQ,EAC7CyI,CAAAA,CAAkB,CAAC,GAAGD,CAAAA,CAAa,GAAGA,CAAW,CAAA,CACjDE,CAAAA,CAAU9E,EAAAA,GAAoB,iBAC9B+E,CAAAA,CAAW/E,EAAAA,GAAoB,aAAA,CAC/BgF,CAAAA,CAAW,KAAK,GAAA,CAAIvI,EAAAA,CAAO,CAAC,CAAA,CAC5BwI,CAAAA,CAAW,KAAK,GAAA,CAAI,GAAA,CAAKL,CAAAA,CAAY,MAAA,CAAS,GAAG,CAAA,CACjDM,CAAAA,CAAoB,IAAA,CAAK,KAAA,CAAOD,EAAWD,CAAAA,CAAY,GAAI,CAAA,CAEjE,OAAOG,gBACLzH,EAAAA,CACA,CACE,GAAA,CAAKW,CAAAA,CACL,UAAAV,EAAAA,CACA,KAAA,CAAO,CACL,QAAA,CAAU,WACV,QAAA,CAAU,QAAA,CACV,KAAA,CAAO,MAAA,CACP,GAAIoH,CAAAA,CACA,CAAE,SAAA,CAAW,8EAA+E,EAC5F,IAAA,CACJ,GAAGnJ,EACL,CACF,CAAA,CACAuJ,gBAAc,OAAA,CAAS,CACrB,GAAA,CAAK,8BAAA,CACL,wBAAyB,CACvB,MAAA,CAAQ,CAAA,WAAA,EAAcR,EAAmB,+DAC3C,CACF,CAAC,CAAA,CACDQ,eAAAA,CACE,MACA,CACE,KAAA,CAAO,CACL,OAAA,CAAS,aAAA,CACT,MAAO,aAAA,CACP,GAAA,CAAK,MAAA,CACL,UAAA,CAAY,SACZ,SAAA,CAAWjG,CAAAA,CAAW,OAAA,CAClB,MAAA,CACA,GAAGyF,EAAmB,CAAA,CAAA,EAAIO,CAAiB,CAAA,kBAAA,EAAqBJ,EAAU,UAAA,CAAa,EAAE,GAC7F,UAAA,CAAY5F,CAAAA,CAAW,QAAU,MAAA,CAAY,WAC/C,CACF,CAAA,CACA2F,EAAgB,GAAA,CAAI,CAACtM,CAAAA,CAAO0I,CAAAA,GAC1BkE,gBAAc,KAAA,CAAO,CAAE,GAAA,CAAK,CAAA,GAAA,EAAMlE,CAAK,CAAA,CAAA,CAAI,KAAA,CAAO,CAAE,OAAA,CAAS,cAAe,UAAA,CAAY,QAAS,CAAE,CAAA,CAAG1I,CAAK,CAC7G,CACF,CACF,CACF,CAEA,IAAM6M,EAAAA,CAAkC,EAAC,CACzC3G,EAAO,OAAA,CAASmE,CAAAA,EAAM,CACpBwC,EAAAA,CAAa,IAAA,CACXD,gBAAc,KAAA,CAAO,CACnB,GAAA,CAAK,CAAA,MAAA,EAASvC,EAAE,GAAG,CAAA,CAAA,CACnB,gBAAA,CAAkBA,CAAAA,CAAE,IACpB,kBAAA,CAAoB,MAAA,CACpB,KAAA,CAAO,CACL,SAAU,UAAA,CACV,GAAA,CAAKA,EAAE,GAAA,CACP,IAAA,CAAMA,EAAE,IAAA,CACR,KAAA,CAAOA,CAAAA,CAAE,KAAA,CACT,OAAQA,CAAAA,CAAE,MAAA,CACV,QAAA,CAAU,SAAA,CACV,cAAe,MACjB,CACF,CAAA,CAA2CA,CAAAA,CAAE,OAAO,CACtD,EACF,CAAC,CAAA,CAED,IAAMyC,GAAoC,CACxC,QAAA,CAAU,UAAA,CACV,GAAGzJ,EACL,CAAA,CAEM0J,EAAAA,CAAQjJ,kBAAAA,CAAM,QAAA,CAAS,IAAID,CAAAA,CAAW7D,CAAAA,EAAU,CAzxBxD,IAAAuC,EA0xBI,OAAKuB,kBAAAA,CAAM,cAAA,CAAe9D,CAAK,EACxB4M,eAAAA,CACL,KAAA,CACA,CACE,GAAA,CAAK5M,EAAM,GAAA,CACX,gBAAA,CAAA,CAAkBuC,CAAAA,CAAAvC,CAAAA,CAAM,MAAN,IAAA,CAAAuC,CAAAA,CAAa,EAAA,CAC/B,KAAA,CAAO,CAAE,QAAA,CAAU,SAAU,CAC/B,CAAA,CACAvC,CACF,EATyCA,CAU3C,CAAC,CAAA,CAED,OAAO4M,gBACLzH,EAAAA,CACA,CACE,GAAA,CAAKW,CAAAA,CACL,UAAAV,EAAAA,CACA,KAAA,CAAO0H,EAAAA,CACP,WAAA,CAAa7F,EAAW,OAAO,CAAA,CAAI6B,GAAkB,MAAA,CACrD,YAAA,CAAc7B,EAAW,OAAO,CAAA,CAAI+B,EAAAA,CAAmB,MAAA,CACvD,QAAS/B,CAAAA,CAAW,OAAO,CAAA,CAAIgC,EAAAA,CAAkB,MACnD,CAAA,CACA8D,EAAAA,CACA,GAAGF,EACL,CACF,CAAC,MAGYG,EAAAA,CAAU,CAAE,KAAM3I,EAAY","file":"index.cjs","sourcesContent":["import type { ListAnimationPreset, AnimationDefinition } from \"./types\"\n\nexport const EASE_IN = \"cubic-bezier(0.0, 0.0, 0.2, 1)\"\nexport const EASE_OUT = \"cubic-bezier(0.4, 0.0, 1, 1)\"\nexport const EASE_IN_OUT = \"cubic-bezier(0.4, 0.0, 0.2, 1)\"\nexport const SPRING = \"cubic-bezier(0.34, 1.56, 0.64, 1)\"\nexport const SNAPPY = \"cubic-bezier(0.2, 0, 0, 1)\"\nexport const SMOOTH = \"cubic-bezier(0.22, 1, 0.36, 1)\"\n\nconst SPRING_EASE = SPRING\nconst SMOOTH_EASE = SMOOTH\nconst SNAPPY_EASE = SNAPPY\n\nexport const enterPresets: Record<string, AnimationDefinition> = {\n staggerFadeIn: {\n keyframes: [{ opacity: 0, transform: \"translateY(10px)\", filter: \"blur(2px)\" }, { opacity: 1, transform: \"translateY(0)\", filter: \"blur(0px)\" }],\n options: { duration: 320, easing: SPRING_EASE },\n },\n staggerSlideUp: {\n keyframes: [{ transform: \"translateY(18px)\", opacity: 0, filter: \"blur(2.5px)\" }, { transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" }],\n options: { duration: 340, easing: SPRING_EASE },\n },\n staggerSlideLeft: {\n keyframes: [{ transform: \"translateX(24px)\", opacity: 0, filter: \"blur(2.5px)\" }, { transform: \"translateX(0)\", opacity: 1, filter: \"blur(0px)\" }],\n options: { duration: 340, easing: SPRING_EASE },\n },\n staggerZoomIn: {\n keyframes: [{ transform: \"scale(0.86)\", opacity: 0, filter: \"blur(2px)\" }, { transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" }],\n options: { duration: 360, easing: SPRING_EASE },\n },\n staggerPopIn: {\n keyframes: [\n { transform: \"scale(0.86)\", opacity: 0, filter: \"blur(2px)\" },\n { transform: \"scale(1.05)\", opacity: 1, filter: \"blur(0px)\", offset: 0.48 },\n { transform: \"scale(0.98)\", opacity: 1, filter: \"blur(0px)\", offset: 0.72 },\n { transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" },\n ],\n options: { duration: 380, easing: SPRING_EASE },\n },\n stackIn: {\n keyframes: [{ transform: \"translateY(28px) scale(0.92)\", opacity: 0, filter: \"blur(3px)\" }, { transform: \"translateY(0) scale(1)\", opacity: 1, filter: \"blur(0px)\" }],\n options: { duration: 400, easing: SMOOTH_EASE },\n },\n wordCascade: {\n keyframes: [{ transform: \"translateY(14px)\", opacity: 0, filter: \"blur(2px)\" }, { transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" }],\n options: { duration: 300, easing: SMOOTH_EASE },\n },\n wordWave: {\n keyframes: [\n { transform: \"translateY(0)\", opacity: 0, filter: \"blur(0px)\" },\n { transform: \"translateY(-12px)\", opacity: 1, filter: \"blur(0px)\", offset: 0.4 },\n { transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" },\n ],\n options: { duration: 400, easing: SMOOTH_EASE },\n },\n wordDrop: {\n keyframes: [{ transform: \"translateY(-22px)\", opacity: 0, filter: \"blur(3px)\" }, { transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" }],\n options: { duration: 360, easing: SMOOTH_EASE },\n },\n wordFadeIn: {\n keyframes: [{ opacity: 0, filter: \"blur(2px)\" }, { opacity: 1, filter: \"blur(0px)\" }],\n options: { duration: 280, easing: SMOOTH_EASE },\n },\n\n marquee: { keyframes: [] },\n marqueeReverse: { keyframes: [] },\n marqueeFade: { keyframes: [] },\n\n // ── Scroll-linked collection motion (handled by runtime) ──\n parallax: { keyframes: [] },\n parallaxFast: { keyframes: [] },\n parallaxReverse: { keyframes: [] },\n tiltScroll: { keyframes: [] },\n scaleScroll: { keyframes: [] },\n parallaxStagger: { keyframes: [] },\n\n // ── Presence ──\n itemFadeIn: { keyframes: [{ opacity: 0, filter: \"blur(2px)\" }, { opacity: 1, filter: \"blur(0px)\" }], options: { duration: 250, easing: SPRING_EASE } },\n itemSlideIn: {\n keyframes: [{ transform: \"translateY(14px)\", opacity: 0, filter: \"blur(2px)\" }, { transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" }],\n options: { duration: 280, easing: SPRING_EASE },\n },\n itemPopIn: {\n keyframes: [{ transform: \"scale(0.88)\", opacity: 0, filter: \"blur(2px)\" }, { transform: \"scale(1.04)\", opacity: 1, filter: \"blur(0px)\", offset: 0.6 }, { transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" }],\n options: { duration: 280, easing: SNAPPY_EASE },\n },\n itemBounceIn: {\n keyframes: [\n { transform: \"scale(0.86)\", opacity: 0, filter: \"blur(2px)\" },\n { transform: \"scale(1.08)\", opacity: 1, filter: \"blur(0px)\", offset: 0.46 },\n { transform: \"scale(0.97)\", opacity: 1, filter: \"blur(0px)\", offset: 0.72 },\n { transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" },\n ],\n options: { duration: 350, easing: SPRING_EASE },\n },\n itemFadeOut: { keyframes: [{ opacity: 1, filter: \"blur(0px)\" }, { opacity: 0, filter: \"blur(2px)\" }], options: { duration: 200, easing: EASE_OUT } },\n itemSlideOut: {\n keyframes: [{ transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"translateY(-16px)\", opacity: 0, filter: \"blur(2px)\" }],\n options: { duration: 230, easing: EASE_OUT },\n },\n itemCollapseOut: {\n keyframes: [{ transform: \"scaleY(1)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"scaleY(0)\", opacity: 0, filter: \"blur(2px)\" }],\n options: { duration: 250, easing: EASE_OUT },\n },\n\n // ── Reorder tokens (handled by runtime) ──\n flip: { keyframes: [] },\n smooth: { keyframes: [] },\n spring: { keyframes: [] },\n none: { keyframes: [] },\n}\n\n// Distinct legacy aliases (not references — each has its own identity)\nconst extended: Record<string, AnimationDefinition> = {\n fadeIn: { keyframes: [{ opacity: 0, transform: \"translateY(8px)\", filter: \"blur(2.5px)\" }, { opacity: 1, transform: \"translateY(0)\", filter: \"blur(0px)\" }], options: { duration: 320, easing: SMOOTH_EASE } },\n slideIn: { keyframes: [{ transform: \"translateY(24px)\", opacity: 0, filter: \"blur(3px)\" }, { transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" }], options: { duration: 350, easing: SMOOTH_EASE } },\n slideInLeft: { keyframes: [{ transform: \"translateX(-24px)\", opacity: 0, filter: \"blur(2.5px)\" }, { transform: \"translateX(0)\", opacity: 1, filter: \"blur(0px)\" }], options: { duration: 330, easing: SPRING_EASE } },\n slideInRight:{ keyframes: [{ transform: \"translateX(24px)\", opacity: 0, filter: \"blur(2.5px)\" }, { transform: \"translateX(0)\", opacity: 1, filter: \"blur(0px)\" }], options: { duration: 330, easing: SPRING_EASE } },\n popIn: { keyframes: [{ transform: \"scale(0.88)\", opacity: 0, filter: \"blur(2px)\" }, { transform: \"scale(1.06)\", opacity: 1, filter: \"blur(0px)\", offset: 0.52 }, { transform: \"scale(0.98)\", opacity: 1, filter: \"blur(0px)\", offset: 0.76 }, { transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" }], options: { duration: 360, easing: SPRING_EASE } },\n bounceIn: { keyframes: [{ transform: \"translateY(14px) scale(0.88)\", opacity: 0, filter: \"blur(2px)\" }, { transform: \"translateY(-6px) scale(1.08)\", opacity: 1, filter: \"blur(0px)\", offset: 0.42 }, { transform: \"translateY(2px) scale(0.99)\", opacity: 1, filter: \"blur(0px)\", offset: 0.68 }, { transform: \"translateY(0) scale(1)\", opacity: 1, filter: \"blur(0px)\" }], options: { duration: 380, easing: SPRING_EASE } },\n expandIn: { keyframes: [{ transform: \"scaleY(0.82)\", opacity: 0, filter: \"blur(2px)\" }, { transform: \"scaleY(1)\", opacity: 1, filter: \"blur(0px)\" }], options: { duration: 330, easing: SPRING_EASE } },\n flipIn: { keyframes: [{ transform: \"perspective(800px) rotateX(-80deg)\", opacity: 0, filter: \"blur(3px)\" }, { transform: \"perspective(800px) rotateX(4deg)\", opacity: 1, filter: \"blur(0px)\", offset: 0.72 }, { transform: \"perspective(800px) rotateX(0deg)\", opacity: 1, filter: \"blur(0px)\" }], options: { duration: 420, easing: SMOOTH_EASE } },\n glideIn: { keyframes: [{ transform: \"translateX(-14px)\", opacity: 0, filter: \"blur(2px)\" }, { transform: \"translateX(0)\", opacity: 1, filter: \"blur(0px)\" }], options: { duration: 300, easing: SMOOTH_EASE } },\n fadeOut: { keyframes: [{ opacity: 1, filter: \"blur(0px)\" }, { opacity: 0, filter: \"blur(2px)\" }], options: { duration: 200, easing: EASE_OUT } },\n slideOut: { keyframes: [{ transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"translateY(24px)\", opacity: 0, filter: \"blur(2.5px)\" }], options: { duration: 230, easing: EASE_OUT } },\n slideOutLeft: { keyframes: [{ transform: \"translateX(0)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"translateX(-24px)\", opacity: 0, filter: \"blur(2.5px)\" }], options: { duration: 230, easing: EASE_OUT } },\n slideOutRight:{ keyframes: [{ transform: \"translateX(0)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"translateX(24px)\", opacity: 0, filter: \"blur(2.5px)\" }], options: { duration: 230, easing: EASE_OUT } },\n popOut: { keyframes: [{ transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"scale(1.04)\", opacity: 1, filter: \"blur(0px)\", offset: 0.28 }, { transform: \"scale(0.88)\", opacity: 0, filter: \"blur(2px)\" }], options: { duration: 230, easing: EASE_OUT } },\n bounceOut: { keyframes: [{ transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"translateY(-4px) scale(1.06)\", opacity: 1, filter: \"blur(0px)\", offset: 0.3 }, { transform: \"translateY(0) scale(0.88)\", opacity: 0, filter: \"blur(2px)\" }], options: { duration: 260, easing: EASE_OUT } },\n collapseOut: { keyframes: [{ transform: \"scaleY(1)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"scaleY(0)\", opacity: 0, filter: \"blur(2px)\" }], options: { duration: 250, easing: EASE_OUT } },\n flipOut: { keyframes: [{ transform: \"perspective(800px) rotateX(0deg)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"perspective(800px) rotateX(80deg)\", opacity: 0, filter: \"blur(3px)\" }], options: { duration: 270, easing: EASE_OUT } },\n glideOut: { keyframes: [{ transform: \"translateX(0)\", opacity: 1, filter: \"blur(0px)\" }, { transform: \"translateX(-14px)\", opacity: 0, filter: \"blur(2px)\" }], options: { duration: 220, easing: EASE_OUT } },\n\n staggerBlurIn: {\n keyframes: [\n { filter: 'blur(4px)', opacity: 0 },\n { filter: 'blur(0px)', opacity: 1 },\n ],\n options: { duration: 400, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', fill: 'forwards' },\n },\n feedAppend: {\n keyframes: [\n { transform: 'translateY(20px)', opacity: 0, filter: 'blur(2.5px)' },\n { transform: 'translateY(0)', opacity: 1, filter: 'blur(0px)' },\n ],\n options: { duration: 380, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', fill: 'forwards' },\n },\n filterIn: {\n keyframes: [\n { transform: 'scale(0.82)', opacity: 0, filter: 'blur(2px)' },\n { transform: 'scale(1.04)', opacity: 1, filter: 'blur(0px)', offset: 0.58 },\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n ],\n options: { duration: 340, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', fill: 'forwards' },\n },\n emptyToList: {\n keyframes: [\n { transform: 'translateY(12px)', opacity: 0, filter: 'blur(2px)' },\n { transform: 'translateY(0)', opacity: 1, filter: 'blur(0px)' },\n ],\n options: { duration: 450, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', fill: 'forwards' },\n },\n selectionPulse: {\n keyframes: [\n { boxShadow: '0 0 0 0 rgba(99, 102, 241, 0.4)', transform: 'scale(1)' },\n { boxShadow: '0 0 0 6px rgba(99, 102, 241, 0)', transform: 'scale(1.02)', offset: 0.5 },\n { boxShadow: '0 0 0 0 rgba(99, 102, 241, 0)', transform: 'scale(1)' },\n ],\n options: { duration: 400, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', fill: 'forwards' },\n },\n insertItem: {\n keyframes: [\n { transform: 'translateY(-18px) scale(0.94)', opacity: 0, filter: 'blur(3px)' },\n { transform: 'translateY(0) scale(1.03)', opacity: 1, filter: 'blur(0px)', offset: 0.58 },\n { transform: 'translateY(0) scale(1)', opacity: 1, filter: 'blur(0px)' },\n ],\n options: { duration: 380, easing: 'cubic-bezier(0.34, 1.56, 0.64, 1)', fill: 'forwards' },\n },\n emptyStateToList: {\n keyframes: [\n { transform: 'translateY(24px)', opacity: 0, filter: 'blur(3px)' },\n { transform: 'translateY(0)', opacity: 1, filter: 'blur(0px)' },\n ],\n options: { duration: 550, easing: 'cubic-bezier(0.22, 1, 0.36, 1)', fill: 'forwards' },\n },\n itemSlideOutLeft: {\n keyframes: [\n { transform: 'translateX(0)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateX(-24px)', opacity: 0, filter: 'blur(2.5px)' },\n ],\n options: { duration: 240, easing: 'cubic-bezier(0.4, 0.0, 1, 1)', fill: 'forwards' },\n },\n itemSlideOutRight: {\n keyframes: [\n { transform: 'translateX(0)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateX(24px)', opacity: 0, filter: 'blur(2.5px)' },\n ],\n options: { duration: 240, easing: 'cubic-bezier(0.4, 0.0, 1, 1)', fill: 'forwards' },\n },\n itemScaleOut: {\n keyframes: [\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'scale(0.88)', opacity: 0, filter: 'blur(3px)' },\n ],\n options: { duration: 220, easing: 'cubic-bezier(0.4, 0.0, 1, 1)', fill: 'forwards' },\n },\n itemPopOut: {\n keyframes: [\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'scale(1.04)', opacity: 0.35, filter: 'blur(1px)', offset: 0.28 },\n { transform: 'scale(0.88)', opacity: 0, filter: 'blur(2.5px)' },\n ],\n options: { duration: 240, easing: 'cubic-bezier(0.4, 0.0, 1, 1)', fill: 'forwards' },\n },\n itemBlurOut: {\n keyframes: [\n { filter: 'blur(0)', opacity: 1 },\n { filter: 'blur(4px)', opacity: 0 },\n ],\n options: { duration: 270, easing: 'cubic-bezier(0.4, 0.0, 1, 1)', fill: 'forwards' },\n },\n itemDismissOut: {\n keyframes: [\n { transform: 'translateX(0)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateX(24px)', opacity: 0, filter: 'blur(2.5px)' },\n ],\n options: { duration: 270, easing: 'cubic-bezier(0.4, 0.0, 1, 1)', fill: 'forwards' },\n },\n tagRemove: {\n keyframes: [\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'scale(0.78)', opacity: 0, filter: 'blur(2px)' },\n ],\n options: { duration: 200, easing: 'cubic-bezier(0.4, 0.0, 1, 1)', fill: 'forwards' },\n },\n cardRemove: {\n keyframes: [\n { transform: 'translateY(0) scale(1)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateY(-10px) scale(0.94)', opacity: 0, filter: 'blur(2.5px)' },\n ],\n options: { duration: 260, easing: 'cubic-bezier(0.4, 0.0, 1, 1)', fill: 'forwards' },\n },\n rowCollapseOut: {\n keyframes: [\n { maxHeight: '200px', opacity: 1, marginBottom: '8px', overflow: 'hidden' },\n { maxHeight: '0px', opacity: 0, marginBottom: '0px', overflow: 'hidden', padding: '0 16px' },\n ],\n options: { duration: 280, easing: 'cubic-bezier(0.4, 0.0, 0.2, 1)', fill: 'forwards' },\n },\n}\n\n// Merge enterPresets + extended into a single lookup, typed as the union\nconst merged = { ...enterPresets, ...extended } as Record<string, AnimationDefinition>\nexport const presets = merged as Record<ListAnimationPreset, AnimationDefinition>\n","import { useRef, useEffect } from \"react\"\nimport type { ListDiff } from \"./types\"\n\nexport function useListDiff(keys: (string | number)[]): ListDiff {\n const prevKeysRef = useRef<(string | number)[]>([])\n const prev = prevKeysRef.current\n\n const prevSet = new Set(prev)\n const currSet = new Set(keys)\n\n const added = keys.filter((k) => !prevSet.has(k))\n const removed = prev.filter((k) => !currSet.has(k))\n const stable: (string | number)[] = []\n const reordered: (string | number)[] = []\n\n const prevIndexMap = new Map(prev.map((k, i) => [k, i]))\n keys.forEach((k, i) => {\n if (prevSet.has(k) && currSet.has(k)) {\n if (prevIndexMap.get(k) !== i) reordered.push(k)\n else stable.push(k)\n }\n })\n\n useEffect(() => {\n prevKeysRef.current = keys\n })\n\n return { added, removed, reordered, stable }\n}\n","import { useRef, useCallback } from \"react\"\nimport type { PositionMap } from \"./types\"\n\nexport function usePositionTracker(containerRef: React.RefObject<HTMLElement | null>) {\n const posRef = useRef<PositionMap>(new Map())\n\n const snapshot = useCallback(() => {\n const el = containerRef.current\n if (!el) return\n const map: PositionMap = new Map()\n const containerRect = el.getBoundingClientRect()\n for (const child of el.children) {\n const key = (child as HTMLElement).getAttribute(\"data-trigr-key\")\n if (!key) continue\n const rect = (child as HTMLElement).getBoundingClientRect()\n map.set(key, {\n top: rect.top - containerRect.top - el.clientTop,\n left: rect.left - containerRect.left - el.clientLeft,\n width: rect.width,\n height: rect.height,\n })\n }\n posRef.current = map\n }, [containerRef])\n\n const getPositions = useCallback((): PositionMap => {\n return new Map(posRef.current)\n }, [])\n\n return { snapshot, getPositions }\n}\n","import React, { createElement, forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from \"react\"\nimport type { AnimateListHandle, AnimateListProps, AnimationDefinition, AnimationProperties, GhostEntry, ListAnimationPreset, ListPresetOptions, ListTrigger } from \"./types\"\nimport { EASE_IN, EASE_IN_OUT, EASE_OUT, presets, SPRING } from \"./animations\"\nimport { useListDiff } from \"./useListDiff\"\nimport { usePositionTracker } from \"./usePositionTracker\"\n\nconst warned = new Set<string>()\n\nfunction validDuration(value: unknown, fallback = 300): number {\n const n = Number(value)\n return Number.isFinite(n) && n > 0 ? n : fallback\n}\n\nfunction resolveDef(name: ListAnimationPreset, type: \"enter\" | \"exit\", custom?: AnimateListProps[\"customAnimation\"]): AnimationDefinition {\n if (type === \"enter\" && custom?.enter) return custom.enter\n if (type === \"exit\" && custom?.exit) return custom.exit\n const def = presets[name]\n if (!def) {\n if (!warned.has(name)) {\n warned.add(name)\n const fallback = type === \"enter\" ? \"staggerFadeIn\" : \"itemFadeOut\"\n console.warn(`[trigr/list] Unknown animation \"${name}\", falling back to \"${fallback}\"`)\n }\n return type === \"enter\" ? presets.staggerFadeIn : presets.itemFadeOut\n }\n return def\n}\n\nfunction applyInitialState(el: HTMLElement, keyframes: Keyframe[]) {\n const first = keyframes[0]\n if (!first) return\n if ((first as any).opacity !== undefined) el.style.opacity = String((first as any).opacity)\n if ((first as any).transform !== undefined) el.style.transform = String((first as any).transform)\n if ((first as any).filter !== undefined) el.style.filter = String((first as any).filter)\n}\n\nfunction applyFinalState(el: HTMLElement, keyframes: Keyframe[]) {\n const first = keyframes[0]\n const last = keyframes[keyframes.length - 1]\n if (!last) return\n const hadOpacity = (first as any).opacity !== undefined\n const hadFilter = (first as any).filter !== undefined\n if ((last as any).opacity !== undefined) {\n el.style.opacity = String((last as any).opacity)\n } else if (hadOpacity) {\n el.style.opacity = \"1\"\n }\n if ((last as any).transform !== undefined) el.style.transform = String((last as any).transform)\n if ((last as any).filter !== undefined) {\n el.style.filter = String((last as any).filter)\n } else if (hadFilter) {\n el.style.filter = \"blur(0px)\"\n }\n}\n\nfunction rebaseListKeyframes(keyframes: Keyframe[], options?: ListPresetOptions): Keyframe[] {\n if (!options) return keyframes\n const { distance, scale, blur } = options\n return keyframes.map(kf => {\n let t = (kf as any).transform as string | undefined\n let f = (kf as any).filter as string | undefined\n if (distance !== undefined && t) {\n t = t.replace(/translateY\\((-?\\d+(?:\\.\\d+)?)(px)?\\)/g, (_, val) =>\n `translateY(${Math.round(Number(val) * (distance / 32))}px)`)\n t = t.replace(/translateX\\((-?\\d+(?:\\.\\d+)?)(px)?\\)/g, (_, val) =>\n `translateX(${Math.round(Number(val) * (distance / 32))}px)`)\n }\n if (scale !== undefined && t) {\n t = t.replace(/scale\\((-?[\\d.]+(?:,\\s*-?[\\d.]+)?)\\)/g, `scale(${scale})`)\n }\n if (blur !== undefined && f) {\n f = f.replace(/blur\\((\\d+)px\\)/g, `blur(${blur}px)`)\n }\n return { ...kf, transform: t, filter: f }\n })\n}\n\nfunction runAnimation(el: HTMLElement, def: AnimationDefinition, opts: globalThis.KeyframeAnimationOptions, presetOptions?: ListPresetOptions): Animation {\n el.style.willChange = \"transform, opacity, filter\"\n const rebased = rebaseListKeyframes(def.keyframes, presetOptions)\n const keyframes = reducedMotion()\n ? rebased.map(({ opacity }) => ({ opacity: opacity ?? 1 }))\n : rebased\n const prevOrigin = el.style.transformOrigin\n const hasScaleY = rebased.some((k: any) => k.transform?.includes(\"scaleY\"))\n if (hasScaleY) el.style.transformOrigin = \"top\"\n applyInitialState(el, keyframes)\n const anim = el.animate(keyframes, { ...def.options, ...opts, fill: \"forwards\" })\n const cleanup = () => {\n if (hasScaleY) el.style.transformOrigin = prevOrigin\n }\n anim.addEventListener(\"finish\", () => {\n applyFinalState(el, keyframes)\n el.style.willChange = \"auto\"\n cleanup()\n })\n anim.addEventListener(\"cancel\", () => {\n applyFinalState(el, keyframes)\n el.style.willChange = \"auto\"\n cleanup()\n })\n return anim\n}\n\nfunction cancelElementAnimations(el: HTMLElement) {\n el.getAnimations({ subtree: true }).forEach((animation) => animation.cancel())\n}\n\nfunction reducedMotion(): boolean {\n if (typeof window === \"undefined\") return false\n return window.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches ?? false\n}\n\nfunction runPropertyAnimation(\n el: HTMLElement,\n properties: AnimationProperties | undefined,\n options: KeyframeAnimationOptions,\n): Animation | null {\n if (!properties || Object.keys(properties).length === 0) return null\n const from: Keyframe = {}\n const to: Keyframe = {}\n for (const [property, pair] of Object.entries(properties)) {\n from[property as keyof Keyframe] = pair[0] as any\n to[property as keyof Keyframe] = pair[1] as any\n }\n // Apply initial from-styles inline to prevent flash on cancel/restart\n for (const [property, value] of Object.entries(from)) {\n ;(el.style as any)[property] = value\n }\n const anim = el.animate([from, to], { ...options, fill: \"forwards\" })\n anim.addEventListener(\"finish\", () => {\n for (const [property, pair] of Object.entries(properties)) {\n ;(el.style as any)[property] = String(pair[1])\n }\n })\n anim.addEventListener(\"cancel\", () => {\n for (const [property, value] of Object.entries(from)) {\n ;(el.style as any)[property] = value\n }\n })\n return anim\n}\n\nfunction getScrollRoot(el: HTMLElement): HTMLElement | null {\n let parent = el.parentElement\n while (parent && parent !== document.body && parent !== document.documentElement) {\n const style = getComputedStyle(parent)\n if (/(auto|scroll|overlay)/.test(`${style.overflowY}${style.overflow}`) && parent.scrollHeight > parent.clientHeight) {\n return parent\n }\n parent = parent.parentElement\n }\n return null\n}\n\nfunction scrollObserverOptions(el: HTMLElement, threshold: number): IntersectionObserverInit {\n const root = getScrollRoot(el)\n const rootHeight = root?.clientHeight ?? window.innerHeight\n const clamped = Math.min(0.95, Math.max(0.05, threshold))\n const inset = Math.round(rootHeight * Math.min(0.48, clamped / 2))\n return {\n root,\n rootMargin: `-${inset}px 0px -${inset}px 0px`,\n threshold: 0,\n }\n}\n\nfunction getKeys(children: React.ReactNode): (string | number)[] {\n const keys: (string | number)[] = []\n React.Children.forEach(children, (child) => {\n if (React.isValidElement(child) && child.key != null) keys.push(child.key)\n })\n return keys\n}\n\nfunction isMarqueeAnimation(name: ListAnimationPreset): boolean {\n return name === \"marquee\" || name === \"marqueeReverse\" || name === \"marqueeFade\"\n}\n\nfunction isParallaxAnimation(name: ListAnimationPreset): boolean {\n return name === \"parallax\"\n || name === \"parallaxFast\"\n || name === \"parallaxReverse\"\n || name === \"tiltScroll\"\n || name === \"scaleScroll\"\n || name === \"parallaxStagger\"\n}\n\nfunction normalizeParallaxSpeed(speed: number): number {\n if (!Number.isFinite(speed)) return 0.5\n return Math.min(1.5, Math.max(0.05, speed))\n}\n\nfunction closestItem(el: HTMLElement, root: HTMLElement): HTMLElement | null {\n return el.closest(\"[data-trigr-key]\") as HTMLElement | null\n}\n\nfunction getItemKey(el: HTMLElement): string | null {\n return el.getAttribute(\"data-trigr-key\")\n}\n\nconst AnimateList = forwardRef<AnimateListHandle, AnimateListProps>(function AnimateList({\n triggers: triggersProp,\n animation = \"staggerFadeIn\",\n scrollAnimation,\n properties,\n exitAnimation = \"itemFadeOut\",\n reorderAnimation = \"flip\",\n reorder = \"flip\",\n duration = 300,\n reorderDuration = 250,\n stagger = 60,\n exitStagger = 0,\n speed = 50,\n trigger = \"mount\",\n threshold = 0.4,\n easing = EASE_IN,\n reorderEasing = EASE_IN_OUT,\n as = \"div\",\n className,\n style,\n onItemEnter,\n onItemExit,\n onReorder,\n presetOptions,\n children,\n customAnimation,\n}, ref) {\n const rootRef = useRef<HTMLElement>(null)\n const currentKeys = getKeys(children)\n const diff = useListDiff(currentKeys)\n const { snapshot, getPositions } = usePositionTracker(rootRef)\n const prevChildrenRef = useRef<React.ReactNode>(children)\n const [ghosts, setGhosts] = useState<Map<string | number, GhostEntry>>(new Map())\n const ghostAnimatedRef = useRef<Set<string | number>>(new Set())\n const ghostTimersRef = useRef<Map<string | number, ReturnType<typeof setTimeout>>>(new Map())\n const runTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const runningRef = useRef(false)\n const queueRef = useRef<ListTrigger[]>([])\n const runIdRef = useRef(0)\n const reducedRef = useRef(false)\n const triggerConfigs = useMemo(() => {\n if (triggersProp) {\n return triggersProp.map(tc => ({\n trigger: tc.trigger as ListTrigger,\n animation: tc.animation as ListAnimationPreset,\n threshold: tc.threshold ?? threshold,\n }))\n }\n const sources = (Array.isArray(trigger) ? trigger.slice(0, 2) : [trigger]) as ListTrigger[]\n return sources.map(s => ({\n trigger: s,\n animation: s === \"scroll\" && scrollAnimation ? scrollAnimation : animation,\n threshold,\n }))\n }, [triggersProp, trigger, animation, scrollAnimation, threshold])\n\n const triggerSources = useMemo(\n () => triggerConfigs.map(tc => tc.trigger),\n [triggerConfigs]\n )\n\n const hasTrigger = useCallback((source: ListTrigger) => triggerSources.includes(source), [triggerSources])\n const [currentRun, setCurrentRun] = useState<{ id: number; source: ListTrigger } | null>(null)\n const [inView, setInView] = useState(!hasTrigger(\"scroll\"))\n const activeTrigger = currentRun?.source ?? triggerSources[0] ?? \"mount\"\n const activeConfig = triggerConfigs.find(tc => tc.trigger === activeTrigger)\n const activeAnimation = activeConfig?.animation ?? animation\n const scrollConfig = triggerConfigs.find(tc => tc.trigger === \"scroll\")\n const scrollThreshold = scrollConfig?.threshold ?? threshold\n\n if (typeof window !== \"undefined\") {\n reducedRef.current = window.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches ?? false\n }\n\n useEffect(() => {\n setInView(!hasTrigger(\"scroll\"))\n }, [hasTrigger])\n\n useEffect(() => {\n if (!hasTrigger(\"scroll\")) return\n const node = rootRef.current\n if (!node) return\n const observer = new IntersectionObserver(\n (entries) => {\n for (const entry of entries) {\n if (entry.target !== node) continue\n setInView(entry.isIntersecting)\n }\n },\n scrollObserverOptions(node, scrollThreshold),\n )\n observer.observe(node)\n return () => observer.disconnect()\n }, [hasTrigger, scrollThreshold])\n\n const finishRun = useCallback(() => {\n if (runTimerRef.current !== null) {\n clearTimeout(runTimerRef.current)\n runTimerRef.current = null\n }\n runningRef.current = false\n const next = queueRef.current.shift()\n if (next) {\n runningRef.current = true\n setCurrentRun({ id: ++runIdRef.current, source: next })\n } else {\n setCurrentRun(null)\n }\n }, [])\n\n const requestRun = useCallback((source: ListTrigger) => {\n if (runningRef.current) {\n if (source !== \"scroll\") queueRef.current = [...queueRef.current, source].slice(-2)\n return\n }\n runningRef.current = true\n setCurrentRun({ id: ++runIdRef.current, source })\n }, [])\n\n const reorderMode = reorderAnimation ?? reorder\n\n const animateCollection = useCallback((source: ListTrigger = activeTrigger) => {\n const root = rootRef.current\n if (!root) {\n finishRun()\n return\n }\n if (reducedRef.current) {\n finishRun()\n return\n }\n const sourceConfig = triggerConfigs.find(tc => tc.trigger === source)\n const selectedAnimation = sourceConfig?.animation ?? animation\n if (isParallaxAnimation(selectedAnimation) || isMarqueeAnimation(selectedAnimation)) {\n finishRun()\n return\n }\n const def = resolveDef(selectedAnimation, \"enter\", customAnimation)\n const nodes = Array.from(root.querySelectorAll<HTMLElement>(\"[data-trigr-key]\"))\n if (nodes.length === 0) {\n finishRun()\n return\n }\n if (runTimerRef.current !== null) {\n clearTimeout(runTimerRef.current)\n runTimerRef.current = null\n }\n const resolvedDuration = reducedRef.current\n ? validDuration(duration, 300) / 2\n : validDuration(def.options?.duration ?? duration, 300)\n const effectiveStagger = presetOptions?.stagger ?? stagger\n nodes.forEach((el, index) => {\n cancelElementAnimations(el)\n runAnimation(el, def, {\n duration: resolvedDuration,\n easing: def.options?.easing ?? easing,\n delay: index * effectiveStagger,\n fill: \"forwards\",\n }, presetOptions)\n runPropertyAnimation(el, properties, {\n duration: resolvedDuration,\n easing,\n delay: index * effectiveStagger,\n })\n })\n runTimerRef.current = setTimeout(finishRun, resolvedDuration + Math.max(0, nodes.length - 1) * effectiveStagger + 80)\n }, [activeTrigger, animation, customAnimation, duration, easing, finishRun, properties, triggerConfigs, stagger])\n\n const hoveredKeyRef = useRef<string | number | null>(null)\n\n const runSingleItem = useCallback((key: string | number, source?: ListTrigger) => {\n const root = rootRef.current\n if (!root || reducedRef.current) return\n const el = root.querySelector(`[data-trigr-key=\"${key}\"]`) as HTMLElement | null\n if (!el) return\n cancelElementAnimations(el)\n const sourceConfig = source ? triggerConfigs.find(tc => tc.trigger === source) : undefined\n const anim = sourceConfig?.animation ?? animation\n const def = resolveDef(anim, \"enter\", customAnimation)\n const dur = reducedRef.current ? validDuration(duration, 300) / 2 : validDuration(duration, 300)\n runAnimation(el, def, {\n duration: dur,\n easing: def.options?.easing ?? easing,\n fill: \"forwards\",\n }, presetOptions)\n runPropertyAnimation(el, properties, { duration: dur, easing })\n }, [animation, duration, easing, customAnimation, properties, triggerConfigs])\n\n const handleMouseOver = useCallback((e: React.MouseEvent) => {\n if (!hasTrigger(\"hover\")) return\n if (runningRef.current) return\n const root = rootRef.current\n if (!root) return\n const target = closestItem(e.target as HTMLElement, root)\n if (!target) return\n const key = getItemKey(target)\n if (key == null || key === hoveredKeyRef.current) return\n hoveredKeyRef.current = key\n runSingleItem(key, \"hover\")\n }, [hasTrigger, runSingleItem])\n\n const handleMouseLeave = useCallback(() => {\n hoveredKeyRef.current = null\n }, [])\n\n const handleItemClick = useCallback((e: React.MouseEvent) => {\n if (!hasTrigger(\"click\")) return\n if (runningRef.current) return\n const root = rootRef.current\n if (!root) return\n const target = closestItem(e.target as HTMLElement, root)\n if (!target) return\n const key = getItemKey(target)\n if (key == null) return\n runSingleItem(key, \"click\")\n }, [hasTrigger, runSingleItem])\n\n useImperativeHandle(ref, () => ({ animate: () => requestRun(\"manual\") }), [requestRun])\n\n const reorderEasings: Record<string, string> = {\n flip: EASE_IN_OUT,\n smooth: EASE_IN_OUT,\n spring: SPRING,\n none: EASE_IN_OUT,\n }\n\n useEffect(() => {\n const root = rootRef.current\n if (!root) return\n const dur = duration\n const rDur = reorderDuration\n\n if (reducedRef.current) {\n if (diff.removed.length > 0) diff.removed.forEach((key) => onItemExit?.(key))\n if (diff.added.length > 0) diff.added.forEach((key) => onItemEnter?.(key))\n prevChildrenRef.current = children\n return\n }\n\n const getEl = (key: string | number): HTMLElement | null =>\n root.querySelector(`[data-trigr-key=\"${key}\"]`) as HTMLElement | null\n\n const rootRect = root.getBoundingClientRect()\n const readPositions = () => {\n const map = new Map<string | number, { top: number; left: number; width: number; height: number }>()\n for (const child of root.children) {\n const k = (child as HTMLElement).getAttribute(\"data-trigr-key\")\n if (!k) continue\n const rect = (child as HTMLElement).getBoundingClientRect()\n map.set(k, {\n top: rect.top - rootRect.top,\n left: rect.left - rootRect.left,\n width: rect.width,\n height: rect.height,\n })\n }\n return map\n }\n\n const oldPositions = getPositions()\n\n if (diff.reordered.length > 0 && reorderMode !== \"none\") {\n const newPositions = readPositions()\n const rEasing = reorderEasings[reorderMode] ?? reorderEasing\n for (const key of diff.reordered) {\n const old = oldPositions.get(key)\n const now = newPositions.get(key)\n if (!old || !now) continue\n const deltaX = old.left - now.left\n const deltaY = old.top - now.top\n if (deltaX === 0 && deltaY === 0) continue\n const el = getEl(key)\n if (!el) continue\n el.style.zIndex = \"1\"\n el.style.willChange = \"transform\"\n el.style.transform = `translate(${deltaX}px, ${deltaY}px)`\n el.getBoundingClientRect()\n const anim = el.animate(\n [{ transform: `translate(${deltaX}px, ${deltaY}px)` }, { transform: \"translate(0, 0)\" }],\n { duration: rDur, easing: rEasing, fill: \"forwards\" },\n )\n anim.onfinish = () => {\n el.style.zIndex = \"\"\n el.style.willChange = \"auto\"\n }\n anim.oncancel = () => {\n el.style.zIndex = \"\"\n el.style.willChange = \"auto\"\n el.style.transform = \"\"\n }\n el.style.transform = \"\"\n }\n onReorder?.()\n }\n\n if (diff.added.length > 0) {\n const def = resolveDef(activeAnimation, \"enter\", customAnimation)\n diff.added.forEach((key, i) => {\n const el = getEl(key)\n if (el) {\n runAnimation(el, def, {\n duration: dur,\n easing: def.options?.easing ?? easing,\n delay: i * (presetOptions?.stagger ?? stagger),\n fill: \"forwards\",\n }, presetOptions)\n runPropertyAnimation(el, properties, {\n duration: dur,\n easing,\n delay: i * (presetOptions?.stagger ?? stagger),\n })\n }\n onItemEnter?.(key)\n })\n }\n\n if (diff.removed.length > 0) {\n const prevArr = React.Children.toArray(prevChildrenRef.current)\n const newGhosts = new Map(ghosts)\n diff.removed.forEach((key) => {\n if (ghosts.has(key)) return\n const element = prevArr.find((c) => React.isValidElement(c) && c.key === key)\n const pos = oldPositions.get(key)\n if (element && pos) newGhosts.set(key, { key, element, ...pos })\n })\n if (newGhosts.size !== ghosts.size) setGhosts(newGhosts)\n }\n\n prevChildrenRef.current = children\n snapshot()\n }, [diff, children, activeAnimation, exitAnimation, duration, reorderDuration, stagger, exitStagger, reorderMode, reorderEasing, properties])\n\n useEffect(() => {\n if (reducedRef.current) return\n const root = rootRef.current\n if (!root || ghosts.size === 0) return\n const def = resolveDef(exitAnimation, \"exit\", customAnimation)\n\n const unanimated: [string | number, GhostEntry][] = []\n ghosts.forEach((g, key) => {\n if (!ghostAnimatedRef.current.has(key)) unanimated.push([key, g])\n })\n if (unanimated.length === 0) return\n\n unanimated.forEach(([key], idx) => {\n ghostAnimatedRef.current.add(key)\n const timer = setTimeout(() => {\n setGhosts((prev) => {\n const next = new Map(prev)\n next.delete(key)\n return next\n })\n ghostAnimatedRef.current.delete(key)\n ghostTimersRef.current.delete(key)\n }, validDuration(duration, 300) + idx * exitStagger)\n ghostTimersRef.current.set(key, timer)\n\n const el = root.querySelector(`[data-trigr-key=\"${key}\"]:not([data-trigr-ghost])`) as HTMLElement | null\n if (el) {\n el.getAnimations().forEach((a) => a.cancel())\n runAnimation(el, def, {\n duration,\n easing: def.options?.easing ?? EASE_OUT,\n delay: idx * exitStagger,\n fill: \"forwards\",\n }, presetOptions)\n }\n onItemExit?.(key)\n })\n }, [ghosts, exitAnimation, duration, exitStagger, customAnimation])\n\n useEffect(() => {\n const scrollConfig = triggerConfigs.find(tc => tc.trigger === \"scroll\")\n const scrollName = scrollConfig?.animation ?? scrollAnimation ?? animation\n if (!hasTrigger(\"scroll\") || !isParallaxAnimation(scrollName)) return\n const root = rootRef.current\n if (!root || reducedRef.current) return\n\n const scrollRoot = getScrollRoot(root)\n const scrollTarget: HTMLElement | Window = scrollRoot ?? window\n const previous = new Map<HTMLElement, { transform: string; zIndex: string; willChange: string }>()\n let raf = 0\n let ticking = false\n let idleTimer: ReturnType<typeof setTimeout> | null = null\n\n function viewport() {\n if (scrollRoot) {\n const rect = scrollRoot.getBoundingClientRect()\n return { top: rect.top, height: scrollRoot.clientHeight }\n }\n return { top: 0, height: window.innerHeight }\n }\n\n function children() {\n return Array.from(root!.children).filter((child): child is HTMLElement =>\n child instanceof HTMLElement && child.hasAttribute(\"data-trigr-key\"),\n )\n }\n\n function update() {\n ticking = false\n if (!root) return\n if (idleTimer) clearTimeout(idleTimer)\n const nodes = children()\n const count = nodes.length\n if (count === 0) return\n\n const rootRect = root.getBoundingClientRect()\n const view = viewport()\n const viewCenter = view.top + view.height / 2\n const rootCenter = rootRect.top + rootRect.height / 2\n const rawCenterOffset = (rootCenter - viewCenter) / Math.max(view.height, 1)\n const centerOffset = Math.max(-1.25, Math.min(1.25, rawCenterOffset))\n const baseSpeed = normalizeParallaxSpeed(speed)\n const centerIndex = (count - 1) / 2\n\n nodes.forEach((el, index) => {\n if (!previous.has(el)) {\n previous.set(el, {\n transform: el.style.transform,\n zIndex: el.style.zIndex,\n willChange: el.style.willChange,\n })\n }\n\n const depth = index - centerIndex\n const layerSpeed = baseSpeed * (44 + Math.abs(depth) * 18)\n let y = -centerOffset * layerSpeed + depth * 10\n let x = 0\n let scale = 1 - Math.min(0.04, Math.abs(depth) * 0.012)\n let rotateX = 0\n let transform = \"\"\n\n if (scrollName === \"parallaxFast\") {\n y = -centerOffset * layerSpeed * 1.45 + depth * 12\n }\n\n if (scrollName === \"parallaxReverse\") {\n y = centerOffset * layerSpeed + depth * 10\n }\n\n if (scrollName === \"tiltScroll\") {\n y = -centerOffset * layerSpeed * 0.62 + depth * 8\n rotateX = -centerOffset * (7 + Math.abs(depth) * 2)\n scale = 1 - Math.min(0.035, Math.abs(depth) * 0.01)\n transform = `perspective(720px) translate3d(0, ${y.toFixed(2)}px, 0) rotateX(${rotateX.toFixed(2)}deg) scale(${scale.toFixed(3)})`\n }\n\n if (scrollName === \"scaleScroll\") {\n const focus = 1 - Math.min(1, Math.abs(centerOffset))\n y = -centerOffset * layerSpeed * 0.28 + depth * 8\n x = depth * focus * 5\n scale = Math.min(1.12, Math.max(0.9, 0.9 + focus * (0.18 + baseSpeed * 0.08) - Math.abs(depth) * 0.01))\n }\n\n el.style.willChange = \"transform\"\n el.style.zIndex = String(index + 1)\n el.style.transform = transform || `translate3d(${x.toFixed(2)}px, ${y.toFixed(2)}px, 0) scale(${scale.toFixed(3)})`\n })\n\n idleTimer = setTimeout(() => {\n nodes.forEach((el) => { el.style.willChange = \"auto\" })\n }, 300)\n }\n\n function onScroll() {\n if (ticking) return\n raf = requestAnimationFrame(update)\n ticking = true\n }\n\n scrollTarget.addEventListener(\"scroll\", onScroll, { passive: true })\n window.addEventListener(\"resize\", onScroll, { passive: true })\n onScroll()\n\n return () => {\n scrollTarget.removeEventListener(\"scroll\", onScroll)\n window.removeEventListener(\"resize\", onScroll)\n if (raf) cancelAnimationFrame(raf)\n if (idleTimer) clearTimeout(idleTimer)\n previous.forEach((styles, el) => {\n el.style.transform = styles.transform\n el.style.zIndex = styles.zIndex\n el.style.willChange = styles.willChange\n })\n }\n }, [animation, hasTrigger, scrollAnimation, speed, triggerConfigs])\n\n useEffect(() => {\n if (hasTrigger(\"mount\")) {\n const mountConfig = triggerConfigs.find(tc => tc.trigger === \"mount\")\n const mountAnim = mountConfig?.animation ?? animation\n if (isParallaxAnimation(mountAnim)) return\n requestRun(\"mount\")\n return\n }\n const scrollConfig = triggerConfigs.find(tc => tc.trigger === \"scroll\")\n const scrollName = scrollConfig?.animation ?? scrollAnimation ?? animation\n if (hasTrigger(\"scroll\") && inView && !isParallaxAnimation(scrollName)) requestRun(\"scroll\")\n }, [animation, hasTrigger, inView, requestRun, scrollAnimation, triggerConfigs])\n\n useEffect(() => {\n if (!currentRun) return\n animateCollection(currentRun.source)\n }, [animateCollection, currentRun])\n\n useEffect(() => () => {\n ghostTimersRef.current.forEach((t) => clearTimeout(t))\n ghostTimersRef.current.clear()\n if (runTimerRef.current !== null) clearTimeout(runTimerRef.current)\n queueRef.current = []\n }, [])\n\n const marqueeKeyframeName = useMemo(() => 'trigr-list-marquee-x-' + Math.random().toString(36).slice(2, 8), [])\n\n const marquee = isMarqueeAnimation(activeAnimation)\n if (marquee) {\n const childrenArr = React.Children.toArray(children)\n const marqueeChildren = [...childrenArr, ...childrenArr]\n const reverse = activeAnimation === \"marqueeReverse\"\n const fadeMask = activeAnimation === \"marqueeFade\"\n const pxPerSec = Math.max(speed, 1)\n const travelPx = Math.max(800, childrenArr.length * 180)\n const marqueeDurationMs = Math.round((travelPx / pxPerSec) * 1000)\n\n return createElement(\n as,\n {\n ref: rootRef,\n className,\n style: {\n position: \"relative\",\n overflow: \"hidden\",\n width: \"100%\",\n ...(fadeMask\n ? { maskImage: \"linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%)\" }\n : null),\n ...style,\n },\n },\n createElement(\"style\", {\n key: \"trigr-list-marquee-keyframes\",\n dangerouslySetInnerHTML: {\n __html: `@keyframes ${marqueeKeyframeName}{from{transform:translateX(0)}to{transform:translateX(-50%)}}`,\n },\n }),\n createElement(\n \"div\",\n {\n style: {\n display: \"inline-flex\",\n width: \"max-content\",\n gap: \"1rem\",\n whiteSpace: \"nowrap\",\n animation: reducedRef.current\n ? undefined\n : `${marqueeKeyframeName} ${marqueeDurationMs}ms linear infinite${reverse ? \" reverse\" : \"\"}`,\n willChange: reducedRef.current ? undefined : \"transform\",\n },\n },\n marqueeChildren.map((child, index) =>\n createElement(\"div\", { key: `mq-${index}`, style: { display: \"inline-flex\", alignItems: \"center\" } }, child),\n ),\n ),\n )\n }\n\n const ghostEntries: React.ReactNode[] = []\n ghosts.forEach((g) => {\n ghostEntries.push(\n createElement(\"div\", {\n key: `ghost-${g.key}`,\n \"data-trigr-key\": g.key,\n \"data-trigr-ghost\": \"true\",\n style: {\n position: \"absolute\",\n top: g.top,\n left: g.left,\n width: g.width,\n height: g.height,\n overflow: \"visible\",\n pointerEvents: \"none\",\n },\n } as React.HTMLAttributes<HTMLDivElement>, g.element),\n )\n })\n\n const wrapperStyle: React.CSSProperties = {\n position: \"relative\",\n ...style,\n }\n\n const items = React.Children.map(children, (child) => {\n if (!React.isValidElement(child)) return child\n return createElement(\n \"div\",\n {\n key: child.key,\n \"data-trigr-key\": child.key ?? \"\",\n style: { overflow: \"visible\" },\n } as React.HTMLAttributes<HTMLDivElement>,\n child,\n )\n })\n\n return createElement(\n as,\n {\n ref: rootRef,\n className,\n style: wrapperStyle,\n onMouseOver: hasTrigger(\"hover\") ? handleMouseOver : undefined,\n onMouseLeave: hasTrigger(\"hover\") ? handleMouseLeave : undefined,\n onClick: hasTrigger(\"click\") ? handleItemClick : undefined,\n },\n items,\n ...ghostEntries,\n )\n})\n\nexport { AnimateList }\nexport const Animate = { List: AnimateList }\n"]}
@@ -0,0 +1,10 @@
1
+ import react__default from 'react';
2
+ import { a as AnimateListProps, A as AnimateListHandle } from '../types-BuzDNWZT.mjs';
3
+
4
+ declare const AnimateList: react__default.ForwardRefExoticComponent<AnimateListProps & react__default.RefAttributes<AnimateListHandle>>;
5
+
6
+ declare const Animate: {
7
+ List: react__default.ForwardRefExoticComponent<AnimateListProps & react__default.RefAttributes<AnimateListHandle>>;
8
+ };
9
+
10
+ export { Animate, AnimateList };
@@ -0,0 +1,10 @@
1
+ import react__default from 'react';
2
+ import { a as AnimateListProps, A as AnimateListHandle } from '../types-BuzDNWZT.js';
3
+
4
+ declare const AnimateList: react__default.ForwardRefExoticComponent<AnimateListProps & react__default.RefAttributes<AnimateListHandle>>;
5
+
6
+ declare const Animate: {
7
+ List: react__default.ForwardRefExoticComponent<AnimateListProps & react__default.RefAttributes<AnimateListHandle>>;
8
+ };
9
+
10
+ export { Animate, AnimateList };
@@ -0,0 +1,2 @@
1
+ import W,{forwardRef,useRef,useState,useMemo,useCallback,useEffect,useImperativeHandle,createElement}from'react';var ie="cubic-bezier(0.0, 0.0, 0.2, 1)",S="cubic-bezier(0.4, 0.0, 1, 1)",st="cubic-bezier(0.4, 0.0, 0.2, 1)",At="cubic-bezier(0.34, 1.56, 0.64, 1)",Ye="cubic-bezier(0.2, 0, 0, 1)",Ae="cubic-bezier(0.22, 1, 0.36, 1)",A=At,D=Ae,He=Ye,Pe={staggerFadeIn:{keyframes:[{opacity:0,transform:"translateY(10px)",filter:"blur(2px)"},{opacity:1,transform:"translateY(0)",filter:"blur(0px)"}],options:{duration:320,easing:A}},staggerSlideUp:{keyframes:[{transform:"translateY(18px)",opacity:0,filter:"blur(2.5px)"},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],options:{duration:340,easing:A}},staggerSlideLeft:{keyframes:[{transform:"translateX(24px)",opacity:0,filter:"blur(2.5px)"},{transform:"translateX(0)",opacity:1,filter:"blur(0px)"}],options:{duration:340,easing:A}},staggerZoomIn:{keyframes:[{transform:"scale(0.86)",opacity:0,filter:"blur(2px)"},{transform:"scale(1)",opacity:1,filter:"blur(0px)"}],options:{duration:360,easing:A}},staggerPopIn:{keyframes:[{transform:"scale(0.86)",opacity:0,filter:"blur(2px)"},{transform:"scale(1.05)",opacity:1,filter:"blur(0px)",offset:.48},{transform:"scale(0.98)",opacity:1,filter:"blur(0px)",offset:.72},{transform:"scale(1)",opacity:1,filter:"blur(0px)"}],options:{duration:380,easing:A}},stackIn:{keyframes:[{transform:"translateY(28px) scale(0.92)",opacity:0,filter:"blur(3px)"},{transform:"translateY(0) scale(1)",opacity:1,filter:"blur(0px)"}],options:{duration:400,easing:D}},wordCascade:{keyframes:[{transform:"translateY(14px)",opacity:0,filter:"blur(2px)"},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],options:{duration:300,easing:D}},wordWave:{keyframes:[{transform:"translateY(0)",opacity:0,filter:"blur(0px)"},{transform:"translateY(-12px)",opacity:1,filter:"blur(0px)",offset:.4},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],options:{duration:400,easing:D}},wordDrop:{keyframes:[{transform:"translateY(-22px)",opacity:0,filter:"blur(3px)"},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],options:{duration:360,easing:D}},wordFadeIn:{keyframes:[{opacity:0,filter:"blur(2px)"},{opacity:1,filter:"blur(0px)"}],options:{duration:280,easing:D}},marquee:{keyframes:[]},marqueeReverse:{keyframes:[]},marqueeFade:{keyframes:[]},parallax:{keyframes:[]},parallaxFast:{keyframes:[]},parallaxReverse:{keyframes:[]},tiltScroll:{keyframes:[]},scaleScroll:{keyframes:[]},parallaxStagger:{keyframes:[]},itemFadeIn:{keyframes:[{opacity:0,filter:"blur(2px)"},{opacity:1,filter:"blur(0px)"}],options:{duration:250,easing:A}},itemSlideIn:{keyframes:[{transform:"translateY(14px)",opacity:0,filter:"blur(2px)"},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],options:{duration:280,easing:A}},itemPopIn:{keyframes:[{transform:"scale(0.88)",opacity:0,filter:"blur(2px)"},{transform:"scale(1.04)",opacity:1,filter:"blur(0px)",offset:.6},{transform:"scale(1)",opacity:1,filter:"blur(0px)"}],options:{duration:280,easing:He}},itemBounceIn:{keyframes:[{transform:"scale(0.86)",opacity:0,filter:"blur(2px)"},{transform:"scale(1.08)",opacity:1,filter:"blur(0px)",offset:.46},{transform:"scale(0.97)",opacity:1,filter:"blur(0px)",offset:.72},{transform:"scale(1)",opacity:1,filter:"blur(0px)"}],options:{duration:350,easing:A}},itemFadeOut:{keyframes:[{opacity:1,filter:"blur(0px)"},{opacity:0,filter:"blur(2px)"}],options:{duration:200,easing:S}},itemSlideOut:{keyframes:[{transform:"translateY(0)",opacity:1,filter:"blur(0px)"},{transform:"translateY(-16px)",opacity:0,filter:"blur(2px)"}],options:{duration:230,easing:S}},itemCollapseOut:{keyframes:[{transform:"scaleY(1)",opacity:1,filter:"blur(0px)"},{transform:"scaleY(0)",opacity:0,filter:"blur(2px)"}],options:{duration:250,easing:S}},flip:{keyframes:[]},smooth:{keyframes:[]},spring:{keyframes:[]},none:{keyframes:[]}},Ie={fadeIn:{keyframes:[{opacity:0,transform:"translateY(8px)",filter:"blur(2.5px)"},{opacity:1,transform:"translateY(0)",filter:"blur(0px)"}],options:{duration:320,easing:D}},slideIn:{keyframes:[{transform:"translateY(24px)",opacity:0,filter:"blur(3px)"},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],options:{duration:350,easing:D}},slideInLeft:{keyframes:[{transform:"translateX(-24px)",opacity:0,filter:"blur(2.5px)"},{transform:"translateX(0)",opacity:1,filter:"blur(0px)"}],options:{duration:330,easing:A}},slideInRight:{keyframes:[{transform:"translateX(24px)",opacity:0,filter:"blur(2.5px)"},{transform:"translateX(0)",opacity:1,filter:"blur(0px)"}],options:{duration:330,easing:A}},popIn:{keyframes:[{transform:"scale(0.88)",opacity:0,filter:"blur(2px)"},{transform:"scale(1.06)",opacity:1,filter:"blur(0px)",offset:.52},{transform:"scale(0.98)",opacity:1,filter:"blur(0px)",offset:.76},{transform:"scale(1)",opacity:1,filter:"blur(0px)"}],options:{duration:360,easing:A}},bounceIn:{keyframes:[{transform:"translateY(14px) scale(0.88)",opacity:0,filter:"blur(2px)"},{transform:"translateY(-6px) scale(1.08)",opacity:1,filter:"blur(0px)",offset:.42},{transform:"translateY(2px) scale(0.99)",opacity:1,filter:"blur(0px)",offset:.68},{transform:"translateY(0) scale(1)",opacity:1,filter:"blur(0px)"}],options:{duration:380,easing:A}},expandIn:{keyframes:[{transform:"scaleY(0.82)",opacity:0,filter:"blur(2px)"},{transform:"scaleY(1)",opacity:1,filter:"blur(0px)"}],options:{duration:330,easing:A}},flipIn:{keyframes:[{transform:"perspective(800px) rotateX(-80deg)",opacity:0,filter:"blur(3px)"},{transform:"perspective(800px) rotateX(4deg)",opacity:1,filter:"blur(0px)",offset:.72},{transform:"perspective(800px) rotateX(0deg)",opacity:1,filter:"blur(0px)"}],options:{duration:420,easing:D}},glideIn:{keyframes:[{transform:"translateX(-14px)",opacity:0,filter:"blur(2px)"},{transform:"translateX(0)",opacity:1,filter:"blur(0px)"}],options:{duration:300,easing:D}},fadeOut:{keyframes:[{opacity:1,filter:"blur(0px)"},{opacity:0,filter:"blur(2px)"}],options:{duration:200,easing:S}},slideOut:{keyframes:[{transform:"translateY(0)",opacity:1,filter:"blur(0px)"},{transform:"translateY(24px)",opacity:0,filter:"blur(2.5px)"}],options:{duration:230,easing:S}},slideOutLeft:{keyframes:[{transform:"translateX(0)",opacity:1,filter:"blur(0px)"},{transform:"translateX(-24px)",opacity:0,filter:"blur(2.5px)"}],options:{duration:230,easing:S}},slideOutRight:{keyframes:[{transform:"translateX(0)",opacity:1,filter:"blur(0px)"},{transform:"translateX(24px)",opacity:0,filter:"blur(2.5px)"}],options:{duration:230,easing:S}},popOut:{keyframes:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(1.04)",opacity:1,filter:"blur(0px)",offset:.28},{transform:"scale(0.88)",opacity:0,filter:"blur(2px)"}],options:{duration:230,easing:S}},bounceOut:{keyframes:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"translateY(-4px) scale(1.06)",opacity:1,filter:"blur(0px)",offset:.3},{transform:"translateY(0) scale(0.88)",opacity:0,filter:"blur(2px)"}],options:{duration:260,easing:S}},collapseOut:{keyframes:[{transform:"scaleY(1)",opacity:1,filter:"blur(0px)"},{transform:"scaleY(0)",opacity:0,filter:"blur(2px)"}],options:{duration:250,easing:S}},flipOut:{keyframes:[{transform:"perspective(800px) rotateX(0deg)",opacity:1,filter:"blur(0px)"},{transform:"perspective(800px) rotateX(80deg)",opacity:0,filter:"blur(3px)"}],options:{duration:270,easing:S}},glideOut:{keyframes:[{transform:"translateX(0)",opacity:1,filter:"blur(0px)"},{transform:"translateX(-14px)",opacity:0,filter:"blur(2px)"}],options:{duration:220,easing:S}},staggerBlurIn:{keyframes:[{filter:"blur(4px)",opacity:0},{filter:"blur(0px)",opacity:1}],options:{duration:400,easing:"cubic-bezier(0.22, 1, 0.36, 1)",fill:"forwards"}},feedAppend:{keyframes:[{transform:"translateY(20px)",opacity:0,filter:"blur(2.5px)"},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],options:{duration:380,easing:"cubic-bezier(0.34, 1.56, 0.64, 1)",fill:"forwards"}},filterIn:{keyframes:[{transform:"scale(0.82)",opacity:0,filter:"blur(2px)"},{transform:"scale(1.04)",opacity:1,filter:"blur(0px)",offset:.58},{transform:"scale(1)",opacity:1,filter:"blur(0px)"}],options:{duration:340,easing:"cubic-bezier(0.34, 1.56, 0.64, 1)",fill:"forwards"}},emptyToList:{keyframes:[{transform:"translateY(12px)",opacity:0,filter:"blur(2px)"},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],options:{duration:450,easing:"cubic-bezier(0.22, 1, 0.36, 1)",fill:"forwards"}},selectionPulse:{keyframes:[{boxShadow:"0 0 0 0 rgba(99, 102, 241, 0.4)",transform:"scale(1)"},{boxShadow:"0 0 0 6px rgba(99, 102, 241, 0)",transform:"scale(1.02)",offset:.5},{boxShadow:"0 0 0 0 rgba(99, 102, 241, 0)",transform:"scale(1)"}],options:{duration:400,easing:"cubic-bezier(0.22, 1, 0.36, 1)",fill:"forwards"}},insertItem:{keyframes:[{transform:"translateY(-18px) scale(0.94)",opacity:0,filter:"blur(3px)"},{transform:"translateY(0) scale(1.03)",opacity:1,filter:"blur(0px)",offset:.58},{transform:"translateY(0) scale(1)",opacity:1,filter:"blur(0px)"}],options:{duration:380,easing:"cubic-bezier(0.34, 1.56, 0.64, 1)",fill:"forwards"}},emptyStateToList:{keyframes:[{transform:"translateY(24px)",opacity:0,filter:"blur(3px)"},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],options:{duration:550,easing:"cubic-bezier(0.22, 1, 0.36, 1)",fill:"forwards"}},itemSlideOutLeft:{keyframes:[{transform:"translateX(0)",opacity:1,filter:"blur(0px)"},{transform:"translateX(-24px)",opacity:0,filter:"blur(2.5px)"}],options:{duration:240,easing:"cubic-bezier(0.4, 0.0, 1, 1)",fill:"forwards"}},itemSlideOutRight:{keyframes:[{transform:"translateX(0)",opacity:1,filter:"blur(0px)"},{transform:"translateX(24px)",opacity:0,filter:"blur(2.5px)"}],options:{duration:240,easing:"cubic-bezier(0.4, 0.0, 1, 1)",fill:"forwards"}},itemScaleOut:{keyframes:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(0.88)",opacity:0,filter:"blur(3px)"}],options:{duration:220,easing:"cubic-bezier(0.4, 0.0, 1, 1)",fill:"forwards"}},itemPopOut:{keyframes:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(1.04)",opacity:.35,filter:"blur(1px)",offset:.28},{transform:"scale(0.88)",opacity:0,filter:"blur(2.5px)"}],options:{duration:240,easing:"cubic-bezier(0.4, 0.0, 1, 1)",fill:"forwards"}},itemBlurOut:{keyframes:[{filter:"blur(0)",opacity:1},{filter:"blur(4px)",opacity:0}],options:{duration:270,easing:"cubic-bezier(0.4, 0.0, 1, 1)",fill:"forwards"}},itemDismissOut:{keyframes:[{transform:"translateX(0)",opacity:1,filter:"blur(0px)"},{transform:"translateX(24px)",opacity:0,filter:"blur(2.5px)"}],options:{duration:270,easing:"cubic-bezier(0.4, 0.0, 1, 1)",fill:"forwards"}},tagRemove:{keyframes:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(0.78)",opacity:0,filter:"blur(2px)"}],options:{duration:200,easing:"cubic-bezier(0.4, 0.0, 1, 1)",fill:"forwards"}},cardRemove:{keyframes:[{transform:"translateY(0) scale(1)",opacity:1,filter:"blur(0px)"},{transform:"translateY(-10px) scale(0.94)",opacity:0,filter:"blur(2.5px)"}],options:{duration:260,easing:"cubic-bezier(0.4, 0.0, 1, 1)",fill:"forwards"}},rowCollapseOut:{keyframes:[{maxHeight:"200px",opacity:1,marginBottom:"8px",overflow:"hidden"},{maxHeight:"0px",opacity:0,marginBottom:"0px",overflow:"hidden",padding:"0 16px"}],options:{duration:280,easing:"cubic-bezier(0.4, 0.0, 0.2, 1)",fill:"forwards"}}},ze={...Pe,...Ie},dt=ze;function se(t){let n=useRef([]),r=n.current,s=new Set(r),u=new Set(t),p=t.filter(b=>!s.has(b)),l=r.filter(b=>!u.has(b)),d=[],g=[],T=new Map(r.map((b,P)=>[b,P]));return t.forEach((b,P)=>{s.has(b)&&u.has(b)&&(T.get(b)!==P?g.push(b):d.push(b));}),useEffect(()=>{n.current=t;}),{added:p,removed:l,reordered:g,stable:d}}function le(t){let n=useRef(new Map),r=useCallback(()=>{let u=t.current;if(!u)return;let p=new Map,l=u.getBoundingClientRect();for(let d of u.children){let g=d.getAttribute("data-trigr-key");if(!g)continue;let T=d.getBoundingClientRect();p.set(g,{top:T.top-l.top-u.clientTop,left:T.left-l.left-u.clientLeft,width:T.width,height:T.height});}n.current=p;},[t]),s=useCallback(()=>new Map(n.current),[]);return {snapshot:r,getPositions:s}}var fe=new Set;function ot(t,n=300){let r=Number(t);return Number.isFinite(r)&&r>0?r:n}function yt(t,n,r){if(n==="enter"&&(r!=null&&r.enter))return r.enter;if(n==="exit"&&(r!=null&&r.exit))return r.exit;let s=dt[t];return s||(fe.has(t)||(fe.add(t),console.warn(`[trigr/list] Unknown animation "${t}", falling back to "${n==="enter"?"staggerFadeIn":"itemFadeOut"}"`)),n==="enter"?dt.staggerFadeIn:dt.itemFadeOut)}function qe(t,n){let r=n[0];r&&(r.opacity!==void 0&&(t.style.opacity=String(r.opacity)),r.transform!==void 0&&(t.style.transform=String(r.transform)),r.filter!==void 0&&(t.style.filter=String(r.filter)));}function ce(t,n){let r=n[0],s=n[n.length-1];if(!s)return;let u=r.opacity!==void 0,p=r.filter!==void 0;s.opacity!==void 0?t.style.opacity=String(s.opacity):u&&(t.style.opacity="1"),s.transform!==void 0&&(t.style.transform=String(s.transform)),s.filter!==void 0?t.style.filter=String(s.filter):p&&(t.style.filter="blur(0px)");}function De(t,n){if(!n)return t;let{distance:r,scale:s,blur:u}=n;return t.map(p=>{let l=p.transform,d=p.filter;return r!==void 0&&l&&(l=l.replace(/translateY\((-?\d+(?:\.\d+)?)(px)?\)/g,(g,T)=>`translateY(${Math.round(Number(T)*(r/32))}px)`),l=l.replace(/translateX\((-?\d+(?:\.\d+)?)(px)?\)/g,(g,T)=>`translateX(${Math.round(Number(T)*(r/32))}px)`)),s!==void 0&&l&&(l=l.replace(/scale\((-?[\d.]+(?:,\s*-?[\d.]+)?)\)/g,`scale(${s})`)),u!==void 0&&d&&(d=d.replace(/blur\((\d+)px\)/g,`blur(${u}px)`)),{...p,transform:l,filter:d}})}function gt(t,n,r,s){t.style.willChange="transform, opacity, filter";let u=De(n.keyframes,s),p=Ne()?u.map(({opacity:b})=>({opacity:b!=null?b:1})):u,l=t.style.transformOrigin,d=u.some(b=>{var P;return (P=b.transform)==null?void 0:P.includes("scaleY")});d&&(t.style.transformOrigin="top"),qe(t,p);let g=t.animate(p,{...n.options,...r,fill:"forwards"}),T=()=>{d&&(t.style.transformOrigin=l);};return g.addEventListener("finish",()=>{ce(t,p),t.style.willChange="auto",T();}),g.addEventListener("cancel",()=>{ce(t,p),t.style.willChange="auto",T();}),g}function ue(t){t.getAnimations({subtree:true}).forEach(n=>n.cancel());}function Ne(){var t,n;return typeof window=="undefined"?false:(n=(t=window.matchMedia)==null?void 0:t.call(window,"(prefers-reduced-motion: reduce)").matches)!=null?n:false}function It(t,n,r){if(!n||Object.keys(n).length===0)return null;let s={},u={};for(let[l,d]of Object.entries(n))s[l]=d[0],u[l]=d[1];for(let[l,d]of Object.entries(s))t.style[l]=d;let p=t.animate([s,u],{...r,fill:"forwards"});return p.addEventListener("finish",()=>{for(let[l,d]of Object.entries(n))t.style[l]=String(d[1]);}),p.addEventListener("cancel",()=>{for(let[l,d]of Object.entries(s))t.style[l]=d;}),p}function ye(t){let n=t.parentElement;for(;n&&n!==document.body&&n!==document.documentElement;){let r=getComputedStyle(n);if(/(auto|scroll|overlay)/.test(`${r.overflowY}${r.overflow}`)&&n.scrollHeight>n.clientHeight)return n;n=n.parentElement;}return null}function Ke(t,n){var l;let r=ye(t),s=(l=r==null?void 0:r.clientHeight)!=null?l:window.innerHeight,u=Math.min(.95,Math.max(.05,n)),p=Math.round(s*Math.min(.48,u/2));return {root:r,rootMargin:`-${p}px 0px -${p}px 0px`,threshold:0}}function _e(t){let n=[];return W.Children.forEach(t,r=>{W.isValidElement(r)&&r.key!=null&&n.push(r.key);}),n}function pe(t){return t==="marquee"||t==="marqueeReverse"||t==="marqueeFade"}function bt(t){return t==="parallax"||t==="parallaxFast"||t==="parallaxReverse"||t==="tiltScroll"||t==="scaleScroll"||t==="parallaxStagger"}function Be(t){return Number.isFinite(t)?Math.min(1.5,Math.max(.05,t)):.5}function me(t,n){return t.closest("[data-trigr-key]")}function de(t){return t.getAttribute("data-trigr-key")}var Ge=forwardRef(function({triggers:n,animation:r="staggerFadeIn",scrollAnimation:s,properties:u,exitAnimation:p="itemFadeOut",reorderAnimation:l="flip",reorder:d="flip",duration:g=300,reorderDuration:T=250,stagger:b=60,exitStagger:P=0,speed:xt=50,trigger:lt="mount",threshold:ft=.4,easing:N=ie,reorderEasing:zt=st,as:Ct="div",className:Ot,style:Xt,onItemEnter:Z,onItemExit:J,onReorder:ht,presetOptions:R,children:B,customAnimation:G},ge){var Gt,jt,Ut,Vt,Wt,Zt;let I=useRef(null),be=_e(B),z=se(be),{snapshot:xe,getPositions:he}=le(I),wt=useRef(B),[j,$t]=useState(new Map),Mt=useRef(new Set),ct=useRef(new Map),F=useRef(null),Q=useRef(false),ut=useRef([]),Ft=useRef(0),O=useRef(false),Y=useMemo(()=>n?n.map(i=>{var o;return {trigger:i.trigger,animation:i.animation,threshold:(o=i.threshold)!=null?o:ft}}):(Array.isArray(lt)?lt.slice(0,2):[lt]).map(i=>({trigger:i,animation:i==="scroll"&&s?s:r,threshold:ft})),[n,lt,r,s,ft]),kt=useMemo(()=>Y.map(e=>e.trigger),[Y]),L=useCallback(e=>kt.includes(e),[kt]),[tt,vt]=useState(null),[qt,Dt]=useState(!L("scroll")),Lt=(jt=(Gt=tt==null?void 0:tt.source)!=null?Gt:kt[0])!=null?jt:"mount",Tt=Y.find(e=>e.trigger===Lt),nt=(Ut=Tt==null?void 0:Tt.animation)!=null?Ut:r,Et=Y.find(e=>e.trigger==="scroll"),Nt=(Vt=Et==null?void 0:Et.threshold)!=null?Vt:ft;typeof window!="undefined"&&(O.current=(Zt=(Wt=window.matchMedia)==null?void 0:Wt.call(window,"(prefers-reduced-motion: reduce)").matches)!=null?Zt:false),useEffect(()=>{Dt(!L("scroll"));},[L]),useEffect(()=>{if(!L("scroll"))return;let e=I.current;if(!e)return;let i=new IntersectionObserver(o=>{for(let a of o)a.target===e&&Dt(a.isIntersecting);},Ke(e,Nt));return i.observe(e),()=>i.disconnect()},[L,Nt]);let et=useCallback(()=>{F.current!==null&&(clearTimeout(F.current),F.current=null),Q.current=false;let e=ut.current.shift();e?(Q.current=true,vt({id:++Ft.current,source:e})):vt(null);},[]),at=useCallback(e=>{if(Q.current){e!=="scroll"&&(ut.current=[...ut.current,e].slice(-2));return}Q.current=true,vt({id:++Ft.current,source:e});},[]),St=l!=null?l:d,Kt=useCallback((e=Lt)=>{var f,x,m,h;let i=I.current;if(!i){et();return}if(O.current){et();return}let o=Y.find(k=>k.trigger===e),a=(f=o==null?void 0:o.animation)!=null?f:r;if(bt(a)||pe(a)){et();return}let y=yt(a,"enter",G),w=Array.from(i.querySelectorAll("[data-trigr-key]"));if(w.length===0){et();return}F.current!==null&&(clearTimeout(F.current),F.current=null);let M=O.current?ot(g,300)/2:ot((m=(x=y.options)==null?void 0:x.duration)!=null?m:g,300),v=(h=R==null?void 0:R.stagger)!=null?h:b;w.forEach((k,E)=>{var H,c;ue(k),gt(k,y,{duration:M,easing:(c=(H=y.options)==null?void 0:H.easing)!=null?c:N,delay:E*v,fill:"forwards"},R),It(k,u,{duration:M,easing:N,delay:E*v});}),F.current=setTimeout(et,M+Math.max(0,w.length-1)*v+80);},[Lt,r,G,g,N,et,u,Y,b]),Rt=useRef(null),pt=useCallback((e,i)=>{var f,x,m;let o=I.current;if(!o||O.current)return;let a=o.querySelector(`[data-trigr-key="${e}"]`);if(!a)return;ue(a);let y=i?Y.find(h=>h.trigger===i):void 0,w=(f=y==null?void 0:y.animation)!=null?f:r,M=yt(w,"enter",G),v=O.current?ot(g,300)/2:ot(g,300);gt(a,M,{duration:v,easing:(m=(x=M.options)==null?void 0:x.easing)!=null?m:N,fill:"forwards"},R),It(a,u,{duration:v,easing:N});},[r,g,N,G,u,Y]),we=useCallback(e=>{if(!L("hover")||Q.current)return;let i=I.current;if(!i)return;let o=me(e.target);if(!o)return;let a=de(o);a==null||a===Rt.current||(Rt.current=a,pt(a,"hover"));},[L,pt]),Me=useCallback(()=>{Rt.current=null;},[]),ke=useCallback(e=>{if(!L("click")||Q.current)return;let i=I.current;if(!i)return;let o=me(e.target);if(!o)return;let a=de(o);a!=null&&pt(a,"click");},[L,pt]);useImperativeHandle(ge,()=>({animate:()=>at("manual")}),[at]);let ve={flip:st,smooth:st,spring:At,none:st};useEffect(()=>{var v;let e=I.current;if(!e)return;let i=g,o=T;if(O.current){z.removed.length>0&&z.removed.forEach(f=>J==null?void 0:J(f)),z.added.length>0&&z.added.forEach(f=>Z==null?void 0:Z(f)),wt.current=B;return}let a=f=>e.querySelector(`[data-trigr-key="${f}"]`),y=e.getBoundingClientRect(),w=()=>{let f=new Map;for(let x of e.children){let m=x.getAttribute("data-trigr-key");if(!m)continue;let h=x.getBoundingClientRect();f.set(m,{top:h.top-y.top,left:h.left-y.left,width:h.width,height:h.height});}return f},M=he();if(z.reordered.length>0&&St!=="none"){let f=w(),x=(v=ve[St])!=null?v:zt;for(let m of z.reordered){let h=M.get(m),k=f.get(m);if(!h||!k)continue;let E=h.left-k.left,H=h.top-k.top;if(E===0&&H===0)continue;let c=a(m);if(!c)continue;c.style.zIndex="1",c.style.willChange="transform",c.style.transform=`translate(${E}px, ${H}px)`,c.getBoundingClientRect();let q=c.animate([{transform:`translate(${E}px, ${H}px)`},{transform:"translate(0, 0)"}],{duration:o,easing:x,fill:"forwards"});q.onfinish=()=>{c.style.zIndex="",c.style.willChange="auto";},q.oncancel=()=>{c.style.zIndex="",c.style.willChange="auto",c.style.transform="";},c.style.transform="";}ht==null||ht();}if(z.added.length>0){let f=yt(nt,"enter",G);z.added.forEach((x,m)=>{var k,E,H,c;let h=a(x);h&&(gt(h,f,{duration:i,easing:(E=(k=f.options)==null?void 0:k.easing)!=null?E:N,delay:m*((H=R==null?void 0:R.stagger)!=null?H:b),fill:"forwards"},R),It(h,u,{duration:i,easing:N,delay:m*((c=R==null?void 0:R.stagger)!=null?c:b)})),Z==null||Z(x);});}if(z.removed.length>0){let f=W.Children.toArray(wt.current),x=new Map(j);z.removed.forEach(m=>{if(j.has(m))return;let h=f.find(E=>W.isValidElement(E)&&E.key===m),k=M.get(m);h&&k&&x.set(m,{key:m,element:h,...k});}),x.size!==j.size&&$t(x);}wt.current=B,xe();},[z,B,nt,p,g,T,b,P,St,zt,u]),useEffect(()=>{if(O.current)return;let e=I.current;if(!e||j.size===0)return;let i=yt(p,"exit",G),o=[];j.forEach((a,y)=>{Mt.current.has(y)||o.push([y,a]);}),o.length!==0&&o.forEach(([a],y)=>{var v,f;Mt.current.add(a);let w=setTimeout(()=>{$t(x=>{let m=new Map(x);return m.delete(a),m}),Mt.current.delete(a),ct.current.delete(a);},ot(g,300)+y*P);ct.current.set(a,w);let M=e.querySelector(`[data-trigr-key="${a}"]:not([data-trigr-ghost])`);M&&(M.getAnimations().forEach(x=>x.cancel()),gt(M,i,{duration:g,easing:(f=(v=i.options)==null?void 0:v.easing)!=null?f:S,delay:y*P,fill:"forwards"},R)),J==null||J(a);});},[j,p,g,P,G]),useEffect(()=>{var E,H;let e=Y.find(c=>c.trigger==="scroll"),i=(H=(E=e==null?void 0:e.animation)!=null?E:s)!=null?H:r;if(!L("scroll")||!bt(i))return;let o=I.current;if(!o||O.current)return;let a=ye(o),y=a!=null?a:window,w=new Map,M=0,v=false,f=null;function x(){return a?{top:a.getBoundingClientRect().top,height:a.clientHeight}:{top:0,height:window.innerHeight}}function m(){return Array.from(o.children).filter(c=>c instanceof HTMLElement&&c.hasAttribute("data-trigr-key"))}function h(){if(v=false,!o)return;f&&clearTimeout(f);let c=m(),q=c.length;if(q===0)return;let Jt=o.getBoundingClientRect(),Yt=x(),Ee=Yt.top+Yt.height/2,Se=(Jt.top+Jt.height/2-Ee)/Math.max(Yt.height,1),U=Math.max(-1.25,Math.min(1.25,Se)),Qt=Be(xt),Re=(q-1)/2;c.forEach((X,te)=>{w.has(X)||w.set(X,{transform:X.style.transform,zIndex:X.style.zIndex,willChange:X.style.willChange});let C=te-Re,it=Qt*(44+Math.abs(C)*18),rt=-U*it+C*10,ee=0,mt=1-Math.min(.04,Math.abs(C)*.012),re=0,ne="";if(i==="parallaxFast"&&(rt=-U*it*1.45+C*12),i==="parallaxReverse"&&(rt=U*it+C*10),i==="tiltScroll"&&(rt=-U*it*.62+C*8,re=-U*(7+Math.abs(C)*2),mt=1-Math.min(.035,Math.abs(C)*.01),ne=`perspective(720px) translate3d(0, ${rt.toFixed(2)}px, 0) rotateX(${re.toFixed(2)}deg) scale(${mt.toFixed(3)})`),i==="scaleScroll"){let ae=1-Math.min(1,Math.abs(U));rt=-U*it*.28+C*8,ee=C*ae*5,mt=Math.min(1.12,Math.max(.9,.9+ae*(.18+Qt*.08)-Math.abs(C)*.01));}X.style.willChange="transform",X.style.zIndex=String(te+1),X.style.transform=ne||`translate3d(${ee.toFixed(2)}px, ${rt.toFixed(2)}px, 0) scale(${mt.toFixed(3)})`;}),f=setTimeout(()=>{c.forEach(X=>{X.style.willChange="auto";});},300);}function k(){v||(M=requestAnimationFrame(h),v=true);}return y.addEventListener("scroll",k,{passive:true}),window.addEventListener("resize",k,{passive:true}),k(),()=>{y.removeEventListener("scroll",k),window.removeEventListener("resize",k),M&&cancelAnimationFrame(M),f&&clearTimeout(f),w.forEach((c,q)=>{q.style.transform=c.transform,q.style.zIndex=c.zIndex,q.style.willChange=c.willChange;});}},[r,L,s,xt,Y]),useEffect(()=>{var o,a,y;if(L("mount")){let w=Y.find(v=>v.trigger==="mount"),M=(o=w==null?void 0:w.animation)!=null?o:r;if(bt(M))return;at("mount");return}let e=Y.find(w=>w.trigger==="scroll"),i=(y=(a=e==null?void 0:e.animation)!=null?a:s)!=null?y:r;L("scroll")&&qt&&!bt(i)&&at("scroll");},[r,L,qt,at,s,Y]),useEffect(()=>{tt&&Kt(tt.source);},[Kt,tt]),useEffect(()=>()=>{ct.current.forEach(e=>clearTimeout(e)),ct.current.clear(),F.current!==null&&clearTimeout(F.current),ut.current=[];},[]);let _t=useMemo(()=>"trigr-list-marquee-x-"+Math.random().toString(36).slice(2,8),[]);if(pe(nt)){let e=W.Children.toArray(B),i=[...e,...e],o=nt==="marqueeReverse",a=nt==="marqueeFade",y=Math.max(xt,1),w=Math.max(800,e.length*180),M=Math.round(w/y*1e3);return createElement(Ct,{ref:I,className:Ot,style:{position:"relative",overflow:"hidden",width:"100%",...a?{maskImage:"linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%)"}:null,...Xt}},createElement("style",{key:"trigr-list-marquee-keyframes",dangerouslySetInnerHTML:{__html:`@keyframes ${_t}{from{transform:translateX(0)}to{transform:translateX(-50%)}}`}}),createElement("div",{style:{display:"inline-flex",width:"max-content",gap:"1rem",whiteSpace:"nowrap",animation:O.current?void 0:`${_t} ${M}ms linear infinite${o?" reverse":""}`,willChange:O.current?void 0:"transform"}},i.map((v,f)=>createElement("div",{key:`mq-${f}`,style:{display:"inline-flex",alignItems:"center"}},v))))}let Bt=[];j.forEach(e=>{Bt.push(createElement("div",{key:`ghost-${e.key}`,"data-trigr-key":e.key,"data-trigr-ghost":"true",style:{position:"absolute",top:e.top,left:e.left,width:e.width,height:e.height,overflow:"visible",pointerEvents:"none"}},e.element));});let Le={position:"relative",...Xt},Te=W.Children.map(B,e=>{var i;return W.isValidElement(e)?createElement("div",{key:e.key,"data-trigr-key":(i=e.key)!=null?i:"",style:{overflow:"visible"}},e):e});return createElement(Ct,{ref:I,className:Ot,style:Le,onMouseOver:L("hover")?we:void 0,onMouseLeave:L("hover")?Me:void 0,onClick:L("click")?ke:void 0},Te,...Bt)});var ar={List:Ge};export{ar as Animate,Ge as AnimateList};//# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.js.map