@symbo.ls/scratch 2.10.291 → 2.11.16

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/cjs/set.js CHANGED
@@ -30,9 +30,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
30
30
  ));
31
31
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32
32
 
33
- // ../../node_modules/@domql/globals/dist/cjs/index.js
33
+ // ../../node_modules/@domql/key/dist/cjs/index.js
34
34
  var require_cjs = __commonJS({
35
- "../../node_modules/@domql/globals/dist/cjs/index.js"(exports, module2) {
35
+ "../../node_modules/@domql/key/dist/cjs/index.js"(exports, module2) {
36
36
  "use strict";
37
37
  var __defProp2 = Object.defineProperty;
38
38
  var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
@@ -51,18 +51,21 @@ var require_cjs = __commonJS({
51
51
  return to;
52
52
  };
53
53
  var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
54
- var globals_exports = {};
55
- __export2(globals_exports, {
56
- document: () => document4,
57
- global: () => global,
58
- self: () => self,
59
- window: () => window3
54
+ var key_exports = {};
55
+ __export2(key_exports, {
56
+ createKey: () => createKey,
57
+ createSnapshotId: () => createSnapshotId
60
58
  });
61
- module2.exports = __toCommonJS2(globals_exports);
62
- var global = globalThis;
63
- var self = globalThis;
64
- var window3 = globalThis;
65
- var document4 = window3.document;
59
+ module2.exports = __toCommonJS2(key_exports);
60
+ var createKey = function() {
61
+ let index = 0;
62
+ function newId() {
63
+ index++;
64
+ return index;
65
+ }
66
+ return newId;
67
+ }();
68
+ var createSnapshotId = createKey;
66
69
  }
67
70
  });
68
71
 
@@ -253,6 +256,79 @@ var require_cjs2 = __commonJS({
253
256
  }
254
257
  });
255
258
 
259
+ // ../../node_modules/@domql/globals/dist/cjs/index.js
260
+ var require_cjs3 = __commonJS({
261
+ "../../node_modules/@domql/globals/dist/cjs/index.js"(exports, module2) {
262
+ "use strict";
263
+ var __defProp2 = Object.defineProperty;
264
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
265
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
266
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
267
+ var __export2 = (target, all) => {
268
+ for (var name in all)
269
+ __defProp2(target, name, { get: all[name], enumerable: true });
270
+ };
271
+ var __copyProps2 = (to, from, except, desc) => {
272
+ if (from && typeof from === "object" || typeof from === "function") {
273
+ for (let key of __getOwnPropNames2(from))
274
+ if (!__hasOwnProp2.call(to, key) && key !== except)
275
+ __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
276
+ }
277
+ return to;
278
+ };
279
+ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
280
+ var globals_exports = {};
281
+ __export2(globals_exports, {
282
+ document: () => document4,
283
+ global: () => global,
284
+ self: () => self,
285
+ window: () => window3
286
+ });
287
+ module2.exports = __toCommonJS2(globals_exports);
288
+ var global = globalThis;
289
+ var self = globalThis;
290
+ var window3 = globalThis;
291
+ var document4 = window3.document;
292
+ }
293
+ });
294
+
295
+ // ../../node_modules/@domql/utils/dist/cjs/node.js
296
+ var require_node = __commonJS({
297
+ "../../node_modules/@domql/utils/dist/cjs/node.js"(exports, module2) {
298
+ "use strict";
299
+ var __defProp2 = Object.defineProperty;
300
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
301
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
302
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
303
+ var __export2 = (target, all) => {
304
+ for (var name in all)
305
+ __defProp2(target, name, { get: all[name], enumerable: true });
306
+ };
307
+ var __copyProps2 = (to, from, except, desc) => {
308
+ if (from && typeof from === "object" || typeof from === "function") {
309
+ for (let key of __getOwnPropNames2(from))
310
+ if (!__hasOwnProp2.call(to, key) && key !== except)
311
+ __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
312
+ }
313
+ return to;
314
+ };
315
+ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
316
+ var node_exports = {};
317
+ __export2(node_exports, {
318
+ isHtmlElement: () => isHtmlElement,
319
+ isNode: () => isNode
320
+ });
321
+ module2.exports = __toCommonJS2(node_exports);
322
+ var import_globals3 = require_cjs3();
323
+ var isNode = (obj) => {
324
+ return (typeof Node === "object" ? obj instanceof import_globals3.window.Node : obj && typeof obj === "object" && typeof obj.nodeType === "number" && typeof obj.nodeName === "string") || false;
325
+ };
326
+ var isHtmlElement = (obj) => {
327
+ return (typeof HTMLElement === "object" ? obj instanceof import_globals3.window.HTMLElement : obj && typeof obj === "object" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === "string") || false;
328
+ };
329
+ }
330
+ });
331
+
256
332
  // ../../node_modules/@domql/utils/dist/cjs/types.js
257
333
  var require_types = __commonJS({
258
334
  "../../node_modules/@domql/utils/dist/cjs/types.js"(exports, module2) {
@@ -282,8 +358,6 @@ var require_types = __commonJS({
282
358
  isBoolean: () => isBoolean,
283
359
  isDefined: () => isDefined2,
284
360
  isFunction: () => isFunction2,
285
- isHtmlElement: () => isHtmlElement,
286
- isNode: () => isNode,
287
361
  isNot: () => isNot,
288
362
  isNull: () => isNull,
289
363
  isNumber: () => isNumber,
@@ -294,9 +368,9 @@ var require_types = __commonJS({
294
368
  isValidHtmlTag: () => isValidHtmlTag
295
369
  });
296
370
  module2.exports = __toCommonJS2(types_exports);
297
- var import_globals3 = require_cjs();
298
371
  var import_tags = require_cjs2();
299
- var isValidHtmlTag = (arg) => import_tags.HTML_TAGS.body.indexOf(arg);
372
+ var import_node = require_node();
373
+ var isValidHtmlTag = (arg) => import_tags.HTML_TAGS.body.includes(arg);
300
374
  var isObject7 = (arg) => {
301
375
  if (arg === null)
302
376
  return false;
@@ -313,12 +387,6 @@ var require_types = __commonJS({
313
387
  return false;
314
388
  return typeof arg === "object";
315
389
  };
316
- var isNode = (obj) => {
317
- return typeof import_globals3.window.Node === "object" ? obj instanceof import_globals3.window.Node : obj && typeof obj === "object" && typeof obj.nodeType === "number" && typeof obj.nodeName === "string";
318
- };
319
- var isHtmlElement = (obj) => {
320
- return typeof import_globals3.window.HTMLElement === "object" ? obj instanceof import_globals3.window.HTMLElement : obj && typeof obj === "object" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === "string";
321
- };
322
390
  var isDefined2 = (arg) => {
323
391
  return isObject7(arg) || isObjectLike3(arg) || isString7(arg) || isNumber(arg) || isFunction2(arg) || isArray5(arg) || isObjectLike3(arg) || isBoolean(arg) || isNull(arg);
324
392
  };
@@ -334,8 +402,8 @@ var require_types = __commonJS({
334
402
  null: isNull,
335
403
  function: isFunction2,
336
404
  objectLike: isObjectLike3,
337
- node: isNode,
338
- htmlElement: isHtmlElement,
405
+ node: import_node.isNode,
406
+ htmlElement: import_node.isHtmlElement,
339
407
  defined: isDefined2
340
408
  };
341
409
  var is = (arg) => {
@@ -382,21 +450,22 @@ var require_object = __commonJS({
382
450
  deepStringify: () => deepStringify,
383
451
  detachFunctionsFromObject: () => detachFunctionsFromObject,
384
452
  diff: () => diff,
453
+ diffArrays: () => diffArrays,
454
+ diffObjects: () => diffObjects,
385
455
  exec: () => exec,
386
456
  flattenRecursive: () => flattenRecursive,
387
457
  isEqualDeep: () => isEqualDeep,
388
458
  map: () => map,
389
459
  merge: () => merge5,
390
- mergeAndCloneIfArray: () => mergeAndCloneIfArray,
391
- mergeArray: () => mergeArray,
392
- mergeArrayExclude: () => mergeArrayExclude,
393
460
  mergeIfExisted: () => mergeIfExisted,
394
461
  overwrite: () => overwrite,
395
462
  overwriteDeep: () => overwriteDeep,
396
- overwriteObj: () => overwriteObj
463
+ overwriteObj: () => overwriteObj,
464
+ overwriteShallow: () => overwriteShallow,
465
+ removeFromObject: () => removeFromObject
397
466
  });
398
467
  module2.exports = __toCommonJS2(object_exports);
399
- var import_globals3 = require_cjs();
468
+ var import_globals3 = require_cjs3();
400
469
  var import_types = require_types();
401
470
  var exec = (param, element, state, context) => {
402
471
  if ((0, import_types.isFunction)(param)) {
@@ -409,82 +478,75 @@ var require_object = __commonJS({
409
478
  return param;
410
479
  };
411
480
  var map = (obj, extention, element) => {
412
- for (const e in extention) {
413
- obj[e] = exec(extention[e], element);
481
+ for (const e2 in extention) {
482
+ obj[e2] = exec(extention[e2], element);
414
483
  }
415
484
  };
416
485
  var merge5 = (element, obj) => {
417
- for (const e in obj) {
418
- const elementProp = element[e];
419
- const objProp = obj[e];
486
+ for (const e2 in obj) {
487
+ const elementProp = element[e2];
488
+ const objProp = obj[e2];
420
489
  if (elementProp === void 0) {
421
- element[e] = objProp;
490
+ element[e2] = objProp;
422
491
  }
423
492
  }
424
493
  return element;
425
494
  };
426
- var deepMerge3 = (element, extend) => {
427
- for (const e in extend) {
428
- const extendProp = extend[e];
429
- if (e === "parent" || e === "props")
495
+ var deepMerge3 = (element, extend, excludeFrom = []) => {
496
+ for (const e2 in extend) {
497
+ if (excludeFrom.includes(e2) || e2.includes("__"))
430
498
  continue;
431
- if (element[e] === void 0) {
432
- element[e] = extendProp;
433
- } else if ((0, import_types.isObjectLike)(element[e]) && (0, import_types.isObjectLike)(extendProp)) {
434
- deepMerge3(element[e], extendProp);
435
- } else {
436
- element[e] = extendProp;
499
+ const elementProp = element[e2];
500
+ const extendProp = extend[e2];
501
+ if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {
502
+ deepMerge3(elementProp, extendProp);
503
+ } else if (elementProp === void 0) {
504
+ element[e2] = extendProp;
437
505
  }
438
506
  }
439
507
  return element;
440
508
  };
441
- var clone = (obj) => {
509
+ var clone = (obj, excludeFrom = []) => {
442
510
  const o = {};
443
511
  for (const prop in obj) {
444
- if (prop === "node")
512
+ if (excludeFrom.includes(e) || e.includes("__"))
445
513
  continue;
446
514
  o[prop] = obj[prop];
447
515
  }
448
516
  return o;
449
517
  };
450
- var deepCloneExclude = (obj, exclude = []) => {
518
+ var deepCloneExclude = (obj, excludeFrom = []) => {
451
519
  if ((0, import_types.isArray)(obj)) {
452
- return obj.map((x) => deepCloneExclude(x, exclude));
520
+ return obj.map((x) => deepCloneExclude(x, excludeFrom));
453
521
  }
454
522
  const o = {};
455
523
  for (const k in obj) {
456
- if (exclude.indexOf(k) > -1)
524
+ if (excludeFrom.includes(k) || k.includes("__"))
457
525
  continue;
458
526
  let v = obj[k];
459
527
  if (k === "extend" && (0, import_types.isArray)(v)) {
460
- v = mergeArrayExclude(v, exclude);
528
+ v = mergeArrayExclude(v, excludeFrom);
461
529
  }
462
530
  if ((0, import_types.isArray)(v)) {
463
- o[k] = v.map((x) => deepCloneExclude(x, exclude));
531
+ o[k] = v.map((x) => deepCloneExclude(x, excludeFrom));
464
532
  } else if ((0, import_types.isObject)(v)) {
465
- o[k] = deepCloneExclude(v, exclude);
533
+ o[k] = deepCloneExclude(v, excludeFrom);
466
534
  } else
467
535
  o[k] = v;
468
536
  }
469
537
  return o;
470
538
  };
471
- var mergeArrayExclude = (arr, excl = []) => {
472
- return arr.reduce((acc, curr) => deepMerge3(acc, deepCloneExclude(curr, excl)), {});
473
- };
474
- var deepClone2 = (obj) => {
475
- if ((0, import_types.isArray)(obj)) {
476
- return obj.map(deepClone2);
477
- }
478
- const o = {};
539
+ var deepClone2 = (obj, excludeFrom = []) => {
540
+ const o = (0, import_types.isArray)(obj) ? [] : {};
479
541
  for (const prop in obj) {
542
+ if (excludeFrom.includes(prop) || prop.includes("__"))
543
+ continue;
480
544
  let objProp = obj[prop];
481
545
  if (prop === "extend" && (0, import_types.isArray)(objProp)) {
482
546
  objProp = mergeArray(objProp);
483
547
  }
484
- if ((0, import_types.isArray)(objProp)) {
485
- o[prop] = objProp.map((v) => (0, import_types.isObject)(v) ? deepClone2(v) : v);
486
- } else if ((0, import_types.isObject)(objProp)) {
487
- o[prop] = deepClone2(objProp);
548
+ if ((0, import_types.isObjectLike)(objProp)) {
549
+ o[prop] = deepClone2(objProp, excludeFrom);
488
550
  } else
489
551
  o[prop] = objProp;
490
552
  }
@@ -550,8 +612,8 @@ var require_object = __commonJS({
550
612
  try {
551
613
  const evalProp = import_globals3.window.eval(`(${objProp})`);
552
614
  stringified[prop] = evalProp;
553
- } catch (e) {
554
- if (e)
615
+ } catch (e2) {
616
+ if (e2)
555
617
  stringified[prop] = objProp;
556
618
  }
557
619
  } else {
@@ -565,8 +627,8 @@ var require_object = __commonJS({
565
627
  try {
566
628
  const evalProp = import_globals3.window.eval(`(${arrProp})`);
567
629
  stringified[prop].push(evalProp);
568
- } catch (e) {
569
- if (e)
630
+ } catch (e2) {
631
+ if (e2)
570
632
  stringified[prop].push(arrProp);
571
633
  }
572
634
  } else {
@@ -586,56 +648,91 @@ var require_object = __commonJS({
586
648
  }
587
649
  return stringified;
588
650
  };
589
- var overwrite = (element, params, options) => {
651
+ var overwrite = (element, params, excludeFrom = []) => {
590
652
  const { ref } = element;
591
653
  const changes = {};
592
- for (const e in params) {
593
- if (e === "props")
654
+ for (const e2 in params) {
655
+ if (excludeFrom.includes(e2) || e2.includes("__"))
594
656
  continue;
595
- const elementProp = element[e];
596
- const paramsProp = params[e];
657
+ const elementProp = element[e2];
658
+ const paramsProp = params[e2];
597
659
  if (paramsProp) {
598
- ref.__cache[e] = changes[e] = elementProp;
599
- ref[e] = paramsProp;
660
+ ref.__cache[e2] = changes[e2] = elementProp;
661
+ ref[e2] = paramsProp;
600
662
  }
601
663
  }
602
664
  return changes;
603
665
  };
604
- var diff = (obj, original, cache) => {
605
- const changes = cache || {};
606
- for (const e in obj) {
607
- if (e === "ref")
666
+ var diffObjects = (original, objToDiff, cache) => {
667
+ for (const e2 in objToDiff) {
668
+ if (e2 === "ref")
608
669
  continue;
609
- const originalProp = original[e];
610
- const objProp = obj[e];
611
- if ((0, import_types.isObjectLike)(originalProp) && (0, import_types.isObjectLike)(objProp)) {
612
- changes[e] = {};
613
- diff(originalProp, objProp, changes[e]);
614
- } else if (objProp !== void 0) {
615
- changes[e] = objProp;
670
+ const originalProp = original[e2];
671
+ const objToDiffProp = objToDiff[e2];
672
+ if ((0, import_types.isObject)(originalProp) && (0, import_types.isObject)(objToDiffProp)) {
673
+ cache[e2] = {};
674
+ diff(originalProp, objToDiffProp, cache[e2]);
675
+ } else if (objToDiffProp !== void 0) {
676
+ cache[e2] = objToDiffProp;
616
677
  }
617
678
  }
618
- return changes;
679
+ return cache;
680
+ };
681
+ var diffArrays = (original, objToDiff, cache) => {
682
+ if (original.length !== objToDiff.length) {
683
+ cache = objToDiff;
684
+ } else {
685
+ const diffArr = [];
686
+ for (let i = 0; i < original.length; i++) {
687
+ const diffObj = diff(original[i], objToDiff[i]);
688
+ if (Object.keys(diffObj).length > 0) {
689
+ diffArr.push(diffObj);
690
+ }
691
+ }
692
+ if (diffArr.length > 0) {
693
+ cache = diffArr;
694
+ }
695
+ }
696
+ return cache;
697
+ };
698
+ var diff = (original, objToDiff, cache = {}) => {
699
+ if ((0, import_types.isArray)(original) && (0, import_types.isArray)(objToDiff)) {
700
+ cache = [];
701
+ diffArrays(original, objToDiff, cache);
702
+ } else {
703
+ diffObjects(original, objToDiff, cache);
704
+ }
705
+ return cache;
619
706
  };
620
707
  var overwriteObj = (params, obj) => {
621
708
  const changes = {};
622
- for (const e in params) {
623
- const objProp = obj[e];
624
- const paramsProp = params[e];
709
+ for (const e2 in params) {
710
+ const objProp = obj[e2];
711
+ const paramsProp = params[e2];
625
712
  if (paramsProp) {
626
- obj[e] = changes[e] = objProp;
713
+ obj[e2] = changes[e2] = objProp;
627
714
  }
628
715
  }
629
716
  return changes;
630
717
  };
631
- var overwriteDeep = (params, obj) => {
632
- for (const e in params) {
633
- const objProp = obj[e];
634
- const paramsProp = params[e];
718
+ var overwriteShallow = (obj, params, excludeFrom = []) => {
719
+ for (const e2 in params) {
720
+ if (excludeFrom.includes(e2) || e2.includes("__"))
721
+ continue;
722
+ obj[e2] = params[e2];
723
+ }
724
+ return obj;
725
+ };
726
+ var overwriteDeep = (params, obj, excludeFrom = []) => {
727
+ for (const e2 in params) {
728
+ if (excludeFrom.includes(e2) || e2.includes("__"))
729
+ continue;
730
+ const objProp = obj[e2];
731
+ const paramsProp = params[e2];
635
732
  if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {
636
733
  overwriteDeep(paramsProp, objProp);
637
734
  } else if (paramsProp !== void 0) {
638
- obj[e] = paramsProp;
735
+ obj[e2] = paramsProp;
639
736
  }
640
737
  }
641
738
  return obj;
@@ -645,12 +742,6 @@ var require_object = __commonJS({
645
742
  return deepMerge3(a, b);
646
743
  return a || b;
647
744
  };
648
- var mergeArray = (arr) => {
649
- return arr.reduce((a, c) => deepMerge3(a, deepClone2(c)), {});
650
- };
651
- var mergeAndCloneIfArray = (obj) => {
652
- return (0, import_types.isArray)(obj) ? mergeArray(obj) : deepClone2(obj);
653
- };
654
745
  var flattenRecursive = (param, prop, stack = []) => {
655
746
  const objectized = mergeAndCloneIfArray(param);
656
747
  stack.push(objectized);
@@ -680,6 +771,18 @@ var require_object = __commonJS({
680
771
  }
681
772
  return true;
682
773
  };
774
+ var removeFromObject = (obj, props) => {
775
+ if (props === void 0 || props === null)
776
+ return obj;
777
+ if ((0, import_types.is)(props)("string", "number")) {
778
+ delete obj[props];
779
+ } else if ((0, import_types.isArray)(props)) {
780
+ props.forEach((prop) => delete obj[prop]);
781
+ } else {
782
+ throw new Error("Invalid input: props must be a string or an array of strings");
783
+ }
784
+ return obj;
785
+ };
683
786
  }
684
787
  });
685
788
 
@@ -737,14 +840,7 @@ var require_function = __commonJS({
737
840
 
738
841
  // ../../node_modules/@domql/utils/dist/cjs/array.js
739
842
  var require_array = __commonJS({
740
- "../../node_modules/@domql/utils/dist/cjs/array.js"() {
741
- "use strict";
742
- }
743
- });
744
-
745
- // ../../node_modules/@domql/utils/dist/cjs/node.js
746
- var require_node = __commonJS({
747
- "../../node_modules/@domql/utils/dist/cjs/node.js"(exports, module2) {
843
+ "../../node_modules/@domql/utils/dist/cjs/array.js"(exports, module2) {
748
844
  "use strict";
749
845
  var __defProp2 = Object.defineProperty;
750
846
  var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
@@ -763,23 +859,48 @@ var require_node = __commonJS({
763
859
  return to;
764
860
  };
765
861
  var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
766
- var node_exports = {};
767
- __export2(node_exports, {
768
- cleanWithNode: () => cleanWithNode,
769
- createID: () => createID,
770
- createSnapshotId: () => createSnapshotId
862
+ var array_exports = {};
863
+ __export2(array_exports, {
864
+ arrayContainsOtherArray: () => arrayContainsOtherArray,
865
+ joinArrays: () => joinArrays,
866
+ mergeAndCloneIfArray: () => mergeAndCloneIfArray2,
867
+ mergeArray: () => mergeArray2,
868
+ removeFromArray: () => removeFromArray,
869
+ swapItemsInArray: () => swapItemsInArray
771
870
  });
772
- module2.exports = __toCommonJS2(node_exports);
773
- var cleanWithNode = (extend) => delete extend.node && extend;
774
- var createID = function() {
775
- let index = 0;
776
- function newId() {
777
- index++;
778
- return index;
871
+ module2.exports = __toCommonJS2(array_exports);
872
+ var import_object = require_object();
873
+ var import_types = require_types();
874
+ var arrayContainsOtherArray = (arr1, arr2) => {
875
+ return arr2.every((val) => arr1.includes(val));
876
+ };
877
+ var removeFromArray = (arr, index) => {
878
+ if ((0, import_types.isString)(index))
879
+ index = parseInt(index);
880
+ if ((0, import_types.isNumber)(index)) {
881
+ if (index < 0 || index >= arr.length || isNaN(index)) {
882
+ throw new Error("Invalid index");
883
+ }
884
+ arr.splice(index, 1);
885
+ } else if ((0, import_types.isArray)(index)) {
886
+ index.forEach((idx) => removeFromArray(arr, idx));
887
+ } else {
888
+ throw new Error("Invalid index");
779
889
  }
780
- return newId;
781
- }();
782
- var createSnapshotId = createID;
890
+ return arr;
891
+ };
892
+ var swapItemsInArray = (arr, i, j) => {
893
+ [arr[i], arr[j]] = [arr[j], arr[i]];
894
+ };
895
+ var joinArrays = (...arrays) => {
896
+ return [].concat(...arrays);
897
+ };
898
+ var mergeArray2 = (arr, excludeFrom = []) => {
899
+ return arr.reduce((a, c) => (0, import_object.deepMerge)(a, (0, import_object.deepClone)(c, excludeFrom), excludeFrom), {});
900
+ };
901
+ var mergeAndCloneIfArray2 = (obj) => {
902
+ return (0, import_types.isArray)(obj) ? mergeArray2(obj) : (0, import_object.deepClone)(obj);
903
+ };
783
904
  }
784
905
  });
785
906
 
@@ -825,7 +946,7 @@ var require_log = __commonJS({
825
946
  });
826
947
 
827
948
  // ../../node_modules/@domql/utils/dist/cjs/index.js
828
- var require_cjs3 = __commonJS({
949
+ var require_cjs4 = __commonJS({
829
950
  "../../node_modules/@domql/utils/dist/cjs/index.js"(exports, module2) {
830
951
  "use strict";
831
952
  var __defProp2 = Object.defineProperty;
@@ -844,6 +965,7 @@ var require_cjs3 = __commonJS({
844
965
  var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
845
966
  var utils_exports = {};
846
967
  module2.exports = __toCommonJS2(utils_exports);
968
+ __reExport(utils_exports, require_cjs(), module2.exports);
847
969
  __reExport(utils_exports, require_types(), module2.exports);
848
970
  __reExport(utils_exports, require_object(), module2.exports);
849
971
  __reExport(utils_exports, require_function(), module2.exports);
@@ -864,7 +986,7 @@ __export(set_exports, {
864
986
  module.exports = __toCommonJS(set_exports);
865
987
 
866
988
  // src/factory.js
867
- var import_utils = __toESM(require_cjs3(), 1);
989
+ var import_utils = __toESM(require_cjs4(), 1);
868
990
 
869
991
  // src/defaultConfig/index.js
870
992
  var defaultConfig_exports = {};
@@ -1089,10 +1211,10 @@ var setActiveConfig = (newConfig) => {
1089
1211
  };
1090
1212
 
1091
1213
  // src/system/color.js
1092
- var import_utils8 = __toESM(require_cjs3(), 1);
1214
+ var import_utils8 = __toESM(require_cjs4(), 1);
1093
1215
 
1094
1216
  // src/utils/color.js
1095
- var import_globals = __toESM(require_cjs(), 1);
1217
+ var import_globals = __toESM(require_cjs3(), 1);
1096
1218
  var colorStringToRgbaArray = (color) => {
1097
1219
  if (color === "")
1098
1220
  return;
@@ -1195,13 +1317,13 @@ var getFontFaceEach = (name, weights) => {
1195
1317
  };
1196
1318
 
1197
1319
  // src/utils/sequence.js
1198
- var import_utils4 = __toESM(require_cjs3(), 1);
1320
+ var import_utils4 = __toESM(require_cjs4(), 1);
1199
1321
 
1200
1322
  // ../utils/src/index.js
1201
- var import_utils3 = __toESM(require_cjs3());
1323
+ var import_utils3 = __toESM(require_cjs4());
1202
1324
 
1203
1325
  // ../utils/src/scaling.js
1204
- var import_utils2 = __toESM(require_cjs3());
1326
+ var import_utils2 = __toESM(require_cjs4());
1205
1327
 
1206
1328
  // ../utils/src/index.js
1207
1329
  var arrayzeValue = (val) => {
@@ -1322,7 +1444,7 @@ var findHeadings = (propertyNames) => {
1322
1444
  };
1323
1445
 
1324
1446
  // src/utils/var.js
1325
- var import_utils6 = __toESM(require_cjs3(), 1);
1447
+ var import_utils6 = __toESM(require_cjs4(), 1);
1326
1448
  var applySequenceVars = (props, mediaName, options = {}) => {
1327
1449
  const CONFIG2 = getActiveConfig();
1328
1450
  const { UNIT: UNIT2, MEDIA: MEDIA2, TIMING: TIMING2, CSS_VARS: CSS_VARS2 } = CONFIG2;
@@ -1354,7 +1476,7 @@ var applySequenceVars = (props, mediaName, options = {}) => {
1354
1476
  };
1355
1477
 
1356
1478
  // src/utils/sprite.js
1357
- var import_utils7 = __toESM(require_cjs3(), 1);
1479
+ var import_utils7 = __toESM(require_cjs4(), 1);
1358
1480
  var parseRootAttributes = (htmlString) => {
1359
1481
  if (!(0, import_utils7.isString)(htmlString)) {
1360
1482
  return console.warn(`parseRootAttributes: ${htmlString} is not a string`);
@@ -1387,8 +1509,8 @@ var convertSvgToSymbol = (key, code) => {
1387
1509
  };
1388
1510
 
1389
1511
  // src/system/color.js
1390
- var getColor = (value, key) => {
1391
- const CONFIG2 = getActiveConfig();
1512
+ var getColor = (value, key, config) => {
1513
+ const CONFIG2 = config || getActiveConfig();
1392
1514
  if (!(0, import_utils8.isString)(value)) {
1393
1515
  if (CONFIG2.verbose)
1394
1516
  console.warn(value, "- type for color is not valid");
@@ -1413,31 +1535,29 @@ var getColor = (value, key) => {
1413
1535
  console.warn(value, " - does not have ", key);
1414
1536
  }
1415
1537
  let rgb = val.rgb;
1416
- if (rgb) {
1417
- if (tone) {
1418
- if (!val[tone]) {
1419
- const toHex = rgbArrayToHex(rgb.split(", ").map((v) => parseFloat(v)));
1420
- const abs = tone.slice(0, 1);
1421
- if (abs === "-" || abs === "+") {
1422
- rgb = hexToRgbArray(
1423
- getColorShade(toHex, parseFloat(tone))
1424
- ).join(", ");
1425
- } else {
1426
- const [r, g, b] = [...rgb.split(", ").map((v) => parseInt(v))];
1427
- const hsl = rgbToHSL(r, g, b);
1428
- const [h, s, l] = hsl;
1429
- const newRgb = hslToRgb(h, s, parseFloat(tone) / 100 * 255);
1430
- rgb = newRgb;
1431
- }
1432
- val[tone] = { rgb, var: `${val.var}-${tone}` };
1433
- } else
1434
- rgb = val[tone].rgb;
1435
- }
1436
- if (alpha)
1437
- return `rgba(${rgb}, ${alpha})`;
1438
- return CONFIG2.useVariable ? `var(${val.var})` : `rgb(${rgb})`;
1439
- } else
1538
+ if (!rgb)
1440
1539
  return CONFIG2.useVariable ? `var(${val.var})` : val.value;
1540
+ if (tone && !val[tone]) {
1541
+ const toHex = rgbArrayToHex(rgb.split(", ").map((v) => parseFloat(v)));
1542
+ const abs = tone.slice(0, 1);
1543
+ if (abs === "-" || abs === "+") {
1544
+ rgb = hexToRgbArray(
1545
+ getColorShade(toHex, parseFloat(tone))
1546
+ ).join(", ");
1547
+ } else {
1548
+ const [r, g, b] = [...rgb.split(", ").map((v) => parseInt(v))];
1549
+ const hsl = rgbToHSL(r, g, b);
1550
+ const [h, s, l] = hsl;
1551
+ const newRgb = hslToRgb(h, s, parseFloat(tone) / 100 * 255);
1552
+ rgb = newRgb;
1553
+ }
1554
+ val[tone] = { rgb, var: `${val.var}-${tone}` };
1555
+ }
1556
+ if (val[tone])
1557
+ rgb = val[tone].rgb;
1558
+ if (alpha)
1559
+ return `rgba(${rgb}, ${alpha})`;
1560
+ return CONFIG2.useVariable ? `var(${val.var})` : `rgb(${rgb})`;
1441
1561
  };
1442
1562
  var setColor = (val, key, suffix) => {
1443
1563
  const CONFIG2 = getActiveConfig();
@@ -1497,7 +1617,7 @@ var setGradient = (val, key, suffix) => {
1497
1617
  };
1498
1618
 
1499
1619
  // src/system/theme.js
1500
- var import_utils10 = __toESM(require_cjs3(), 1);
1620
+ var import_utils10 = __toESM(require_cjs4(), 1);
1501
1621
  var setThemeValue = (theme) => {
1502
1622
  const value = {};
1503
1623
  const { state, media, helpers, ...rest } = theme;
@@ -1713,7 +1833,7 @@ var getMediaTheme = (val, mod) => {
1713
1833
  };
1714
1834
 
1715
1835
  // src/system/font.js
1716
- var import_utils11 = __toESM(require_cjs3(), 1);
1836
+ var import_utils11 = __toESM(require_cjs4(), 1);
1717
1837
  var setFont = (val, key) => {
1718
1838
  const CSSvar = `--font-${key}`;
1719
1839
  const fontFace = val[0] ? getFontFaceEach(key, val) : setCustomFontMedia(key, val.url);
@@ -1733,7 +1853,7 @@ var setFontFamily = (val, key) => {
1733
1853
  };
1734
1854
 
1735
1855
  // src/system/typography.js
1736
- var import_utils14 = __toESM(require_cjs3(), 1);
1856
+ var import_utils14 = __toESM(require_cjs4(), 1);
1737
1857
  var runThroughMedia = (props) => {
1738
1858
  const CONFIG2 = getActiveConfig();
1739
1859
  const { TYPOGRAPHY: TYPOGRAPHY2, MEDIA: MEDIA2 } = CONFIG2;
@@ -1793,7 +1913,7 @@ var applyTypographySequence = () => {
1793
1913
  };
1794
1914
 
1795
1915
  // src/system/spacing.js
1796
- var import_utils17 = __toESM(require_cjs3(), 1);
1916
+ var import_utils17 = __toESM(require_cjs4(), 1);
1797
1917
  var runThroughMedia2 = (sequenceProps) => {
1798
1918
  for (const prop in sequenceProps) {
1799
1919
  const mediaProps = sequenceProps[prop];
@@ -1835,7 +1955,7 @@ var applyTimingSequence = () => {
1835
1955
  };
1836
1956
 
1837
1957
  // src/system/document.js
1838
- var import_utils21 = __toESM(require_cjs3(), 1);
1958
+ var import_utils21 = __toESM(require_cjs4(), 1);
1839
1959
  var applyDocument = () => {
1840
1960
  const CONFIG2 = getActiveConfig();
1841
1961
  const { DOCUMENT: DOCUMENT2, FONT_FAMILY: FONT_FAMILY2, THEME: THEME2, TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;
@@ -1848,7 +1968,7 @@ var applyDocument = () => {
1848
1968
  };
1849
1969
 
1850
1970
  // src/system/svg.js
1851
- var import_globals2 = __toESM(require_cjs(), 1);
1971
+ var import_globals2 = __toESM(require_cjs3(), 1);
1852
1972
  var setSVG = (val, key) => {
1853
1973
  const CONFIG2 = getActiveConfig();
1854
1974
  if (!val) {
@@ -1870,7 +1990,7 @@ var setIcon = (val, key) => {
1870
1990
  };
1871
1991
 
1872
1992
  // src/system/reset.js
1873
- var import_utils24 = __toESM(require_cjs3(), 1);
1993
+ var import_utils24 = __toESM(require_cjs4(), 1);
1874
1994
  var applyReset = (reset = {}) => {
1875
1995
  const CONFIG2 = getActiveConfig();
1876
1996
  const { RESET: RESET2, TYPOGRAPHY: TYPOGRAPHY2, DOCUMENT: DOCUMENT2 } = CONFIG2;
@@ -1899,7 +2019,7 @@ var applyReset = (reset = {}) => {
1899
2019
  top: "0",
1900
2020
  left: "0",
1901
2021
  margin: "0",
1902
- WebkitFontSmoothing: "antialiased",
2022
+ WebkitFontSmoothing: "subpixel-antialiased",
1903
2023
  scrollBehavior: "smooth",
1904
2024
  fontSize: TYPOGRAPHY2.browserDefault + "px",
1905
2025
  ...CONFIG2.useDocumentTheme ? getMediaTheme("document", `@${CONFIG2.globalTheme}`) : {},
@@ -1929,7 +2049,7 @@ var applyReset = (reset = {}) => {
1929
2049
  };
1930
2050
 
1931
2051
  // src/set.js
1932
- var import_utils25 = __toESM(require_cjs3(), 1);
2052
+ var import_utils25 = __toESM(require_cjs4(), 1);
1933
2053
  var setCases = (val, key) => {
1934
2054
  if ((0, import_utils25.isFunction)(val))
1935
2055
  return val();