{"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;;;;"}