@symbo.ls/scratch 2.11.315 → 2.11.337

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.
@@ -382,6 +382,8 @@ var require_array = __commonJS({
382
382
  return arr;
383
383
  };
384
384
  var cutArrayAfterValue = (arr, value) => {
385
+ if (!(0, import_types.isArray)(arr))
386
+ return;
385
387
  const index = arr.indexOf(value);
386
388
  if (index !== -1) {
387
389
  return arr.slice(index + 1);
@@ -460,13 +462,16 @@ var require_string = __commonJS({
460
462
  const pattern = new RegExp(`[${characters.join("\\")}]`, "g");
461
463
  return str.replace(pattern, "");
462
464
  };
463
- var brackRegex = /\{\{\s*((?:\.\.\/)+)?([^}\s]+)\s*\}\}/g;
464
- var replaceLiteralsWithObjectFields = (str, state) => {
465
- if (!str.includes("{{"))
465
+ var brackRegex = {
466
+ 2: /\{\{\s*((?:\.\.\/)+)?([^}\s]+)\s*\}\}/g,
467
+ 3: /\{\{\s*((?:\.\.\.\/)+)?([^}\s]+)\s*\}\}/g
468
+ };
469
+ var replaceLiteralsWithObjectFields = (str, state, opts = {}) => {
470
+ if (!str.includes(opts.bracketsLength === 3 ? "{{{" : "{{"))
466
471
  return str;
467
- return str.replace(brackRegex, (_, parentPath, variable) => {
472
+ return str.replace(brackRegex[opts.bracketsLength || 2], (_, parentPath, variable) => {
468
473
  if (parentPath) {
469
- const parentLevels = parentPath.match(/\.\.\//g).length;
474
+ const parentLevels = parentPath.match(opts.bracketsLength === 3 ? /\.\.\.\//g : /\.\.\//g).length;
470
475
  let parentState = state;
471
476
  for (let i = 0; i < parentLevels; i++) {
472
477
  parentState = parentState.parent;
@@ -513,8 +518,9 @@ var require_object = __commonJS({
513
518
  __export2(object_exports, {
514
519
  clone: () => clone,
515
520
  deepClone: () => deepClone2,
521
+ deepCloneEntrance: () => deepCloneEntrance,
516
522
  deepCloneExclude: () => deepCloneExclude,
517
- deepCloneWithExtnd: () => deepCloneWithExtnd,
523
+ deepCloneWithExtend: () => deepCloneWithExtend,
518
524
  deepContains: () => deepContains,
519
525
  deepDestringify: () => deepDestringify,
520
526
  deepDiff: () => deepDiff,
@@ -645,18 +651,24 @@ var require_object = __commonJS({
645
651
  }
646
652
  return o;
647
653
  };
648
- var deepCloneWithExtnd = (obj, excludeFrom = [], cleanUndefined = false) => {
654
+ var deepCloneEntrance = (...params) => {
655
+ let extended;
656
+ try {
657
+ extended = deepCloneWithExtend(...params);
658
+ } catch {
659
+ console.log("HERE", extended);
660
+ }
661
+ return extended;
662
+ };
663
+ var deepCloneWithExtend = (obj, excludeFrom = ["node"], options = {}) => {
649
664
  const o = (0, import_types.isArray)(obj) ? [] : {};
650
665
  for (const prop in obj) {
651
- if (prop === "__proto__")
652
- continue;
653
- if (excludeFrom.includes(prop) || prop.startsWith("__"))
654
- continue;
666
+ const hasOwnProperty2 = Object.prototype.hasOwnProperty.call(obj, prop);
655
667
  const objProp = obj[prop];
656
- if (cleanUndefined && (0, import_types.isUndefined)(objProp))
668
+ if (!hasOwnProperty2 || excludeFrom.includes(prop) || prop.startsWith("__") || options.cleanUndefined && (0, import_types.isUndefined)(objProp) || options.cleanNull && (0, import_types.isNull)(objProp))
657
669
  continue;
658
670
  if ((0, import_types.isObjectLike)(objProp)) {
659
- o[prop] = deepCloneWithExtnd(objProp, excludeFrom, cleanUndefined);
671
+ o[prop] = deepCloneWithExtend(objProp, excludeFrom, options);
660
672
  } else
661
673
  o[prop] = objProp;
662
674
  }
@@ -1433,7 +1445,7 @@ var import_utils = __toESM(require_cjs2(), 1);
1433
1445
  var ENV = "development";
1434
1446
  var colorStringToRgbaArray = (color) => {
1435
1447
  if (color === "")
1436
- return;
1448
+ return [0, 0, 0, 0];
1437
1449
  if (color.toLowerCase() === "transparent")
1438
1450
  return [0, 0, 0, 0];
1439
1451
  if (color[0] === "#") {
@@ -1456,7 +1468,7 @@ var colorStringToRgbaArray = (color) => {
1456
1468
  return;
1457
1469
  elem.style.color = color;
1458
1470
  if (elem.style.color === flag || elem.style.color === "")
1459
- return;
1471
+ return [0, 0, 0, 0];
1460
1472
  color = import_globals.window.getComputedStyle(elem).color;
1461
1473
  import_globals.document.body.removeChild(elem);
1462
1474
  }
@@ -1466,7 +1478,7 @@ var colorStringToRgbaArray = (color) => {
1466
1478
  color = `${color}, 1`;
1467
1479
  return color.match(/[\.\d]+/g).map((a) => +a);
1468
1480
  }
1469
- return [];
1481
+ return [0, 0, 0, 0];
1470
1482
  };
1471
1483
  var mixTwoColors = (colorA, colorB, range = 0.5) => {
1472
1484
  colorA = colorStringToRgbaArray(colorA);
@@ -1658,6 +1670,7 @@ __export(defaultConfig_exports, {
1658
1670
  FONT_FAMILY: () => FONT_FAMILY,
1659
1671
  FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,
1660
1672
  GRADIENT: () => GRADIENT,
1673
+ GRID: () => GRID,
1661
1674
  ICONS: () => ICONS,
1662
1675
  MEDIA: () => MEDIA,
1663
1676
  RESET: () => RESET,
@@ -1830,6 +1843,10 @@ var SVG_DATA = {};
1830
1843
  // src/defaultConfig/templates.js
1831
1844
  var TEMPLATES = {};
1832
1845
 
1846
+ // src/defaultConfig/grid.js
1847
+ var defaultProps4 = {};
1848
+ var GRID = defaultProps4;
1849
+
1833
1850
  // src/defaultConfig/index.js
1834
1851
  var RESET = {};
1835
1852
 
@@ -346,6 +346,8 @@ var require_array = __commonJS({
346
346
  return arr;
347
347
  };
348
348
  var cutArrayAfterValue = (arr, value) => {
349
+ if (!(0, import_types.isArray)(arr))
350
+ return;
349
351
  const index = arr.indexOf(value);
350
352
  if (index !== -1) {
351
353
  return arr.slice(index + 1);
@@ -424,13 +426,16 @@ var require_string = __commonJS({
424
426
  const pattern = new RegExp(`[${characters.join("\\")}]`, "g");
425
427
  return str.replace(pattern, "");
426
428
  };
427
- var brackRegex = /\{\{\s*((?:\.\.\/)+)?([^}\s]+)\s*\}\}/g;
428
- var replaceLiteralsWithObjectFields = (str, state) => {
429
- if (!str.includes("{{"))
429
+ var brackRegex = {
430
+ 2: /\{\{\s*((?:\.\.\/)+)?([^}\s]+)\s*\}\}/g,
431
+ 3: /\{\{\s*((?:\.\.\.\/)+)?([^}\s]+)\s*\}\}/g
432
+ };
433
+ var replaceLiteralsWithObjectFields = (str, state, opts = {}) => {
434
+ if (!str.includes(opts.bracketsLength === 3 ? "{{{" : "{{"))
430
435
  return str;
431
- return str.replace(brackRegex, (_, parentPath, variable) => {
436
+ return str.replace(brackRegex[opts.bracketsLength || 2], (_, parentPath, variable) => {
432
437
  if (parentPath) {
433
- const parentLevels = parentPath.match(/\.\.\//g).length;
438
+ const parentLevels = parentPath.match(opts.bracketsLength === 3 ? /\.\.\.\//g : /\.\.\//g).length;
434
439
  let parentState = state;
435
440
  for (let i = 0; i < parentLevels; i++) {
436
441
  parentState = parentState.parent;
@@ -477,8 +482,9 @@ var require_object = __commonJS({
477
482
  __export2(object_exports, {
478
483
  clone: () => clone,
479
484
  deepClone: () => deepClone2,
485
+ deepCloneEntrance: () => deepCloneEntrance,
480
486
  deepCloneExclude: () => deepCloneExclude,
481
- deepCloneWithExtnd: () => deepCloneWithExtnd,
487
+ deepCloneWithExtend: () => deepCloneWithExtend,
482
488
  deepContains: () => deepContains,
483
489
  deepDestringify: () => deepDestringify,
484
490
  deepDiff: () => deepDiff,
@@ -609,18 +615,24 @@ var require_object = __commonJS({
609
615
  }
610
616
  return o;
611
617
  };
612
- var deepCloneWithExtnd = (obj, excludeFrom = [], cleanUndefined = false) => {
618
+ var deepCloneEntrance = (...params) => {
619
+ let extended;
620
+ try {
621
+ extended = deepCloneWithExtend(...params);
622
+ } catch {
623
+ console.log("HERE", extended);
624
+ }
625
+ return extended;
626
+ };
627
+ var deepCloneWithExtend = (obj, excludeFrom = ["node"], options = {}) => {
613
628
  const o = (0, import_types.isArray)(obj) ? [] : {};
614
629
  for (const prop in obj) {
615
- if (prop === "__proto__")
616
- continue;
617
- if (excludeFrom.includes(prop) || prop.startsWith("__"))
618
- continue;
630
+ const hasOwnProperty2 = Object.prototype.hasOwnProperty.call(obj, prop);
619
631
  const objProp = obj[prop];
620
- if (cleanUndefined && (0, import_types.isUndefined)(objProp))
632
+ if (!hasOwnProperty2 || excludeFrom.includes(prop) || prop.startsWith("__") || options.cleanUndefined && (0, import_types.isUndefined)(objProp) || options.cleanNull && (0, import_types.isNull)(objProp))
621
633
  continue;
622
634
  if ((0, import_types.isObjectLike)(objProp)) {
623
- o[prop] = deepCloneWithExtnd(objProp, excludeFrom, cleanUndefined);
635
+ o[prop] = deepCloneWithExtend(objProp, excludeFrom, options);
624
636
  } else
625
637
  o[prop] = objProp;
626
638
  }
@@ -1381,6 +1393,7 @@ __export(defaultConfig_exports, {
1381
1393
  FONT_FAMILY: () => FONT_FAMILY,
1382
1394
  FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,
1383
1395
  GRADIENT: () => GRADIENT,
1396
+ GRID: () => GRID,
1384
1397
  ICONS: () => ICONS,
1385
1398
  MEDIA: () => MEDIA,
1386
1399
  RESET: () => RESET,
@@ -1553,6 +1566,10 @@ var SVG_DATA = {};
1553
1566
  // src/defaultConfig/templates.js
1554
1567
  var TEMPLATES = {};
1555
1568
 
1569
+ // src/defaultConfig/grid.js
1570
+ var defaultProps4 = {};
1571
+ var GRID = defaultProps4;
1572
+
1556
1573
  // src/defaultConfig/index.js
1557
1574
  var RESET = {};
1558
1575
 
@@ -346,6 +346,8 @@ var require_array = __commonJS({
346
346
  return arr;
347
347
  };
348
348
  var cutArrayAfterValue = (arr, value) => {
349
+ if (!(0, import_types.isArray)(arr))
350
+ return;
349
351
  const index = arr.indexOf(value);
350
352
  if (index !== -1) {
351
353
  return arr.slice(index + 1);
@@ -424,13 +426,16 @@ var require_string = __commonJS({
424
426
  const pattern = new RegExp(`[${characters.join("\\")}]`, "g");
425
427
  return str.replace(pattern, "");
426
428
  };
427
- var brackRegex = /\{\{\s*((?:\.\.\/)+)?([^}\s]+)\s*\}\}/g;
428
- var replaceLiteralsWithObjectFields = (str, state) => {
429
- if (!str.includes("{{"))
429
+ var brackRegex = {
430
+ 2: /\{\{\s*((?:\.\.\/)+)?([^}\s]+)\s*\}\}/g,
431
+ 3: /\{\{\s*((?:\.\.\.\/)+)?([^}\s]+)\s*\}\}/g
432
+ };
433
+ var replaceLiteralsWithObjectFields = (str, state, opts = {}) => {
434
+ if (!str.includes(opts.bracketsLength === 3 ? "{{{" : "{{"))
430
435
  return str;
431
- return str.replace(brackRegex, (_, parentPath, variable) => {
436
+ return str.replace(brackRegex[opts.bracketsLength || 2], (_, parentPath, variable) => {
432
437
  if (parentPath) {
433
- const parentLevels = parentPath.match(/\.\.\//g).length;
438
+ const parentLevels = parentPath.match(opts.bracketsLength === 3 ? /\.\.\.\//g : /\.\.\//g).length;
434
439
  let parentState = state;
435
440
  for (let i = 0; i < parentLevels; i++) {
436
441
  parentState = parentState.parent;
@@ -477,8 +482,9 @@ var require_object = __commonJS({
477
482
  __export2(object_exports, {
478
483
  clone: () => clone,
479
484
  deepClone: () => deepClone2,
485
+ deepCloneEntrance: () => deepCloneEntrance,
480
486
  deepCloneExclude: () => deepCloneExclude,
481
- deepCloneWithExtnd: () => deepCloneWithExtnd,
487
+ deepCloneWithExtend: () => deepCloneWithExtend,
482
488
  deepContains: () => deepContains,
483
489
  deepDestringify: () => deepDestringify,
484
490
  deepDiff: () => deepDiff,
@@ -609,18 +615,24 @@ var require_object = __commonJS({
609
615
  }
610
616
  return o;
611
617
  };
612
- var deepCloneWithExtnd = (obj, excludeFrom = [], cleanUndefined = false) => {
618
+ var deepCloneEntrance = (...params) => {
619
+ let extended;
620
+ try {
621
+ extended = deepCloneWithExtend(...params);
622
+ } catch {
623
+ console.log("HERE", extended);
624
+ }
625
+ return extended;
626
+ };
627
+ var deepCloneWithExtend = (obj, excludeFrom = ["node"], options = {}) => {
613
628
  const o = (0, import_types.isArray)(obj) ? [] : {};
614
629
  for (const prop in obj) {
615
- if (prop === "__proto__")
616
- continue;
617
- if (excludeFrom.includes(prop) || prop.startsWith("__"))
618
- continue;
630
+ const hasOwnProperty2 = Object.prototype.hasOwnProperty.call(obj, prop);
619
631
  const objProp = obj[prop];
620
- if (cleanUndefined && (0, import_types.isUndefined)(objProp))
632
+ if (!hasOwnProperty2 || excludeFrom.includes(prop) || prop.startsWith("__") || options.cleanUndefined && (0, import_types.isUndefined)(objProp) || options.cleanNull && (0, import_types.isNull)(objProp))
621
633
  continue;
622
634
  if ((0, import_types.isObjectLike)(objProp)) {
623
- o[prop] = deepCloneWithExtnd(objProp, excludeFrom, cleanUndefined);
635
+ o[prop] = deepCloneWithExtend(objProp, excludeFrom, options);
624
636
  } else
625
637
  o[prop] = objProp;
626
638
  }
@@ -1363,6 +1375,7 @@ __export(defaultConfig_exports, {
1363
1375
  FONT_FAMILY: () => FONT_FAMILY,
1364
1376
  FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,
1365
1377
  GRADIENT: () => GRADIENT,
1378
+ GRID: () => GRID,
1366
1379
  ICONS: () => ICONS,
1367
1380
  MEDIA: () => MEDIA,
1368
1381
  RESET: () => RESET,
@@ -1535,6 +1548,10 @@ var SVG_DATA = {};
1535
1548
  // src/defaultConfig/templates.js
1536
1549
  var TEMPLATES = {};
1537
1550
 
1551
+ // src/defaultConfig/grid.js
1552
+ var defaultProps4 = {};
1553
+ var GRID = defaultProps4;
1554
+
1538
1555
  // src/defaultConfig/index.js
1539
1556
  var RESET = {};
1540
1557
 
@@ -346,6 +346,8 @@ var require_array = __commonJS({
346
346
  return arr;
347
347
  };
348
348
  var cutArrayAfterValue = (arr, value) => {
349
+ if (!(0, import_types.isArray)(arr))
350
+ return;
349
351
  const index = arr.indexOf(value);
350
352
  if (index !== -1) {
351
353
  return arr.slice(index + 1);
@@ -424,13 +426,16 @@ var require_string = __commonJS({
424
426
  const pattern = new RegExp(`[${characters.join("\\")}]`, "g");
425
427
  return str.replace(pattern, "");
426
428
  };
427
- var brackRegex = /\{\{\s*((?:\.\.\/)+)?([^}\s]+)\s*\}\}/g;
428
- var replaceLiteralsWithObjectFields = (str, state) => {
429
- if (!str.includes("{{"))
429
+ var brackRegex = {
430
+ 2: /\{\{\s*((?:\.\.\/)+)?([^}\s]+)\s*\}\}/g,
431
+ 3: /\{\{\s*((?:\.\.\.\/)+)?([^}\s]+)\s*\}\}/g
432
+ };
433
+ var replaceLiteralsWithObjectFields = (str, state, opts = {}) => {
434
+ if (!str.includes(opts.bracketsLength === 3 ? "{{{" : "{{"))
430
435
  return str;
431
- return str.replace(brackRegex, (_, parentPath, variable) => {
436
+ return str.replace(brackRegex[opts.bracketsLength || 2], (_, parentPath, variable) => {
432
437
  if (parentPath) {
433
- const parentLevels = parentPath.match(/\.\.\//g).length;
438
+ const parentLevels = parentPath.match(opts.bracketsLength === 3 ? /\.\.\.\//g : /\.\.\//g).length;
434
439
  let parentState = state;
435
440
  for (let i = 0; i < parentLevels; i++) {
436
441
  parentState = parentState.parent;
@@ -477,8 +482,9 @@ var require_object = __commonJS({
477
482
  __export2(object_exports, {
478
483
  clone: () => clone,
479
484
  deepClone: () => deepClone2,
485
+ deepCloneEntrance: () => deepCloneEntrance,
480
486
  deepCloneExclude: () => deepCloneExclude,
481
- deepCloneWithExtnd: () => deepCloneWithExtnd,
487
+ deepCloneWithExtend: () => deepCloneWithExtend,
482
488
  deepContains: () => deepContains,
483
489
  deepDestringify: () => deepDestringify,
484
490
  deepDiff: () => deepDiff,
@@ -609,18 +615,24 @@ var require_object = __commonJS({
609
615
  }
610
616
  return o;
611
617
  };
612
- var deepCloneWithExtnd = (obj, excludeFrom = [], cleanUndefined = false) => {
618
+ var deepCloneEntrance = (...params) => {
619
+ let extended;
620
+ try {
621
+ extended = deepCloneWithExtend(...params);
622
+ } catch {
623
+ console.log("HERE", extended);
624
+ }
625
+ return extended;
626
+ };
627
+ var deepCloneWithExtend = (obj, excludeFrom = ["node"], options = {}) => {
613
628
  const o = (0, import_types.isArray)(obj) ? [] : {};
614
629
  for (const prop in obj) {
615
- if (prop === "__proto__")
616
- continue;
617
- if (excludeFrom.includes(prop) || prop.startsWith("__"))
618
- continue;
630
+ const hasOwnProperty2 = Object.prototype.hasOwnProperty.call(obj, prop);
619
631
  const objProp = obj[prop];
620
- if (cleanUndefined && (0, import_types.isUndefined)(objProp))
632
+ if (!hasOwnProperty2 || excludeFrom.includes(prop) || prop.startsWith("__") || options.cleanUndefined && (0, import_types.isUndefined)(objProp) || options.cleanNull && (0, import_types.isNull)(objProp))
621
633
  continue;
622
634
  if ((0, import_types.isObjectLike)(objProp)) {
623
- o[prop] = deepCloneWithExtnd(objProp, excludeFrom, cleanUndefined);
635
+ o[prop] = deepCloneWithExtend(objProp, excludeFrom, options);
624
636
  } else
625
637
  o[prop] = objProp;
626
638
  }
@@ -1365,6 +1377,7 @@ __export(defaultConfig_exports, {
1365
1377
  FONT_FAMILY: () => FONT_FAMILY,
1366
1378
  FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,
1367
1379
  GRADIENT: () => GRADIENT,
1380
+ GRID: () => GRID,
1368
1381
  ICONS: () => ICONS,
1369
1382
  MEDIA: () => MEDIA,
1370
1383
  RESET: () => RESET,
@@ -1537,6 +1550,10 @@ var SVG_DATA = {};
1537
1550
  // src/defaultConfig/templates.js
1538
1551
  var TEMPLATES = {};
1539
1552
 
1553
+ // src/defaultConfig/grid.js
1554
+ var defaultProps4 = {};
1555
+ var GRID = defaultProps4;
1556
+
1540
1557
  // src/defaultConfig/index.js
1541
1558
  var RESET = {};
1542
1559
 
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.315",
5
+ "version": "2.11.337",
6
6
  "files": [
7
7
  "src",
8
8
  "dist"
@@ -29,5 +29,5 @@
29
29
  "@symbo.ls/utils": "latest",
30
30
  "color-contrast-checker": "^1.5.0"
31
31
  },
32
- "gitHead": "f7e5836ff0fad163a721cd8a823e2da1a7f346ef"
32
+ "gitHead": "5a5391d39de3ebc122998f2f096bbbf3dcbe72b8"
33
33
  }
@@ -0,0 +1,5 @@
1
+ 'use strict'
2
+
3
+ const defaultProps = {}
4
+
5
+ export const CLASS = defaultProps
@@ -0,0 +1,5 @@
1
+ 'use strict'
2
+
3
+ const defaultProps = {}
4
+
5
+ export const GRID = defaultProps
@@ -18,5 +18,6 @@ export * from './cases.js'
18
18
  export * from './animation.js'
19
19
  export * from './svg.js'
20
20
  export * from './templates.js'
21
+ export * from './grid.js'
21
22
 
22
23
  export const RESET = {}
package/src/set.js CHANGED
@@ -40,6 +40,8 @@ export const VALUE_TRANSFORMERS = {
40
40
  shadow: setShadow,
41
41
  spacing: setSameValue,
42
42
  media: setSameValue,
43
+ grid: setSameValue,
44
+ class: setSameValue,
43
45
  timing: setSameValue,
44
46
  reset: setSameValue,
45
47
  unit: setSameValue,
@@ -87,7 +87,17 @@ export const getMediaColor = (value, globalTheme, config) => {
87
87
  export const setColor = (val, key, suffix) => {
88
88
  const CONFIG = getActiveConfig()
89
89
 
90
- if (isString(val) && val.slice(0, 2) === '--') val = getColor(val.slice(2))
90
+ if (isString(val) && val.slice(0, 2) === '--') {
91
+ val = getColor(val.slice(2))
92
+ if (!(
93
+ val.includes('rgb') ||
94
+ val.includes('var') ||
95
+ val.includes('#')
96
+ )) {
97
+ if (CONFIG.verbose) console.warn(val, '- referred but does not exist')
98
+ val = val.split(' ')[0]
99
+ }
100
+ }
91
101
 
92
102
  if (isArray(val)) {
93
103
  return {
@@ -109,7 +119,8 @@ export const setColor = (val, key, suffix) => {
109
119
  }
110
120
 
111
121
  const CSSVar = `--color-${key}` + (suffix ? `-${suffix}` : '')
112
- const [r, g, b, a = 1] = colorStringToRgbaArray(val.value || val)
122
+ const colorArr = colorStringToRgbaArray(val.value || val)
123
+ const [r, g, b, a = 1] = colorArr
113
124
  const alpha = parseFloat(a.toFixed(2))
114
125
  const rgb = `${r}, ${g}, ${b}`
115
126
  const value = `rgba(${rgb}, ${alpha})`
@@ -5,7 +5,7 @@ import { isString, isNumber } from '@domql/utils'
5
5
  const ENV = process.env.NODE_ENV
6
6
 
7
7
  export const colorStringToRgbaArray = color => {
8
- if (color === '') return
8
+ if (color === '') return [0, 0, 0, 0]
9
9
  if (color.toLowerCase() === 'transparent') return [0, 0, 0, 0]
10
10
 
11
11
  // convert #RGB and #RGBA to #RRGGBB and #RRGGBBAA
@@ -29,7 +29,7 @@ export const colorStringToRgbaArray = color => {
29
29
  // color set failed - some monstrous css rule is probably taking over the color of our object
30
30
  if (elem.style.color !== flag) return
31
31
  elem.style.color = color
32
- if (elem.style.color === flag || elem.style.color === '') return // color parse failed
32
+ if (elem.style.color === flag || elem.style.color === '') return [0, 0, 0, 0] // color parse failed
33
33
  color = window.getComputedStyle(elem).color
34
34
  document.body.removeChild(elem)
35
35
  }
@@ -41,8 +41,7 @@ export const colorStringToRgbaArray = color => {
41
41
  return color.match(/[\.\d]+/g).map(a => +a) // eslint-disable-line
42
42
  }
43
43
 
44
- // TODO: fix this
45
- return []
44
+ return [0, 0, 0, 0]
46
45
  }
47
46
 
48
47
  export const mixTwoColors = (colorA, colorB, range = 0.5) => {