motion-dom
Version:
1 lines • 1.61 kB
Source Map (JSON)
{"version":3,"file":"animate-layout.mjs","sources":["../../../src/layout/animate-layout.ts"],"sourcesContent":["import type { AnimationOptions } from \"../animation/types\"\nimport { activeScope, addBuilderToScope } from \"../scope/active\"\nimport type { ElementOrSelector } from \"../utils/resolve-elements\"\nimport {\n LayoutAnimationBuilder,\n parseAnimateLayoutArgs,\n} from \"./LayoutAnimationBuilder\"\n\n/**\n * Animate layout changes made within `updateDom` on elements tagged\n * with `data-layout` or `data-layout-id`.\n *\n * ```\n * animateLayout(() => {\n * element.style.justifyContent = \"flex-end\"\n * })\n * ```\n */\nexport function animateLayout(\n scopeOrUpdateDom: ElementOrSelector | (() => void),\n updateDomOrOptions?: (() => void) | AnimationOptions,\n options?: AnimationOptions\n): LayoutAnimationBuilder {\n const { scope, updateDom, defaultOptions } = parseAnimateLayoutArgs(\n scopeOrUpdateDom,\n updateDomOrOptions,\n options\n )\n const builder = new LayoutAnimationBuilder(scope, updateDom, {\n ...activeScope.current?.transition,\n ...defaultOptions,\n })\n addBuilderToScope(builder)\n return builder\n}\n"],"names":[],"mappings":";;;AAQA;;;;;;;;;AASG;SACa,aAAa,CACzB,gBAAkD,EAClD,kBAAoD,EACpD,OAA0B,EAAA;AAE1B,IAAA,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,sBAAsB,CAC/D,gBAAgB,EAChB,kBAAkB,EAClB,OAAO,CACV;IACD,MAAM,OAAO,GAAG,IAAI,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE;AACzD,QAAA,GAAG,WAAW,CAAC,OAAO,EAAE,UAAU;AAClC,QAAA,GAAG,cAAc;AACpB,KAAA,CAAC;IACF,iBAAiB,CAAC,OAAO,CAAC;AAC1B,IAAA,OAAO,OAAO;AAClB;;;;"}