{"ast":null,"code":"import { __spreadArray, __assign } from 'tslib';\nimport { complex, color } from 'style-value-types';\nimport { mix } from './mix.js';\nimport { mixColor } from './mix-color.js';\nimport { isNum } from './inc.js';\nimport { pipe } from './pipe.js';\nimport { invariant } from 'hey-listen';\nfunction getMixer(origin, target) {\n  if (isNum(origin)) {\n    return function (v) {\n      return mix(origin, target, v);\n    };\n  } else if (color.test(origin)) {\n    return mixColor(origin, target);\n  } else {\n    return mixComplex(origin, target);\n  }\n}\nvar mixArray = function mixArray(from, to) {\n  var output = __spreadArray([], from);\n  var numValues = output.length;\n  var blendValue = from.map(function (fromThis, i) {\n    return getMixer(fromThis, to[i]);\n  });\n  return function (v) {\n    for (var i = 0; i < numValues; i++) {\n      output[i] = blendValue[i](v);\n    }\n    return output;\n  };\n};\nvar mixObject = function mixObject(origin, target) {\n  var output = __assign(__assign({}, origin), target);\n  var blendValue = {};\n  for (var key in output) {\n    if (origin[key] !== undefined && target[key] !== undefined) {\n      blendValue[key] = getMixer(origin[key], target[key]);\n    }\n  }\n  return function (v) {\n    for (var key in blendValue) {\n      output[key] = blendValue[key](v);\n    }\n    return output;\n  };\n};\nfunction analyse(value) {\n  var parsed = complex.parse(value);\n  var numValues = parsed.length;\n  var numNumbers = 0;\n  var numRGB = 0;\n  var numHSL = 0;\n  for (var i = 0; i < numValues; i++) {\n    if (numNumbers || typeof parsed[i] === \"number\") {\n      numNumbers++;\n    } else {\n      if (parsed[i].hue !== undefined) {\n        numHSL++;\n      } else {\n        numRGB++;\n      }\n    }\n  }\n  return {\n    parsed: parsed,\n    numNumbers: numNumbers,\n    numRGB: numRGB,\n    numHSL: numHSL\n  };\n}\nvar mixComplex = function mixComplex(origin, target) {\n  var template = complex.createTransformer(target);\n  var originStats = analyse(origin);\n  var targetStats = analyse(target);\n  invariant(originStats.numHSL === targetStats.numHSL && originStats.numRGB === targetStats.numRGB && originStats.numNumbers >= targetStats.numNumbers, \"Complex values '\" + origin + \"' and '\" + target + \"' too different to mix. Ensure all colors are of the same type.\");\n  return pipe(mixArray(originStats.parsed, targetStats.parsed), template);\n};\nexport { mixArray, mixComplex, mixObject };","map":{"version":3,"names":["__spreadArray","__assign","complex","color","mix","mixColor","isNum","pipe","invariant","getMixer","origin","target","v","test","mixComplex","mixArray","from","to","output","numValues","length","blendValue","map","fromThis","i","mixObject","key","undefined","analyse","value","parsed","parse","numNumbers","numRGB","numHSL","hue","template","createTransformer","originStats","targetStats"],"sources":["C:/ldt/LDT/Safemate_Management/node_modules/popmotion/dist/es/utils/mix-complex.js"],"sourcesContent":["import { __spreadArray, __assign } from 'tslib';\nimport { complex, color } from 'style-value-types';\nimport { mix } from './mix.js';\nimport { mixColor } from './mix-color.js';\nimport { isNum } from './inc.js';\nimport { pipe } from './pipe.js';\nimport { invariant } from 'hey-listen';\n\nfunction getMixer(origin, target) {\n    if (isNum(origin)) {\n        return function (v) { return mix(origin, target, v); };\n    }\n    else if (color.test(origin)) {\n        return mixColor(origin, target);\n    }\n    else {\n        return mixComplex(origin, target);\n    }\n}\nvar mixArray = function (from, to) {\n    var output = __spreadArray([], from);\n    var numValues = output.length;\n    var blendValue = from.map(function (fromThis, i) { return getMixer(fromThis, to[i]); });\n    return function (v) {\n        for (var i = 0; i < numValues; i++) {\n            output[i] = blendValue[i](v);\n        }\n        return output;\n    };\n};\nvar mixObject = function (origin, target) {\n    var output = __assign(__assign({}, origin), target);\n    var blendValue = {};\n    for (var key in output) {\n        if (origin[key] !== undefined && target[key] !== undefined) {\n            blendValue[key] = getMixer(origin[key], target[key]);\n        }\n    }\n    return function (v) {\n        for (var key in blendValue) {\n            output[key] = blendValue[key](v);\n        }\n        return output;\n    };\n};\nfunction analyse(value) {\n    var parsed = complex.parse(value);\n    var numValues = parsed.length;\n    var numNumbers = 0;\n    var numRGB = 0;\n    var numHSL = 0;\n    for (var i = 0; i < numValues; i++) {\n        if (numNumbers || typeof parsed[i] === \"number\") {\n            numNumbers++;\n        }\n        else {\n            if (parsed[i].hue !== undefined) {\n                numHSL++;\n            }\n            else {\n                numRGB++;\n            }\n        }\n    }\n    return { parsed: parsed, numNumbers: numNumbers, numRGB: numRGB, numHSL: numHSL };\n}\nvar mixComplex = function (origin, target) {\n    var template = complex.createTransformer(target);\n    var originStats = analyse(origin);\n    var targetStats = analyse(target);\n    invariant(originStats.numHSL === targetStats.numHSL &&\n        originStats.numRGB === targetStats.numRGB &&\n        originStats.numNumbers >= targetStats.numNumbers, \"Complex values '\" + origin + \"' and '\" + target + \"' too different to mix. Ensure all colors are of the same type.\");\n    return pipe(mixArray(originStats.parsed, targetStats.parsed), template);\n};\n\nexport { mixArray, mixComplex, mixObject };\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}