@symbo.ls/scratch 2.11.523 → 3.0.2

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.
@@ -25,59 +25,114 @@ __export(sprite_exports, {
25
25
  });
26
26
  module.exports = __toCommonJS(sprite_exports);
27
27
 
28
- // ../../node_modules/@domql/utils/dist/esm/globals.js
28
+ // ../../node_modules/@domql/utils/globals.js
29
29
  var window2 = globalThis;
30
30
  var document2 = window2.document;
31
31
 
32
- // ../../node_modules/@domql/utils/dist/esm/node.js
32
+ // ../../node_modules/@domql/utils/node.js
33
33
  var isDOMNode = (obj) => {
34
34
  return typeof window2 !== "undefined" && (obj instanceof window2.Node || obj instanceof window2.Window || obj === window2 || obj === document);
35
35
  };
36
36
 
37
- // ../../node_modules/@domql/utils/dist/esm/types.js
37
+ // ../../node_modules/@domql/utils/types.js
38
38
  var isString = (arg) => typeof arg === "string";
39
39
  var isFunction = (arg) => typeof arg === "function";
40
40
  var isNull = (arg) => arg === null;
41
41
  var isArray = (arg) => Array.isArray(arg);
42
42
  var isObjectLike = (arg) => {
43
- if (arg === null)
44
- return false;
43
+ if (arg === null) return false;
45
44
  return typeof arg === "object";
46
45
  };
47
46
  var isUndefined = (arg) => {
48
47
  return arg === void 0;
49
48
  };
50
49
 
