@symbo.ls/scratch 2.11.5 → 2.11.17
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/factory.js +73 -68
- package/dist/cjs/index.js +123 -105
- package/dist/cjs/set.js +118 -100
- package/dist/cjs/system/color.js +106 -103
- package/dist/cjs/system/document.js +77 -72
- package/dist/cjs/system/font.js +77 -72
- package/dist/cjs/system/index.js +124 -106
- package/dist/cjs/system/reset.js +78 -73
- package/dist/cjs/system/spacing.js +77 -72
- package/dist/cjs/system/svg.js +93 -73
- package/dist/cjs/system/theme.js +101 -98
- package/dist/cjs/system/timing.js +77 -72
- package/dist/cjs/system/typography.js +77 -72
- package/dist/cjs/transforms/index.js +106 -103
- package/dist/cjs/utils/index.js +93 -73
- package/dist/cjs/utils/sequence.js +73 -68
- package/dist/cjs/utils/sprite.js +93 -73
- package/dist/cjs/utils/var.js +73 -68
- package/package.json +2 -2
- package/src/system/color.js +26 -28
- package/src/system/reset.js +1 -1
- package/src/utils/sprite.js +21 -2
package/dist/cjs/utils/sprite.js
CHANGED
|
@@ -354,7 +354,7 @@ var require_types = __commonJS({
|
|
|
354
354
|
__export2(types_exports, {
|
|
355
355
|
TYPES: () => TYPES,
|
|
356
356
|
is: () => is,
|
|
357
|
-
isArray: () =>
|
|
357
|
+
isArray: () => isArray2,
|
|
358
358
|
isBoolean: () => isBoolean,
|
|
359
359
|
isDefined: () => isDefined2,
|
|
360
360
|
isFunction: () => isFunction,
|
|
@@ -381,21 +381,21 @@ var require_types = __commonJS({
|
|
|
381
381
|
var isFunction = (arg) => typeof arg === "function";
|
|
382
382
|
var isBoolean = (arg) => arg === true || arg === false;
|
|
383
383
|
var isNull = (arg) => arg === null;
|
|
384
|
-
var
|
|
384
|
+
var isArray2 = (arg) => Array.isArray(arg);
|
|
385
385
|
var isObjectLike = (arg) => {
|
|
386
386
|
if (arg === null)
|
|
387
387
|
return false;
|
|
388
388
|
return typeof arg === "object";
|
|
389
389
|
};
|
|
390
390
|
var isDefined2 = (arg) => {
|
|
391
|
-
return isObject2(arg) || isObjectLike(arg) || isString2(arg) || isNumber(arg) || isFunction(arg) ||
|
|
391
|
+
return isObject2(arg) || isObjectLike(arg) || isString2(arg) || isNumber(arg) || isFunction(arg) || isArray2(arg) || isObjectLike(arg) || isBoolean(arg) || isNull(arg);
|
|
392
392
|
};
|
|
393
393
|
var isUndefined = (arg) => {
|
|
394
394
|
return arg === void 0;
|
|
395
395
|
};
|
|
396
396
|
var TYPES = {
|
|
397
397
|
boolean: isBoolean,
|
|
398
|
-
array:
|
|
398
|
+
array: isArray2,
|
|
399
399
|
object: isObject2,
|
|
400
400
|
string: isString2,
|
|
401
401
|
number: isNumber,
|
|
@@ -457,13 +457,11 @@ var require_object = __commonJS({
|
|
|
457
457
|
isEqualDeep: () => isEqualDeep,
|
|
458
458
|
map: () => map,
|
|
459
459
|
merge: () => merge,
|
|
460
|
-
mergeAndCloneIfArray: () => mergeAndCloneIfArray,
|
|
461
|
-
mergeArray: () => mergeArray,
|
|
462
|
-
mergeArrayExclude: () => mergeArrayExclude,
|
|
463
460
|
mergeIfExisted: () => mergeIfExisted,
|
|
464
461
|
overwrite: () => overwrite,
|
|
465
462
|
overwriteDeep: () => overwriteDeep,
|
|
466
463
|
overwriteObj: () => overwriteObj,
|
|
464
|
+
overwriteShallow: () => overwriteShallow,
|
|
467
465
|
removeFromObject: () => removeFromObject
|
|
468
466
|
});
|
|
469
467
|
module2.exports = __toCommonJS2(object_exports);
|
|
@@ -480,81 +478,75 @@ var require_object = __commonJS({
|
|
|
480
478
|
return param;
|
|
481
479
|
};
|
|
482
480
|
var map = (obj, extention, element) => {
|
|
483
|
-
for (const
|
|
484
|
-
obj[
|
|
481
|
+
for (const e2 in extention) {
|
|
482
|
+
obj[e2] = exec(extention[e2], element);
|
|
485
483
|
}
|
|
486
484
|
};
|
|
487
485
|
var merge = (element, obj) => {
|
|
488
|
-
for (const
|
|
489
|
-
const elementProp = element[
|
|
490
|
-
const objProp = obj[
|
|
486
|
+
for (const e2 in obj) {
|
|
487
|
+
const elementProp = element[e2];
|
|
488
|
+
const objProp = obj[e2];
|
|
491
489
|
if (elementProp === void 0) {
|
|
492
|
-
element[
|
|
490
|
+
element[e2] = objProp;
|
|
493
491
|
}
|
|
494
492
|
}
|
|
495
493
|
return element;
|
|
496
494
|
};
|
|
497
|
-
var deepMerge2 = (element, extend) => {
|
|
498
|
-
for (const
|
|
499
|
-
|
|
500
|
-
const extendProp = extend[e];
|
|
501
|
-
if (e === "parent" || e === "props")
|
|
495
|
+
var deepMerge2 = (element, extend, excludeFrom = []) => {
|
|
496
|
+
for (const e2 in extend) {
|
|
497
|
+
if (excludeFrom.includes(e2) || e2.includes("__"))
|
|
502
498
|
continue;
|
|
499
|
+
const elementProp = element[e2];
|
|
500
|
+
const extendProp = extend[e2];
|
|
503
501
|
if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {
|
|
504
502
|
deepMerge2(elementProp, extendProp);
|
|
505
503
|
} else if (elementProp === void 0) {
|
|
506
|
-
element[
|
|
504
|
+
element[e2] = extendProp;
|
|
507
505
|
}
|
|
508
506
|
}
|
|
509
507
|
return element;
|
|
510
508
|
};
|
|
511
|
-
var clone = (obj) => {
|
|
509
|
+
var clone = (obj, excludeFrom = []) => {
|
|
512
510
|
const o = {};
|
|
513
511
|
for (const prop in obj) {
|
|
514
|
-
if (
|
|
512
|
+
if (excludeFrom.includes(e) || e.includes("__"))
|
|
515
513
|
continue;
|
|
516
514
|
o[prop] = obj[prop];
|
|
517
515
|
}
|
|
518
516
|
return o;
|
|
519
517
|
};
|
|
520
|
-
var deepCloneExclude = (obj,
|
|
518
|
+
var deepCloneExclude = (obj, excludeFrom = []) => {
|
|
521
519
|
if ((0, import_types.isArray)(obj)) {
|
|
522
|
-
return obj.map((x) => deepCloneExclude(x,
|
|
520
|
+
return obj.map((x) => deepCloneExclude(x, excludeFrom));
|
|
523
521
|
}
|
|
524
522
|
const o = {};
|
|
525
523
|
for (const k in obj) {
|
|
526
|
-
if (
|
|
524
|
+
if (excludeFrom.includes(k) || k.includes("__"))
|
|
527
525
|
continue;
|
|
528
526
|
let v = obj[k];
|
|
529
527
|
if (k === "extend" && (0, import_types.isArray)(v)) {
|
|
530
|
-
v = mergeArrayExclude(v,
|
|
528
|
+
v = mergeArrayExclude(v, excludeFrom);
|
|
531
529
|
}
|
|
532
530
|
if ((0, import_types.isArray)(v)) {
|
|
533
|
-
o[k] = v.map((x) => deepCloneExclude(x,
|
|
531
|
+
o[k] = v.map((x) => deepCloneExclude(x, excludeFrom));
|
|
534
532
|
} else if ((0, import_types.isObject)(v)) {
|
|
535
|
-
o[k] = deepCloneExclude(v,
|
|
533
|
+
o[k] = deepCloneExclude(v, excludeFrom);
|
|
536
534
|
} else
|
|
537
535
|
o[k] = v;
|
|
538
536
|
}
|
|
539
537
|
return o;
|
|
540
538
|
};
|
|
541
|
-
var
|
|
542
|
-
|
|
543
|
-
};
|
|
544
|
-
var deepClone2 = (obj) => {
|
|
545
|
-
if ((0, import_types.isArray)(obj)) {
|
|
546
|
-
return obj.map(deepClone2);
|
|
547
|
-
}
|
|
548
|
-
const o = {};
|
|
539
|
+
var deepClone2 = (obj, excludeFrom = []) => {
|
|
540
|
+
const o = (0, import_types.isArray)(obj) ? [] : {};
|
|
549
541
|
for (const prop in obj) {
|
|
542
|
+
if (excludeFrom.includes(prop) || prop.includes("__"))
|
|
543
|
+
continue;
|
|
550
544
|
let objProp = obj[prop];
|
|
551
545
|
if (prop === "extend" && (0, import_types.isArray)(objProp)) {
|
|
552
546
|
objProp = mergeArray(objProp);
|
|
553
547
|
}
|
|
554
|
-
if ((0, import_types.
|
|
555
|
-
o[prop] = objProp
|
|
556
|
-
} else if ((0, import_types.isObject)(objProp)) {
|
|
557
|
-
o[prop] = deepClone2(objProp);
|
|
548
|
+
if ((0, import_types.isObjectLike)(objProp)) {
|
|
549
|
+
o[prop] = deepClone2(objProp, excludeFrom);
|
|
558
550
|
} else
|
|
559
551
|
o[prop] = objProp;
|
|
560
552
|
}
|
|
@@ -620,8 +612,8 @@ var require_object = __commonJS({
|
|
|
620
612
|
try {
|
|
621
613
|
const evalProp = import_globals.window.eval(`(${objProp})`);
|
|
622
614
|
stringified[prop] = evalProp;
|
|
623
|
-
} catch (
|
|
624
|
-
if (
|
|
615
|
+
} catch (e2) {
|
|
616
|
+
if (e2)
|
|
625
617
|
stringified[prop] = objProp;
|
|
626
618
|
}
|
|
627
619
|
} else {
|
|
@@ -635,8 +627,8 @@ var require_object = __commonJS({
|
|
|
635
627
|
try {
|
|
636
628
|
const evalProp = import_globals.window.eval(`(${arrProp})`);
|
|
637
629
|
stringified[prop].push(evalProp);
|
|
638
|
-
} catch (
|
|
639
|
-
if (
|
|
630
|
+
} catch (e2) {
|
|
631
|
+
if (e2)
|
|
640
632
|
stringified[prop].push(arrProp);
|
|
641
633
|
}
|
|
642
634
|
} else {
|
|
@@ -656,32 +648,32 @@ var require_object = __commonJS({
|
|
|
656
648
|
}
|
|
657
649
|
return stringified;
|
|
658
650
|
};
|
|
659
|
-
var overwrite = (element, params,
|
|
651
|
+
var overwrite = (element, params, excludeFrom = []) => {
|
|
660
652
|
const { ref } = element;
|
|
661
653
|
const changes = {};
|
|
662
|
-
for (const
|
|
663
|
-
if (
|
|
654
|
+
for (const e2 in params) {
|
|
655
|
+
if (excludeFrom.includes(e2) || e2.includes("__"))
|
|
664
656
|
continue;
|
|
665
|
-
const elementProp = element[
|
|
666
|
-
const paramsProp = params[
|
|
657
|
+
const elementProp = element[e2];
|
|
658
|
+
const paramsProp = params[e2];
|
|
667
659
|
if (paramsProp) {
|
|
668
|
-
ref.__cache[
|
|
669
|
-
ref[
|
|
660
|
+
ref.__cache[e2] = changes[e2] = elementProp;
|
|
661
|
+
ref[e2] = paramsProp;
|
|
670
662
|
}
|
|
671
663
|
}
|
|
672
664
|
return changes;
|
|
673
665
|
};
|
|
674
666
|
var diffObjects = (original, objToDiff, cache) => {
|
|
675
|
-
for (const
|
|
676
|
-
if (
|
|
667
|
+
for (const e2 in objToDiff) {
|
|
668
|
+
if (e2 === "ref")
|
|
677
669
|
continue;
|
|
678
|
-
const originalProp = original[
|
|
679
|
-
const objToDiffProp = objToDiff[
|
|
670
|
+
const originalProp = original[e2];
|
|
671
|
+
const objToDiffProp = objToDiff[e2];
|
|
680
672
|
if ((0, import_types.isObject)(originalProp) && (0, import_types.isObject)(objToDiffProp)) {
|
|
681
|
-
cache[
|
|
682
|
-
diff(originalProp, objToDiffProp, cache[
|
|
673
|
+
cache[e2] = {};
|
|
674
|
+
diff(originalProp, objToDiffProp, cache[e2]);
|
|
683
675
|
} else if (objToDiffProp !== void 0) {
|
|
684
|
-
cache[
|
|
676
|
+
cache[e2] = objToDiffProp;
|
|
685
677
|
}
|
|
686
678
|
}
|
|
687
679
|
return cache;
|
|
@@ -714,23 +706,33 @@ var require_object = __commonJS({
|
|
|
714
706
|
};
|
|
715
707
|
var overwriteObj = (params, obj) => {
|
|
716
708
|
const changes = {};
|
|
717
|
-
for (const
|
|
718
|
-
const objProp = obj[
|
|
719
|
-
const paramsProp = params[
|
|
709
|
+
for (const e2 in params) {
|
|
710
|
+
const objProp = obj[e2];
|
|
711
|
+
const paramsProp = params[e2];
|
|
720
712
|
if (paramsProp) {
|
|
721
|
-
obj[
|
|
713
|
+
obj[e2] = changes[e2] = objProp;
|
|
722
714
|
}
|
|
723
715
|
}
|
|
724
716
|
return changes;
|
|
725
717
|
};
|
|
726
|
-
var
|
|
727
|
-
for (const
|
|
728
|
-
|
|
729
|
-
|
|
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];
|
|
730
732
|
if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {
|
|
731
733
|
overwriteDeep(paramsProp, objProp);
|
|
732
734
|
} else if (paramsProp !== void 0) {
|
|
733
|
-
obj[
|
|
735
|
+
obj[e2] = paramsProp;
|
|
734
736
|
}
|
|
735
737
|
}
|
|
736
738
|
return obj;
|
|
@@ -740,12 +742,6 @@ var require_object = __commonJS({
|
|
|
740
742
|
return deepMerge2(a, b);
|
|
741
743
|
return a || b;
|
|
742
744
|
};
|
|
743
|
-
var mergeArray = (arr) => {
|
|
744
|
-
return arr.reduce((a, c) => deepMerge2(a, deepClone2(c)), {});
|
|
745
|
-
};
|
|
746
|
-
var mergeAndCloneIfArray = (obj) => {
|
|
747
|
-
return (0, import_types.isArray)(obj) ? mergeArray(obj) : deepClone2(obj);
|
|
748
|
-
};
|
|
749
745
|
var flattenRecursive = (param, prop, stack = []) => {
|
|
750
746
|
const objectized = mergeAndCloneIfArray(param);
|
|
751
747
|
stack.push(objectized);
|
|
@@ -867,10 +863,13 @@ var require_array = __commonJS({
|
|
|
867
863
|
__export2(array_exports, {
|
|
868
864
|
arrayContainsOtherArray: () => arrayContainsOtherArray,
|
|
869
865
|
joinArrays: () => joinArrays,
|
|
866
|
+
mergeAndCloneIfArray: () => mergeAndCloneIfArray2,
|
|
867
|
+
mergeArray: () => mergeArray2,
|
|
870
868
|
removeFromArray: () => removeFromArray,
|
|
871
869
|
swapItemsInArray: () => swapItemsInArray
|
|
872
870
|
});
|
|
873
871
|
module2.exports = __toCommonJS2(array_exports);
|
|
872
|
+
var import_object = require_object();
|
|
874
873
|
var import_types = require_types();
|
|
875
874
|
var arrayContainsOtherArray = (arr1, arr2) => {
|
|
876
875
|
return arr2.every((val) => arr1.includes(val));
|
|
@@ -896,6 +895,12 @@ var require_array = __commonJS({
|
|
|
896
895
|
var joinArrays = (...arrays) => {
|
|
897
896
|
return [].concat(...arrays);
|
|
898
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
|
+
};
|
|
899
904
|
}
|
|
900
905
|
});
|
|
901
906
|
|
|
@@ -1226,12 +1231,27 @@ var parseRootAttributes = (htmlString) => {
|
|
|
1226
1231
|
return acc;
|
|
1227
1232
|
}, {});
|
|
1228
1233
|
};
|
|
1234
|
+
var replaceIdsAndUrls = (code, key) => {
|
|
1235
|
+
const idRegex = /id="([^"]*)"/;
|
|
1236
|
+
const urlRegex = /url\(#([^)]*)\)/g;
|
|
1237
|
+
const matches = code.match(/id="([^"]*)"/g);
|
|
1238
|
+
let replacedCode = code;
|
|
1239
|
+
if ((0, import_utils2.isArray)(matches)) {
|
|
1240
|
+
matches.forEach(() => {
|
|
1241
|
+
const randomKey = Math.floor(Math.random() * 1e5);
|
|
1242
|
+
replacedCode = code.replace(idRegex, `id="${key}-${randomKey}"`).replace(urlRegex, `url(#${key}-${randomKey})`);
|
|
1243
|
+
});
|
|
1244
|
+
}
|
|
1245
|
+
return replacedCode;
|
|
1246
|
+
};
|
|
1229
1247
|
var convertSvgToSymbol = (key, code) => {
|
|
1230
1248
|
const extractAttrs = parseRootAttributes(code);
|
|
1231
1249
|
const { width, height } = extractAttrs;
|
|
1250
|
+
console.log(extractAttrs);
|
|
1232
1251
|
const viewBox = extractAttrs.viewBox || `0 0 ${width || 24} ${height || 24}`;
|
|
1233
1252
|
const xmlns = "http://www.w3.org/2000/svg";
|
|
1234
|
-
|
|
1253
|
+
const replacedCode = replaceIdsAndUrls(code, key);
|
|
1254
|
+
let symbol = replacedCode.replace(
|
|
1235
1255
|
"<svg",
|
|
1236
1256
|
`<symbol id="${key}" xmlns="${xmlns}" viewBox="${viewBox}"`
|
|
1237
1257
|
);
|
package/dist/cjs/utils/var.js
CHANGED
|
@@ -457,13 +457,11 @@ var require_object = __commonJS({
|
|
|
457
457
|
isEqualDeep: () => isEqualDeep,
|
|
458
458
|
map: () => map,
|
|
459
459
|
merge: () => merge,
|
|
460
|
-
mergeAndCloneIfArray: () => mergeAndCloneIfArray,
|
|
461
|
-
mergeArray: () => mergeArray,
|
|
462
|
-
mergeArrayExclude: () => mergeArrayExclude,
|
|
463
460
|
mergeIfExisted: () => mergeIfExisted,
|
|
464
461
|
overwrite: () => overwrite,
|
|
465
462
|
overwriteDeep: () => overwriteDeep,
|
|
466
463
|
overwriteObj: () => overwriteObj,
|
|
464
|
+
overwriteShallow: () => overwriteShallow,
|
|
467
465
|
removeFromObject: () => removeFromObject
|
|
468
466
|
});
|
|
469
467
|
module2.exports = __toCommonJS2(object_exports);
|
|
@@ -480,81 +478,75 @@ var require_object = __commonJS({
|
|
|
480
478
|
return param;
|
|
481
479
|
};
|
|
482
480
|
var map = (obj, extention, element) => {
|
|
483
|
-
for (const
|
|
484
|
-
obj[
|
|
481
|
+
for (const e2 in extention) {
|
|
482
|
+
obj[e2] = exec(extention[e2], element);
|
|
485
483
|
}
|
|
486
484
|
};
|
|
487
485
|
var merge = (element, obj) => {
|
|
488
|
-
for (const
|
|
489
|
-
const elementProp = element[
|
|
490
|
-
const objProp = obj[
|
|
486
|
+
for (const e2 in obj) {
|
|
487
|
+
const elementProp = element[e2];
|
|
488
|
+
const objProp = obj[e2];
|
|
491
489
|
if (elementProp === void 0) {
|
|
492
|
-
element[
|
|
490
|
+
element[e2] = objProp;
|
|
493
491
|
}
|
|
494
492
|
}
|
|
495
493
|
return element;
|
|
496
494
|
};
|
|
497
|
-
var deepMerge2 = (element, extend) => {
|
|
498
|
-
for (const
|
|
499
|
-
|
|
500
|
-
const extendProp = extend[e];
|
|
501
|
-
if (e === "parent" || e === "props")
|
|
495
|
+
var deepMerge2 = (element, extend, excludeFrom = []) => {
|
|
496
|
+
for (const e2 in extend) {
|
|
497
|
+
if (excludeFrom.includes(e2) || e2.includes("__"))
|
|
502
498
|
continue;
|
|
499
|
+
const elementProp = element[e2];
|
|
500
|
+
const extendProp = extend[e2];
|
|
503
501
|
if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {
|
|
504
502
|
deepMerge2(elementProp, extendProp);
|
|
505
503
|
} else if (elementProp === void 0) {
|
|
506
|
-
element[
|
|
504
|
+
element[e2] = extendProp;
|
|
507
505
|
}
|
|
508
506
|
}
|
|
509
507
|
return element;
|
|
510
508
|
};
|
|
511
|
-
var clone = (obj) => {
|
|
509
|
+
var clone = (obj, excludeFrom = []) => {
|
|
512
510
|
const o = {};
|
|
513
511
|
for (const prop in obj) {
|
|
514
|
-
if (
|
|
512
|
+
if (excludeFrom.includes(e) || e.includes("__"))
|
|
515
513
|
continue;
|
|
516
514
|
o[prop] = obj[prop];
|
|
517
515
|
}
|
|
518
516
|
return o;
|
|
519
517
|
};
|
|
520
|
-
var deepCloneExclude = (obj,
|
|
518
|
+
var deepCloneExclude = (obj, excludeFrom = []) => {
|
|
521
519
|
if ((0, import_types.isArray)(obj)) {
|
|
522
|
-
return obj.map((x) => deepCloneExclude(x,
|
|
520
|
+
return obj.map((x) => deepCloneExclude(x, excludeFrom));
|
|
523
521
|
}
|
|
524
522
|
const o = {};
|
|
525
523
|
for (const k in obj) {
|
|
526
|
-
if (
|
|
524
|
+
if (excludeFrom.includes(k) || k.includes("__"))
|
|
527
525
|
continue;
|
|
528
526
|
let v = obj[k];
|
|
529
527
|
if (k === "extend" && (0, import_types.isArray)(v)) {
|
|
530
|
-
v = mergeArrayExclude(v,
|
|
528
|
+
v = mergeArrayExclude(v, excludeFrom);
|
|
531
529
|
}
|
|
532
530
|
if ((0, import_types.isArray)(v)) {
|
|
533
|
-
o[k] = v.map((x) => deepCloneExclude(x,
|
|
531
|
+
o[k] = v.map((x) => deepCloneExclude(x, excludeFrom));
|
|
534
532
|
} else if ((0, import_types.isObject)(v)) {
|
|
535
|
-
o[k] = deepCloneExclude(v,
|
|
533
|
+
o[k] = deepCloneExclude(v, excludeFrom);
|
|
536
534
|
} else
|
|
537
535
|
o[k] = v;
|
|
538
536
|
}
|
|
539
537
|
return o;
|
|
540
538
|
};
|
|
541
|
-
var
|
|
542
|
-
|
|
543
|
-
};
|
|
544
|
-
var deepClone2 = (obj) => {
|
|
545
|
-
if ((0, import_types.isArray)(obj)) {
|
|
546
|
-
return obj.map(deepClone2);
|
|
547
|
-
}
|
|
548
|
-
const o = {};
|
|
539
|
+
var deepClone2 = (obj, excludeFrom = []) => {
|
|
540
|
+
const o = (0, import_types.isArray)(obj) ? [] : {};
|
|
549
541
|
for (const prop in obj) {
|
|
542
|
+
if (excludeFrom.includes(prop) || prop.includes("__"))
|
|
543
|
+
continue;
|
|
550
544
|
let objProp = obj[prop];
|
|
551
545
|
if (prop === "extend" && (0, import_types.isArray)(objProp)) {
|
|
552
546
|
objProp = mergeArray(objProp);
|
|
553
547
|
}
|
|
554
|
-
if ((0, import_types.
|
|
555
|
-
o[prop] = objProp
|
|
556
|
-
} else if ((0, import_types.isObject)(objProp)) {
|
|
557
|
-
o[prop] = deepClone2(objProp);
|
|
548
|
+
if ((0, import_types.isObjectLike)(objProp)) {
|
|
549
|
+
o[prop] = deepClone2(objProp, excludeFrom);
|
|
558
550
|
} else
|
|
559
551
|
o[prop] = objProp;
|
|
560
552
|
}
|
|
@@ -620,8 +612,8 @@ var require_object = __commonJS({
|
|
|
620
612
|
try {
|
|
621
613
|
const evalProp = import_globals.window.eval(`(${objProp})`);
|
|
622
614
|
stringified[prop] = evalProp;
|
|
623
|
-
} catch (
|
|
624
|
-
if (
|
|
615
|
+
} catch (e2) {
|
|
616
|
+
if (e2)
|
|
625
617
|
stringified[prop] = objProp;
|
|
626
618
|
}
|
|
627
619
|
} else {
|
|
@@ -635,8 +627,8 @@ var require_object = __commonJS({
|
|
|
635
627
|
try {
|
|
636
628
|
const evalProp = import_globals.window.eval(`(${arrProp})`);
|
|
637
629
|
stringified[prop].push(evalProp);
|
|
638
|
-
} catch (
|
|
639
|
-
if (
|
|
630
|
+
} catch (e2) {
|
|
631
|
+
if (e2)
|
|
640
632
|
stringified[prop].push(arrProp);
|
|
641
633
|
}
|
|
642
634
|
} else {
|
|
@@ -656,32 +648,32 @@ var require_object = __commonJS({
|
|
|
656
648
|
}
|
|
657
649
|
return stringified;
|
|
658
650
|
};
|
|
659
|
-
var overwrite = (element, params,
|
|
651
|
+
var overwrite = (element, params, excludeFrom = []) => {
|
|
660
652
|
const { ref } = element;
|
|
661
653
|
const changes = {};
|
|
662
|
-
for (const
|
|
663
|
-
if (
|
|
654
|
+
for (const e2 in params) {
|
|
655
|
+
if (excludeFrom.includes(e2) || e2.includes("__"))
|
|
664
656
|
continue;
|
|
665
|
-
const elementProp = element[
|
|
666
|
-
const paramsProp = params[
|
|
657
|
+
const elementProp = element[e2];
|
|
658
|
+
const paramsProp = params[e2];
|
|
667
659
|
if (paramsProp) {
|
|
668
|
-
ref.__cache[
|
|
669
|
-
ref[
|
|
660
|
+
ref.__cache[e2] = changes[e2] = elementProp;
|
|
661
|
+
ref[e2] = paramsProp;
|
|
670
662
|
}
|
|
671
663
|
}
|
|
672
664
|
return changes;
|
|
673
665
|
};
|
|
674
666
|
var diffObjects = (original, objToDiff, cache) => {
|
|
675
|
-
for (const
|
|
676
|
-
if (
|
|
667
|
+
for (const e2 in objToDiff) {
|
|
668
|
+
if (e2 === "ref")
|
|
677
669
|
continue;
|
|
678
|
-
const originalProp = original[
|
|
679
|
-
const objToDiffProp = objToDiff[
|
|
670
|
+
const originalProp = original[e2];
|
|
671
|
+
const objToDiffProp = objToDiff[e2];
|
|
680
672
|
if ((0, import_types.isObject)(originalProp) && (0, import_types.isObject)(objToDiffProp)) {
|
|
681
|
-
cache[
|
|
682
|
-
diff(originalProp, objToDiffProp, cache[
|
|
673
|
+
cache[e2] = {};
|
|
674
|
+
diff(originalProp, objToDiffProp, cache[e2]);
|
|
683
675
|
} else if (objToDiffProp !== void 0) {
|
|
684
|
-
cache[
|
|
676
|
+
cache[e2] = objToDiffProp;
|
|
685
677
|
}
|
|
686
678
|
}
|
|
687
679
|
return cache;
|
|
@@ -714,23 +706,33 @@ var require_object = __commonJS({
|
|
|
714
706
|
};
|
|
715
707
|
var overwriteObj = (params, obj) => {
|
|
716
708
|
const changes = {};
|
|
717
|
-
for (const
|
|
718
|
-
const objProp = obj[
|
|
719
|
-
const paramsProp = params[
|
|
709
|
+
for (const e2 in params) {
|
|
710
|
+
const objProp = obj[e2];
|
|
711
|
+
const paramsProp = params[e2];
|
|
720
712
|
if (paramsProp) {
|
|
721
|
-
obj[
|
|
713
|
+
obj[e2] = changes[e2] = objProp;
|
|
722
714
|
}
|
|
723
715
|
}
|
|
724
716
|
return changes;
|
|
725
717
|
};
|
|
726
|
-
var
|
|
727
|
-
for (const
|
|
728
|
-
|
|
729
|
-
|
|
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];
|
|
730
732
|
if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {
|
|
731
733
|
overwriteDeep(paramsProp, objProp);
|
|
732
734
|
} else if (paramsProp !== void 0) {
|
|
733
|
-
obj[
|
|
735
|
+
obj[e2] = paramsProp;
|
|
734
736
|
}
|
|
735
737
|
}
|
|
736
738
|
return obj;
|
|
@@ -740,12 +742,6 @@ var require_object = __commonJS({
|
|
|
740
742
|
return deepMerge2(a, b);
|
|
741
743
|
return a || b;
|
|
742
744
|
};
|
|
743
|
-
var mergeArray = (arr) => {
|
|
744
|
-
return arr.reduce((a, c) => deepMerge2(a, deepClone2(c)), {});
|
|
745
|
-
};
|
|
746
|
-
var mergeAndCloneIfArray = (obj) => {
|
|
747
|
-
return (0, import_types.isArray)(obj) ? mergeArray(obj) : deepClone2(obj);
|
|
748
|
-
};
|
|
749
745
|
var flattenRecursive = (param, prop, stack = []) => {
|
|
750
746
|
const objectized = mergeAndCloneIfArray(param);
|
|
751
747
|
stack.push(objectized);
|
|
@@ -867,10 +863,13 @@ var require_array = __commonJS({
|
|
|
867
863
|
__export2(array_exports, {
|
|
868
864
|
arrayContainsOtherArray: () => arrayContainsOtherArray,
|
|
869
865
|
joinArrays: () => joinArrays,
|
|
866
|
+
mergeAndCloneIfArray: () => mergeAndCloneIfArray2,
|
|
867
|
+
mergeArray: () => mergeArray2,
|
|
870
868
|
removeFromArray: () => removeFromArray,
|
|
871
869
|
swapItemsInArray: () => swapItemsInArray
|
|
872
870
|
});
|
|
873
871
|
module2.exports = __toCommonJS2(array_exports);
|
|
872
|
+
var import_object = require_object();
|
|
874
873
|
var import_types = require_types();
|
|
875
874
|
var arrayContainsOtherArray = (arr1, arr2) => {
|
|
876
875
|
return arr2.every((val) => arr1.includes(val));
|
|
@@ -896,6 +895,12 @@ var require_array = __commonJS({
|
|
|
896
895
|
var joinArrays = (...arrays) => {
|
|
897
896
|
return [].concat(...arrays);
|
|
898
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
|
+
};
|
|
899
904
|
}
|
|
900
905
|
});
|
|
901
906
|
|
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.
|
|
5
|
+
"version": "2.11.17",
|
|
6
6
|
"files": [
|
|
7
7
|
"src",
|
|
8
8
|
"dist"
|
|
@@ -32,5 +32,5 @@
|
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"@emotion/css": "^11.5.0"
|
|
34
34
|
},
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "df0a3ecf734ae06ee8877d1f58fb7de26cbccd66"
|
|
36
36
|
}
|