@lordicon/utils-lottie 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,433 +1,516 @@
1
- const S = {
2
- aliceblue: "#f0f8ff",
3
- antiquewhite: "#faebd7",
4
- aqua: "#00ffff",
5
- aquamarine: "#7fffd4",
6
- azure: "#f0ffff",
7
- beige: "#f5f5dc",
8
- bisque: "#ffe4c4",
9
- black: "#000000",
10
- blanchedalmond: "#ffebcd",
11
- blue: "#0000ff",
12
- blueviolet: "#8a2be2",
13
- brown: "#a52a2a",
14
- burlywood: "#deb887",
15
- cadetblue: "#5f9ea0",
16
- chartreuse: "#7fff00",
17
- chocolate: "#d2691e",
18
- coral: "#ff7f50",
19
- cornflowerblue: "#6495ed",
20
- cornsilk: "#fff8dc",
21
- crimson: "#dc143c",
22
- cyan: "#00ffff",
23
- darkblue: "#00008b",
24
- darkcyan: "#008b8b",
25
- darkgoldenrod: "#b8860b",
26
- darkgray: "#a9a9a9",
27
- darkgreen: "#006400",
28
- darkkhaki: "#bdb76b",
29
- darkmagenta: "#8b008b",
30
- darkolivegreen: "#556b2f",
31
- darkorange: "#ff8c00",
32
- darkorchid: "#9932cc",
33
- darkred: "#8b0000",
34
- darksalmon: "#e9967a",
35
- darkseagreen: "#8fbc8f",
36
- darkslateblue: "#483d8b",
37
- darkslategray: "#2f4f4f",
38
- darkturquoise: "#00ced1",
39
- darkviolet: "#9400d3",
40
- deeppink: "#ff1493",
41
- deepskyblue: "#00bfff",
42
- dimgray: "#696969",
43
- dodgerblue: "#1e90ff",
44
- firebrick: "#b22222",
45
- floralwhite: "#fffaf0",
46
- forestgreen: "#228b22",
47
- fuchsia: "#ff00ff",
48
- gainsboro: "#dcdcdc",
49
- ghostwhite: "#f8f8ff",
50
- gold: "#ffd700",
51
- goldenrod: "#daa520",
52
- gray: "#808080",
53
- green: "#008000",
54
- greenyellow: "#adff2f",
55
- honeydew: "#f0fff0",
56
- hotpink: "#ff69b4",
57
- "indianred ": "#cd5c5c",
58
- indigo: "#4b0082",
59
- ivory: "#fffff0",
60
- khaki: "#f0e68c",
61
- lavender: "#e6e6fa",
62
- lavenderblush: "#fff0f5",
63
- lawngreen: "#7cfc00",
64
- lemonchiffon: "#fffacd",
65
- lightblue: "#add8e6",
66
- lightcoral: "#f08080",
67
- lightcyan: "#e0ffff",
68
- lightgoldenrodyellow: "#fafad2",
69
- lightgrey: "#d3d3d3",
70
- lightgreen: "#90ee90",
71
- lightpink: "#ffb6c1",
72
- lightsalmon: "#ffa07a",
73
- lightseagreen: "#20b2aa",
74
- lightskyblue: "#87cefa",
75
- lightslategray: "#778899",
76
- lightsteelblue: "#b0c4de",
77
- lightyellow: "#ffffe0",
78
- lime: "#00ff00",
79
- limegreen: "#32cd32",
80
- linen: "#faf0e6",
81
- magenta: "#ff00ff",
82
- maroon: "#800000",
83
- mediumaquamarine: "#66cdaa",
84
- mediumblue: "#0000cd",
85
- mediumorchid: "#ba55d3",
86
- mediumpurple: "#9370d8",
87
- mediumseagreen: "#3cb371",
88
- mediumslateblue: "#7b68ee",
89
- mediumspringgreen: "#00fa9a",
90
- mediumturquoise: "#48d1cc",
91
- mediumvioletred: "#c71585",
92
- midnightblue: "#191970",
93
- mintcream: "#f5fffa",
94
- mistyrose: "#ffe4e1",
95
- moccasin: "#ffe4b5",
96
- navajowhite: "#ffdead",
97
- navy: "#000080",
98
- oldlace: "#fdf5e6",
99
- olive: "#808000",
100
- olivedrab: "#6b8e23",
101
- orange: "#ffa500",
102
- orangered: "#ff4500",
103
- orchid: "#da70d6",
104
- palegoldenrod: "#eee8aa",
105
- palegreen: "#98fb98",
106
- paleturquoise: "#afeeee",
107
- palevioletred: "#d87093",
108
- papayawhip: "#ffefd5",
109
- peachpuff: "#ffdab9",
110
- peru: "#cd853f",
111
- pink: "#ffc0cb",
112
- plum: "#dda0dd",
113
- powderblue: "#b0e0e6",
114
- purple: "#800080",
115
- rebeccapurple: "#663399",
116
- red: "#ff0000",
117
- rosybrown: "#bc8f8f",
118
- royalblue: "#4169e1",
119
- saddlebrown: "#8b4513",
120
- salmon: "#fa8072",
121
- sandybrown: "#f4a460",
122
- seagreen: "#2e8b57",
123
- seashell: "#fff5ee",
124
- sienna: "#a0522d",
125
- silver: "#c0c0c0",
126
- skyblue: "#87ceeb",
127
- slateblue: "#6a5acd",
128
- slategray: "#708090",
129
- snow: "#fffafa",
130
- springgreen: "#00ff7f",
131
- steelblue: "#4682b4",
132
- tan: "#d2b48c",
133
- teal: "#008080",
134
- thistle: "#d8bfd8",
135
- tomato: "#ff6347",
136
- turquoise: "#40e0d0",
137
- violet: "#ee82ee",
138
- wheat: "#f5deb3",
139
- white: "#ffffff",
140
- whitesmoke: "#f5f5f5",
141
- yellow: "#ffff00",
142
- yellowgreen: "#9acd32"
1
+ //#region src/parsers.ts
2
+ var e = {
3
+ aliceblue: "#f0f8ff",
4
+ antiquewhite: "#faebd7",
5
+ aqua: "#00ffff",
6
+ aquamarine: "#7fffd4",
7
+ azure: "#f0ffff",
8
+ beige: "#f5f5dc",
9
+ bisque: "#ffe4c4",
10
+ black: "#000000",
11
+ blanchedalmond: "#ffebcd",
12
+ blue: "#0000ff",
13
+ blueviolet: "#8a2be2",
14
+ brown: "#a52a2a",
15
+ burlywood: "#deb887",
16
+ cadetblue: "#5f9ea0",
17
+ chartreuse: "#7fff00",
18
+ chocolate: "#d2691e",
19
+ coral: "#ff7f50",
20
+ cornflowerblue: "#6495ed",
21
+ cornsilk: "#fff8dc",
22
+ crimson: "#dc143c",
23
+ cyan: "#00ffff",
24
+ darkblue: "#00008b",
25
+ darkcyan: "#008b8b",
26
+ darkgoldenrod: "#b8860b",
27
+ darkgray: "#a9a9a9",
28
+ darkgreen: "#006400",
29
+ darkkhaki: "#bdb76b",
30
+ darkmagenta: "#8b008b",
31
+ darkolivegreen: "#556b2f",
32
+ darkorange: "#ff8c00",
33
+ darkorchid: "#9932cc",
34
+ darkred: "#8b0000",
35
+ darksalmon: "#e9967a",
36
+ darkseagreen: "#8fbc8f",
37
+ darkslateblue: "#483d8b",
38
+ darkslategray: "#2f4f4f",
39
+ darkturquoise: "#00ced1",
40
+ darkviolet: "#9400d3",
41
+ deeppink: "#ff1493",
42
+ deepskyblue: "#00bfff",
43
+ dimgray: "#696969",
44
+ dodgerblue: "#1e90ff",
45
+ firebrick: "#b22222",
46
+ floralwhite: "#fffaf0",
47
+ forestgreen: "#228b22",
48
+ fuchsia: "#ff00ff",
49
+ gainsboro: "#dcdcdc",
50
+ ghostwhite: "#f8f8ff",
51
+ gold: "#ffd700",
52
+ goldenrod: "#daa520",
53
+ gray: "#808080",
54
+ green: "#008000",
55
+ greenyellow: "#adff2f",
56
+ honeydew: "#f0fff0",
57
+ hotpink: "#ff69b4",
58
+ indianred: "#cd5c5c",
59
+ indigo: "#4b0082",
60
+ ivory: "#fffff0",
61
+ khaki: "#f0e68c",
62
+ lavender: "#e6e6fa",
63
+ lavenderblush: "#fff0f5",
64
+ lawngreen: "#7cfc00",
65
+ lemonchiffon: "#fffacd",
66
+ lightblue: "#add8e6",
67
+ lightcoral: "#f08080",
68
+ lightcyan: "#e0ffff",
69
+ lightgoldenrodyellow: "#fafad2",
70
+ lightgrey: "#d3d3d3",
71
+ lightgreen: "#90ee90",
72
+ lightpink: "#ffb6c1",
73
+ lightsalmon: "#ffa07a",
74
+ lightseagreen: "#20b2aa",
75
+ lightskyblue: "#87cefa",
76
+ lightslategray: "#778899",
77
+ lightsteelblue: "#b0c4de",
78
+ lightyellow: "#ffffe0",
79
+ lime: "#00ff00",
80
+ limegreen: "#32cd32",
81
+ linen: "#faf0e6",
82
+ magenta: "#ff00ff",
83
+ maroon: "#800000",
84
+ mediumaquamarine: "#66cdaa",
85
+ mediumblue: "#0000cd",
86
+ mediumorchid: "#ba55d3",
87
+ mediumpurple: "#9370db",
88
+ mediumseagreen: "#3cb371",
89
+ mediumslateblue: "#7b68ee",
90
+ mediumspringgreen: "#00fa9a",
91
+ mediumturquoise: "#48d1cc",
92
+ mediumvioletred: "#c71585",
93
+ midnightblue: "#191970",
94
+ mintcream: "#f5fffa",
95
+ mistyrose: "#ffe4e1",
96
+ moccasin: "#ffe4b5",
97
+ navajowhite: "#ffdead",
98
+ navy: "#000080",
99
+ oldlace: "#fdf5e6",
100
+ olive: "#808000",
101
+ olivedrab: "#6b8e23",
102
+ orange: "#ffa500",
103
+ orangered: "#ff4500",
104
+ orchid: "#da70d6",
105
+ palegoldenrod: "#eee8aa",
106
+ palegreen: "#98fb98",
107
+ paleturquoise: "#afeeee",
108
+ palevioletred: "#db7093",
109
+ papayawhip: "#ffefd5",
110
+ peachpuff: "#ffdab9",
111
+ peru: "#cd853f",
112
+ pink: "#ffc0cb",
113
+ plum: "#dda0dd",
114
+ powderblue: "#b0e0e6",
115
+ purple: "#800080",
116
+ rebeccapurple: "#663399",
117
+ red: "#ff0000",
118
+ rosybrown: "#bc8f8f",
119
+ royalblue: "#4169e1",
120
+ saddlebrown: "#8b4513",
121
+ salmon: "#fa8072",
122
+ sandybrown: "#f4a460",
123
+ seagreen: "#2e8b57",
124
+ seashell: "#fff5ee",
125
+ sienna: "#a0522d",
126
+ silver: "#c0c0c0",
127
+ skyblue: "#87ceeb",
128
+ slateblue: "#6a5acd",
129
+ slategray: "#708090",
130
+ snow: "#fffafa",
131
+ springgreen: "#00ff7f",
132
+ steelblue: "#4682b4",
133
+ tan: "#d2b48c",
134
+ teal: "#008080",
135
+ thistle: "#d8bfd8",
136
+ tomato: "#ff6347",
137
+ turquoise: "#40e0d0",
138
+ violet: "#ee82ee",
139
+ wheat: "#f5deb3",
140
+ white: "#ffffff",
141
+ whitesmoke: "#f5f5f5",
142
+ yellow: "#ffff00",
143
+ yellowgreen: "#9acd32"
143
144
  };
144
- function h(e) {
145
- return e.startsWith("#") ? e.length === 4 ? `#${e[1]}${e[1]}${e[2]}${e[2]}${e[3]}${e[3]}` : e : S[e.toLowerCase()] || "#000000";
145
+ function t(e) {
146
+ return a(e) ?? "#000000";
147
+ }
148
+ var n = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i, r = {
149
+ light: 1,
150
+ regular: 2,
151
+ bold: 3,
152
+ 1: 1,
153
+ 2: 2,
154
+ 3: 3
155
+ }, i = {
156
+ 1: "light",
157
+ 2: "regular",
158
+ 3: "bold"
159
+ };
160
+ function a(t) {
161
+ let r = t.trim(), i = n.exec(r);
162
+ if (i) {
163
+ let e = i[1].toLowerCase();
164
+ return e.length === 6 ? `#${e}` : `#${e[0]}${e[0]}${e[1]}${e[1]}${e[2]}${e[2]}`;
165
+ }
166
+ return e[r.toLowerCase()] ?? null;
167
+ }
168
+ function o(e) {
169
+ if (!e || typeof e != "string") return;
170
+ let t = {};
171
+ for (let n of e.split(",")) {
172
+ let e = n.split(":").map((e) => e.trim()), r = e.length === 2 && e[0] ? a(e[1]) : null;
173
+ r && (t[e[0].toLowerCase()] = r);
174
+ }
175
+ return t;
176
+ }
177
+ function s(e) {
178
+ return Object.entries(e).map(([e, t]) => [e, a(t)]).filter(([, e]) => e).map(([e, t]) => `${e}:${t}`).join(",");
179
+ }
180
+ function c(e) {
181
+ return r[typeof e == "string" ? e.trim().toLowerCase() : e];
182
+ }
183
+ function l(e) {
184
+ let t = c(e);
185
+ return t ? i[t] : null;
186
+ }
187
+ function u(e) {
188
+ if (typeof e == "string") return e;
189
+ }
190
+ //#endregion
191
+ //#region src/utils.ts
192
+ function d(e) {
193
+ return structuredClone(e);
194
+ }
195
+ function f(e) {
196
+ return e == null;
197
+ }
198
+ function p(e) {
199
+ return typeof e == "object" && !!e;
200
+ }
201
+ function m(e, t) {
202
+ let n = Array.isArray(t) ? t : t.split("."), r = e;
203
+ for (let e of n) {
204
+ if (!p(r) || !(e in r)) return !1;
205
+ r = r[e];
206
+ }
207
+ return !0;
208
+ }
209
+ function h(e, t, n) {
210
+ let r = Array.isArray(t) ? t : t.split("."), i = e;
211
+ for (let e of r) {
212
+ if (!p(i) || !(e in i)) return n;
213
+ i = i[e];
214
+ }
215
+ return i === void 0 ? n : i;
216
+ }
217
+ function g(e, t, n) {
218
+ let r = Array.isArray(t) ? t : t.split("."), i = e;
219
+ for (let e of r.slice(0, -1)) {
220
+ if (!p(i)) return;
221
+ i = i[e];
222
+ }
223
+ p(i) && (i[r[r.length - 1]] = n);
224
+ }
225
+ //#endregion
226
+ //#region src/lottie.ts
227
+ function _(e) {
228
+ let t = e.toString(16);
229
+ return t.length == 1 ? "0" + t : t;
146
230
  }
147
231
  function v(e) {
148
- return !e || typeof e != "string" ? void 0 : e.split(",").filter((r) => r).map((r) => r.split(":")).filter((r) => r.length == 2).reduce((r, t) => {
149
- const o = t[0];
150
- return r[o.toLowerCase()] = h(t[1]), r;
151
- }, {});
232
+ return Math.round(e / 255 * 1e3) / 1e3;
233
+ }
234
+ function y(e) {
235
+ return Math.round(Math.min(Math.max(e, 0), 1) * 255);
236
+ }
237
+ function b(e) {
238
+ return "#" + _(e.r) + _(e.g) + _(e.b);
152
239
  }
153
240
  function x(e) {
154
- if (e === "light" || e === 1 || e === "1")
155
- return 1;
156
- if (e === "regular" || e === 2 || e === "2")
157
- return 2;
158
- if (e === "bold" || e === 3 || e === "3")
159
- return 3;
241
+ let t = a(e.startsWith("#") ? e : `#${e}`) ?? "#000000", n = parseInt(t.substring(1), 16);
242
+ return {
243
+ r: n >> 16 & 255,
244
+ g: n >> 8 & 255,
245
+ b: n & 255
246
+ };
247
+ }
248
+ function S(e) {
249
+ let { r: t, g: n, b: r } = x(e);
250
+ return [
251
+ v(t),
252
+ v(n),
253
+ v(r)
254
+ ];
255
+ }
256
+ function C(e) {
257
+ return b({
258
+ r: y(e[0]),
259
+ g: y(e[1]),
260
+ b: y(e[2])
261
+ });
262
+ }
263
+ function w(e, { lottieInstance: t } = {}) {
264
+ let n = [];
265
+ return !e || !e.layers || e.layers.forEach((e, r) => {
266
+ e.nm && e.ef && e.ef.forEach((e, i) => {
267
+ if (typeof e?.mn != "string" || typeof e?.nm != "string") return;
268
+ let a = e.ef?.[0]?.v?.k;
269
+ if (a === void 0) return;
270
+ let o;
271
+ o = t ? `renderer.elements.${r}.effectsManager.effectElements.${i}.effectElements.0.p.v` : `layers.${r}.ef.${i}.ef.0.v.k`;
272
+ let s;
273
+ if (e.mn === "ADBE Color Control" ? s = "color" : e.mn === "ADBE Slider Control" ? s = "slider" : e.mn === "ADBE Point Control" ? s = "point" : e.mn === "ADBE Checkbox Control" ? s = "checkbox" : e.mn.startsWith("Pseudo/") && (s = "feature"), !s) return;
274
+ let c = e.nm.toLowerCase();
275
+ n.push({
276
+ name: c,
277
+ path: o,
278
+ value: a,
279
+ type: s
280
+ });
281
+ });
282
+ }), n;
283
+ }
284
+ function T(e, t) {
285
+ for (let n of t) g(e, n.path, n.value);
286
+ }
287
+ function E(e, t, n) {
288
+ for (let r of t) if (r.type === "color") {
289
+ if (typeof n == "object" && "r" in n && "g" in n && "b" in n) g(e, r.path, [
290
+ v(n.r),
291
+ v(n.g),
292
+ v(n.b)
293
+ ]);
294
+ else if (Array.isArray(n)) g(e, r.path, n);
295
+ else if (typeof n == "string") {
296
+ let t = a(n);
297
+ t && g(e, r.path, S(t));
298
+ }
299
+ } else r.type === "point" ? typeof n == "object" && "x" in n && "y" in n ? (g(e, r.path + ".0", n.x), g(e, r.path + ".1", n.y)) : Array.isArray(n) && (g(e, r.path + ".0", n[0]), g(e, r.path + ".1", n[1])) : g(e, r.path, n);
300
+ }
301
+ function D(e) {
302
+ let t = {};
303
+ for (let n of w(e)) n.type === "color" && Array.isArray(n.value) && (t[n.name] = C(n.value));
304
+ return t;
305
+ }
306
+ function O(e, t) {
307
+ let n = j(t);
308
+ if (!n.size) return e;
309
+ for (let t of w(e)) {
310
+ if (t.type !== "color") continue;
311
+ let r = n.get(C(t.value));
312
+ r && g(e, t.path, S(r));
313
+ }
314
+ return e;
315
+ }
316
+ function k(e, t) {
317
+ let n = j(t), r = {};
318
+ for (let [t, i] of Object.entries(D(e))) {
319
+ let e = n.get(i);
320
+ e && (r[t] = e);
321
+ }
322
+ return r;
323
+ }
324
+ function A(e) {
325
+ return w(e).some((e) => e.name === "stroke" || e.name === "stroke-layers");
160
326
  }
161
327
  function j(e) {
162
- if (typeof e == "string")
163
- return e;
328
+ let t = /* @__PURE__ */ new Map();
329
+ for (let [n, r] of Object.entries(e)) {
330
+ let e = a(n), i = a(r);
331
+ e && i && t.set(e, i);
332
+ }
333
+ return t;
164
334
  }
165
- function $(e) {
166
- return structuredClone(e);
167
- }
168
- function H(e) {
169
- return e == null;
170
- }
171
- function m(e) {
172
- return e !== null && typeof e == "object";
173
- }
174
- function z(e, f) {
175
- const r = Array.isArray(f) ? f : f.split(".");
176
- let t = e;
177
- for (const o of r) {
178
- if (!m(t) || !(o in t))
179
- return !1;
180
- t = t[o];
181
- }
182
- return !0;
183
- }
184
- function F(e, f, r) {
185
- const t = Array.isArray(f) ? f : f.split(".");
186
- let o = e;
187
- for (const n of t) {
188
- if (!m(o) || !(n in o))
189
- return r;
190
- o = o[n];
191
- }
192
- return o === void 0 ? r : o;
193
- }
194
- function a(e, f, r) {
195
- let t = e;
196
- const o = Array.isArray(f) ? f : f.split(".");
197
- for (let n = 0; n < o.length; ++n)
198
- n === o.length - 1 ? t[o[n]] = r : t = t[o[n]];
199
- }
200
- function k(e) {
201
- const f = e.toString(16);
202
- return f.length == 1 ? "0" + f : f;
335
+ function M(e) {
336
+ Array.isArray(e) ? e.forEach(M) : e && typeof e == "object" && ("x" in e && typeof e.x == "string" && delete e.x, Object.values(e).forEach(M));
203
337
  }
204
- function d(e) {
205
- return Math.round(e / 255 * 1e3) / 1e3;
206
- }
207
- function g(e) {
208
- return Math.round(e * 255);
209
- }
210
- function P(e) {
211
- return "#" + k(e.r) + k(e.g) + k(e.b);
212
- }
213
- function T(e) {
214
- let f = parseInt(e[0] != "#" ? e : e.substring(1), 16);
215
- return {
216
- r: f >> 16 & 255,
217
- g: f >> 8 & 255,
218
- b: f & 255
219
- };
220
- }
221
- function w(e) {
222
- const {
223
- r: f,
224
- g: r,
225
- b: t
226
- } = T(e);
227
- return [d(f), d(r), d(t)];
338
+ //#endregion
339
+ //#region src/icon.ts
340
+ function N(e, t) {
341
+ let n = [];
342
+ for (let r of Object.keys(e)) {
343
+ let i = e[r];
344
+ p(i) && n.push(...N(i, t));
345
+ }
346
+ return e.x && typeof e.x == "string" && e.x.includes(t) && n.push(e), n;
228
347
  }
229
- function q(e) {
230
- const f = {
231
- r: g(e[0]),
232
- g: g(e[1]),
233
- b: g(e[2])
234
- };
235
- return P(f);
236
- }
237
- function E(e, { lottieInstance: f } = {}) {
238
- const r = [];
239
- return !e || !e.layers || e.layers.forEach((t, o) => {
240
- !t.nm || !t.ef || t.ef.forEach((n, s) => {
241
- var b, A, C;
242
- const c = (C = (A = (b = n == null ? void 0 : n.ef) == null ? void 0 : b[0]) == null ? void 0 : A.v) == null ? void 0 : C.k;
243
- if (c === void 0)
244
- return;
245
- let i;
246
- f ? i = `renderer.elements.${o}.effectsManager.effectElements.${s}.effectElements.0.p.v` : i = `layers.${o}.ef.${s}.ef.0.v.k`;
247
- let l;
248
- if (n.mn === "ADBE Color Control" ? l = "color" : n.mn === "ADBE Slider Control" ? l = "slider" : n.mn === "ADBE Point Control" ? l = "point" : n.mn === "ADBE Checkbox Control" ? l = "checkbox" : n.mn.startsWith("Pseudo/") && (l = "feature"), !l)
249
- return;
250
- const u = n.nm.toLowerCase();
251
- r.push({
252
- name: u,
253
- path: i,
254
- value: c,
255
- type: l
256
- });
257
- });
258
- }), r;
259
- }
260
- function W(e, f) {
261
- for (const r of f)
262
- a(e, r.path, r.value);
263
- }
264
- function O(e, f, r) {
265
- for (const t of f)
266
- t.type === "color" ? typeof r == "object" && "r" in r && "g" in r && "b" in r ? a(e, t.path, [d(r.r), d(r.g), d(r.b)]) : Array.isArray(r) ? a(e, t.path, r) : typeof r == "string" && a(e, t.path, w(h(r))) : t.type === "point" ? typeof r == "object" && "x" in r && "y" in r ? (a(e, t.path + ".0", r.x), a(e, t.path + ".1", r.y)) : Array.isArray(r) && (a(e, t.path + ".0", r[0]), a(e, t.path + ".1", r[1])) : a(e, t.path, r);
267
- }
268
- function D(e, f) {
269
- if (Object.keys(f).length > 0) {
270
- const t = E(e).filter((o) => o.type === "color");
271
- for (const o of t) {
272
- const n = q(o.value);
273
- for (const [s, c] of Object.entries(f))
274
- n === s && a(e, o.path, w(c));
275
- }
276
- return e;
277
- } else
278
- return e;
348
+ function P(e, t, n) {
349
+ let r = c(n);
350
+ if (!r) return;
351
+ let i = t.map((e) => e.name);
352
+ if (i.includes("stroke-layers")) {
353
+ let t = {
354
+ 1: N(e, "effect('stroke-layers')('Menu') == 1"),
355
+ 2: N(e, "effect('stroke-layers')('Menu') == 2"),
356
+ 3: N(e, "effect('stroke-layers')('Menu') == 3")
357
+ };
358
+ for (let e of [
359
+ 1,
360
+ 2,
361
+ 3
362
+ ]) for (let n of t[e]) n.k = e == r ? 100 : 0;
363
+ } else if (i.includes("stroke")) {
364
+ let n = /\$bm_div\(value,[ ]{0,}([0-9]+)\)/gm, i = t.filter((e) => e.name === "stroke")[0], a = N(e, "effect('stroke')('Menu')");
365
+ for (let e of a) {
366
+ let t = i && i.value ? r / i.value : r;
367
+ if (p(e.k) && Array.isArray(e.k)) for (let n of e.k) Array.isArray(n.s) && (n.s = n.s.map((e) => e * t));
368
+ else e.k *= t;
369
+ e.x = e.x.replace(n, `$bm_div(value, ${r})`);
370
+ }
371
+ }
372
+ for (let n of t) (n.name === "stroke" || n.name === "stroke-layers") && E(e, [n], r);
373
+ }
374
+ function F(e, t, n) {
375
+ for (let r of Object.keys(n)) {
376
+ let i = a(n[r]);
377
+ if (!i) continue;
378
+ let o = N(e, `effect('${r}')('Color')`);
379
+ for (let e of o) e.k = [...S(i), 1];
380
+ for (let n of t) n.name === r && E(e, [n], i);
381
+ }
382
+ }
383
+ function I(e) {
384
+ let t = e.split(":");
385
+ return t[0] === "default" && t.shift(), t[0];
386
+ }
387
+ function L(e) {
388
+ if (typeof e != "string") return null;
389
+ let t = e.split(":");
390
+ return t.length > 1 && [
391
+ "light",
392
+ "regular",
393
+ "bold"
394
+ ].includes(t[0]) && t.shift(), t[0];
395
+ }
396
+ function R(e, t) {
397
+ return typeof t == "string" && (e.markers || []).some((e) => typeof e.cm == "string" && I(e.cm) === t) ? t : null;
398
+ }
399
+ function z(e, t, n) {
400
+ let r = R(e, n);
401
+ if (r) for (let t of e.markers || []) {
402
+ let n = t.cm.split(":");
403
+ if (n[0] === "default" && n.shift(), n[0] !== r) {
404
+ t.cm = n.join(":");
405
+ continue;
406
+ }
407
+ t.cm = ["default", ...n].join(":"), e.ip = t.tm, e.op = t.tm + t.dr + 1;
408
+ }
409
+ }
410
+ function B(e, t, n) {
411
+ let r = R(e, n);
412
+ if (!r) return;
413
+ let i = (e.markers || []).map((e) => I(e.cm));
414
+ e.markers &&= e.markers.filter((e) => I(e.cm) === r);
415
+ for (let t of ["assets", "layers"]) Array.isArray(e[t]) && (e[t] = e[t].filter((e) => {
416
+ let t = L(e.nm);
417
+ return t === null || !i.includes(t) || t === r;
418
+ }));
419
+ let a = e.ip;
420
+ e.ip = 0, e.op -= a;
421
+ for (let t of e.markers || []) t.tm -= a;
422
+ for (let t of e.layers || []) t.ip >= a && (t.ip -= a, t.st -= a, t.op -= a);
423
+ }
424
+ function V(e, t, n) {
425
+ let r = c(n);
426
+ if (!r) return;
427
+ let i = {
428
+ 1: "light",
429
+ 2: "regular",
430
+ 3: "bold"
431
+ };
432
+ for (let t of ["assets", "layers"]) Array.isArray(e[t]) && (e[t] = e[t].filter((e) => {
433
+ if (typeof e.nm != "string") return !0;
434
+ let [t] = e.nm.split(":");
435
+ return !(Object.values(i).includes(t) && e.nm.includes(":")) || t === i[r];
436
+ }));
437
+ for (let e of t) e.name === "stroke" || e.name;
438
+ }
439
+ function H(e, t, n) {
440
+ let r = w(e), i = d(e);
441
+ return t.stroke && P(i, r, t.stroke), t.colors && F(i, r, t.colors), t.state && z(i, r, t.state), (n === "partial" || n === "full") && t.stroke && V(i, r, t.stroke), n === "full" && (t.state && B(i, r, t.state), M(i)), i;
442
+ }
443
+ //#endregion
444
+ //#region src/icon-data.ts
445
+ function U(e) {
446
+ if (typeof e != "object" || !e) return !1;
447
+ let t = e;
448
+ return [
449
+ "fr",
450
+ "ip",
451
+ "op",
452
+ "w",
453
+ "h"
454
+ ].every((e) => typeof t[e] == "number") && Array.isArray(t.layers);
455
+ }
456
+ //#endregion
457
+ //#region src/states.ts
458
+ var W = ["default"];
459
+ function G(e) {
460
+ return !e || !e.markers || !Array.isArray(e.markers) ? [] : e.markers.filter((e) => typeof e?.cm == "string" && typeof e.tm == "number" && e.dr > 0).map((e) => {
461
+ let t = e.cm.split(":"), n = {
462
+ time: e.tm,
463
+ duration: e.dr,
464
+ name: "",
465
+ default: !1,
466
+ params: []
467
+ };
468
+ for (; W.includes(t[0]);) {
469
+ switch (t[0]) {
470
+ case "default":
471
+ n.default = !0;
472
+ break;
473
+ default: throw Error(`Unsupported state flag: ${t[0]}`);
474
+ }
475
+ t.shift();
476
+ }
477
+ return n.name = t[0], n.params = t.slice(1, t.length), n;
478
+ });
279
479
  }
280
- function y(e) {
281
- Array.isArray(e) ? e.forEach(y) : e && typeof e == "object" && ("x" in e && typeof e.x == "string" && delete e.x, Object.values(e).forEach(y));
282
- }
283
- function p(e, f) {
284
- const r = [];
285
- for (const t of Object.keys(e)) {
286
- const o = e[t];
287
- m(o) && r.push(...p(o, f));
288
- }
289
- return e.x && typeof e.x == "string" && e.x.includes(f) && r.push(e), r;
290
- }
291
- function L(e, f, r) {
292
- const t = x(r);
293
- if (!t)
294
- return;
295
- const o = f.map((n) => n.name);
296
- if (o.includes("stroke-layers")) {
297
- const n = {
298
- 1: p(e, "effect('stroke-layers')('Menu') == 1"),
299
- 2: p(e, "effect('stroke-layers')('Menu') == 2"),
300
- 3: p(e, "effect('stroke-layers')('Menu') == 3")
301
- };
302
- for (const s of [1, 2, 3])
303
- for (const c of n[s])
304
- s == t ? c.k = 100 : c.k = 0;
305
- } else if (o.includes("stroke")) {
306
- const n = /\$bm_div\(value,[ ]{0,}([0-9]+)\)/gm, s = f.filter((i) => i.name === "stroke")[0], c = p(e, "effect('stroke')('Menu')");
307
- for (const i of c) {
308
- const l = s && s.value ? t / s.value : t;
309
- if (m(i.k) && Array.isArray(i.k))
310
- for (const u of i.k)
311
- Array.isArray(u.s) && (u.s = u.s.map((b) => b * l));
312
- else
313
- i.k = i.k * l;
314
- i.x = i.x.replace(n, `$bm_div(value, ${t})`);
315
- }
316
- }
317
- for (const n of f)
318
- (n.name === "stroke" || n.name === "stroke-layers") && O(e, [n], t);
319
- }
320
- function B(e, f, r) {
321
- for (const t of Object.keys(r)) {
322
- const o = h(r[t]), n = p(e, `effect('${t}')('Color')`);
323
- for (const s of n)
324
- s.k = [...w(o), 1];
325
- for (const s of f)
326
- s.name === t && O(e, [s], o);
327
- }
328
- }
329
- function M(e, f, r) {
330
- const t = j(r);
331
- if (t)
332
- for (const o of e.markers || []) {
333
- const n = o.cm.split(":");
334
- n[0] === "default" && n.shift();
335
- const [s, ...c] = n;
336
- o.cm = s, s === t && (o.cm = [
337
- "default",
338
- s,
339
- ...c
340
- ].join(":"), e.ip = o.tm, e.op = o.tm + o.dr);
341
- }
342
- }
343
- function _(e, f, r) {
344
- const t = j(r);
345
- if (!t)
346
- return;
347
- const o = (e.markers || []).map((s) => {
348
- const [c, i] = s.cm.split(":");
349
- return i || c;
350
- });
351
- t && e.markers && (e.markers = e.markers.filter((s) => {
352
- const [c, i] = s.cm.split(":");
353
- return (i || c) === t;
354
- }));
355
- for (const s of ["assets", "layers"])
356
- e[s] = e[s].filter((c) => {
357
- const [i, l] = c.nm.split(":"), u = l || i;
358
- return o.includes(u) ? u === t : !0;
359
- });
360
- const n = e.ip;
361
- e.ip = 0, e.op = e.op - n;
362
- for (const s of e.markers || [])
363
- s.tm = s.tm - n;
364
- for (const s of e.layers || [])
365
- s.ip >= n && (s.ip = s.ip - n, s.st = s.st - n, s.op = s.op - n);
366
- }
367
- function R(e, f, r) {
368
- const t = x(r);
369
- if (!t)
370
- return;
371
- const o = {
372
- 1: "light",
373
- 2: "regular",
374
- 3: "bold"
375
- };
376
- for (const n of ["assets", "layers"])
377
- e[n] = e[n].filter((s) => {
378
- const [c, i] = s.nm.split(":");
379
- return !(i && t && c != o[t]);
380
- });
381
- for (const n of f)
382
- n.name === "stroke" || n.name;
383
- }
384
- function G(e, f, r) {
385
- const t = E(e), o = $(e);
386
- return f.stroke && L(o, t, f.stroke), f.colors && B(o, t, f.colors), f.state && M(o, t, f.state), (r === "partial" || r === "full") && f.stroke && R(o, t, f.stroke), r === "full" && (f.state && _(o, t, f.state), y(o)), o;
387
- }
388
- const U = ["default"];
389
480
  function K(e) {
390
- return !e || !e.markers || !Array.isArray(e.markers) ? [] : e.markers.map((f) => {
391
- const r = f.cm.split(":"), t = {
392
- time: f.tm,
393
- duration: f.dr,
394
- name: "",
395
- default: !1,
396
- params: []
397
- };
398
- for (; U.includes(r[0]); ) {
399
- switch (r[0]) {
400
- case "default":
401
- t.default = !0;
402
- break;
403
- default:
404
- throw new Error(`Unsupported state flag: ${r[0]}`);
405
- }
406
- r.shift();
407
- }
408
- return t.name = r[0], t.params = r.slice(1, r.length), t;
409
- });
410
- }
411
- export {
412
- G as customizeIcon,
413
- $ as deepClone,
414
- E as extractLottieProperties,
415
- F as get,
416
- z as has,
417
- T as hexToRgb,
418
- w as hexToTupleColor,
419
- H as isNil,
420
- m as isObjectLike,
421
- h as parseColor,
422
- v as parseColors,
423
- j as parseState,
424
- x as parseStroke,
425
- K as readStates,
426
- D as remapColors,
427
- y as removeExpressions,
428
- W as resetLottieProperties,
429
- P as rgbToHex,
430
- a as set,
431
- q as tupleColorToHex,
432
- O as updateLottieProperties
433
- };
481
+ return [e.time, e.time + e.duration + 1];
482
+ }
483
+ function q(e) {
484
+ let t = e.params.length ? parseFloat(e.params[0]) : NaN;
485
+ return t > 0 && t < 1 ? t : null;
486
+ }
487
+ function J(e, t) {
488
+ let n = t ?? q(e);
489
+ if (n === null || !(n > 0 && n < 1)) return null;
490
+ let [r, i] = K(e);
491
+ if (i - r < 2) return null;
492
+ let a = r + Math.floor((e.duration + 1) * n), o = Math.min(Math.max(a, r + 1), i - 1);
493
+ return [[r, o], [o, i]];
494
+ }
495
+ function Y(e, t) {
496
+ return e.find((e) => e.name === t) ?? e.find((e) => e.name.startsWith(t)) ?? null;
497
+ }
498
+ var X = [
499
+ "in",
500
+ "hover",
501
+ "morph",
502
+ "loop"
503
+ ];
504
+ function Z(e) {
505
+ let t = (typeof e == "string" ? e.replace(/^default:/, "") : e.name).split("-")[0];
506
+ return X.includes(t) ? t : null;
507
+ }
508
+ function Q(e, t) {
509
+ let n = J(e, t);
510
+ return n ? n[0][1] - 1 : e.time + e.duration;
511
+ }
512
+ function $(e) {
513
+ return e.find((e) => e.default) ?? null;
514
+ }
515
+ //#endregion
516
+ export { k as colorsByName, H as customizeIcon, d as deepClone, D as defaultColors, $ as defaultState, w as extractLottieProperties, Y as findState, s as formatColors, h as get, m as has, A as hasStroke, x as hexToRgb, S as hexToTupleColor, U as isIconData, f as isNil, p as isObjectLike, t as parseColor, o as parseColors, u as parseState, c as parseStroke, G as readStates, O as remapColors, M as removeExpressions, T as resetLottieProperties, a as resolveColor, b as rgbToHex, g as set, J as splitSegment, Q as stateEndFrame, q as stateRatio, K as stateSegment, Z as stateType, l as strokeName, C as tupleColorToHex, E as updateLottieProperties };