51
- // ../../node_modules/@domql/utils/dist/esm/array.js
52
- var mergeArray = (arr, exclude = []) => {
53
- return arr.reduce((a, c) => deepMerge(a, deepClone(c, { exclude }), exclude), {});
50
+ // ../../node_modules/@domql/utils/array.js
51
+ var unstackArrayOfObjects = (arr, exclude = []) => {
52
+ return arr.reduce(
53
+ (a, c) => deepMerge(a, deepClone(c, { exclude }), exclude),
54
+ {}
55
+ );
54
56
  };
55
57
 
56
- // ../../node_modules/@domql/utils/dist/esm/object.js
57
- var __defProp2 = Object.defineProperty;
58
- var __defProps = Object.defineProperties;
59
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
60
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
61
- var __hasOwnProp2 = Object.prototype.hasOwnProperty;
62
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
63
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
64
- var __spreadValues = (a, b) => {
65
- for (var prop in b || (b = {}))
66
- if (__hasOwnProp2.call(b, prop))
67
- __defNormalProp(a, prop, b[prop]);
68
- if (__getOwnPropSymbols)
69
- for (var prop of __getOwnPropSymbols(b)) {
70
- if (__propIsEnum.call(b, prop))
71
- __defNormalProp(a, prop, b[prop]);
72
- }
73
- return a;
74
- };
75
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
76
- var deepMerge = (element, extend, excludeFrom = []) => {
58
+ // ../../node_modules/@domql/utils/keys.js
59
+ var STATE_METHODS = [
60
+ "update",
61
+ "parse",
62
+ "clean",
63
+ "create",
64
+ "destroy",
65
+ "add",
66
+ "toggle",
67
+ "remove",
68
+ "apply",
69
+ "set",
70
+ "reset",
71
+ "replace",
72
+ "quietReplace",
73
+ "quietUpdate",
74
+ "applyReplace",
75
+ "applyFunction",
76
+ "keys",
77
+ "values",
78
+ "ref",
79
+ "rootUpdate",
80
+ "parentUpdate",
81
+ "parent",
82
+ "__element",
83
+ "__depends",
84
+ "__ref",
85
+ "__children",
86
+ "root",
87
+ "setByPath",
88
+ "setPathCollection",
89
+ "removeByPath",
90
+ "removePathCollection",
91
+ "getByPath"
92
+ ];
93
+ var PROPS_METHODS = ["update", "__element"];
94
+ var METHODS = [
95
+ "set",
96
+ "reset",
97
+ "update",
98
+ "remove",
99
+ "updateContent",
100
+ "removeContent",
101
+ "lookup",
102
+ "lookdown",
103
+ "lookdownAll",
104
+ "getRef",
105
+ "getPath",
106
+ "setNodeStyles",
107
+ "spotByPath",
108
+ "keys",
109
+ "parse",
110
+ "setProps",
111
+ "parseDeep",
112
+ "variables",
113
+ "if",
114
+ "log",
115
+ "verbose",
116
+ "warn",
117
+ "error",
118
+ "call",
119
+ "nextElement",
120
+ "previousElement"
121
+ ];
122
+ var METHODS_EXL = [
123
+ ...["node", "context", "extends", "__element", "__ref"],
124
+ ...METHODS,
125
+ ...STATE_METHODS,
126
+ ...PROPS_METHODS
127
+ ];
128
+
129
+ // ../../node_modules/@domql/utils/object.js
130
+ var deepMerge = (element, extend, excludeFrom = METHODS_EXL) => {
77
131
  for (const e in extend) {
78
- const hasOwnProperty2 = Object.prototype.hasOwnProperty.call(extend, e);
79
- if (!hasOwnProperty2 || excludeFrom.includes(e) || e.startsWith("__"))
132
+ const hasOwnProperty = Object.prototype.hasOwnProperty.call(extend, e);
133
+ if (!hasOwnProperty || excludeFrom.includes(e) || e.startsWith("__")) {
80
134
  continue;
135
+ }
81
136
  const elementProp = element[e];
82
137
  const extendProp = extend[e];
83
138
  if (isObjectLike(elementProp) && isObjectLike(extendProp)) {
@@ -95,7 +150,7 @@ var deepClone = (obj, options = {}) => {
95
150
  cleanNull = false,
96
151
  window: targetWindow,
97
152
  visited = /* @__PURE__ */ new WeakMap(),
98
- handleExtend = false
153
+ handleExtends = false
99
154
  } = options;
100
155
  if (!isObjectLike(obj) || isDOMNode(obj)) {
101
156
  return obj;
@@ -103,40 +158,42 @@ var deepClone = (obj, options = {}) => {
103
158
  if (visited.has(obj)) {
104
159
  return visited.get(obj);
105
160
  }
106
- const clone2 = targetWindow ? isArray(obj) ? new targetWindow.Array() : new targetWindow.Object() : isArray(obj) ? [] : {};
107
- visited.set(obj, clone2);
161
+ const clone = targetWindow ? isArray(obj) ? new targetWindow.Array() : new targetWindow.Object() : isArray(obj) ? [] : {};
162
+ visited.set(obj, clone);
108
163
  for (const key in obj) {
109
- if (!Object.prototype.hasOwnProperty.call(obj, key))
110
- continue;
111
- if (exclude.includes(key) || key.startsWith("__") || key === "__proto__")
164
+ if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
165
+ if (exclude.includes(key) || key.startsWith("__") || key === "__proto__") {
112
166
  continue;
167
+ }
113
168
  const value = obj[key];
114
- if (cleanUndefined && isUndefined(value) || cleanNull && isNull(value))
169
+ if (cleanUndefined && isUndefined(value) || cleanNull && isNull(value)) {
115
170
  continue;
171
+ }
116
172
  if (isDOMNode(value)) {
117
- clone2[key] = value;
173
+ clone[key] = value;
118
174
  continue;
119
175
  }
120
- if (handleExtend && key === "extend" && isArray(value)) {
121
- clone2[key] = mergeArray(value, exclude);
176
+ if (handleExtends && key === "extends" && isArray(value)) {
177
+ clone[key] = unstackArrayOfObjects(value, exclude);
122
178
  continue;
123
179
  }
124
180
  if (isFunction(value) && targetWindow) {
125
- clone2[key] = targetWindow.eval("(" + value.toString() + ")");
181
+ clone[key] = targetWindow.eval("(" + value.toString() + ")");
126
182
  continue;
127
183
  }
128
184
  if (isObjectLike(value)) {
129
- clone2[key] = deepClone(value, __spreadProps(__spreadValues({}, options), {
185
+ clone[key] = deepClone(value, {
186
+ ...options,
130
187
  visited
131
- }));
188
+ });
132
189
  } else {
133
- clone2[key] = value;
190
+ clone[key] = value;
134
191
  }
135
192
  }
136
- return clone2;
193
+ return clone;
137
194
  };
138
195
 
139
- // ../../node_modules/@domql/utils/dist/esm/cookie.js
196
+ // ../../node_modules/@domql/utils/cookie.js
140
197
  var isMobile = (() => typeof navigator === "undefined" ? false : /Mobi/.test(navigator.userAgent))();
141
198
 
142
199
  // src/defaultConfig/index.js
@@ -365,10 +422,8 @@ var generateSprite = (icons) => {
365
422
  const CONFIG2 = getActiveConfig();
366
423
  let sprite = "";
367
424
  for (const key in icons) {
368
- if (CONFIG2.__svg_cache[key])
369
- continue;
370
- else
371
- CONFIG2.__svg_cache[key] = true;
425
+ if (CONFIG2.__svg_cache[key]) continue;
426
+ else CONFIG2.__svg_cache[key] = true;
372
427
  sprite += icons[key];
373
428
  }
374
429
  return sprite;
@@ -24,11 +24,8 @@ __export(theme_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(theme_exports);
26
26
  var returnSubThemeOrDefault = (orig, theme) => {
27
- if (!orig)
28
- return;
29
- if (orig.themes && orig.themes[theme])
30
- return orig.themes[theme];
31
- if (orig[theme])
32
- return [orig, orig[theme]];
27
+ if (!orig) return;
28
+ if (orig.themes && orig.themes[theme]) return orig.themes[theme];
29
+ if (orig[theme]) return [orig, orig[theme]];
33
30
  return orig;
34
31
  };
@@ -34,25 +34,25 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
34
34
  var require_cjs = __commonJS({
35
35
  "../utils/dist/cjs/index.js"(exports, module2) {
36
36
  "use strict";
37
- var __defProp3 = Object.defineProperty;
37
+ var __defProp2 = Object.defineProperty;
38
38
  var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
39
39
  var __getOwnPropNames2 = Object.getOwnPropertyNames;
40
- var __hasOwnProp3 = Object.prototype.hasOwnProperty;
40
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
41
41
  var __export2 = (target, all) => {
42
42
  for (var name in all)
43
- __defProp3(target, name, { get: all[name], enumerable: true });
43
+ __defProp2(target, name, { get: all[name], enumerable: true });
44
44
  };
45
45
  var __copyProps2 = (to, from, except, desc) => {
46
46
  if (from && typeof from === "object" || typeof from === "function") {
47
47
  for (let key of __getOwnPropNames2(from))
48
- if (!__hasOwnProp3.call(to, key) && key !== except)
49
- __defProp3(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
48
+ if (!__hasOwnProp2.call(to, key) && key !== except)
49
+ __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
50
50
  }
51
51
  return to;
52
52
  };
53
- var __toCommonJS2 = (mod) => __copyProps2(__defProp3({}, "__esModule", { value: true }), mod);
54
- var src_exports = {};
55
- __export2(src_exports, {
53
+ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
54
+ var index_exports = {};
55
+ __export2(index_exports, {
56
56
  arrayzeValue: () => arrayzeValue,
57
57
  copyJavaScriptToClipboard: () => copyJavaScriptToClipboard,
58
58
  copyStringToClipboard: () => copyStringToClipboard,
@@ -73,17 +73,85 @@ var require_cjs = __commonJS({
73
73
  toTitleCase: () => toTitleCase,
74
74
  toggleFullscreen: () => toggleFullscreen
75
75
  });
76
- module2.exports = __toCommonJS2(src_exports);
76
+ module2.exports = __toCommonJS2(index_exports);
77
77
  var window22 = globalThis;
78
78
  var document22 = window22.document;
79
79
  var isObject2 = (arg) => {
80
- if (arg === null)
81
- return false;
80
+ if (arg === null) return false;
82
81
  return typeof arg === "object" && arg.constructor === Object;
83
82
  };
84
83
  var isString2 = (arg) => typeof arg === "string";
85
84
  var isNumber2 = (arg) => typeof arg === "number";
86
85
  var isArray2 = (arg) => Array.isArray(arg);
86
+ var STATE_METHODS2 = [
87
+ "update",
88
+ "parse",
89
+ "clean",
90
+ "create",
91
+ "destroy",
92
+ "add",
93
+ "toggle",
94
+ "remove",
95
+ "apply",
96
+ "set",
97
+ "reset",
98
+ "replace",
99
+ "quietReplace",
100
+ "quietUpdate",
101
+ "applyReplace",
102
+ "applyFunction",
103
+ "keys",
104
+ "values",
105
+ "ref",
106
+ "rootUpdate",
107
+ "parentUpdate",
108
+ "parent",
109
+ "__element",
110
+ "__depends",
111
+ "__ref",
112
+ "__children",
113
+ "root",
114
+ "setByPath",
115
+ "setPathCollection",
116
+ "removeByPath",
117
+ "removePathCollection",
118
+ "getByPath"
119
+ ];
120
+ var PROPS_METHODS2 = ["update", "__element"];
121
+ var METHODS2 = [
122
+ "set",
123
+ "reset",
124
+ "update",
125
+ "remove",
126
+ "updateContent",
127
+ "removeContent",
128
+ "lookup",
129
+ "lookdown",
130
+ "lookdownAll",
131
+ "getRef",
132
+ "getPath",
133
+ "setNodeStyles",
134
+ "spotByPath",
135
+ "keys",
136
+ "parse",
137
+ "setProps",
138
+ "parseDeep",
139
+ "variables",
140
+ "if",
141
+ "log",
142
+ "verbose",
143
+ "warn",
144
+ "error",
145
+ "call",
146
+ "nextElement",
147
+ "previousElement"
148
+ ];
149
+ var METHODS_EXL2 = [
150
+ ...["node", "context", "extends", "__element", "__ref"],
151
+ ...METHODS2,
152
+ ...STATE_METHODS2,
153
+ ...PROPS_METHODS2
154
+ ];
87
155
  var isMobile2 = (() => typeof navigator === "undefined" ? false : /Mobi/.test(navigator.userAgent))();
88
156
  async function toggleFullscreen(opts) {
89
157
  if (!document.fullscreenElement) {
@@ -103,13 +171,11 @@ var require_cjs = __commonJS({
103
171
  };
104
172
  var findClosestNumberInFactory = (val, factory) => {
105
173
  val = parseFloat(val);
106
- if (isObject2(factory))
107
- factory = Object.values(factory);
174
+ if (isObject2(factory)) factory = Object.values(factory);
108
175
  return findClosestNumber(val, factory);
109
176
  };
110
177
  var formatDate = (timestamp) => {
111
- if (!timestamp)
112
- return "";
178
+ if (!timestamp) return "";
113
179
  const d = new Date(timestamp);
114
180
  const ye = new Intl.DateTimeFormat("en", { year: "numeric" }).format(d);
115
181
  const mo = new Intl.DateTimeFormat("en", { month: "short" }).format(d);
@@ -176,8 +242,7 @@ var require_cjs = __commonJS({
176
242
  scriptEle.type = type;
177
243
  scriptEle.text = xhr.responseText;
178
244
  doc.body.appendChild(scriptEle);
179
- if (typeof fallback === "function")
180
- fallback();
245
+ if (typeof fallback === "function") fallback();
181
246
  } else {
182
247
  throw new Error(`Failed to load the script ${FILE_URL}`);
183
248
  }
@@ -245,20 +310,15 @@ var require_cjs = __commonJS({
245
310
  );
246
311
  var toDashCase2 = (val) => val.replace(/[^a-zA-Z0-9]/g, " ").trim().toLowerCase().replace(/\s+/g, "-").replace(/-+/g, "-").replace(/^-|-$/g, "");
247
312
  var toDescriptionCase = (str = "") => {
248
- if (typeof str !== "string")
249
- return;
313
+ if (typeof str !== "string") return;
250
314
  const result = str.replace(/([A-Z])/g, " $1");
251
315
  return result.charAt(0).toUpperCase() + result.slice(1);
252
316
  };
253
317
  var arrayzeValue = (val) => {
254
- if (isArray2(val))
255
- return val;
256
- if (isString2(val))
257
- return val.split(" ");
258
- if (isObject2(val))
259
- return Object.values(val);
260
- if (isNumber2(val))
261
- return [val];
318
+ if (isArray2(val)) return val;
319
+ if (isString2(val)) return val.split(" ");
320
+ if (isObject2(val)) return Object.values(val);
321
+ if (isNumber2(val)) return [val];
262
322
  };
263
323
  }
264
324
  });
@@ -273,58 +333,113 @@ __export(var_exports, {
273
333
  });
274
334
  module.exports = __toCommonJS(var_exports);
275
335
 
276
- // ../../node_modules/@domql/utils/dist/esm/globals.js
336
+ // ../../node_modules/@domql/utils/globals.js
277
337
  var window2 = globalThis;
278
338
  var document2 = window2.document;
279
339
 
280
- // ../../node_modules/@domql/utils/dist/esm/node.js
340
+ // ../../node_modules/@domql/utils/node.js
281
341
  var isDOMNode = (obj) => {
282
342
  return typeof window2 !== "undefined" && (obj instanceof window2.Node || obj instanceof window2.Window || obj === window2 || obj === document);
283
343
  };
284
344
 
285
- // ../../node_modules/@domql/utils/dist/esm/types.js
345
+ // ../../node_modules/@domql/utils/types.js
286
346
  var isFunction = (arg) => typeof arg === "function";
287
347
  var isNull = (arg) => arg === null;
288
348
  var isArray = (arg) => Array.isArray(arg);
289
349
  var isObjectLike = (arg) => {
290
- if (arg === null)
291
- return false;
350
+ if (arg === null) return false;
292
351
  return typeof arg === "object";
293
352
  };
294
353
  var isUndefined = (arg) => {
295
354
  return arg === void 0;
296
355
  };
297
356
 
298
- // ../../node_modules/@domql/utils/dist/esm/array.js
299
- var mergeArray = (arr, exclude = []) => {
300
- return arr.reduce((a, c) => deepMerge(a, deepClone(c, { exclude }), exclude), {});
357
+ // ../../node_modules/@domql/utils/array.js
358
+ var unstackArrayOfObjects = (arr, exclude = []) => {
359
+ return arr.reduce(
360
+ (a, c) => deepMerge(a, deepClone(c, { exclude }), exclude),
361
+ {}
362
+ );
301
363
  };
302
364
 
303
- // ../../node_modules/@domql/utils/dist/esm/object.js
304
- var __defProp2 = Object.defineProperty;
305
- var __defProps = Object.defineProperties;
306
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
307
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
308
- var __hasOwnProp2 = Object.prototype.hasOwnProperty;
309
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
310
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
311
- var __spreadValues = (a, b) => {
312
- for (var prop in b || (b = {}))
313
- if (__hasOwnProp2.call(b, prop))
314
- __defNormalProp(a, prop, b[prop]);
315
- if (__getOwnPropSymbols)
316
- for (var prop of __getOwnPropSymbols(b)) {
317
- if (__propIsEnum.call(b, prop))
318
- __defNormalProp(a, prop, b[prop]);
319
- }
320
- return a;
321
- };
322
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
323
- var deepMerge = (element, extend, excludeFrom = []) => {
365
+ // ../../node_modules/@domql/utils/keys.js
366
+ var STATE_METHODS = [
367
+ "update",
368
+ "parse",
369
+ "clean",
370
+ "create",
371
+ "destroy",
372
+ "add",
373
+ "toggle",
374
+ "remove",
375
+ "apply",
376
+ "set",
377
+ "reset",
378
+ "replace",
379
+ "quietReplace",
380
+ "quietUpdate",
381
+ "applyReplace",
382
+ "applyFunction",
383
+ "keys",
384
+ "values",
385
+ "ref",
386
+ "rootUpdate",
387
+ "parentUpdate",
388
+ "parent",
389
+ "__element",
390
+ "__depends",
391
+ "__ref",
392
+ "__children",
393
+ "root",
394
+ "setByPath",
395
+ "setPathCollection",
396
+ "removeByPath",
397
+ "removePathCollection",
398
+ "getByPath"
399
+ ];
400
+ var PROPS_METHODS = ["update", "__element"];
401
+ var METHODS = [
402
+ "set",
403
+ "reset",
404
+ "update",
405
+ "remove",
406
+ "updateContent",
407
+ "removeContent",
408
+ "lookup",
409
+ "lookdown",
410
+ "lookdownAll",
411
+ "getRef",
412
+ "getPath",
413
+ "setNodeStyles",
414
+ "spotByPath",
415
+ "keys",
416
+ "parse",
417
+ "setProps",
418
+ "parseDeep",
419
+ "variables",
420
+ "if",
421
+ "log",
422
+ "verbose",
423
+ "warn",
424
+ "error",
425
+ "call",
426
+ "nextElement",
427
+ "previousElement"
428
+ ];
429
+ var METHODS_EXL = [
430
+ ...["node", "context", "extends", "__element", "__ref"],
431
+ ...METHODS,
432
+ ...STATE_METHODS,
433
+ ...PROPS_METHODS
434
+ ];
435
+
436
+ // ../../node_modules/@domql/utils/object.js
437
+ var deepMerge = (element, extend, excludeFrom = METHODS_EXL) => {
324
438
  for (const e in extend) {
325
- const hasOwnProperty2 = Object.prototype.hasOwnProperty.call(extend, e);
326
- if (!hasOwnProperty2 || excludeFrom.includes(e) || e.startsWith("__"))
439
+ const hasOwnProperty = Object.prototype.hasOwnProperty.call(extend, e);
440
+ if (!hasOwnProperty || excludeFrom.includes(e) || e.startsWith("__")) {
327
441
  continue;
442
+ }
328
443
  const elementProp = element[e];
329
444
  const extendProp = extend[e];
330
445
  if (isObjectLike(elementProp) && isObjectLike(extendProp)) {
@@ -342,7 +457,7 @@ var deepClone = (obj, options = {}) => {
342
457
  cleanNull = false,
343
458
  window: targetWindow,
344
459
  visited = /* @__PURE__ */ new WeakMap(),
345
- handleExtend = false
460
+ handleExtends = false
346
461
  } = options;
347
462
  if (!isObjectLike(obj) || isDOMNode(obj)) {
348
463
  return obj;
@@ -350,40 +465,42 @@ var deepClone = (obj, options = {}) => {
350
465
  if (visited.has(obj)) {
351
466
  return visited.get(obj);
352
467
  }
353
- const clone2 = targetWindow ? isArray(obj) ? new targetWindow.Array() : new targetWindow.Object() : isArray(obj) ? [] : {};
354
- visited.set(obj, clone2);
468
+ const clone = targetWindow ? isArray(obj) ? new targetWindow.Array() : new targetWindow.Object() : isArray(obj) ? [] : {};
469
+ visited.set(obj, clone);
355
470
  for (const key in obj) {
356
- if (!Object.prototype.hasOwnProperty.call(obj, key))
357
- continue;
358
- if (exclude.includes(key) || key.startsWith("__") || key === "__proto__")
471
+ if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
472
+ if (exclude.includes(key) || key.startsWith("__") || key === "__proto__") {
359
473
  continue;
474
+ }
360
475
  const value = obj[key];
361
- if (cleanUndefined && isUndefined(value) || cleanNull && isNull(value))
476
+ if (cleanUndefined && isUndefined(value) || cleanNull && isNull(value)) {
362
477
  continue;
478
+ }
363
479
  if (isDOMNode(value)) {
364
- clone2[key] = value;
480
+ clone[key] = value;
365
481
  continue;
366
482
  }
367
- if (handleExtend && key === "extend" && isArray(value)) {
368
- clone2[key] = mergeArray(value, exclude);
483
+ if (handleExtends && key === "extends" && isArray(value)) {
484
+ clone[key] = unstackArrayOfObjects(value, exclude);
369
485
  continue;
370
486
  }
371
487
  if (isFunction(value) && targetWindow) {
372
- clone2[key] = targetWindow.eval("(" + value.toString() + ")");
488
+ clone[key] = targetWindow.eval("(" + value.toString() + ")");
373
489
  continue;
374
490
  }
375
491
  if (isObjectLike(value)) {
376
- clone2[key] = deepClone(value, __spreadProps(__spreadValues({}, options), {
492
+ clone[key] = deepClone(value, {
493
+ ...options,
377
494
  visited
378
- }));
495
+ });
379
496
  } else {
380
- clone2[key] = value;
497
+ clone[key] = value;
381
498
  }
382
499
  }
383
- return clone2;
500
+ return clone;
384
501
  };
385
502
 
386
- // ../../node_modules/@domql/utils/dist/esm/cookie.js
503
+ // ../../node_modules/@domql/utils/cookie.js
387
504
  var isMobile = (() => typeof navigator === "undefined" ? false : /Mobi/.test(navigator.userAgent))();
388
505
 
389
506
  // src/defaultConfig/index.js
@@ -608,7 +725,7 @@ var getActiveConfig = (def) => {
608
725
  };
609
726
 
610
727
  // src/utils/sequence.js
611
- var import_utils3 = __toESM(require_cjs(), 1);
728
+ var import_utils5 = __toESM(require_cjs(), 1);
612
729
 
613
730
  // src/utils/unit.js
614
731
  var isScalingUnit = (unit) => {
@@ -684,23 +801,19 @@ var applyMediaSequenceVars = (FACTORY2, media, options = {}) => {
684
801
  const { mediaRegenerate } = FACTORY2;
685
802
  const { sequence, scales } = FACTORY2[media];
686
803
  const query = MEDIA2[mediaName];
687
- if (!query && CONFIG2.verbose)
688
- console.warn("Can't find media query ", query);
804
+ if (!query && CONFIG2.verbose) console.warn("Can't find media query ", query);
689
805
  if (!mediaRegenerate) {
690
806
  let underMediaQuery = CSS_VARS2[`@media ${query}`];
691
- if (!underMediaQuery)
692
- underMediaQuery = CSS_VARS2[`@media ${query}`] = {};
807
+ if (!underMediaQuery) underMediaQuery = CSS_VARS2[`@media ${query}`] = {};
693
808
  applySequenceGlobalVars(underMediaQuery, FACTORY2[media], options);
694
809
  return;
695
810
  }
696
811
  for (const key in sequence) {
697
812
  const item = sequence[key];
698
813
  const value = (isScalingUnit(unit) ? scales[key] : sequence[key].val) + unit;
699
- if (!query && CONFIG2.verbose)
700
- console.warn("Can't find query ", query);
814
+ if (!query && CONFIG2.verbose) console.warn("Can't find query ", query);
701
815
  let underMediaQuery = CSS_VARS2[`@media ${query}`];
702
- if (!underMediaQuery)
703
- underMediaQuery = CSS_VARS2[`@media ${query}`] = {};
816
+ if (!underMediaQuery) underMediaQuery = CSS_VARS2[`@media ${query}`] = {};
704
817
  underMediaQuery[item.variable] = `var(${item.variable + "_" + mediaName})`;
705
818
  CSS_VARS2[item.variable + "_" + mediaName] = value;
706
819
  }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@symbo.ls/scratch",
3
3
  "description": "Φ / CSS framework and methodology.",
4
4
  "author": "symbo.ls",
5
- "version": "2.11.523",
5
+ "version": "3.0.2",
6
6
  "files": [
7
7
  "src",
8
8
  "dist"
@@ -26,9 +26,9 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@domql/globals": "latest",
29
- "@domql/utils": "^2.5.0",
30
- "@symbo.ls/utils": "^2.11.512",
29
+ "@domql/utils": "^3.0.0",
30
+ "@symbo.ls/utils": "^3.0.2",
31
31
  "color-contrast-checker": "^1.5.0"
32
32
  },
33
- "gitHead": "08e5b257605d1475f4628529f8e35373d87eb369"
33
+ "gitHead": "c4dacc88fa3a65574680d11e320307dd2a22e6e9"
34
34
  }