{"ast":null,"code":"import { valueScaleCorrection } from '../../dom/projection/scale-correction.js';\nimport { buildTransform, buildTransformOrigin } from './build-transform.js';\nimport { isCSSVariable } from '../../dom/utils/is-css-variable.js';\nimport { isTransformProp, isTransformOriginProp } from './transform.js';\nimport { getValueAsType } from '../../dom/value-types/get-as-type.js';\nimport { numberValueTypes } from '../../dom/value-types/number.js';\nfunction buildHTMLStyles(state, latestValues, projection, layoutState, options, transformTemplate, buildProjectionTransform, buildProjectionTransformOrigin) {\n  var _a;\n  var style = state.style,\n    vars = state.vars,\n    transform = state.transform,\n    transformKeys = state.transformKeys,\n    transformOrigin = state.transformOrigin;\n  // Empty the transformKeys array. As we're throwing out refs to its items\n  // this might not be as cheap as suspected. Maybe using the array as a buffer\n  // with a manual incrementation would be better.\n  transformKeys.length = 0;\n  // Track whether we encounter any transform or transformOrigin values.\n  var hasTransform = false;\n  var hasTransformOrigin = false;\n  // Does the calculated transform essentially equal \"none\"?\n  var transformIsNone = true;\n  /**\n   * Loop over all our latest animated values and decide whether to handle them\n   * as a style or CSS variable.\n   *\n   * Transforms and transform origins are kept seperately for further processing.\n   */\n  for (var key in latestValues) {\n    var value = latestValues[key];\n    /**\n     * If this is a CSS variable we don't do any further processing.\n     */\n    if (isCSSVariable(key)) {\n      vars[key] = value;\n      continue;\n    }\n    // Convert the value to its default value type, ie 0 -> \"0px\"\n    var valueType = numberValueTypes[key];\n    var valueAsType = getValueAsType(value, valueType);\n    if (isTransformProp(key)) {\n      // If this is a transform, flag to enable further transform processing\n      hasTransform = true;\n      transform[key] = valueAsType;\n      transformKeys.push(key);\n      // If we already know we have a non-default transform, early return\n      if (!transformIsNone) continue;\n      // Otherwise check to see if this is a default transform\n      if (value !== ((_a = valueType[\"default\"]) !== null && _a !== void 0 ? _a : 0)) transformIsNone = false;\n    } else if (isTransformOriginProp(key)) {\n      transformOrigin[key] = valueAsType;\n      // If this is a transform origin, flag and enable further transform-origin processing\n      hasTransformOrigin = true;\n    } else {\n      /**\n       * If layout projection is on, and we need to perform scale correction for this\n       * value type, perform it.\n       */\n      if ((projection === null || projection === void 0 ? void 0 : projection.isHydrated) && (layoutState === null || layoutState === void 0 ? void 0 : layoutState.isHydrated) && valueScaleCorrection[key]) {\n        var correctedValue = valueScaleCorrection[key].process(value, layoutState, projection);\n        /**\n         * Scale-correctable values can define a number of other values to break\n         * down into. For instance borderRadius needs applying to borderBottomLeftRadius etc\n         */\n        var applyTo = valueScaleCorrection[key].applyTo;\n        if (applyTo) {\n          var num = applyTo.length;\n          for (var i = 0; i < num; i++) {\n            style[applyTo[i]] = correctedValue;\n          }\n        } else {\n          style[key] = correctedValue;\n        }\n      } else {\n        style[key] = valueAsType;\n      }\n    }\n  }\n  if (layoutState && projection && buildProjectionTransform && buildProjectionTransformOrigin) {\n    style.transform = buildProjectionTransform(layoutState.deltaFinal, layoutState.treeScale, hasTransform ? transform : undefined);\n    if (transformTemplate) {\n      style.transform = transformTemplate(transform, style.transform);\n    }\n    style.transformOrigin = buildProjectionTransformOrigin(layoutState);\n  } else {\n    if (hasTransform) {\n      style.transform = buildTransform(state, options, transformIsNone, transformTemplate);\n    }\n    if (hasTransformOrigin) {\n      style.transformOrigin = buildTransformOrigin(transformOrigin);\n    }\n  }\n}\nexport { buildHTMLStyles };","map":{"version":3,"names":["valueScaleCorrection","buildTransform","buildTransformOrigin","isCSSVariable","isTransformProp","isTransformOriginProp","getValueAsType","numberValueTypes","buildHTMLStyles","state","latestValues","projection","layoutState","options","transformTemplate","buildProjectionTransform","buildProjectionTransformOrigin","_a","style","vars","transform","transformKeys","transformOrigin","length","hasTransform","hasTransformOrigin","transformIsNone","key","value","valueType","valueAsType","push","isHydrated","correctedValue","process","applyTo","num","i","deltaFinal","treeScale","undefined"],"sources":["D:/DSP_Management/node_modules/framer-motion/dist/es/render/html/utils/build-styles.js"],"sourcesContent":["import { valueScaleCorrection } from '../../dom/projection/scale-correction.js';\nimport { buildTransform, buildTransformOrigin } from './build-transform.js';\nimport { isCSSVariable } from '../../dom/utils/is-css-variable.js';\nimport { isTransformProp, isTransformOriginProp } from './transform.js';\nimport { getValueAsType } from '../../dom/value-types/get-as-type.js';\nimport { numberValueTypes } from '../../dom/value-types/number.js';\n\nfunction buildHTMLStyles(state, latestValues, projection, layoutState, options, transformTemplate, buildProjectionTransform, buildProjectionTransformOrigin) {\n    var _a;\n    var style = state.style, vars = state.vars, transform = state.transform, transformKeys = state.transformKeys, transformOrigin = state.transformOrigin;\n    // Empty the transformKeys array. As we're throwing out refs to its items\n    // this might not be as cheap as suspected. Maybe using the array as a buffer\n    // with a manual incrementation would be better.\n    transformKeys.length = 0;\n    // Track whether we encounter any transform or transformOrigin values.\n    var hasTransform = false;\n    var hasTransformOrigin = false;\n    // Does the calculated transform essentially equal \"none\"?\n    var transformIsNone = true;\n    /**\n     * Loop over all our latest animated values and decide whether to handle them\n     * as a style or CSS variable.\n     *\n     * Transforms and transform origins are kept seperately for further processing.\n     */\n    for (var key in latestValues) {\n        var value = latestValues[key];\n        /**\n         * If this is a CSS variable we don't do any further processing.\n         */\n        if (isCSSVariable(key)) {\n            vars[key] = value;\n            continue;\n        }\n        // Convert the value to its default value type, ie 0 -> \"0px\"\n        var valueType = numberValueTypes[key];\n        var valueAsType = getValueAsType(value, valueType);\n        if (isTransformProp(key)) {\n            // If this is a transform, flag to enable further transform processing\n            hasTransform = true;\n            transform[key] = valueAsType;\n            transformKeys.push(key);\n            // If we already know we have a non-default transform, early return\n            if (!transformIsNone)\n                continue;\n            // Otherwise check to see if this is a default transform\n            if (value !== ((_a = valueType.default) !== null && _a !== void 0 ? _a : 0))\n                transformIsNone = false;\n        }\n        else if (isTransformOriginProp(key)) {\n            transformOrigin[key] = valueAsType;\n            // If this is a transform origin, flag and enable further transform-origin processing\n            hasTransformOrigin = true;\n        }\n        else {\n            /**\n             * If layout projection is on, and we need to perform scale correction for this\n             * value type, perform it.\n             */\n            if ((projection === null || projection === void 0 ? void 0 : projection.isHydrated) &&\n                (layoutState === null || layoutState === void 0 ? void 0 : layoutState.isHydrated) &&\n                valueScaleCorrection[key]) {\n                var correctedValue = valueScaleCorrection[key].process(value, layoutState, projection);\n                /**\n                 * Scale-correctable values can define a number of other values to break\n                 * down into. For instance borderRadius needs applying to borderBottomLeftRadius etc\n                 */\n                var applyTo = valueScaleCorrection[key].applyTo;\n                if (applyTo) {\n                    var num = applyTo.length;\n                    for (var i = 0; i < num; i++) {\n                        style[applyTo[i]] = correctedValue;\n                    }\n                }\n                else {\n                    style[key] = correctedValue;\n                }\n            }\n            else {\n                style[key] = valueAsType;\n            }\n        }\n    }\n    if (layoutState &&\n        projection &&\n        buildProjectionTransform &&\n        buildProjectionTransformOrigin) {\n        style.transform = buildProjectionTransform(layoutState.deltaFinal, layoutState.treeScale, hasTransform ? transform : undefined);\n        if (transformTemplate) {\n            style.transform = transformTemplate(transform, style.transform);\n        }\n        style.transformOrigin = buildProjectionTransformOrigin(layoutState);\n    }\n    else {\n        if (hasTransform) {\n            style.transform = buildTransform(state, options, transformIsNone, transformTemplate);\n        }\n        if (hasTransformOrigin) {\n            style.transformOrigin = buildTransformOrigin(transformOrigin);\n        }\n    }\n}\n\nexport { buildHTMLStyles };\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,0CAA0C;AAC/E,SAASC,cAAc,EAAEC,oBAAoB,QAAQ,sBAAsB;AAC3E,SAASC,aAAa,QAAQ,oCAAoC;AAClE,SAASC,eAAe,EAAEC,qBAAqB,QAAQ,gBAAgB;AACvE,SAASC,cAAc,QAAQ,sCAAsC;AACrE,SAASC,gBAAgB,QAAQ,iCAAiC;AAElE,SAASC,eAAeA,CAACC,KAAK,EAAEC,YAAY,EAAEC,UAAU,EAAEC,WAAW,EAAEC,OAAO,EAAEC,iBAAiB,EAAEC,wBAAwB,EAAEC,8BAA8B,EAAE;EACzJ,IAAIC,EAAE;EACN,IAAIC,KAAK,GAAGT,KAAK,CAACS,KAAK;IAAEC,IAAI,GAAGV,KAAK,CAACU,IAAI;IAAEC,SAAS,GAAGX,KAAK,CAACW,SAAS;IAAEC,aAAa,GAAGZ,KAAK,CAACY,aAAa;IAAEC,eAAe,GAAGb,KAAK,CAACa,eAAe;EACrJ;EACA;EACA;EACAD,aAAa,CAACE,MAAM,GAAG,CAAC;EACxB;EACA,IAAIC,YAAY,GAAG,KAAK;EACxB,IAAIC,kBAAkB,GAAG,KAAK;EAC9B;EACA,IAAIC,eAAe,GAAG,IAAI;EAC1B;AACJ;AACA;AACA;AACA;AACA;EACI,KAAK,IAAIC,GAAG,IAAIjB,YAAY,EAAE;IAC1B,IAAIkB,KAAK,GAAGlB,YAAY,CAACiB,GAAG,CAAC;IAC7B;AACR;AACA;IACQ,IAAIxB,aAAa,CAACwB,GAAG,CAAC,EAAE;MACpBR,IAAI,CAACQ,GAAG,CAAC,GAAGC,KAAK;MACjB;IACJ;IACA;IACA,IAAIC,SAAS,GAAGtB,gBAAgB,CAACoB,GAAG,CAAC;IACrC,IAAIG,WAAW,GAAGxB,cAAc,CAACsB,KAAK,EAAEC,SAAS,CAAC;IAClD,IAAIzB,eAAe,CAACuB,GAAG,CAAC,EAAE;MACtB;MACAH,YAAY,GAAG,IAAI;MACnBJ,SAAS,CAACO,GAAG,CAAC,GAAGG,WAAW;MAC5BT,aAAa,CAACU,IAAI,CAACJ,GAAG,CAAC;MACvB;MACA,IAAI,CAACD,eAAe,EAChB;MACJ;MACA,IAAIE,KAAK,MAAM,CAACX,EAAE,GAAGY,SAAS,WAAQ,MAAM,IAAI,IAAIZ,EAAE,KAAK,KAAK,CAAC,GAAGA,EAAE,GAAG,CAAC,CAAC,EACvES,eAAe,GAAG,KAAK;IAC/B,CAAC,MACI,IAAIrB,qBAAqB,CAACsB,GAAG,CAAC,EAAE;MACjCL,eAAe,CAACK,GAAG,CAAC,GAAGG,WAAW;MAClC;MACAL,kBAAkB,GAAG,IAAI;IAC7B,CAAC,MACI;MACD;AACZ;AACA;AACA;MACY,IAAI,CAACd,UAAU,KAAK,IAAI,IAAIA,UAAU,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,UAAU,CAACqB,UAAU,MAC7EpB,WAAW,KAAK,IAAI,IAAIA,WAAW,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,WAAW,CAACoB,UAAU,CAAC,IAClFhC,oBAAoB,CAAC2B,GAAG,CAAC,EAAE;QAC3B,IAAIM,cAAc,GAAGjC,oBAAoB,CAAC2B,GAAG,CAAC,CAACO,OAAO,CAACN,KAAK,EAAEhB,WAAW,EAAED,UAAU,CAAC;QACtF;AAChB;AACA;AACA;QACgB,IAAIwB,OAAO,GAAGnC,oBAAoB,CAAC2B,GAAG,CAAC,CAACQ,OAAO;QAC/C,IAAIA,OAAO,EAAE;UACT,IAAIC,GAAG,GAAGD,OAAO,CAACZ,MAAM;UACxB,KAAK,IAAIc,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,GAAG,EAAEC,CAAC,EAAE,EAAE;YAC1BnB,KAAK,CAACiB,OAAO,CAACE,CAAC,CAAC,CAAC,GAAGJ,cAAc;UACtC;QACJ,CAAC,MACI;UACDf,KAAK,CAACS,GAAG,CAAC,GAAGM,cAAc;QAC/B;MACJ,CAAC,MACI;QACDf,KAAK,CAACS,GAAG,CAAC,GAAGG,WAAW;MAC5B;IACJ;EACJ;EACA,IAAIlB,WAAW,IACXD,UAAU,IACVI,wBAAwB,IACxBC,8BAA8B,EAAE;IAChCE,KAAK,CAACE,SAAS,GAAGL,wBAAwB,CAACH,WAAW,CAAC0B,UAAU,EAAE1B,WAAW,CAAC2B,SAAS,EAAEf,YAAY,GAAGJ,SAAS,GAAGoB,SAAS,CAAC;IAC/H,IAAI1B,iBAAiB,EAAE;MACnBI,KAAK,CAACE,SAAS,GAAGN,iBAAiB,CAACM,SAAS,EAAEF,KAAK,CAACE,SAAS,CAAC;IACnE;IACAF,KAAK,CAACI,eAAe,GAAGN,8BAA8B,CAACJ,WAAW,CAAC;EACvE,CAAC,MACI;IACD,IAAIY,YAAY,EAAE;MACdN,KAAK,CAACE,SAAS,GAAGnB,cAAc,CAACQ,KAAK,EAAEI,OAAO,EAAEa,eAAe,EAAEZ,iBAAiB,CAAC;IACxF;IACA,IAAIW,kBAAkB,EAAE;MACpBP,KAAK,CAACI,eAAe,GAAGpB,oBAAoB,CAACoB,eAAe,CAAC;IACjE;EACJ;AACJ;AAEA,SAASd,eAAe","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}