{"ast":null,"code":"import { __assign } from 'tslib';\nimport { mix } from './mix.js';\nimport { hex, rgba, hsla } from 'style-value-types';\nimport { invariant } from 'hey-listen';\nvar mixLinearColor = function mixLinearColor(from, to, v) {\n  var fromExpo = from * from;\n  var toExpo = to * to;\n  return Math.sqrt(Math.max(0, v * (toExpo - fromExpo) + fromExpo));\n};\nvar colorTypes = [hex, rgba, hsla];\nvar getColorType = function getColorType(v) {\n  return colorTypes.find(function (type) {\n    return type.test(v);\n  });\n};\nvar notAnimatable = function notAnimatable(color) {\n  return \"'\" + color + \"' is not an animatable color. Use the equivalent color code instead.\";\n};\nvar mixColor = function mixColor(from, to) {\n  var fromColorType = getColorType(from);\n  var toColorType = getColorType(to);\n  invariant(!!fromColorType, notAnimatable(from));\n  invariant(!!toColorType, notAnimatable(to));\n  invariant(fromColorType.transform === toColorType.transform, \"Both colors must be hex/RGBA, OR both must be HSLA.\");\n  var fromColor = fromColorType.parse(from);\n  var toColor = toColorType.parse(to);\n  var blended = __assign({}, fromColor);\n  var mixFunc = fromColorType === hsla ? mix : mixLinearColor;\n  return function (v) {\n    for (var key in blended) {\n      if (key !== \"alpha\") {\n        blended[key] = mixFunc(fromColor[key], toColor[key], v);\n      }\n    }\n    blended.alpha = mix(fromColor.alpha, toColor.alpha, v);\n    return fromColorType.transform(blended);\n  };\n};\nexport { mixColor, mixLinearColor };","map":{"version":3,"names":["__assign","mix","hex","rgba","hsla","invariant","mixLinearColor","from","to","v","fromExpo","toExpo","Math","sqrt","max","colorTypes","getColorType","find","type","test","notAnimatable","color","mixColor","fromColorType","toColorType","transform","fromColor","parse","toColor","blended","mixFunc","key","alpha"],"sources":["D:/DSP_Management/node_modules/popmotion/dist/es/utils/mix-color.js"],"sourcesContent":["import { __assign } from 'tslib';\nimport { mix } from './mix.js';\nimport { hex, rgba, hsla } from 'style-value-types';\nimport { invariant } from 'hey-listen';\n\nvar mixLinearColor = function (from, to, v) {\n    var fromExpo = from * from;\n    var toExpo = to * to;\n    return Math.sqrt(Math.max(0, v * (toExpo - fromExpo) + fromExpo));\n};\nvar colorTypes = [hex, rgba, hsla];\nvar getColorType = function (v) {\n    return colorTypes.find(function (type) { return type.test(v); });\n};\nvar notAnimatable = function (color) {\n    return \"'\" + color + \"' is not an animatable color. Use the equivalent color code instead.\";\n};\nvar mixColor = function (from, to) {\n    var fromColorType = getColorType(from);\n    var toColorType = getColorType(to);\n    invariant(!!fromColorType, notAnimatable(from));\n    invariant(!!toColorType, notAnimatable(to));\n    invariant(fromColorType.transform === toColorType.transform, \"Both colors must be hex/RGBA, OR both must be HSLA.\");\n    var fromColor = fromColorType.parse(from);\n    var toColor = toColorType.parse(to);\n    var blended = __assign({}, fromColor);\n    var mixFunc = fromColorType === hsla ? mix : mixLinearColor;\n    return function (v) {\n        for (var key in blended) {\n            if (key !== \"alpha\") {\n                blended[key] = mixFunc(fromColor[key], toColor[key], v);\n            }\n        }\n        blended.alpha = mix(fromColor.alpha, toColor.alpha, v);\n        return fromColorType.transform(blended);\n    };\n};\n\nexport { mixColor, mixLinearColor };\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,OAAO;AAChC,SAASC,GAAG,QAAQ,UAAU;AAC9B,SAASC,GAAG,EAAEC,IAAI,EAAEC,IAAI,QAAQ,mBAAmB;AACnD,SAASC,SAAS,QAAQ,YAAY;AAEtC,IAAIC,cAAc,GAAG,SAAjBA,cAAcA,CAAaC,IAAI,EAAEC,EAAE,EAAEC,CAAC,EAAE;EACxC,IAAIC,QAAQ,GAAGH,IAAI,GAAGA,IAAI;EAC1B,IAAII,MAAM,GAAGH,EAAE,GAAGA,EAAE;EACpB,OAAOI,IAAI,CAACC,IAAI,CAACD,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEL,CAAC,IAAIE,MAAM,GAAGD,QAAQ,CAAC,GAAGA,QAAQ,CAAC,CAAC;AACrE,CAAC;AACD,IAAIK,UAAU,GAAG,CAACb,GAAG,EAAEC,IAAI,EAAEC,IAAI,CAAC;AAClC,IAAIY,YAAY,GAAG,SAAfA,YAAYA,CAAaP,CAAC,EAAE;EAC5B,OAAOM,UAAU,CAACE,IAAI,CAAC,UAAUC,IAAI,EAAE;IAAE,OAAOA,IAAI,CAACC,IAAI,CAACV,CAAC,CAAC;EAAE,CAAC,CAAC;AACpE,CAAC;AACD,IAAIW,aAAa,GAAG,SAAhBA,aAAaA,CAAaC,KAAK,EAAE;EACjC,OAAO,GAAG,GAAGA,KAAK,GAAG,sEAAsE;AAC/F,CAAC;AACD,IAAIC,QAAQ,GAAG,SAAXA,QAAQA,CAAaf,IAAI,EAAEC,EAAE,EAAE;EAC/B,IAAIe,aAAa,GAAGP,YAAY,CAACT,IAAI,CAAC;EACtC,IAAIiB,WAAW,GAAGR,YAAY,CAACR,EAAE,CAAC;EAClCH,SAAS,CAAC,CAAC,CAACkB,aAAa,EAAEH,aAAa,CAACb,IAAI,CAAC,CAAC;EAC/CF,SAAS,CAAC,CAAC,CAACmB,WAAW,EAAEJ,aAAa,CAACZ,EAAE,CAAC,CAAC;EAC3CH,SAAS,CAACkB,aAAa,CAACE,SAAS,KAAKD,WAAW,CAACC,SAAS,EAAE,qDAAqD,CAAC;EACnH,IAAIC,SAAS,GAAGH,aAAa,CAACI,KAAK,CAACpB,IAAI,CAAC;EACzC,IAAIqB,OAAO,GAAGJ,WAAW,CAACG,KAAK,CAACnB,EAAE,CAAC;EACnC,IAAIqB,OAAO,GAAG7B,QAAQ,CAAC,CAAC,CAAC,EAAE0B,SAAS,CAAC;EACrC,IAAII,OAAO,GAAGP,aAAa,KAAKnB,IAAI,GAAGH,GAAG,GAAGK,cAAc;EAC3D,OAAO,UAAUG,CAAC,EAAE;IAChB,KAAK,IAAIsB,GAAG,IAAIF,OAAO,EAAE;MACrB,IAAIE,GAAG,KAAK,OAAO,EAAE;QACjBF,OAAO,CAACE,GAAG,CAAC,GAAGD,OAAO,CAACJ,SAAS,CAACK,GAAG,CAAC,EAAEH,OAAO,CAACG,GAAG,CAAC,EAAEtB,CAAC,CAAC;MAC3D;IACJ;IACAoB,OAAO,CAACG,KAAK,GAAG/B,GAAG,CAACyB,SAAS,CAACM,KAAK,EAAEJ,OAAO,CAACI,KAAK,EAAEvB,CAAC,CAAC;IACtD,OAAOc,aAAa,CAACE,SAAS,CAACI,OAAO,CAAC;EAC3C,CAAC;AACL,CAAC;AAED,SAASP,QAAQ,EAAEhB,cAAc","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}