@lordicon/helpers
Version:
Helper functions for working with Lottie files.
3 lines (2 loc) • 5.6 kB
JavaScript
function e(e){return JSON.parse(JSON.stringify(e))}function f(e){return null==e}function r(e){return null!==e&&"object"==typeof e}function n(e,f){const n=Array.isArray(f)?f:f.split(".");let t=e;for(const e of n){if(!r(t))return!1;if(!(e in t))return!1;t=t[e]}return!0}function t(e,f,n){const t=Array.isArray(f)?f:f.split(".");let a=e;for(const e of t){if(!r(a))return n;if(!(e in a))return n;a=a[e]}return void 0===a?n:a}function a(e,f,r){let n=e;const t=Array.isArray(f)?f:f.split(".");for(let e=0;e<t.length;++e)e===t.length-1?n[t[e]]=r:n=n[t[e]]}const o={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function i(e){return e.startsWith("#")?4===e.length?`#${e[1]}${e[1]}${e[2]}${e[2]}${e[3]}${e[3]}`:e:o[e.toLowerCase()]||"#000000"}function l(e){if(!e||"string"!=typeof e)return;return e.split(",").filter((e=>e)).map((e=>e.split(":"))).filter((e=>2==e.length)).reduce(((e,f)=>(e[f[0].toLowerCase()]=i(f[1]),e)),{})}function d(e){return"light"===e||1===e||"1"===e?1:"regular"===e||2===e||"2"===e?2:"bold"===e||3===e||"3"===e?3:"number"==typeof e||"string"==typeof e?+e:void 0}function c(e){if("string"==typeof e)return e}function u(e){const f=e.toString(16);return 1==f.length?"0"+f:f}function s(e){return Math.round(e/255*1e3)/1e3}function b(e){return Math.round(255*e)}function g(e){const{r:f,g:r,b:n}=function(e){let f=parseInt("#"!=e[0]?e:e.substring(1),16);return{r:f>>16&255,g:f>>8&255,b:255&f}}(e);return[s(f),s(r),s(n)]}function h(e){return function(e){return"#"+u(e.r)+u(e.g)+u(e.b)}({r:b(e[0]),g:b(e[1]),b:b(e[2])})}function p(e,{lottieInstance:f}={}){const r=[];return e&&e.layers?(e.layers.forEach(((e,n)=>{e.nm&&e.ef&&e.ef.forEach(((e,t)=>{const a=e?.ef?.[0]?.v?.k;if(void 0===a)return;let o,i;if(o=f?`renderer.elements.${n}.effectsManager.effectElements.${t}.effectElements.0.p.v`:`layers.${n}.ef.${t}.ef.0.v.k`,"ADBE Color Control"===e.mn?i="color":"ADBE Slider Control"===e.mn?i="slider":"ADBE Point Control"===e.mn?i="point":"ADBE Checkbox Control"===e.mn?i="checkbox":e.mn.startsWith("Pseudo/")&&(i="feature"),!i)return;const l=e.nm.toLowerCase();r.push({name:l,path:o,value:a,type:i})}))})),r):r}function y(e,f){for(const r of f)a(e,r.path,r.value)}function m(e,f,r){for(const n of f)"color"===n.type?"object"==typeof r&&"r"in r&&"g"in r&&"b"in r?a(e,n.path,[s(r.r),s(r.g),s(r.b)]):Array.isArray(r)?a(e,n.path,r):"string"==typeof r&&a(e,n.path,g(i(r))):"point"===n.type?"object"==typeof r&&"x"in r&&"y"in r?(a(e,n.path+".0",r.x),a(e,n.path+".1",r.y)):Array.isArray(r)&&(a(e,n.path+".0",r[0]),a(e,n.path+".1",r[1])):a(e,n.path,r)}export{e as deepClone,t as get,n as has,g as hexToLottieColor,f as isNil,r as isObjectLike,h as lottieColorToHex,i as parseColor,l as parseColors,c as parseState,d as parseStroke,p as readProperties,y as resetProperties,a as set,m as updateProperties};
//# sourceMappingURL=index.js.map