{"version":3,"sources":["../src/baseAnimations.ts","../src/defaults.ts","../src/keyframes.ts","../src/modifiers.ts","../src/presets.ts","../src/index.ts"],"names":["flattenColorPalette","createPlugin"],"mappings":"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","file":"index.cjs","sourcesContent":["import flattenColorPalette from \"tailwindcss/lib/util/flattenColorPalette.js\";\nimport type { Config, PluginAPI } from \"tailwindcss/types/config.js\";\n\ntype ThemeConfig = {\n  blur: Record<string, string>;\n  colors: Record<string, string>;\n  grayscale: Record<string, string>;\n  motionBackgroundColor: Record<string, string>;\n  motionBlur: Record<string, string>;\n  motionGrayscale: Record<string, string>;\n  motionOpacity: Record<string, string>;\n  motionRotate: Record<string, string>;\n  motionScale: Record<string, string>;\n  motionTextColor: Record<string, string>;\n  motionTranslate: Record<string, string>;\n  opacity: Record<string, string>;\n  rotate: Record<string, string>;\n  scale: Record<string, string>;\n};\n\nexport const allEnterAnimations =\n  \"var(--motion-scale-in-animation), var(--motion-translate-in-animation), var(--motion-rotate-in-animation), var(--motion-filter-in-animation), var(--motion-opacity-in-animation), var(--motion-background-color-in-animation), var(--motion-text-color-in-animation)\";\n\nexport const allExitAnimations =\n  \"var(--motion-scale-out-animation), var(--motion-translate-out-animation), var(--motion-rotate-out-animation), var(--motion-filter-out-animation), var(--motion-opacity-out-animation), var(--motion-background-color-out-animation), var(--motion-text-color-out-animation)\";\n\nexport const allLoopAnimations =\n  \"var(--motion-scale-loop-animation), var(--motion-translate-loop-animation), var(--motion-rotate-loop-animation), var(--motion-filter-loop-animation), var(--motion-opacity-loop-animation), var(--motion-background-color-loop-animation), var(--motion-text-color-loop-animation)\";\n\nexport const allLoopAndEnterAnimations = `${allEnterAnimations}, ${allLoopAnimations}`;\n\n// animation strings\nexport const scaleInAnimation =\n  \"motion-scale-in calc(var(--motion-scale-duration, var(--motion-duration)) * var(--motion-scale-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-scale-timing, var(--motion-timing)) var(--motion-scale-delay, var(--motion-delay)) both\";\n\nexport const scaleOutAnimation =\n  \"motion-scale-out calc(var(--motion-scale-duration, var(--motion-duration)) * var(--motion-scale-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-scale-timing, var(--motion-timing)) var(--motion-scale-delay, var(--motion-delay)) both\";\n\nexport const scaleLoopAnimation = (type: string) =>\n  `motion-scale-loop-${type} calc(var(--motion-scale-duration, var(--motion-duration)) * var(--motion-scale-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-scale-timing, var(--motion-timing)) var(--motion-scale-delay, var(--motion-delay)) both var(--motion-scale-loop-count, var(--motion-loop-count))`;\n\nexport const translateInAnimation =\n  \"motion-translate-in calc(var(--motion-translate-duration, var(--motion-duration)) * var(--motion-translate-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-translate-timing, var(--motion-timing)) var(--motion-translate-delay, var(--motion-delay)) both\";\n\nexport const translateOutAnimation =\n  \"motion-translate-out calc(var(--motion-translate-duration, var(--motion-duration)) * var(--motion-translate-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-translate-timing, var(--motion-timing)) var(--motion-translate-delay, var(--motion-delay)) both\";\n\nexport const translateLoopAnimation = (type: string) =>\n  `motion-translate-loop-${type} calc(var(--motion-translate-duration, var(--motion-duration)) * var(--motion-translate-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-translate-timing, var(--motion-timing)) var(--motion-translate-delay, var(--motion-delay)) both var(--motion-translate-loop-count, var(--motion-loop-count))`;\n\nexport const rotateInAnimation =\n  \"motion-rotate-in calc(var(--motion-rotate-duration, var(--motion-duration)) * var(--motion-rotate-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-rotate-timing, var(--motion-timing)) var(--motion-rotate-delay, var(--motion-delay)) both\";\n\nexport const rotateOutAnimation =\n  \"motion-rotate-out calc(var(--motion-rotate-duration, var(--motion-duration)) * var(--motion-rotate-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-rotate-timing, var(--motion-timing)) var(--motion-rotate-delay, var(--motion-delay)) both\";\n\nexport const rotateLoopAnimation = (type: string) =>\n  `motion-rotate-loop-${type} calc(var(--motion-rotate-duration, var(--motion-duration)) * var(--motion-rotate-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-rotate-timing, var(--motion-timing)) var(--motion-rotate-delay, var(--motion-delay)) both var(--motion-rotate-loop-count, var(--motion-loop-count))`;\n\nexport const filterInAnimation =\n  \"motion-filter-in calc(var(--motion-filter-duration, var(--motion-duration)) * var(--motion-filter-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-filter-timing, var(--motion-timing)) var(--motion-filter-delay, var(--motion-delay)) both\";\nexport const filterOutAnimation =\n  \"motion-filter-out calc(var(--motion-filter-duration, var(--motion-duration)) * var(--motion-filter-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-filter-timing, var(--motion-timing)) var(--motion-filter-delay, var(--motion-delay)) both\";\n\nexport const filterLoopAnimation = (type: string) =>\n  `motion-filter-loop-${type} calc(var(--motion-filter-duration, var(--motion-duration)) * var(--motion-filter-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-filter-timing, var(--motion-timing)) var(--motion-filter-delay, var(--motion-delay)) both var(--motion-filter-loop-count, var(--motion-loop-count))`;\n\nexport const opacityInAnimation =\n  \"motion-opacity-in calc(var(--motion-opacity-duration, var(--motion-duration)) * var(--motion-opacity-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-opacity-timing, var(--motion-timing)) var(--motion-opacity-delay, var(--motion-delay)) both\";\n\nexport const opacityOutAnimation =\n  \"motion-opacity-out calc(var(--motion-opacity-duration, var(--motion-duration)) * var(--motion-opacity-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-opacity-timing, var(--motion-timing)) var(--motion-opacity-delay, var(--motion-delay)) both\";\n\nexport const opacityLoopAnimation = (type: string) =>\n  `motion-opacity-loop-${type} calc(var(--motion-opacity-duration, var(--motion-duration)) * var(--motion-opacity-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-opacity-timing, var(--motion-timing)) var(--motion-opacity-delay, var(--motion-delay)) both var(--motion-opacity-loop-count, var(--motion-loop-count))`;\n\nexport const backgroundColorInAnimation =\n  \"motion-background-color-in calc(var(--motion-background-color-duration, var(--motion-duration)) * var(--motion-background-color-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-background-color-timing, var(--motion-timing)) var(--motion-background-color-delay, var(--motion-delay)) both\";\n\nexport const backgroundColorOutAnimation =\n  \"motion-background-color-out calc(var(--motion-background-color-duration, var(--motion-duration)) * var(--motion-background-color-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-background-color-timing, var(--motion-timing)) var(--motion-background-color-delay, var(--motion-delay)) both\";\n\nexport const backgroundColorLoopAnimation = (type: string) =>\n  `motion-background-color-loop-${type} calc(var(--motion-background-color-duration, var(--motion-duration)) * var(--motion-background-color-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-background-color-timing, var(--motion-timing)) var(--motion-background-color-delay, var(--motion-delay)) both var(--motion-background-color-loop-count, var(--motion-loop-count))`;\n\nexport const textColorInAnimation =\n  \"motion-text-color-in calc(var(--motion-text-color-duration, var(--motion-duration)) * var(--motion-text-color-perceptual-duration-multiplier, var(--motion-perceptual-duration-multiplier))) var(--motion-text-color-timing, var(--motion-timing)) var(--motion-text-color-delay, var(--motion-delay)) both\";\n\nexport const textColorOutAnimation =\n  \"motion-text-color-out calc(var(--motion-text-color-duration, --motion-duration) * var(--motion-text-color-perceptual-duration-multiplier, --motion-perceptual-duration-multiplier)) var(--motion-text-color-timing, --motion-timing) var(--motion-text-color-delay, --motion-delay) both\";\n\nexport const textColorLoopAnimation = (type: string) =>\n  `motion-text-color-loop-${type} calc(var(--motion-text-color-duration, --motion-duration) * var(--motion-text-color-perceptual-duration-multiplier, --motion-perceptual-duration-multiplier)) var(--motion-text-color-timing, --motion-timing) var(--motion-text-color-delay, --motion-delay) both var(--motion-text-color-loop-count, --motion-loop-count)`;\n\nexport function addBaseAnimations(\n  matchUtilities: PluginAPI[\"matchUtilities\"],\n  theme: (path: keyof ThemeConfig) => Record<string, string>\n) {\n  // scale\n  matchUtilities(\n    {\n      \"motion-scale-in\": (value) => ({\n        \"--motion-origin-scale-x\": value,\n        \"--motion-origin-scale-y\": value,\n        \"--motion-scale-in-animation\": scaleInAnimation,\n        animation: allLoopAndEnterAnimations,\n      }),\n      \"motion-scale-x-in\": (value) => ({\n        \"--motion-origin-scale-x\": value,\n        \"--motion-scale-in-animation\": scaleInAnimation,\n        animation: allLoopAndEnterAnimations,\n      }),\n      \"motion-scale-y-in\": (value) => ({\n        \"--motion-origin-scale-y\": value,\n        \"--motion-scale-in-animation\": scaleInAnimation,\n        animation: allLoopAndEnterAnimations,\n      }),\n\n      \"motion-scale-out\": (value) => ({\n        \"--motion-end-scale-x\": value,\n        \"--motion-end-scale-y\": value,\n        \"--motion-scale-out-animation\": scaleOutAnimation,\n        animation: allExitAnimations,\n      }),\n      \"motion-scale-x-out\": (value) => ({\n        \"--motion-end-scale-x\": value,\n        \"--motion-scale-out-animation\": scaleOutAnimation,\n        animation: allExitAnimations,\n      }),\n      \"motion-scale-y-out\": (value) => ({\n        \"--motion-end-scale-y\": value,\n        \"--motion-scale-out-animation\": scaleOutAnimation,\n        animation: allExitAnimations,\n      }),\n    },\n    {\n      values: theme(\"motionScale\"),\n    }\n  );\n\n  // scale loop\n  matchUtilities(\n    {\n      \"motion-scale-x-loop\": (value, { modifier }) => ({\n        \"--motion-loop-scale-x\": value,\n        \"--motion-scale-loop-animation\": scaleLoopAnimation(\n          modifier || \"mirror\"\n        ),\n        animationComposition: \"accumulate\",\n        animation: allLoopAndEnterAnimations,\n      }),\n      \"motion-scale-y-loop\": (value, { modifier }) => ({\n        \"--motion-loop-scale-y\": value,\n        \"--motion-scale-loop-animation\": scaleLoopAnimation(\n          modifier || \"mirror\"\n        ),\n        animationComposition: \"accumulate\",\n        animation: allLoopAndEnterAnimations,\n      }),\n      \"motion-scale-loop\": (value, { modifier }) => ({\n        \"--motion-loop-scale-x\": value,\n        \"--motion-loop-scale-y\": value,\n        \"--motion-scale-loop-animation\": scaleLoopAnimation(\n          modifier || \"mirror\"\n        ),\n        animationComposition: \"accumulate\",\n        animation: allLoopAndEnterAnimations,\n      }),\n    },\n    {\n      values: theme(\"motionScale\"),\n      modifiers: {\n        mirror: \"mirror\",\n        reset: \"reset\",\n      },\n    }\n  );\n\n  // translate\n  matchUtilities(\n    {\n      \"motion-translate-x-in\": (value) => ({\n        \"--motion-origin-translate-x\": value,\n        \"--motion-translate-in-animation\": translateInAnimation,\n        animation: allLoopAndEnterAnimations,\n      }),\n      \"motion-translate-y-in\": (value) => ({\n        \"--motion-origin-translate-y\": value,\n        \"--motion-translate-in-animation\": translateInAnimation,\n        animation: allLoopAndEnterAnimations,\n      }),\n\n      \"motion-translate-x-out\": (value) => ({\n        \"--motion-end-translate-x\": value,\n        \"--motion-translate-out-animation\": translateOutAnimation,\n        animation: allExitAnimations,\n      }),\n      \"motion-translate-y-out\": (value) => ({\n        \"--motion-end-translate-y\": value,\n        \"--motion-translate-out-animation\": translateOutAnimation,\n        animation: allExitAnimations,\n      }),\n    },\n    {\n      values: theme(\"motionTranslate\"),\n      supportsNegativeValues: true,\n    }\n  );\n\n  // translate loop\n  matchUtilities(\n    {\n      \"motion-translate-x-loop\": (value, { modifier }) => {\n        return {\n          \"--motion-loop-translate-x\": value,\n          \"--motion-translate-loop-animation\": translateLoopAnimation(\n            modifier || \"mirror\"\n          ),\n          animationComposition: \"accumulate\",\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n      \"motion-translate-y-loop\": (value, { modifier }) => {\n        return {\n          \"--motion-loop-translate-y\": value,\n          \"--motion-translate-loop-animation\": translateLoopAnimation(\n            modifier || \"mirror\"\n          ),\n          animationComposition: \"accumulate\",\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n    },\n    {\n      values: theme(\"motionTranslate\"),\n      supportsNegativeValues: true,\n      modifiers: {\n        mirror: \"mirror\",\n        reset: \"reset\",\n      },\n    }\n  );\n\n  // rotate\n  matchUtilities(\n    {\n      \"motion-rotate-in\": (value) => ({\n        \"--motion-origin-rotate\": value,\n        \"--motion-rotate-in-animation\": rotateInAnimation,\n        animation: allLoopAndEnterAnimations,\n      }),\n\n      \"motion-rotate-out\": (value) => ({\n        \"--motion-end-rotate\": value,\n        \"--motion-rotate-out-animation\": rotateOutAnimation,\n        animation: allExitAnimations,\n      }),\n    },\n    {\n      values: theme(\"motionRotate\"),\n      supportsNegativeValues: true,\n    }\n  );\n\n  // rotate loop\n  matchUtilities(\n    {\n      \"motion-rotate-loop\": (value, { modifier }) => ({\n        \"--motion-loop-rotate\": value,\n        \"--motion-rotate-loop-animation\": rotateLoopAnimation(\n          modifier || \"mirror\"\n        ),\n        animationComposition: \"accumulate\",\n        animation: allLoopAndEnterAnimations,\n      }),\n    },\n    {\n      values: theme(\"motionRotate\"),\n      supportsNegativeValues: true,\n      modifiers: {\n        mirror: \"mirror\",\n        reset: \"reset\",\n      },\n    }\n  );\n\n  // blur\n  matchUtilities(\n    {\n      \"motion-blur-in\": (value) => ({\n        \"--motion-origin-blur\": value,\n        \"--motion-filter-in-animation\": filterInAnimation,\n        animation: allLoopAndEnterAnimations,\n      }),\n\n      \"motion-blur-out\": (value) => ({\n        \"--motion-end-blur\": value,\n        \"--motion-filter-out-animation\": filterOutAnimation,\n        animation: allExitAnimations,\n      }),\n    },\n    {\n      values: theme(\"motionBlur\"),\n    }\n  );\n\n  // blur loop\n  matchUtilities(\n    {\n      \"motion-blur-loop\": (value, { modifier }) => ({\n        \"--motion-loop-blur\": value,\n        \"--motion-filter-loop-animation\": filterLoopAnimation(\n          modifier || \"mirror\"\n        ),\n        animationComposition: \"accumulate\",\n        animation: allLoopAndEnterAnimations,\n      }),\n    },\n    {\n      values: theme(\"motionBlur\"),\n      modifiers: {\n        mirror: \"mirror\",\n        reset: \"reset\",\n      },\n    }\n  );\n\n  // grayscale\n  matchUtilities(\n    {\n      \"motion-grayscale-in\": (value) => ({\n        \"--motion-origin-grayscale\": value,\n        \"--motion-filter-in-animation\": filterInAnimation,\n        animation: allLoopAndEnterAnimations,\n      }),\n\n      \"motion-grayscale-out\": (value) => ({\n        \"--motion-end-grayscale\": value,\n        \"--motion-filter-out-animation\": filterOutAnimation,\n        animation: allExitAnimations,\n      }),\n    },\n    {\n      values: theme(\"motionGrayscale\"),\n    }\n  );\n\n  // grayscale loop\n  matchUtilities(\n    {\n      \"motion-grayscale-loop\": (value, { modifier }) => ({\n        \"--motion-loop-grayscale\": value,\n        \"--motion-filter-loop-animation\": filterLoopAnimation(\n          modifier || \"mirror\"\n        ),\n        animationComposition: \"accumulate\",\n        animation: allLoopAndEnterAnimations,\n      }),\n    },\n    {\n      values: theme(\"motionGrayscale\"),\n      modifiers: {\n        mirror: \"mirror\",\n        reset: \"reset\",\n      },\n    }\n  );\n\n  // opacity\n  matchUtilities(\n    {\n      \"motion-opacity-in\": (value) => ({\n        \"--motion-origin-opacity\": value,\n        \"--motion-opacity-in-animation\": opacityInAnimation,\n        animation: allLoopAndEnterAnimations,\n      }),\n\n      \"motion-opacity-out\": (value) => ({\n        \"--motion-end-opacity\": value,\n        \"--motion-opacity-out-animation\": opacityOutAnimation,\n        animation: allExitAnimations,\n      }),\n    },\n    {\n      values: theme(\"motionOpacity\"),\n    }\n  );\n\n  // opacity loop\n  matchUtilities(\n    {\n      \"motion-opacity-loop\": (value, { modifier }) => ({\n        // we need to subtract 1 because of animation composition\n        \"--motion-loop-opacity\": `calc(${value} - 1)`,\n        \"--motion-opacity-loop-animation\": opacityLoopAnimation(\n          modifier || \"mirror\"\n        ),\n        animationComposition: \"accumulate\",\n        animation: allLoopAndEnterAnimations,\n      }),\n    },\n    {\n      values: theme(\"motionOpacity\"),\n      modifiers: {\n        mirror: \"mirror\",\n        reset: \"reset\",\n      },\n    }\n  );\n\n  // background-color\n  matchUtilities(\n    {\n      \"motion-bg-in\": (value) => ({\n        \"--motion-origin-background-color\": value,\n        \"--motion-background-color-in-animation\": backgroundColorInAnimation,\n        animation: allLoopAndEnterAnimations,\n      }),\n\n      \"motion-bg-out\": (value) => ({\n        \"--motion-end-background-color\": value,\n        \"--motion-background-color-out-animation\": backgroundColorOutAnimation,\n        animation: allExitAnimations,\n      }),\n    },\n    {\n      values: theme(\"motionBackgroundColor\"),\n      type: \"color\",\n    }\n  );\n\n  // background-color loop\n  matchUtilities(\n    {\n      \"motion-bg-loop\": (value, { modifier }) => ({\n        \"--motion-loop-background-color\": value,\n        \"--motion-background-color-loop-animation\":\n          backgroundColorLoopAnimation(modifier || \"mirror\"),\n        // no animation composition because it makes colors add\n        animation: allLoopAndEnterAnimations,\n      }),\n    },\n    {\n      values: theme(\"motionBackgroundColor\"),\n      type: \"color\",\n      modifiers: {\n        mirror: \"mirror\",\n        reset: \"reset\",\n      },\n    }\n  );\n\n  // text-color\n  matchUtilities(\n    {\n      \"motion-text-in\": (value) => ({\n        \"--motion-origin-text-color\": value,\n        \"--motion-text-color-in-animation\": textColorInAnimation,\n        animation: allLoopAndEnterAnimations,\n      }),\n\n      \"motion-text-out\": (value) => ({\n        \"--motion-end-text-color\": value,\n        \"--motion-text-color-out-animation\": textColorOutAnimation,\n        animation: allExitAnimations,\n      }),\n    },\n    {\n      values: theme(\"motionTextColor\"),\n      type: \"color\",\n    }\n  );\n\n  // text-color loop\n  matchUtilities(\n    {\n      \"motion-text-loop\": (value, { modifier }) => ({\n        \"--motion-loop-text-color\": value,\n        \"--motion-text-color-loop-animation\": textColorLoopAnimation(\n          modifier || \"mirror\"\n        ),\n        animationComposition: \"accumulate\",\n        animation: allLoopAndEnterAnimations,\n      }),\n    },\n    {\n      values: theme(\"motionTextColor\"),\n      type: \"color\",\n      modifiers: {\n        mirror: \"mirror\",\n        reset: \"reset\",\n      },\n    }\n  );\n}\n\nexport const baseAnimationsTheme: Config[\"theme\"] = {\n  motionScale: (\n    theme: (path: keyof ThemeConfig) => Record<string, string>\n  ) => ({\n    ...theme(\"scale\"),\n    DEFAULT: \"50%\",\n  }),\n  motionTranslate: {\n    \"0\": \"0%\",\n    \"25\": \"25%\",\n    \"50\": \"50%\",\n    \"75\": \"75%\",\n    \"100\": \"100%\",\n    \"150\": \"150%\",\n    DEFAULT: \"25%\",\n  },\n  motionRotate: (\n    theme: (path: keyof ThemeConfig) => Record<string, string>\n  ) => ({\n    ...theme(\"rotate\"),\n    DEFAULT: \"12deg\",\n  }),\n  motionBlur: (theme: (path: keyof ThemeConfig) => Record<string, string>) =>\n    theme(\"blur\"),\n  motionGrayscale: (\n    theme: (path: keyof ThemeConfig) => Record<string, string>\n  ) => theme(\"grayscale\"),\n  motionOpacity: (\n    theme: (path: keyof ThemeConfig) => Record<string, string>\n  ) => ({\n    ...theme(\"opacity\"),\n    DEFAULT: \"0\",\n    \"0\": \"0.001\",\n  }),\n  motionBackgroundColor: (\n    theme: (path: keyof ThemeConfig) => Record<string, string>\n  ) => flattenColorPalette(theme(\"colors\")),\n  motionTextColor: (\n    theme: (path: keyof ThemeConfig) => Record<string, string>\n  ) => flattenColorPalette(theme(\"colors\")),\n} as const;\n","import type { PluginAPI } from \"tailwindcss/types/config.js\";\n\nexport default function addDefaults(addBase: PluginAPI[\"addBase\"]) {\n  /**\n   * Default values for the motion variables\n   */\n  addBase({\n    /**\n     * Easing functions\n     */\n    \"@property --motion-bounce\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\":\n        \"linear(0, 0.004, 0.016, 0.035, 0.063, 0.098, 0.141 13.6%, 0.25, 0.391, 0.563, 0.765,1, 0.891 40.9%, 0.848, 0.813, 0.785, 0.766, 0.754, 0.75, 0.754, 0.766, 0.785,0.813, 0.848, 0.891 68.2%, 1 72.7%, 0.973, 0.953, 0.941, 0.938, 0.941, 0.953,0.973, 1, 0.988, 0.984, 0.988, 1)\",\n    },\n\n    // from https://www.kvin.me/css-springs\n    \"@property --motion-spring-smooth\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\":\n        \"linear(0, 0.001 0.44%, 0.0045 0.94%, 0.0195 2.03%, 0.0446 3.19%, 0.0811 4.5%, 0.1598 6.82%, 0.3685 12.34%, 0.4693 15.17%, 0.5663, 0.6498 21.27%, 0.7215 24.39%, 0.7532 25.98%, 0.7829 27.65%, 0.8105, 0.8349 31.14%, 0.8573 32.95%, 0.8776 34.84%, 0.8964 36.87%, 0.9136 39.05%, 0.929 41.37%, 0.9421 43.77%, 0.9537 46.38%, 0.9636 49.14%, 0.9789 55.31%, 0.9888 62.35%, 0.9949 71.06%, 0.9982 82.52%, 0.9997 99.94%)\",\n    },\n\n    \"@property --motion-spring-snappy\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\":\n        \"linear(0, 0.0014, 0.0053 1.02%, 0.0126, 0.0227 2.18%, 0.0517 3.41%, 0.094 4.79%, 0.1865 7.26%, 0.4182 12.77%, 0.5246 15.46%, 0.6249, 0.7112, 0.7831 23.95%, 0.8146 25.4%, 0.844, 0.8699 28.45%, 0.8935, 0.9139 31.64%, 0.932, 0.9473, 0.9601 36.65%, 0.9714 38.47%, 0.9808 40.35%, 0.9948 44.49%, 1.0031 49.43%, 1.0057 53.35%, 1.0063 58.14%, 1.0014 80.78%, 1.0001 99.94%)\",\n    },\n\n    \"@property --motion-spring-bouncy\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\":\n        \"linear(0, 0.0018, 0.0069, 0.0151 1.74%, 0.0277 2.4%, 0.062 3.7%, 0.1115 5.15%, 0.2211 7.77%, 0.4778 13.21%, 0.5912 15.75%, 0.6987 18.44%, 0.7862 20.98%, 0.861 23.59%, 0.8926, 0.9205, 0.945 27.51%, 0.9671 28.89%, 0.9868, 1.003 31.79%, 1.0224 34.11%, 1.0358 36.58%, 1.0436 39.27%, 1.046 42.31%, 1.0446 44.71%, 1.0406 47.47%, 1.0118 61.84%, 1.0027 69.53%, 0.9981 80.49%, 0.9991 99.94%)\",\n    },\n\n    \"@property --motion-spring-bouncier\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\":\n        \"linear(0, 0.0023, 0.0088, 0.0194 1.59%, 0.035 2.17%, 0.078 3.33%, 0.1415 4.64%, 0.2054 5.75%, 0.2821 6.95%, 0.5912 11.45%, 0.7205 13.43%, 0.8393 15.45%, 0.936 17.39%, 0.9778, 1.015, 1.0477, 1.0759, 1.0998 22.22%, 1.1203, 1.1364, 1.1484 25.26%, 1.1586 26.61%, 1.1629 28.06%, 1.1613 29.56%, 1.1537 31.2%, 1.1434 32.6%, 1.1288 34.19%, 1.0508 41.29%, 1.0174 44.87%, 1.0025 46.89%, 0.9911 48.87%, 0.9826 50.9%, 0.9769 53.03%, 0.9735 56.02%, 0.9748 59.45%, 0.9964 72.64%, 1.0031 79.69%, 1.0042 86.83%, 1.0008 99.97%)\",\n    },\n\n    \"@property --motion-spring-bounciest\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\":\n        \"linear(0, 0.0032, 0.0131, 0.0294, 0.0524, 0.0824, 0.1192 1.54%, 0.2134 2.11%, 0.3102 2.59%, 0.4297 3.13%, 0.8732 4.95%, 1.0373, 1.1827 6.36%, 1.2972 7.01%, 1.3444, 1.3859, 1.4215, 1.4504, 1.4735, 1.4908, 1.5024, 1.5084 9.5%, 1.5091, 1.5061, 1.4993, 1.4886, 1.4745, 1.4565 11.11%, 1.4082 11.7%, 1.3585 12.2%, 1.295 12.77%, 1.0623 14.64%, 0.9773, 0.9031 16.08%, 0.8449 16.73%, 0.8014, 0.7701 17.95%, 0.7587, 0.7501, 0.7443, 0.7412 19.16%, 0.7421 19.68%, 0.7508 20.21%, 0.7672 20.77%, 0.7917 21.37%, 0.8169 21.87%, 0.8492 22.43%, 0.9681 24.32%, 1.0114, 1.0492 25.75%, 1.0789 26.41%, 1.1008, 1.1167, 1.1271, 1.1317 28.81%, 1.1314, 1.1271 29.87%, 1.1189 30.43%, 1.1063 31.03%, 1.0769 32.11%, 0.9941 34.72%, 0.9748 35.43%, 0.9597 36.09%, 0.9487, 0.9407, 0.9355, 0.933 38.46%, 0.9344 39.38%, 0.9421 40.38%, 0.9566 41.5%, 0.9989 44.12%, 1.0161 45.37%, 1.029 46.75%, 1.0341 48.1%, 1.0335 49.04%, 1.0295 50.05%, 1.0221 51.18%, 0.992 55.02%, 0.9854 56.38%, 0.9827 57.72%, 0.985 59.73%, 1.004 64.67%, 1.0088 67.34%, 1.0076 69.42%, 0.9981 74.28%, 0.9956 76.85%, 0.9961 79.06%, 1.0023 86.46%, 0.999 95.22%, 0.9994 100%)\",\n    },\n\n    /**\n     * Enter animations origin values\n     */\n    \"@property --motion-origin-scale-x\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"100%\",\n    },\n\n    \"@property --motion-origin-scale-y\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"100%\",\n    },\n\n    \"@property --motion-origin-translate-x\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"0%\",\n    },\n\n    \"@property --motion-origin-translate-y\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"0%\",\n    },\n\n    \"@property --motion-origin-rotate\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"0deg\",\n    },\n\n    \"@property --motion-origin-blur\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"0px\",\n    },\n\n    \"@property --motion-origin-grayscale\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"0%\",\n    },\n\n    \"@property --motion-origin-opacity\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"100%\",\n    },\n\n    \"@property --motion-origin-background-color\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n    },\n\n    \"@property --motion-origin-text-color\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n    },\n\n    /**\n     * Exit animations end values\n     */\n    \"@property --motion-end-scale-x\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"100%\",\n    },\n\n    \"@property --motion-end-scale-y\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"100%\",\n    },\n\n    \"@property --motion-end-translate-x\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"0%\",\n    },\n\n    \"@property --motion-end-translate-y\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"0%\",\n    },\n\n    \"@property --motion-end-rotate\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"0deg\",\n    },\n\n    \"@property --motion-end-blur\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"0px\",\n    },\n\n    \"@property --motion-end-grayscale\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"0%\",\n    },\n\n    \"@property --motion-end-opacity\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"100%\",\n    },\n\n    \"@property --motion-end-background-color\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n    },\n\n    \"@property --motion-end-text-color\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n    },\n\n    /**\n     * Loop animations values\n     */\n    \"@property --motion-loop-scale-x\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"100%\",\n    },\n\n    \"@property --motion-loop-scale-y\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"100%\",\n    },\n\n    \"@property --motion-loop-translate-x\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"0%\",\n    },\n\n    \"@property --motion-loop-translate-y\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"0%\",\n    },\n\n    \"@property --motion-loop-rotate\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"0deg\",\n    },\n\n    \"@property --motion-loop-blur\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"0px\",\n    },\n\n    \"@property --motion-loop-grayscale\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"0%\",\n    },\n\n    \"@property --motion-loop-opacity\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"100%\",\n    },\n\n    \"@property --motion-loop-background-color\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n    },\n\n    \"@property --motion-loop-text-color\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n    },\n\n    /**\n     * Animation modifiers\n     */\n    \"@property --motion-duration\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"700ms\",\n    },\n\n    \"@property --motion-timing\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"cubic-bezier(.165, .84, .44, 1)\",\n    },\n\n    \"@property --motion-perceptual-duration-multiplier\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"1\",\n    },\n\n    \"@property --motion-delay\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"0ms\",\n    },\n\n    \"@property --motion-loop-count\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"infinite\",\n    },\n\n    /**\n     * Default animations to none\n     */\n    \"@property --motion-scale-in-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-translate-in-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-rotate-in-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-filter-in-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-opacity-in-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-background-color-in-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-text-color-in-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-scale-out-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-translate-out-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-rotate-out-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-filter-out-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-opacity-out-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-background-color-out-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-text-color-out-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-scale-loop-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-translate-loop-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-rotate-loop-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-filter-loop-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-opacity-loop-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-background-color-loop-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n\n    \"@property --motion-text-color-loop-animation\": {\n      syntax: '\"*\"',\n      inherits: \"false\",\n      \"initial-value\": \"none\",\n    },\n  });\n}\n","import type { PluginAPI } from \"tailwindcss/types/config.js\";\n\nexport default function addKeyframes(addBase: PluginAPI[\"addBase\"]) {\n  // keyframes for the animations\n  addBase({\n    // if the user prefers reduced motion, don't apply the transform animations\n    \"@media screen and (prefers-reduced-motion: no-preference)\": {\n      \"@keyframes motion-scale-in\": {\n        \"0%\": {\n          scale: \"var(--motion-origin-scale-x) var(--motion-origin-scale-y)\",\n        },\n        \"100%\": {\n          scale: \"1 1\",\n        },\n      },\n      \"@keyframes motion-scale-out\": {\n        \"0%\": {\n          scale: \"1 1\",\n        },\n        \"100%\": {\n          scale: \"var(--motion-end-scale-x) var(--motion-end-scale-y)\",\n        },\n      },\n      \"@keyframes motion-scale-loop-mirror\": {\n        \"0%, 100%\": {\n          scale: \"1 1\",\n        },\n        \"50%\": {\n          scale: \"var(--motion-loop-scale-x) var(--motion-loop-scale-y)\",\n        },\n      },\n      \"@keyframes motion-scale-loop-reset\": {\n        \"0%\": {\n          scale: \"1 1\",\n        },\n        \"100%\": {\n          scale: \"var(--motion-loop-scale-x) var(--motion-loop-scale-y)\",\n        },\n      },\n      \"@keyframes motion-translate-in\": {\n        \"0%\": {\n          translate:\n            \"var(--motion-origin-translate-x) var(--motion-origin-translate-y)\",\n        },\n        \"100%\": {\n          translate: \"0 0\",\n        },\n      },\n      \"@keyframes motion-translate-out\": {\n        \"0%\": {\n          translate: \"0 0\",\n        },\n        \"100%\": {\n          translate:\n            \"var(--motion-end-translate-x) var(--motion-end-translate-y)\",\n        },\n      },\n      \"@keyframes motion-translate-loop-mirror\": {\n        \"0%, 100%\": {\n          translate: \"0 0\",\n        },\n        \"50%\": {\n          translate:\n            \"var(--motion-loop-translate-x) var(--motion-loop-translate-y)\",\n        },\n      },\n      \"@keyframes motion-translate-loop-reset\": {\n        \"0%\": {\n          translate: \"0 0\",\n        },\n        \"100%\": {\n          translate:\n            \"var(--motion-loop-translate-x) var(--motion-loop-translate-y)\",\n        },\n      },\n      \"@keyframes motion-rotate-in\": {\n        \"0%\": {\n          rotate: \"var(--motion-origin-rotate)\",\n        },\n        \"100%\": {\n          rotate: \"0\",\n        },\n      },\n      \"@keyframes motion-rotate-out\": {\n        \"0%\": {\n          rotate: \"0\",\n        },\n        \"100%\": {\n          rotate: \"var(--motion-end-rotate)\",\n        },\n      },\n      \"@keyframes motion-rotate-loop-mirror\": {\n        \"0%, 100%\": {\n          rotate: \"0deg\",\n        },\n        \"50%\": {\n          rotate: \"var(--motion-loop-rotate)\",\n        },\n      },\n      \"@keyframes motion-rotate-loop-reset\": {\n        \"0%\": {},\n        \"100%\": {\n          rotate: \"var(--motion-loop-rotate)\",\n        },\n      },\n    },\n    \"@keyframes motion-filter-in\": {\n      \"0%\": {\n        filter:\n          \"blur(var(--motion-origin-blur)) grayscale(var(--motion-origin-grayscale))\",\n      },\n      \"100%\": {\n        filter: \"blur(0) grayscale(0)\",\n      },\n    },\n    \"@keyframes motion-filter-out\": {\n      \"0%\": {\n        filter: \"blur(0) grayscale(0)\",\n      },\n      \"100%\": {\n        filter:\n          \"blur(var(--motion-end-blur)) grayscale(var(--motion-end-grayscale))\",\n      },\n    },\n    \"@keyframes motion-filter-loop-mirror\": {\n      \"0%, 100%\": {\n        filter: \"blur(0) grayscale(0)\",\n      },\n      \"50%\": {\n        filter:\n          \"blur(var(--motion-loop-blur)) grayscale(var(--motion-loop-grayscale))\",\n      },\n    },\n    \"@keyframes motion-filter-loop-reset\": {\n      \"0%\": {\n        filter: \"blur(0) grayscale(0)\",\n      },\n      \"100%\": {\n        filter:\n          \"blur(var(--motion-loop-blur)) grayscale(var(--motion-loop-grayscale))\",\n      },\n    },\n    \"@keyframes motion-opacity-in\": {\n      \"0%\": {\n        opacity: \"var(--motion-origin-opacity)\",\n      },\n    },\n    \"@keyframes motion-opacity-out\": {\n      \"100%\": {\n        opacity: \"var(--motion-end-opacity)\",\n      },\n    },\n    \"@keyframes motion-opacity-loop-mirror\": {\n      \"0%, 100%\": {},\n      \"50%\": {\n        opacity: \"var(--motion-loop-opacity)\",\n      },\n    },\n    \"@keyframes motion-opacity-loop-reset\": {\n      \"0%\": {},\n      \"100%\": {\n        opacity: \"var(--motion-loop-opacity)\",\n      },\n    },\n    \"@keyframes motion-background-color-in\": {\n      \"0%\": {\n        backgroundColor: \"var(--motion-origin-background-color)\",\n      },\n    },\n    \"@keyframes motion-background-color-out\": {\n      \"100%\": {\n        backgroundColor: \"var(--motion-end-background-color)\",\n      },\n    },\n    \"@keyframes motion-background-color-loop-mirror\": {\n      \"0%, 100%\": {},\n      \"50%\": {\n        backgroundColor: \"var(--motion-loop-background-color)\",\n      },\n    },\n    \"@keyframes motion-background-color-loop-reset\": {\n      \"0%\": {},\n      \"100%\": {\n        backgroundColor: \"var(--motion-loop-background-color)\",\n      },\n    },\n    \"@keyframes motion-text-color-in\": {\n      \"0%\": {\n        color: \"var(--motion-origin-text-color)\",\n      },\n    },\n    \"@keyframes motion-text-color-out\": {\n      \"100%\": {\n        color: \"var(--motion-end-text-color)\",\n      },\n    },\n    \"@keyframes motion-text-color-loop-mirror\": {\n      \"0%, 100%\": {},\n      \"50%\": {\n        color: \"var(--motion-loop-text-color)\",\n      },\n    },\n    \"@keyframes motion-text-color-loop-reset\": {\n      \"0%\": {},\n      \"100%\": {\n        color: \"var(--motion-loop-text-color)\",\n      },\n    },\n  });\n}\n","import type { CSSRuleObject, PluginAPI } from \"tailwindcss/types/config.js\";\n\ntype SpringMultipliers = {\n  [key: string]: string;\n};\n\ntype ThemeConfig = {\n  motionDelay: Record<string, string>;\n  motionDuration: Record<string, string>;\n  motionLoopCount: Record<string, string>;\n  motionTimingFunction: Record<string, string>;\n  transitionDuration: Record<string, string>;\n  transitionTimingFunction: Record<string, string>;\n};\n\ntype UtilityOptions = {\n  modifier: string | null;\n};\n\n// Define spring types and their corresponding perceptual duration multipliers\nexport const springPerceptualMultipliers: SpringMultipliers = {\n  \"var(--motion-spring-smooth)\": \"1.66\",\n  \"var(--motion-spring-snappy)\": \"1.66\",\n  \"var(--motion-spring-bouncy)\": \"1.66\",\n  \"var(--motion-spring-bouncier)\": \"2.035\",\n  \"var(--motion-spring-bounciest)\": \"5.285\",\n  \"var(--motion-bounce)\": \"2\",\n};\n\nexport function addModifiers(\n  matchUtilities: PluginAPI[\"matchUtilities\"],\n  addUtilities: PluginAPI[\"addUtilities\"],\n  theme: (path: keyof ThemeConfig) => Record<string, string>\n) {\n  // duration\n  matchUtilities(\n    {\n      \"motion-duration\": (value: string, { modifier }: UtilityOptions) => {\n        switch (modifier) {\n          case \"scale\":\n            return { \"--motion-scale-duration\": value } as CSSRuleObject;\n          case \"translate\":\n            return { \"--motion-translate-duration\": value };\n          case \"rotate\":\n            return { \"--motion-rotate-duration\": value };\n          case \"blur\":\n          case \"grayscale\":\n            return { \"--motion-filter-duration\": value };\n          case \"opacity\":\n            return { \"--motion-opacity-duration\": value };\n          case \"background\":\n            return { \"--motion-background-color-duration\": value };\n          case \"text\":\n            return { \"--motion-text-color-duration\": value };\n          default:\n            return {\n              \"--motion-duration\": value,\n            };\n        }\n      },\n    },\n    {\n      values: theme(\"motionDuration\"),\n      modifiers: {\n        scale: \"scale\",\n        translate: \"translate\",\n        rotate: \"rotate\",\n        blur: \"blur\",\n        grayscale: \"grayscale\",\n        opacity: \"opacity\",\n        background: \"background\",\n        text: \"text\",\n      },\n    }\n  );\n\n  // delay\n  matchUtilities(\n    {\n      \"motion-delay\": (value: string, { modifier }: UtilityOptions) => {\n        switch (modifier) {\n          case \"scale\":\n            return { \"--motion-scale-delay\": value } as CSSRuleObject;\n          case \"translate\":\n            return { \"--motion-translate-delay\": value };\n          case \"rotate\":\n            return { \"--motion-rotate-delay\": value };\n          case \"blur\":\n          case \"grayscale\":\n            return { \"--motion-filter-delay\": value };\n          case \"opacity\":\n            return { \"--motion-opacity-delay\": value };\n          case \"background\":\n            return { \"--motion-background-color-delay\": value };\n          case \"text\":\n            return { \"--motion-text-color-delay\": value };\n          default:\n            return {\n              \"--motion-delay\": value,\n            };\n        }\n      },\n    },\n    {\n      values: theme(\"motionDelay\"),\n      modifiers: {\n        scale: \"scale\",\n        translate: \"translate\",\n        rotate: \"rotate\",\n        blur: \"blur\",\n        grayscale: \"grayscale\",\n        opacity: \"opacity\",\n        background: \"background\",\n        text: \"text\",\n      },\n    }\n  );\n\n  // ease\n  matchUtilities(\n    {\n      \"motion-ease\": (value: string, { modifier }: UtilityOptions) => {\n        // if the ease isn't a spring, the multiplier doesn't change anything\n        const perceptualDurationMultiplier =\n          springPerceptualMultipliers[value] || 1;\n\n        const isSpringWithBounce = [\n          \"var(--motion-spring-bouncy)\",\n          \"var(--motion-spring-bouncier)\",\n          \"var(--motion-spring-bounciest)\",\n          \"var(--motion-bounce)\",\n        ].includes(value);\n\n        switch (modifier) {\n          case \"scale\":\n            return {\n              \"--motion-scale-timing\": value,\n              \"--motion-scale-perceptual-duration-multiplier\": `${perceptualDurationMultiplier}`,\n            } as CSSRuleObject;\n          case \"translate\":\n            return {\n              \"--motion-translate-timing\": value,\n              \"--motion-translate-perceptual-duration-multiplier\": `${perceptualDurationMultiplier}`,\n            };\n          case \"rotate\":\n            return {\n              \"--motion-rotate-timing\": value,\n              \"--motion-rotate-perceptual-duration-multiplier\": `${perceptualDurationMultiplier}`,\n            };\n          case \"blur\":\n          case \"grayscale\":\n            return {\n              \"--motion-filter-timing\": value,\n              \"--motion-filter-perceptual-duration-multiplier\": `${perceptualDurationMultiplier}`,\n            };\n          case \"opacity\":\n            return {\n              \"--motion-opacity-timing\": value,\n              \"--motion-opacity-perceptual-duration-multiplier\": `${perceptualDurationMultiplier}`,\n            };\n          case \"background\":\n            return {\n              \"--motion-background-color-timing\": value,\n              \"--motion-background-color-perceptual-duration-multiplier\": `${perceptualDurationMultiplier}`,\n            };\n          case \"text\":\n            return {\n              \"--motion-text-color-timing\": value,\n              \"--motion-text-color-perceptual-duration-multiplier\": `${perceptualDurationMultiplier}`,\n            };\n          default:\n            if (isSpringWithBounce) {\n              return {\n                \"--motion-timing\": value,\n                \"--motion-perceptual-duration-multiplier\": `${perceptualDurationMultiplier}`,\n\n                // filter, opacity, and color animations don't look good with bouncy springs\n                // so we use a smooth spring for them\n                \"--motion-filter-timing\": \"var(--motion-spring-smooth)\",\n                \"--motion-opacity-timing\": \"var(--motion-spring-smooth)\",\n                \"--motion-background-color-timing\":\n                  \"var(--motion-spring-smooth)\",\n                \"--motion-text-color-timing\": \"var(--motion-spring-smooth)\",\n\n                \"--motion-filter-perceptual-duration-multiplier\": \"1.66\",\n                \"--motion-opacity-perceptual-duration-multiplier\": \"1.66\",\n                \"--motion-background-color-perceptual-duration-multiplier\":\n                  \"1.66\",\n                \"--motion-text-color-perceptual-duration-multiplier\": \"1.66\",\n              };\n            } else {\n              return {\n                \"--motion-timing\": value,\n                \"--motion-perceptual-duration-multiplier\": `${perceptualDurationMultiplier}`,\n              };\n            }\n        }\n      },\n    },\n    {\n      values: theme(\"motionTimingFunction\"),\n      modifiers: {\n        scale: \"scale\",\n        translate: \"translate\",\n        rotate: \"rotate\",\n        blur: \"blur\",\n        grayscale: \"grayscale\",\n        opacity: \"opacity\",\n        background: \"background\",\n        text: \"text\",\n      },\n    }\n  );\n\n  // animation play state\n  addUtilities({\n    \".motion-paused\": {\n      animationPlayState: \"paused\",\n      \"&::before\": {\n        animationPlayState: \"paused\",\n      },\n      \"&::after\": {\n        animationPlayState: \"paused\",\n      },\n    },\n    \".motion-running\": {\n      animationPlayState: \"running\",\n      \"&::before\": {\n        animationPlayState: \"running\",\n      },\n      \"&::after\": {\n        animationPlayState: \"running\",\n      },\n    },\n  });\n\n  // loop\n  matchUtilities(\n    {\n      \"motion-loop\": (value: string, { modifier }: UtilityOptions) => {\n        switch (modifier) {\n          case \"scale\":\n            return { \"--motion-scale-loop-count\": value } as CSSRuleObject;\n          case \"translate\":\n            return { \"--motion-translate-loop-count\": value };\n          case \"rotate\":\n            return { \"--motion-rotate-loop-count\": value };\n          case \"blur\":\n          case \"grayscale\":\n            return { \"--motion-filter-loop-count\": value };\n          case \"opacity\":\n            return { \"--motion-opacity-loop-count\": value };\n          case \"background\":\n            return { \"--motion-background-color-loop-count\": value };\n          case \"text\":\n            return { \"--motion-text-color-loop-count\": value };\n          default:\n            return {\n              \"--motion-loop-count\": value,\n            };\n        }\n      },\n    },\n    {\n      values: theme(\"motionLoopCount\"),\n      modifiers: {\n        scale: \"scale\",\n        translate: \"translate\",\n        rotate: \"rotate\",\n        blur: \"blur\",\n        grayscale: \"grayscale\",\n        opacity: \"opacity\",\n        background: \"background\",\n        text: \"text\",\n      },\n    }\n  );\n}\n\nexport const modifiersTheme = {\n  motionTimingFunction: (\n    theme: (path: keyof ThemeConfig) => Record<string, string>\n  ) => ({\n    ...theme(\"transitionTimingFunction\"),\n    \"spring-smooth\": \"var(--motion-spring-smooth)\",\n    \"spring-snappy\": \"var(--motion-spring-snappy)\",\n    \"spring-bouncy\": \"var(--motion-spring-bouncy)\",\n    \"spring-bouncier\": \"var(--motion-spring-bouncier)\",\n    \"spring-bounciest\": \"var(--motion-spring-bounciest)\",\n\n    bounce: \"var(--motion-bounce)\",\n\n    \"in-quad\": \"cubic-bezier(.55, .085, .68, .53)\",\n    \"in-cubic\": \"cubic-bezier(.550, .055, .675, .19)\",\n    \"in-quart\": \"cubic-bezier(.895, .03, .685, .22)\",\n    \"in-back\": \"cubic-bezier(0.6,-0.28,0.74,0.05)\",\n\n    \"out-quad\": \"cubic-bezier(.25, .46, .45, .94)\",\n    \"out-cubic\": \"cubic-bezier(.215, .61, .355, 1)\",\n    \"out-quart\": \"cubic-bezier(.165, .84, .44, 1)\",\n    \"out-back\": \"cubic-bezier(0.18,0.89,0.32,1.27)\",\n\n    \"in-out-quad\": \"cubic-bezier(.455, .03, .515, .955)\",\n    \"in-out-cubic\": \"cubic-bezier(.645, .045, .355, 1)\",\n    \"in-out-quart\": \"cubic-bezier(.77, 0, .175, 1)\",\n    \"in-out-back\": \"cubic-bezier(0.68,-0.55,0.27,1.55)\",\n  }),\n  motionDuration: (\n    theme: (path: keyof ThemeConfig) => Record<string, string>\n  ) => ({\n    ...theme(\"transitionDuration\"),\n    1500: \"1500ms\",\n    2000: \"2000ms\",\n    DEFAULT: \"750ms\",\n  }),\n  motionDelay: (\n    theme: (path: keyof ThemeConfig) => Record<string, string>\n  ) => ({\n    ...theme(\"motionDuration\"),\n    DEFAULT: \"0ms\",\n  }),\n  motionLoopCount: {\n    infinite: \"infinite\",\n    once: \"1\",\n    twice: \"2\",\n  },\n};\n","import type { PluginAPI } from \"tailwindcss/types/config.js\";\nimport {\n  filterInAnimation,\n  opacityInAnimation,\n  opacityLoopAnimation,\n  rotateInAnimation,\n  rotateLoopAnimation,\n  scaleInAnimation,\n  scaleLoopAnimation,\n  translateInAnimation,\n  translateLoopAnimation,\n  allLoopAndEnterAnimations,\n} from \"./baseAnimations.js\";\nimport { springPerceptualMultipliers } from \"./modifiers.js\";\n\ntype Direction = \"right\" | \"left\" | \"up\" | \"down\";\n\ntype PresetThemeConfig = {\n  addComponents: PluginAPI[\"addComponents\"];\n  matchComponents: PluginAPI[\"matchComponents\"];\n};\n\ntype Size = \"sm\" | \"md\" | \"lg\";\n\nconst DEFAULT_MULTIPLIER = \"1\";\n\nexport function addPresets(\n  addComponents: PresetThemeConfig[\"addComponents\"],\n  matchComponents: PresetThemeConfig[\"matchComponents\"]\n) {\n  matchComponents(\n    {\n      \"motion-preset-fade\": (size: string) => {\n        const durations = {\n          sm: \"300ms\",\n          md: \"500ms\",\n          lg: \"800ms\",\n        };\n        return {\n          \"--motion-origin-opacity\": \"0\",\n          \"--motion-duration\": durations[size as Size],\n          \"--motion-opacity-in-animation\": opacityInAnimation,\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n      \"motion-preset-slide-right\": (size: string) => {\n        const distance = {\n          sm: \"5%\",\n          md: \"25%\",\n          lg: \"100%\",\n        };\n        return {\n          \"--motion-origin-translate-x\": `-${distance[size as Size]}`,\n          \"--motion-origin-opacity\": \"0\",\n          \"--motion-opacity-in-animation\": opacityInAnimation,\n          \"--motion-translate-in-animation\": translateInAnimation,\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n      \"motion-preset-slide-left\": (size: string) => {\n        const distance = {\n          sm: \"5%\",\n          md: \"25%\",\n          lg: \"100%\",\n        };\n        return {\n          \"--motion-origin-translate-x\": distance[size as Size],\n          \"--motion-origin-opacity\": \"0\",\n          \"--motion-opacity-in-animation\": opacityInAnimation,\n          \"--motion-translate-in-animation\": translateInAnimation,\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n      \"motion-preset-slide-up\": (size: string) => {\n        const distance = {\n          sm: \"5%\",\n          md: \"25%\",\n          lg: \"100%\",\n        };\n        return {\n          \"--motion-origin-translate-y\": distance[size as Size],\n          \"--motion-origin-opacity\": \"0\",\n          \"--motion-opacity-in-animation\": opacityInAnimation,\n          \"--motion-translate-in-animation\": translateInAnimation,\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n      \"motion-preset-slide-down\": (size: string) => {\n        const distance = {\n          sm: \"5%\",\n          md: \"25%\",\n          lg: \"100%\",\n        };\n        return {\n          \"--motion-origin-translate-y\": `-${distance[size as Size]}`,\n          \"--motion-origin-opacity\": \"0\",\n          \"--motion-opacity-in-animation\": opacityInAnimation,\n          \"--motion-translate-in-animation\": translateInAnimation,\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n      \"motion-preset-slide-up-right\": (size: string) => {\n        const distance = {\n          sm: \"5%\",\n          md: \"25%\",\n          lg: \"100%\",\n        };\n        return {\n          \"--motion-origin-translate-x\": `-${distance[size as Size]}`,\n          \"--motion-origin-translate-y\": distance[size as Size],\n          \"--motion-origin-opacity\": \"0\",\n          \"--motion-opacity-in-animation\": opacityInAnimation,\n          \"--motion-translate-in-animation\": translateInAnimation,\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n      \"motion-preset-slide-up-left\": (size: string) => {\n        const distance = {\n          sm: \"5%\",\n          md: \"25%\",\n          lg: \"100%\",\n        };\n        return {\n          \"--motion-origin-translate-x\": distance[size as Size],\n          \"--motion-origin-translate-y\": distance[size as Size],\n          \"--motion-origin-opacity\": \"0\",\n          \"--motion-opacity-in-animation\": opacityInAnimation,\n          \"--motion-translate-in-animation\": translateInAnimation,\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n      \"motion-preset-slide-down-left\": (size: string) => {\n        const distance = {\n          sm: \"5%\",\n          md: \"25%\",\n          lg: \"100%\",\n        };\n        return {\n          \"--motion-origin-translate-x\": distance[size as Size],\n          \"--motion-origin-translate-y\": `-${distance[size as Size]}`,\n          \"--motion-origin-opacity\": \"0\",\n          \"--motion-opacity-in-animation\": opacityInAnimation,\n          \"--motion-translate-in-animation\": translateInAnimation,\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n      \"motion-preset-slide-down-right\": (size: string) => {\n        const distance = {\n          sm: \"5%\",\n          md: \"25%\",\n          lg: \"100%\",\n        };\n        return {\n          \"--motion-origin-translate-x\": `-${distance[size as Size]}`,\n          \"--motion-origin-translate-y\": `-${distance[size as Size]}`,\n          \"--motion-origin-opacity\": \"0\",\n          \"--motion-opacity-in-animation\": opacityInAnimation,\n          \"--motion-translate-in-animation\": translateInAnimation,\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n\n      \"motion-preset-focus\": (size: string) => {\n        const blurSizes = {\n          sm: \"1.25px\",\n          md: \"5px\",\n          lg: \"10px\",\n        };\n        return {\n          \"--motion-origin-blur\": blurSizes[size as Size],\n          \"--motion-origin-opacity\": \"0\",\n          \"--motion-opacity-in-animation\": opacityInAnimation,\n          \"--motion-filter-in-animation\": filterInAnimation,\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n\n      \"motion-preset-blur-right\": (size: string) => {\n        const blurSizes = {\n          sm: \"1.25px\",\n          md: \"5px\",\n          lg: \"10px\",\n        };\n        const distance = {\n          sm: \"1%\",\n          md: \"5%\",\n          lg: \"25%\",\n        };\n        return {\n          \"--motion-origin-blur\": blurSizes[size as Size],\n          \"--motion-origin-translate-x\": `-${distance[size as Size]}`,\n          \"--motion-origin-opacity\": \"0\",\n          \"--motion-opacity-in-animation\": opacityInAnimation,\n          \"--motion-filter-in-animation\": filterInAnimation,\n          \"--motion-translate-in-animation\": translateInAnimation,\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n      \"motion-preset-blur-left\": (size: string) => {\n        const blurSizes = {\n          sm: \"1.25px\",\n          md: \"5px\",\n          lg: \"10px\",\n        };\n        const distance = {\n          sm: \"1%\",\n          md: \"5%\",\n          lg: \"25%\",\n        };\n        return {\n          \"--motion-origin-blur\": blurSizes[size as Size],\n          \"--motion-origin-translate-x\": distance[size as Size],\n          \"--motion-origin-opacity\": \"0\",\n          \"--motion-opacity-in-animation\": opacityInAnimation,\n          \"--motion-filter-in-animation\": filterInAnimation,\n          \"--motion-translate-in-animation\": translateInAnimation,\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n      \"motion-preset-blur-up\": (size: string) => {\n        const blurSizes = {\n          sm: \"1.25px\",\n          md: \"5px\",\n          lg: \"10px\",\n        };\n        const distance = {\n          sm: \"1%\",\n          md: \"5%\",\n          lg: \"25%\",\n        };\n        return {\n          \"--motion-origin-blur\": blurSizes[size as Size],\n          \"--motion-origin-translate-y\": distance[size as Size],\n          \"--motion-origin-opacity\": \"0\",\n          \"--motion-opacity-in-animation\": opacityInAnimation,\n          \"--motion-filter-in-animation\": filterInAnimation,\n          \"--motion-translate-in-animation\": translateInAnimation,\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n      \"motion-preset-blur-down\": (size: string) => {\n        const blurSizes = {\n          sm: \"1.25px\",\n          md: \"5px\",\n          lg: \"10px\",\n        };\n        const distance = {\n          sm: \"1%\",\n          md: \"5%\",\n          lg: \"25%\",\n        };\n        return {\n          \"--motion-origin-blur\": blurSizes[size as Size],\n          \"--motion-origin-translate-y\": `-${distance[size as Size]}`,\n          \"--motion-origin-opacity\": \"0\",\n          \"--motion-opacity-in-animation\": opacityInAnimation,\n          \"--motion-filter-in-animation\": filterInAnimation,\n          \"--motion-translate-in-animation\": translateInAnimation,\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n    },\n    {\n      values: {\n        sm: \"sm\",\n        md: \"md\",\n        lg: \"lg\",\n        DEFAULT: \"md\",\n      },\n    }\n  );\n\n  matchComponents(\n    {\n      \"motion-preset-rebound\": (direction: string) => {\n        const directions = {\n          right: {\n            \"--motion-origin-translate-x\": \"-25%\",\n          },\n          left: {\n            \"--motion-origin-translate-x\": \"25%\",\n          },\n          up: {\n            \"--motion-origin-translate-y\": \"25%\",\n          },\n          down: {\n            \"--motion-origin-translate-y\": \"-25%\",\n          },\n        };\n        return {\n          ...directions[direction as Direction],\n          \"--motion-translate-timing\": \"var(--motion-spring-bouncier)\",\n          \"--motion-translate-perceptual-duration-multiplier\":\n            springPerceptualMultipliers[\"var(--motion-spring-bouncier)\"] ??\n            DEFAULT_MULTIPLIER,\n          \"--motion-origin-opacity\": \"0\",\n          \"--motion-opacity-in-animation\": opacityInAnimation,\n          \"--motion-translate-in-animation\": translateInAnimation,\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n    },\n    {\n      values: {\n        right: \"right\",\n        left: \"left\",\n        up: \"up\",\n        down: \"down\",\n        DEFAULT: \"left\",\n      },\n    }\n  );\n\n  addComponents({\n    \".motion-preset-bounce\": {\n      \"--motion-duration\": \"300ms\",\n      \"--motion-translate-timing\": \"var(--motion-bounce)\",\n      \"--motion-translate-perceptual-duration-multiplier\":\n        springPerceptualMultipliers[\"var(--motion-bounce)\"] ??\n        DEFAULT_MULTIPLIER,\n      \"--motion-origin-opacity\": \"0\",\n      \"--motion-origin-translate-y\": \"-25%\",\n      \"--motion-opacity-in-animation\": opacityInAnimation,\n      \"--motion-translate-in-animation\": translateInAnimation,\n      animation: allLoopAndEnterAnimations,\n    },\n  });\n\n  addComponents({\n    \".motion-preset-expand\": {\n      \"--motion-origin-scale-x\": \"50%\",\n      \"--motion-origin-scale-y\": \"50%\",\n      \"--motion-origin-opacity\": \"0\",\n      \"--motion-opacity-in-animation\": opacityInAnimation,\n      \"--motion-scale-in-animation\": scaleInAnimation,\n      animation: allLoopAndEnterAnimations,\n    },\n  });\n\n  addComponents({\n    \".motion-preset-shrink\": {\n      \"--motion-origin-scale-x\": \"150%\",\n      \"--motion-origin-scale-y\": \"150%\",\n      \"--motion-origin-opacity\": \"0\",\n      \"--motion-opacity-in-animation\": opacityInAnimation,\n      \"--motion-scale-in-animation\": scaleInAnimation,\n      animation: allLoopAndEnterAnimations,\n    },\n  });\n\n  addComponents({\n    \".motion-preset-pop\": {\n      \"--motion-origin-scale-x\": \"50%\",\n      \"--motion-origin-scale-y\": \"50%\",\n      \"--motion-origin-opacity\": \"0\",\n      \"--motion-scale-timing\": \"var(--motion-spring-bouncier)\",\n      \"--motion-scale-perceptual-duration-multiplier\":\n        springPerceptualMultipliers[\"var(--motion-spring-bouncier)\"] ??\n        DEFAULT_MULTIPLIER,\n      \"--motion-opacity-in-animation\": opacityInAnimation,\n      \"--motion-scale-in-animation\": scaleInAnimation,\n      animation: allLoopAndEnterAnimations,\n    },\n  });\n\n  addComponents({\n    \".motion-preset-compress\": {\n      \"--motion-origin-scale-x\": \"150%\",\n      \"--motion-origin-scale-y\": \"150%\",\n      \"--motion-origin-opacity\": \"0\",\n      \"--motion-scale-timing\": \"var(--motion-spring-bouncier)\",\n      \"--motion-scale-perceptual-duration-multiplier\":\n        springPerceptualMultipliers[\"var(--motion-spring-bouncier)\"] ??\n        DEFAULT_MULTIPLIER,\n      \"--motion-opacity-in-animation\": opacityInAnimation,\n      \"--motion-scale-in-animation\": scaleInAnimation,\n      animation: allLoopAndEnterAnimations,\n    },\n  });\n\n  addComponents({\n    \".motion-preset-shake\": {\n      \"--motion-duration\": \"300ms\",\n      \"--motion-origin-rotate\": \"15deg\",\n      \"--motion-origin-opacity\": \"0\",\n      \"--motion-rotate-timing\": \"var(--motion-spring-bounciest)\",\n      \"--motion-rotate-perceptual-duration-multiplier\":\n        springPerceptualMultipliers[\"var(--motion-spring-bouncier)\"] ??\n        DEFAULT_MULTIPLIER,\n      \"--motion-opacity-in-animation\": opacityInAnimation,\n      \"--motion-rotate-in-animation\": rotateInAnimation,\n      animation: allLoopAndEnterAnimations,\n    },\n  });\n\n  addComponents({\n    \".motion-preset-wiggle\": {\n      \"--motion-duration\": \"300ms\",\n      \"--motion-origin-rotate\": \"15deg\",\n      \"--motion-origin-translate-x\": \"-25%\",\n      \"--motion-origin-translate-y\": \"-10%\",\n      \"--motion-origin-opacity\": \"0\",\n      \"--motion-timing\": \"var(--motion-spring-bounciest)\",\n      \"--motion-perceptual-duration-multiplier\": \"5.285\",\n      \"--motion-opacity-timing\": \"var(--motion-spring-smooth)\",\n      \"--motion-opacity-perceptual-duration-multiplier\":\n        springPerceptualMultipliers[\"var(--motion-spring-bouncier)\"] ??\n        DEFAULT_MULTIPLIER,\n      \"--motion-opacity-in-animation\": opacityInAnimation,\n      \"--motion-rotate-in-animation\": rotateInAnimation,\n      \"--motion-translate-in-animation\": translateInAnimation,\n      animation: allLoopAndEnterAnimations,\n    },\n  });\n\n  addComponents({\n    \".motion-preset-confetti\": {\n      display: \"block\",\n      \"-webkit-appearance\": \"none\",\n      appearance: \"none\",\n      position: \"relative\",\n      outline: \"0\",\n      zIndex: \"1\",\n      margin: \"0\",\n      animation:\n        \"RomboConfettiPop var(--motion-duration) var(--motion-timing)  both\",\n\n      \"@keyframes RomboConfettiPop\": {\n        \"0%\": {\n          opacity: \"0\",\n          transform: \"scale(1)\",\n        },\n        \"33%\": {\n          opacity: \"1\",\n          transform: \"scale(1.15)\",\n        },\n        \"50%\": {\n          transform: \"scale(0.975)\",\n        },\n        \"65%\": {\n          transform: \"scale(1.025)\",\n        },\n        \"80%\": {\n          transform: \"scale(0.99)\",\n        },\n        \"87%\": {\n          transform: \"scale(1.01)\",\n        },\n        \"100%\": {\n          opacity: \"1\",\n          transform: \"scale(1)\",\n        },\n      },\n      \"&:after\": {\n        display: \"block\",\n        animationDuration: \"var(--motion-duration)\",\n        animationTimingFunction: \"var(--motion-timing)\",\n        animationIterationCount: \"1\",\n        animationDirection: \"normal\",\n        animationFillMode: \"forwards\",\n        animationName: \"bottomfetti\",\n        position: \"absolute\",\n        content: '\" \"',\n        zIndex: \"-1\",\n        width: \"100%\",\n        height: \"100%\",\n        left: \"-20%\",\n        top: \"100%\",\n        transition: \"all var(--motion-timing) var(--motion-duration)\",\n        backgroundRepeat: \"no-repeat\",\n        backgroundImage:\n          \"radial-gradient(circle, #a2dd60 20%, transparent 20%),radial-gradient(circle, transparent 20%, #ee65a9 20%, transparent 30%),radial-gradient(circle, #6092dd 20%, transparent 20%),radial-gradient(circle, #f3c548 20%, transparent 20%),radial-gradient(circle, transparent 10%, #46ec99 15%, transparent 20%),radial-gradient(circle, #f03e47 20%, transparent 20%),radial-gradient(circle, #7b4df7 20%, transparent 20%),radial-gradient(circle, #3ff1bc 20%, transparent 20%)\",\n        backgroundSize:\n          \"15% 15%, 20% 20%, 18% 18%, 20% 20%, 15% 15%, 10% 10%, 20% 20%\",\n      },\n      \"&:before\": {\n        display: \"block\",\n        animationDuration: \"var(--motion-duration)\",\n        animationTimingFunction: \"var(--motion-timing)\",\n        animationIterationCount: \"1\",\n        animationDirection: \"normal\",\n        animationFillMode: \"forwards\",\n        animationName: \"topfetti\",\n        position: \"absolute\",\n        content: '\" \"',\n        width: \"100%\",\n        height: \"100%\",\n        left: \"-5%\",\n        backgroundRepeat: \"no-repeat\",\n        transition: \"all var(--motion-timing) var(--motion-duration)\",\n        zIndex: \"-1\",\n        top: \"-90%\",\n        backgroundImage:\n          \"radial-gradient(circle, #a2dd60 30%, transparent 20%),radial-gradient(circle, transparent 20%, #ee65a9 40%, transparent 20%),radial-gradient(circle, #6092dd 30%, transparent 20%),radial-gradient(circle, #f3c548 30%, transparent 20%),radial-gradient(circle, transparent 10%, #46ec99 15%, transparent 20%),radial-gradient(circle, #f03e47 30%, transparent 20%),radial-gradient(circle, #7b4df7 30%, transparent 30%),radial-gradient(circle, #3ff1bc 30%, transparent 20%),radial-gradient(circle, #48f088 30%, transparent 30%)\",\n        backgroundSize:\n          \"10% 10%, 20% 20%, 15% 15%, 20% 20%, 18% 18%, 10% 10%, 15% 15%, 10% 10%, 25% 25%\",\n      },\n      \"@keyframes topfetti\": {\n        \"0%\": {\n          backgroundPosition:\n            \"5% 90%, 10% 90%, 10% 90%, 15% 90%, 25% 90%, 25% 90%, 40% 90%, 55% 90%, 70% 90%\",\n        },\n        \"50%\": {\n          backgroundPosition:\n            \"0% 80%, 0% 20%, 10% 40%, 20% 0%, 30% 30%, 22% 50%, 50% 50%, 65% 20%, 90% 30%\",\n        },\n        \"100%\": {\n          backgroundPosition:\n            \"0% 70%, 0% 10%, 10% 30%, 20% -10%, 30% 20%, 22% 40%, 50% 40%, 65% 10%, 90% 20%\",\n          backgroundSize: \"0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%\",\n        },\n      },\n      \"@keyframes bottomfetti\": {\n        \"0%\": {\n          backgroundPosition:\n            \"10% -10%, 30% 10%, 55% -10%, 70% -10%, 85% -10%,70% -10%, 70% 0%\",\n        },\n        \"50%\": {\n          backgroundPosition:\n            \"0% 80%, 20% 80%, 45% 60%, 60% 100%, 75% 70%, 95% 60%, 105% 0%\",\n        },\n        \"100%\": {\n          backgroundPosition:\n            \"0% 90%, 20% 90%, 45% 70%, 60% 110%, 75% 80%, 95% 70%, 110% 10%\",\n          backgroundSize: \"0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%\",\n        },\n      },\n    },\n  });\n\n  matchComponents(\n    {\n      \"motion-preset-pulse\": (size: string) => {\n        const sizes = {\n          sm: \"1.1\",\n          md: \"1.25\",\n          lg: \"1.5\",\n        };\n        return {\n          \"--motion-loop-scale-x\": sizes[size as Size],\n          \"--motion-loop-scale-y\": sizes[size as Size],\n          \"--motion-timing\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n          \"--motion-scale-loop-animation\": scaleLoopAnimation(\"mirror\"),\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n      \"motion-preset-wobble\": (size: string) => {\n        const sizes = {\n          sm: \"5%\",\n          md: \"15%\",\n          lg: \"25%\",\n        };\n        return {\n          \"--motion-loop-translate-x\": sizes[size as Size],\n          \"--motion-timing\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n          \"--motion-translate-loop-animation\": translateLoopAnimation(\"mirror\"),\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n      \"motion-preset-seesaw\": (size: string) => {\n        const sizes = {\n          sm: \"3deg\",\n          md: \"6deg\",\n          lg: \"12deg\",\n        };\n        return {\n          \"--motion-loop-rotate\": sizes[size as Size],\n          \"--motion-rotate-loop-animation\": rotateLoopAnimation(\"mirror\"),\n          \"--motion-rotate-timing\": \"var(--motion-spring-bounciest)\",\n          \"--motion-rotate-perceptual-duration-multiplier\":\n            springPerceptualMultipliers[\"var(--motion-spring-bounciest)\"] ??\n            DEFAULT_MULTIPLIER,\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n      \"motion-preset-oscillate\": (size: string) => {\n        const sizes = {\n          sm: \"5%\",\n          md: \"15%\",\n          lg: \"25%\",\n        };\n        return {\n          \"--motion-loop-translate-y\": sizes[size as Size],\n          \"--motion-timing\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n          \"--motion-translate-loop-animation\": translateLoopAnimation(\"mirror\"),\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n      \"motion-preset-stretch\": (size: string) => {\n        const xSizes = {\n          sm: \"95%\",\n          md: \"85%\",\n          lg: \"75%\",\n        };\n        const ySizes = {\n          sm: \"105%\",\n          md: \"115%\",\n          lg: \"125%\",\n        };\n        return {\n          \"--motion-loop-scale-x\": xSizes[size as Size],\n          \"--motion-loop-scale-y\": ySizes[size as Size],\n          \"--motion-scale-timing\": \"var(--motion-spring-bouncier)\",\n          \"--motion-scale-perceptual-duration-multiplier\":\n            springPerceptualMultipliers[\"var(--motion-spring-bouncier)\"] ??\n            DEFAULT_MULTIPLIER,\n          \"--motion-scale-loop-animation\": scaleLoopAnimation(\"mirror\"),\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n      \"motion-preset-float\": (size: string) => {\n        const sizes = {\n          sm: \"50%\",\n          md: \"100%\",\n          lg: \"150%\",\n        };\n        return {\n          \"--motion-loop-translate-y\": sizes[size as Size],\n          \"--motion-translate-timing\": \"var(--motion-spring-bouncier)\",\n          \"--motion-translate-perceptual-duration-multiplier\":\n            springPerceptualMultipliers[\"var(--motion-spring-bouncier)\"] ??\n            DEFAULT_MULTIPLIER,\n          \"--motion-duration\": \"2000ms\",\n          \"--motion-translate-loop-animation\": translateLoopAnimation(\"mirror\"),\n          animation: allLoopAndEnterAnimations,\n        };\n      },\n    },\n    {\n      values: {\n        sm: \"sm\",\n        md: \"md\",\n        lg: \"lg\",\n        DEFAULT: \"md\",\n      },\n    }\n  );\n\n  addComponents({\n    \".motion-preset-spin\": {\n      \"--motion-loop-rotate\": \"360deg\",\n      \"--motion-timing\": \"linear\",\n      \"--motion-rotate-loop-animation\": rotateLoopAnimation(\"reset\"),\n      animation: allLoopAndEnterAnimations,\n    },\n  });\n\n  addComponents({\n    \".motion-preset-blink\": {\n      \"--motion-loop-opacity\": \"0\",\n      \"--motion-opacity-loop-animation\": opacityLoopAnimation(\"mirror\"),\n      animation: allLoopAndEnterAnimations,\n    },\n  });\n\n  matchComponents({\n    \"motion-preset-typewriter\": (value) => ({\n      \"--motion-duration\": \"2000ms\",\n      \"--motion-typewriter-value\": `${value}ch`,\n      animation: `typing var(--motion-duration) steps(${value}) var(--motion-loop-count), blink 0.4s step-end infinite alternate`,\n      whiteSpace: \"nowrap\",\n      borderRight: \"2px solid\",\n      fontFamily: \"monospace\",\n      overflow: \"hidden\",\n\n      \"@media screen and (prefers-reduced-motion: no-preference)\": {\n        \"@keyframes typing\": {\n          \"10%, 90%\": {\n            width: \"0\",\n          },\n          \"40%, 60%\": {\n            width: `calc(var(--motion-typewriter-value) + 1px)`,\n          },\n        },\n      },\n\n      \"@keyframes blink\": {\n        \"50%\": {\n          borderColor: \"transparent\",\n        },\n      },\n    }),\n  });\n\n  matchComponents(\n    {\n      \"motion-preset-flomoji\": (value: string) => ({\n        position: \"relative\",\n        \"&:before\": {\n          content: `\"${value}\"`,\n          animation:\n            \"emojiAnim 3000ms infinite cubic-bezier(0, 0.2, 0.2, 1) both\",\n          top: \"0px\",\n          left: \"0px\",\n          position: \"absolute\",\n          zIndex: \"1000\",\n          background: \"rgba(255,255,255,0.3)\",\n          width: \"2rem\",\n          height: \"2rem\",\n          display: \"flex\",\n          alignItems: \"center\",\n          justifyContent: \"center\",\n          borderRadius: \"100%\",\n          padding: \"2px\",\n          paddingBottom: \"6px\",\n        },\n\n        \"@media screen and (prefers-reduced-motion: no-preference)\": {\n          \"@keyframes emojiAnim\": {\n            \"0%\": {\n              transform: \"translateY(-200%) rotate(60deg)\",\n            },\n            \"30%\": {\n              transform: \"rotate(50deg)\",\n            },\n            \"40%\": {\n              transform: \"rotate(55deg)\",\n            },\n            \"50%\": {\n              transform: \"rotate(45deg)\",\n            },\n            \"60%\": {\n              transform: \"rotate(40deg)\",\n            },\n            \"100%\": {\n              transform: \"translateY(-200%) rotate(25deg)\",\n            },\n          },\n        },\n      }),\n    },\n    {\n      values: {\n        \"👉\": \"👉\",\n        \"🚀\": \"🚀\",\n        \"👀\": \"👀\",\n        \"👍\": \"👍\",\n      },\n    }\n  );\n}\n","import createPlugin from \"tailwindcss/plugin.js\";\nimport type {\n  Config,\n  PluginAPI,\n  PluginCreator,\n} from \"tailwindcss/types/config.js\";\nimport { addBaseAnimations, baseAnimationsTheme } from \"./baseAnimations.js\";\nimport addDefaults from \"./defaults.js\";\nimport addKeyframes from \"./keyframes.js\";\nimport { addModifiers, modifiersTheme } from \"./modifiers.js\";\nimport { addPresets } from \"./presets.js\";\n\nconst pluginCreator: PluginCreator = ({\n  matchUtilities,\n  theme,\n  addBase,\n  addUtilities,\n  addComponents,\n  matchComponents,\n}: PluginAPI) => {\n  addDefaults(addBase);\n  addKeyframes(addBase);\n  addPresets(addComponents, matchComponents);\n  addBaseAnimations(matchUtilities, theme);\n  addModifiers(matchUtilities, addUtilities, theme);\n};\n\nconst pluginConfig: Partial<Config> = {\n  theme: {\n    ...modifiersTheme,\n    ...baseAnimationsTheme,\n  },\n};\n\nexport default createPlugin(pluginCreator, pluginConfig);\n"]}