@symbo.ls/scratch 3.1.2 → 3.2.3

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.
@@ -34,23 +34,23 @@ 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 __defProp2 = Object.defineProperty;
37
+ var __defProp3 = Object.defineProperty;
38
38
  var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
39
39
  var __getOwnPropNames2 = Object.getOwnPropertyNames;
40
- var __hasOwnProp2 = Object.prototype.hasOwnProperty;
40
+ var __hasOwnProp3 = Object.prototype.hasOwnProperty;
41
41
  var __export2 = (target, all) => {
42
42
  for (var name in all)
43
- __defProp2(target, name, { get: all[name], enumerable: true });
43
+ __defProp3(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 (!__hasOwnProp2.call(to, key) && key !== except)
49
- __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
48
+ if (!__hasOwnProp3.call(to, key) && key !== except)
49
+ __defProp3(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(__defProp2({}, "__esModule", { value: true }), mod);
53
+ var __toCommonJS2 = (mod) => __copyProps2(__defProp3({}, "__esModule", { value: true }), mod);
54
54
  var index_exports = {};
55
55
  __export2(index_exports, {
56
56
  arrayzeValue: () => arrayzeValue,
@@ -66,6 +66,8 @@ var require_cjs = __commonJS({
66
66
  loadJavascriptFile: () => loadJavascriptFile,
67
67
  loadJavascriptFileEmbedSync: () => loadJavascriptFileEmbedSync,
68
68
  loadJavascriptFileSync: () => loadJavascriptFileSync,
69
+ loadRemoteCSS: () => loadRemoteCSS,
70
+ loadRemoteScript: () => loadRemoteScript,
69
71
  removeChars: () => removeChars,
70
72
  toCamelCase: () => toCamelCase,
71
73
  toDashCase: () => toDashCase2,
@@ -273,10 +275,12 @@ var require_cjs = __commonJS({
273
275
  });
274
276
  });
275
277
  scriptEle.addEventListener("error", (ev) => {
276
- reject(new Error({
277
- status: false,
278
- message: `Failed to load the script ${FILE_URL}`
279
- }));
278
+ reject(
279
+ new Error({
280
+ status: false,
281
+ message: `Failed to load the script ${FILE_URL}`
282
+ })
283
+ );
280
284
  });
281
285
  doc.body.appendChild(scriptEle);
282
286
  } catch (error) {
@@ -347,6 +351,59 @@ var require_cjs = __commonJS({
347
351
  console.warn(error);
348
352
  }
349
353
  };
354
+ function loadRemoteScript(url, options = {}) {
355
+ const { window: window4 = globalThis } = options;
356
+ const { document: document4 = window4.document } = options;
357
+ return new Promise((resolve, reject) => {
358
+ const existingScript = document4.querySelector(`script[src="${url}"]`);
359
+ if (existingScript) {
360
+ return resolve(existingScript);
361
+ }
362
+ const script = document4.createElement("script");
363
+ script.src = url;
364
+ script.async = options.async === true;
365
+ script.type = options.type || "text/javascript";
366
+ if (options.id) script.id = options.id;
367
+ if (options.integrity) script.integrity = options.integrity;
368
+ if (options.crossOrigin) script.crossOrigin = options.crossOrigin;
369
+ script.onload = () => {
370
+ script.onerror = script.onload = null;
371
+ resolve(script);
372
+ };
373
+ script.onerror = () => {
374
+ script.onerror = script.onload = null;
375
+ reject(new Error(`Failed to load script: ${url}`));
376
+ };
377
+ document4.head.appendChild(script);
378
+ });
379
+ }
380
+ async function loadRemoteCSS(url, options = {}) {
381
+ const { window: window4 = globalThis } = options;
382
+ const { document: document4 = window4.document } = options;
383
+ return new Promise((resolve, reject) => {
384
+ const existingLink = document4.querySelector(`link[href="${url}"]`);
385
+ if (existingLink) {
386
+ return resolve(existingLink);
387
+ }
388
+ const link = document4.createElement("link");
389
+ link.href = url;
390
+ link.rel = options.rel || "stylesheet";
391
+ link.type = "text/css";
392
+ link.media = options.media || "all";
393
+ if (options.id) link.id = options.id;
394
+ if (options.integrity) link.integrity = options.integrity;
395
+ if (options.crossOrigin) link.crossOrigin = options.crossOrigin;
396
+ link.onload = () => {
397
+ link.onerror = link.onload = null;
398
+ resolve(link);
399
+ };
400
+ link.onerror = () => {
401
+ link.onerror = link.onload = null;
402
+ reject(new Error(`Failed to load stylesheet: ${url}`));
403
+ };
404
+ document4.head.appendChild(link);
405
+ });
406
+ }
350
407
  var isPhoto = (format) => ["jpeg", "gif", "jpg", "png", "tiff", "woff"].includes(format);
351
408
  var copyStringToClipboard = async (str) => {
352
409
  try {
@@ -373,12 +430,9 @@ var require_cjs = __commonJS({
373
430
  return index === 0 ? word.toLowerCase() : word.toUpperCase();
374
431
  }).replaceAll(/\s+/g, "");
375
432
  };
376
- var toTitleCase = (str) => str && str.replace(
377
- /\w\S*/g,
378
- (txt) => {
379
- return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
380
- }
381
- );
433
+ var toTitleCase = (str) => str && str.replace(/\w\S*/g, (txt) => {
434
+ return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
435
+ });
382
436
  var toDashCase2 = (val) => val.replace(/[^a-zA-Z0-9]/g, " ").trim().toLowerCase().replace(/\s+/g, "-").replace(/-+/g, "-").replace(/^-|-$/g, "");
383
437
  var toDescriptionCase = (str = "") => {
384
438
  if (typeof str !== "string") return;
@@ -401,16 +455,16 @@ __export(document_exports, {
401
455
  });
402
456
  module.exports = __toCommonJS(document_exports);
403
457
 
404
- // ../../../domql/packages/utils/globals.js
458
+ // ../../../domql/packages/utils/dist/esm/globals.js
405
459
  var window2 = globalThis;
406
460
  var document2 = window2.document;
407
461
 
408
- // ../../../domql/packages/utils/node.js
462
+ // ../../../domql/packages/utils/dist/esm/node.js
409
463
  var isDOMNode = (obj) => {
410
464
  return typeof window2 !== "undefined" && (obj instanceof window2.Node || obj instanceof window2.Window || obj === window2 || obj === document);
411
465
  };
412
466
 
413
- // ../../../domql/packages/utils/types.js
467
+ // ../../../domql/packages/utils/dist/esm/types.js
414
468
  var isFunction = (arg) => typeof arg === "function";
415
469
  var isNull = (arg) => arg === null;
416
470
  var isArray = (arg) => Array.isArray(arg);
@@ -422,7 +476,7 @@ var isUndefined = (arg) => {
422
476
  return arg === void 0;
423
477
  };
424
478
 
425
- // ../../../domql/packages/utils/array.js
479
+ // ../../../domql/packages/utils/dist/esm/array.js
426
480
  var unstackArrayOfObjects = (arr, exclude = []) => {
427
481
  return arr.reduce(
428
482
  (a, c) => deepMerge(a, deepClone(c, { exclude }), exclude),
@@ -430,7 +484,7 @@ var unstackArrayOfObjects = (arr, exclude = []) => {
430
484
  );
431
485
  };
432
486
 
433
- // ../../../domql/packages/utils/keys.js
487
+ // ../../../domql/packages/utils/dist/esm/keys.js
434
488
  var STATE_METHODS = [
435
489
  "update",
436
490
  "parse",
@@ -501,11 +555,30 @@ var METHODS_EXL = [
501
555
  ...PROPS_METHODS
502
556
  ];
503
557
 
504
- // ../../../domql/packages/utils/object.js
558
+ // ../../../domql/packages/utils/dist/esm/object.js
559
+ var __defProp2 = Object.defineProperty;
560
+ var __defProps = Object.defineProperties;
561
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
562
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
563
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
564
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
565
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
566
+ var __spreadValues = (a, b) => {
567
+ for (var prop in b || (b = {}))
568
+ if (__hasOwnProp2.call(b, prop))
569
+ __defNormalProp(a, prop, b[prop]);
570
+ if (__getOwnPropSymbols)
571
+ for (var prop of __getOwnPropSymbols(b)) {
572
+ if (__propIsEnum.call(b, prop))
573
+ __defNormalProp(a, prop, b[prop]);
574
+ }
575
+ return a;
576
+ };
577
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
505
578
  var merge = (element, obj, excludeFrom = []) => {
506
579
  for (const e in obj) {
507
- const hasOwnProperty = Object.prototype.hasOwnProperty.call(obj, e);
508
- if (!hasOwnProperty || excludeFrom.includes(e) || e.startsWith("__")) {
580
+ const hasOwnProperty2 = Object.prototype.hasOwnProperty.call(obj, e);
581
+ if (!hasOwnProperty2 || excludeFrom.includes(e) || e.startsWith("__")) {
509
582
  continue;
510
583
  }
511
584
  const elementProp = element[e];
@@ -518,8 +591,8 @@ var merge = (element, obj, excludeFrom = []) => {
518
591
  };
519
592
  var deepMerge = (element, extend, excludeFrom = METHODS_EXL) => {
520
593
  for (const e in extend) {
521
- const hasOwnProperty = Object.prototype.hasOwnProperty.call(extend, e);
522
- if (!hasOwnProperty || excludeFrom.includes(e) || e.startsWith("__")) {
594
+ const hasOwnProperty2 = Object.prototype.hasOwnProperty.call(extend, e);
595
+ if (!hasOwnProperty2 || excludeFrom.includes(e) || e.startsWith("__")) {
523
596
  continue;
524
597
  }
525
598
  const elementProp = element[e];
@@ -541,14 +614,15 @@ var deepClone = (obj, options = {}) => {
541
614
  visited = /* @__PURE__ */ new WeakMap(),
542
615
  handleExtends = false
543
616
  } = options;
617
+ const contentWindow = targetWindow || window2 || globalThis;
544
618
  if (!isObjectLike(obj) || isDOMNode(obj)) {
545
619
  return obj;
546
620
  }
547
621
  if (visited.has(obj)) {
548
622
  return visited.get(obj);
549
623
  }
550
- const clone = targetWindow ? isArray(obj) ? new targetWindow.Array() : new targetWindow.Object() : isArray(obj) ? [] : {};
551
- visited.set(obj, clone);
624
+ const clone2 = contentWindow ? isArray(obj) ? new contentWindow.Array() : new contentWindow.Object() : isArray(obj) ? [] : {};
625
+ visited.set(obj, clone2);
552
626
  for (const key in obj) {
553
627
  if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
554
628
  if (exclude.includes(key) || key.startsWith("__") || key === "__proto__") {
@@ -559,30 +633,34 @@ var deepClone = (obj, options = {}) => {
559
633
  continue;
560
634
  }
561
635
  if (isDOMNode(value)) {
562
- clone[key] = value;
636
+ clone2[key] = value;
563
637
  continue;
564
638
  }
565
639
  if (handleExtends && key === "extends" && isArray(value)) {
566
- clone[key] = unstackArrayOfObjects(value, exclude);
640
+ clone2[key] = unstackArrayOfObjects(value, exclude);
567
641
  continue;
568
642
  }
569
- if (isFunction(value) && targetWindow) {
570
- clone[key] = targetWindow.eval("(" + value.toString() + ")");
643
+ if (isFunction(value) && options.window) {
644
+ clone2[key] = contentWindow.eval("(" + value.toString() + ")");
571
645
  continue;
572
646
  }
573
647
  if (isObjectLike(value)) {
574
- clone[key] = deepClone(value, {
575
- ...options,
648
+ clone2[key] = deepClone(value, __spreadProps(__spreadValues({}, options), {
576
649
  visited
577
- });
650
+ }));
578
651
  } else {
579
- clone[key] = value;
652
+ clone2[key] = value;
580
653
  }
581
654
  }
582
- return clone;
655
+ return clone2;
583
656
  };
584
657
 
585
- // ../../../domql/packages/utils/cookie.js
658
+ // ../../../domql/packages/utils/dist/esm/env.js
659
+ var NODE_ENV = "development";
660
+ var isProduction = (env = NODE_ENV) => env === "production";
661
+ var isNotProduction = (env = NODE_ENV) => !isProduction(env);
662
+
663
+ // ../../../domql/packages/utils/dist/esm/cookie.js
586
664
  var isMobile = (() => typeof navigator === "undefined" ? false : /Mobi/.test(navigator.userAgent))();
587
665
 
588
666
  // ../../../domql/packages/event/dist/esm/keys.js
@@ -892,6 +970,9 @@ var getDefaultOrFirstKey = (LIBRARY, key) => {
892
970
  // src/utils/sequence.js
893
971
  var import_utils5 = __toESM(require_cjs(), 1);
894
972
 
973
+ // src/utils/sprite.js
974
+ var isDev = isNotProduction();
975
+
895
976
  // src/system/document.js
896
977
  var applyDocument = () => {
897
978
  const CONFIG2 = getActiveConfig();
@@ -34,23 +34,23 @@ 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 __defProp2 = Object.defineProperty;
37
+ var __defProp3 = Object.defineProperty;
38
38
  var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
39
39
  var __getOwnPropNames2 = Object.getOwnPropertyNames;
40
- var __hasOwnProp2 = Object.prototype.hasOwnProperty;
40
+ var __hasOwnProp3 = Object.prototype.hasOwnProperty;
41
41
  var __export2 = (target, all) => {
42
42
  for (var name in all)
43
- __defProp2(target, name, { get: all[name], enumerable: true });
43
+ __defProp3(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 (!__hasOwnProp2.call(to, key) && key !== except)
49
- __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
48
+ if (!__hasOwnProp3.call(to, key) && key !== except)
49
+ __defProp3(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(__defProp2({}, "__esModule", { value: true }), mod);
53
+ var __toCommonJS2 = (mod) => __copyProps2(__defProp3({}, "__esModule", { value: true }), mod);
54
54
  var index_exports = {};
55
55
  __export2(index_exports, {
56
56
  arrayzeValue: () => arrayzeValue2,
@@ -66,6 +66,8 @@ var require_cjs = __commonJS({
66
66
  loadJavascriptFile: () => loadJavascriptFile,
67
67
  loadJavascriptFileEmbedSync: () => loadJavascriptFileEmbedSync,
68
68
  loadJavascriptFileSync: () => loadJavascriptFileSync,
69
+ loadRemoteCSS: () => loadRemoteCSS,
70
+ loadRemoteScript: () => loadRemoteScript,
69
71
  removeChars: () => removeChars,
70
72
  toCamelCase: () => toCamelCase,
71
73
  toDashCase: () => toDashCase2,
@@ -273,10 +275,12 @@ var require_cjs = __commonJS({
273
275
  });
274
276
  });
275
277
  scriptEle.addEventListener("error", (ev) => {
276
- reject(new Error({
277
- status: false,
278
- message: `Failed to load the script ${FILE_URL}`
279
- }));
278
+ reject(
279
+ new Error({
280
+ status: false,
281
+ message: `Failed to load the script ${FILE_URL}`
282
+ })
283
+ );
280
284
  });
281
285
  doc.body.appendChild(scriptEle);
282
286
  } catch (error) {
@@ -347,6 +351,59 @@ var require_cjs = __commonJS({
347
351
  console.warn(error);
348
352
  }
349
353
  };
354
+ function loadRemoteScript(url, options = {}) {
355
+ const { window: window4 = globalThis } = options;
356
+ const { document: document4 = window4.document } = options;
357
+ return new Promise((resolve, reject) => {
358
+ const existingScript = document4.querySelector(`script[src="${url}"]`);
359
+ if (existingScript) {
360
+ return resolve(existingScript);
361
+ }
362
+ const script = document4.createElement("script");
363
+ script.src = url;
364
+ script.async = options.async === true;
365
+ script.type = options.type || "text/javascript";
366
+ if (options.id) script.id = options.id;
367
+ if (options.integrity) script.integrity = options.integrity;
368
+ if (options.crossOrigin) script.crossOrigin = options.crossOrigin;
369
+ script.onload = () => {
370
+ script.onerror = script.onload = null;
371
+ resolve(script);
372
+ };
373
+ script.onerror = () => {
374
+ script.onerror = script.onload = null;
375
+ reject(new Error(`Failed to load script: ${url}`));
376
+ };
377
+ document4.head.appendChild(script);
378
+ });
379
+ }
380
+ async function loadRemoteCSS(url, options = {}) {
381
+ const { window: window4 = globalThis } = options;
382
+ const { document: document4 = window4.document } = options;
383
+ return new Promise((resolve, reject) => {
384
+ const existingLink = document4.querySelector(`link[href="${url}"]`);
385
+ if (existingLink) {
386
+ return resolve(existingLink);
387
+ }
388
+ const link = document4.createElement("link");
389
+ link.href = url;
390
+ link.rel = options.rel || "stylesheet";
391
+ link.type = "text/css";
392
+ link.media = options.media || "all";
393
+ if (options.id) link.id = options.id;
394
+ if (options.integrity) link.integrity = options.integrity;
395
+ if (options.crossOrigin) link.crossOrigin = options.crossOrigin;
396
+ link.onload = () => {
397
+ link.onerror = link.onload = null;
398
+ resolve(link);
399
+ };
400
+ link.onerror = () => {
401
+ link.onerror = link.onload = null;
402
+ reject(new Error(`Failed to load stylesheet: ${url}`));
403
+ };
404
+ document4.head.appendChild(link);
405
+ });
406
+ }
350
407
  var isPhoto = (format) => ["jpeg", "gif", "jpg", "png", "tiff", "woff"].includes(format);
351
408
  var copyStringToClipboard = async (str) => {
352
409
  try {
@@ -373,12 +430,9 @@ var require_cjs = __commonJS({
373
430
  return index === 0 ? word.toLowerCase() : word.toUpperCase();
374
431
  }).replaceAll(/\s+/g, "");
375
432
  };
376
- var toTitleCase = (str) => str && str.replace(
377
- /\w\S*/g,
378
- (txt) => {
379
- return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
380
- }
381
- );
433
+ var toTitleCase = (str) => str && str.replace(/\w\S*/g, (txt) => {
434
+ return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
435
+ });
382
436
  var toDashCase2 = (val) => val.replace(/[^a-zA-Z0-9]/g, " ").trim().toLowerCase().replace(/\s+/g, "-").replace(/-+/g, "-").replace(/^-|-$/g, "");
383
437
  var toDescriptionCase = (str = "") => {
384
438
  if (typeof str !== "string") return;
@@ -403,16 +457,16 @@ __export(font_exports, {
403
457
  });
404
458
  module.exports = __toCommonJS(font_exports);
405
459
 
406
- // ../../../domql/packages/utils/globals.js
460
+ // ../../../domql/packages/utils/dist/esm/globals.js
407
461
  var window2 = globalThis;
408
462
  var document2 = window2.document;
409
463
 
410
- // ../../../domql/packages/utils/node.js
464
+ // ../../../domql/packages/utils/dist/esm/node.js
411
465
  var isDOMNode = (obj) => {
412
466
  return typeof window2 !== "undefined" && (obj instanceof window2.Node || obj instanceof window2.Window || obj === window2 || obj === document);
413
467
  };
414
468
 
415
- // ../../../domql/packages/utils/types.js
469
+ // ../../../domql/packages/utils/dist/esm/types.js
416
470
  var isObject = (arg) => {
417
471
  if (arg === null) return false;
418
472
  return typeof arg === "object" && arg.constructor === Object;
@@ -428,7 +482,7 @@ var isUndefined = (arg) => {
428
482
  return arg === void 0;
429
483
  };
430
484
 
431
- // ../../../domql/packages/utils/array.js
485
+ // ../../../domql/packages/utils/dist/esm/array.js
432
486
  var unstackArrayOfObjects = (arr, exclude = []) => {
433
487
  return arr.reduce(
434
488
  (a, c) => deepMerge(a, deepClone(c, { exclude }), exclude),
@@ -436,7 +490,7 @@ var unstackArrayOfObjects = (arr, exclude = []) => {
436
490
  );
437
491
  };
438
492
 
439
- // ../../../domql/packages/utils/keys.js
493
+ // ../../../domql/packages/utils/dist/esm/keys.js
440
494
  var STATE_METHODS = [
441
495
  "update",
442
496
  "parse",
@@ -507,11 +561,30 @@ var METHODS_EXL = [
507
561
  ...PROPS_METHODS
508
562
  ];
509
563
 
510
- // ../../../domql/packages/utils/object.js
564
+ // ../../../domql/packages/utils/dist/esm/object.js
565
+ var __defProp2 = Object.defineProperty;
566
+ var __defProps = Object.defineProperties;
567
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
568
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
569
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
570
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
571
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
572
+ var __spreadValues = (a, b) => {
573
+ for (var prop in b || (b = {}))
574
+ if (__hasOwnProp2.call(b, prop))
575
+ __defNormalProp(a, prop, b[prop]);
576
+ if (__getOwnPropSymbols)
577
+ for (var prop of __getOwnPropSymbols(b)) {
578
+ if (__propIsEnum.call(b, prop))
579
+ __defNormalProp(a, prop, b[prop]);
580
+ }
581
+ return a;
582
+ };
583
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
511
584
  var deepMerge = (element, extend, excludeFrom = METHODS_EXL) => {
512
585
  for (const e in extend) {
513
- const hasOwnProperty = Object.prototype.hasOwnProperty.call(extend, e);
514
- if (!hasOwnProperty || excludeFrom.includes(e) || e.startsWith("__")) {
586
+ const hasOwnProperty2 = Object.prototype.hasOwnProperty.call(extend, e);
587
+ if (!hasOwnProperty2 || excludeFrom.includes(e) || e.startsWith("__")) {
515
588
  continue;
516
589
  }
517
590
  const elementProp = element[e];
@@ -533,14 +606,15 @@ var deepClone = (obj, options = {}) => {
533
606
  visited = /* @__PURE__ */ new WeakMap(),
534
607
  handleExtends = false
535
608
  } = options;
609
+ const contentWindow = targetWindow || window2 || globalThis;
536
610
  if (!isObjectLike(obj) || isDOMNode(obj)) {
537
611
  return obj;
538
612
  }
539
613
  if (visited.has(obj)) {
540
614
  return visited.get(obj);
541
615
  }
542
- const clone = targetWindow ? isArray(obj) ? new targetWindow.Array() : new targetWindow.Object() : isArray(obj) ? [] : {};
543
- visited.set(obj, clone);
616
+ const clone2 = contentWindow ? isArray(obj) ? new contentWindow.Array() : new contentWindow.Object() : isArray(obj) ? [] : {};
617
+ visited.set(obj, clone2);
544
618
  for (const key in obj) {
545
619
  if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
546
620
  if (exclude.includes(key) || key.startsWith("__") || key === "__proto__") {
@@ -551,30 +625,34 @@ var deepClone = (obj, options = {}) => {
551
625
  continue;
552
626
  }
553
627
  if (isDOMNode(value)) {
554
- clone[key] = value;
628
+ clone2[key] = value;
555
629
  continue;
556
630
  }
557
631
  if (handleExtends && key === "extends" && isArray(value)) {
558
- clone[key] = unstackArrayOfObjects(value, exclude);
632
+ clone2[key] = unstackArrayOfObjects(value, exclude);
559
633
  continue;
560
634
  }
561
- if (isFunction(value) && targetWindow) {
562
- clone[key] = targetWindow.eval("(" + value.toString() + ")");
635
+ if (isFunction(value) && options.window) {
636
+ clone2[key] = contentWindow.eval("(" + value.toString() + ")");
563
637
  continue;
564
638
  }
565
639
  if (isObjectLike(value)) {
566
- clone[key] = deepClone(value, {
567
- ...options,
640
+ clone2[key] = deepClone(value, __spreadProps(__spreadValues({}, options), {
568
641
  visited
569
- });
642
+ }));
570
643
  } else {
571
- clone[key] = value;
644
+ clone2[key] = value;
572
645
  }
573
646
  }
574
- return clone;
647
+ return clone2;
575
648
  };
576
649
 
577
- // ../../../domql/packages/utils/cookie.js
650
+ // ../../../domql/packages/utils/dist/esm/env.js
651
+ var NODE_ENV = "development";
652
+ var isProduction = (env = NODE_ENV) => env === "production";
653
+ var isNotProduction = (env = NODE_ENV) => !isProduction(env);
654
+
655
+ // ../../../domql/packages/utils/dist/esm/cookie.js
578
656
  var isMobile = (() => typeof navigator === "undefined" ? false : /Mobi/.test(navigator.userAgent))();
579
657
 
580
658
  // ../../../domql/packages/event/dist/esm/keys.js
@@ -903,6 +981,9 @@ var getFontFaceEach = (name, weights) => {
903
981
  // src/utils/sequence.js
904
982
  var import_utils5 = __toESM(require_cjs(), 1);
905
983
 
984
+ // src/utils/sprite.js
985
+ var isDev = isNotProduction();
986
+
906
987
  // src/system/font.js
907
988
  var setFont = (val, key) => {
908
989
  const CSSvar = `--font-${key}`;