{"version":3,"file":"transform.mjs","sources":["../../../../src/effects/style/transform.ts"],"sourcesContent":["import { transformValueTypes } from \"../../value/types/maps/transform\"\nimport { getValueAsType } from \"../../value/types/utils/get-as-type\"\nimport { MotionValueState } from \"../MotionValueState\"\n\nconst translateAlias: Record<string, string> = {\n    x: \"translateX\",\n    y: \"translateY\",\n    z: \"translateZ\",\n    transformPerspective: \"perspective\",\n}\n\n/**\n * Cache of `translateX(`-style openers so each render is a few string\n * concatenations rather than a template per transform.\n */\nconst openers: Record<string, string> = {}\n\nexport function buildTransform(state: MotionValueState) {\n    let transform = \"\"\n    const { transformKeys: keys = [], transformValues: values = {} } = state\n\n    /**\n     * Loop over the bound transforms in order, adding the ones that\n     * aren't at their default value to the transform string.\n     */\n    for (let i = 0; i < keys.length; i++) {\n        const key = keys[i]\n        const value = values[key].get()\n\n        if (value === undefined) continue\n\n        const parsed = typeof value === \"number\" ? value : parseFloat(value)\n\n        if (parsed !== (key.startsWith(\"scale\") ? 1 : 0)) {\n            transform +=\n                (transform && \" \") +\n                (openers[key] ||\n                    (openers[key] = (translateAlias[key] || key) + \"(\")) +\n                getValueAsType(value, transformValueTypes[key]) +\n                \")\"\n        }\n    }\n\n    // See build-transform.ts: additive `rotate()` so user `rotate` isn't\n    // clobbered. Not a `transformPropOrder` slot.\n    const pathRotation = state.get(\"pathRotation\")?.get()\n    if (pathRotation) {\n        transform +=\n            (transform && \" \") +\n            \"rotate(\" +\n            getValueAsType(pathRotation, transformValueTypes.pathRotation) +\n            \")\"\n    }\n\n    return transform || \"none\"\n}\n"],"names":[],"mappings":";;;AAIA,MAAM,cAAc,GAA2B;AAC3C,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,oBAAoB,EAAE,aAAa;CACtC;AAED;;;AAGG;AACH,MAAM,OAAO,GAA2B,EAAE;AAEpC,SAAU,cAAc,CAAC,KAAuB,EAAA;IAClD,IAAI,SAAS,GAAG,EAAE;AAClB,IAAA,MAAM,EAAE,aAAa,EAAE,IAAI,GAAG,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,KAAK;AAExE;;;AAGG;AACH,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QACnB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;QAE/B,IAAI,KAAK,KAAK,SAAS;YAAE;AAEzB,QAAA,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;AAEpE,QAAA,IAAI,MAAM,MAAM,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;YAC9C,SAAS;gBACL,CAAC,SAAS,IAAI,GAAG;qBAChB,OAAO,CAAC,GAAG,CAAC;AACT,yBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;AACxD,oBAAA,cAAc,CAAC,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;AAC/C,oBAAA,GAAG;QACX;IACJ;;;IAIA,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE;IACrD,IAAI,YAAY,EAAE;QACd,SAAS;YACL,CAAC,SAAS,IAAI,GAAG;gBACjB,SAAS;AACT,gBAAA,cAAc,CAAC,YAAY,EAAE,mBAAmB,CAAC,YAAY,CAAC;AAC9D,gBAAA,GAAG;IACX;IAEA,OAAO,SAAS,IAAI,MAAM;AAC9B;;;;"}