@symbo.ls/scratch 2.11.430 → 2.11.438

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.
@@ -300,7 +300,6 @@ var require_array = __commonJS({
300
300
  addItemAfterEveryElement: () => addItemAfterEveryElement,
301
301
  arrayContainsOtherArray: () => arrayContainsOtherArray,
302
302
  arraysEqual: () => arraysEqual,
303
- createNestedObject: () => createNestedObject,
304
303
  cutArrayAfterValue: () => cutArrayAfterValue,
305
304
  cutArrayBeforeValue: () => cutArrayBeforeValue,
306
305
  getFrequencyInArray: () => getFrequencyInArray,
@@ -367,22 +366,6 @@ var require_array = __commonJS({
367
366
  }
368
367
  return arr;
369
368
  };
370
- var createNestedObject = (arr, lastValue) => {
371
- const nestedObject = {};
372
- if (arr.length === 0) {
373
- return lastValue;
374
- }
375
- arr.reduce((obj, value, index) => {
376
- if (!obj[value]) {
377
- obj[value] = {};
378
- }
379
- if (index === arr.length - 1 && lastValue) {
380
- obj[value] = lastValue;
381
- }
382
- return obj[value];
383
- }, nestedObject);
384
- return nestedObject;
385
- };
386
369
  var removeValueFromArray = (arr, value) => {
387
370
  const index = arr.indexOf(value);
388
371
  if (index > -1) {
@@ -603,8 +586,8 @@ var require_object = __commonJS({
603
586
  var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
604
587
  var object_exports = {};
605
588
  __export2(object_exports, {
606
- checkIfKeyIsComponent: () => checkIfKeyIsComponent,
607
589
  clone: () => clone,
590
+ createNestedObject: () => createNestedObject,
608
591
  createObjectWithoutPrototype: () => createObjectWithoutPrototype,
609
592
  deepClone: () => deepClone2,
610
593
  deepCloneExclude: () => deepCloneExclude,
@@ -615,13 +598,12 @@ var require_object = __commonJS({
615
598
  deepMerge: () => deepMerge3,
616
599
  deepStringify: () => deepStringify,
617
600
  detachFunctionsFromObject: () => detachFunctionsFromObject,
601
+ detectInfiniteLoop: () => detectInfiniteLoop,
618
602
  diff: () => diff,
619
603
  diffArrays: () => diffArrays,
620
604
  diffObjects: () => diffObjects,
621
605
  exec: () => exec,
622
606
  flattenRecursive: () => flattenRecursive,
623
- getChildrenComponentsByKey: () => getChildrenComponentsByKey,
624
- getExtendsInElement: () => getExtendsInElement,
625
607
  hasOwnProperty: () => hasOwnProperty,
626
608
  isEmpty: () => isEmpty,
627
609
  isEmptyObject: () => isEmptyObject,
@@ -636,6 +618,7 @@ var require_object = __commonJS({
636
618
  overwriteDeep: () => overwriteDeep2,
637
619
  overwriteShallow: () => overwriteShallow,
638
620
  removeFromObject: () => removeFromObject,
621
+ removeNestedKeyByPath: () => removeNestedKeyByPath,
639
622
  stringToObject: () => stringToObject
640
623
  });
641
624
  module2.exports = __toCommonJS2(object_exports);
@@ -644,6 +627,7 @@ var require_object = __commonJS({
644
627
  var import_array = require_array();
645
628
  var import_string = require_string();
646
629
  var import_node = require_node();
630
+ var ENV = "development";
647
631
  var exec = (param, element, state, context) => {
648
632
  if ((0, import_types.isFunction)(param)) {
649
633
  return param(
@@ -755,6 +739,8 @@ var require_object = __commonJS({
755
739
  continue;
756
740
  if ((0, import_types.isObjectLike)(objProp)) {
757
741
  o[prop] = deepCloneWithExtend(objProp, excludeFrom, options);
742
+ } else if ((0, import_types.isFunction)(objProp) && options.window) {
743
+ o[prop] = (options.window || import_globals3.window).eval("(" + objProp.toString() + ")");
758
744
  } else
759
745
  o[prop] = objProp;
760
746
  }
@@ -998,16 +984,23 @@ var require_object = __commonJS({
998
984
  }
999
985
  return obj;
1000
986
  };
1001
- var overwriteDeep2 = (obj, params, excludeFrom = []) => {
987
+ var overwriteDeep2 = (obj, params, excludeFrom = [], visited = /* @__PURE__ */ new WeakMap()) => {
988
+ if (!(0, import_types.isObjectLike)(obj) || !(0, import_types.isObjectLike)(params) || (0, import_node.isDOMNode)(obj) || (0, import_node.isDOMNode)(params)) {
989
+ return params;
990
+ }
991
+ if (visited.has(obj)) {
992
+ return visited.get(obj);
993
+ }
994
+ visited.set(obj, obj);
1002
995
  for (const e in params) {
1003
- if (e === "__ref")
1004
- continue;
1005
- if (excludeFrom.includes(e) || e.startsWith("__"))
996
+ if (e === "__ref" || excludeFrom.includes(e) || e.startsWith("__"))
1006
997
  continue;
1007
998
  const objProp = obj[e];
1008
999
  const paramsProp = params[e];
1009
- if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {
1010
- overwriteDeep2(objProp, paramsProp);
1000
+ if ((0, import_node.isDOMNode)(paramsProp)) {
1001
+ obj[e] = paramsProp;
1002
+ } else if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {
1003
+ obj[e] = overwriteDeep2(objProp, paramsProp, excludeFrom, visited);
1011
1004
  } else if (paramsProp !== void 0) {
1012
1005
  obj[e] = paramsProp;
1013
1006
  }
@@ -1115,53 +1108,60 @@ var require_object = __commonJS({
1115
1108
  }
1116
1109
  return newObj;
1117
1110
  };
1118
- var checkIfKeyIsComponent = (key) => {
1119
- const isFirstKeyString = (0, import_types.isString)(key);
1120
- if (!isFirstKeyString)
1121
- return;
1122
- const firstCharKey = key.slice(0, 1);
1123
- return /^[A-Z]*$/.test(firstCharKey);
1111
+ var createNestedObject = (arr, lastValue) => {
1112
+ const nestedObject = {};
1113
+ if (arr.length === 0) {
1114
+ return lastValue;
1115
+ }
1116
+ arr.reduce((obj, value, index) => {
1117
+ if (!obj[value]) {
1118
+ obj[value] = {};
1119
+ }
1120
+ if (index === arr.length - 1 && lastValue) {
1121
+ obj[value] = lastValue;
1122
+ }
1123
+ return obj[value];
1124
+ }, nestedObject);
1125
+ return nestedObject;
1124
1126
  };
1125
- var getChildrenComponentsByKey = (key, el) => {
1126
- if (key === el.key || el.__ref.__componentKey === key) {
1127
- return el;
1127
+ var removeNestedKeyByPath = (obj, path) => {
1128
+ if (!Array.isArray(path)) {
1129
+ throw new Error("Path must be an array.");
1128
1130
  }
1129
- if (el.extend) {
1130
- const foundString = (0, import_types.isString)(el.extend) && el.extend === key;
1131
- const foundInArray = (0, import_types.isArray)(el.extend) && el.extend.filter((v) => v === key).length;
1132
- if (foundString || foundInArray)
1133
- return el;
1131
+ let current = obj;
1132
+ for (let i = 0; i < path.length - 1; i++) {
1133
+ if (current[path[i]] === void 0) {
1134
+ return;
1135
+ }
1136
+ current = current[path[i]];
1134
1137
  }
1135
- if (el.parent && el.parent.childExtend) {
1136
- const foundString = (0, import_types.isString)(el.parent.childExtend) && el.parent.childExtend === key;
1137
- const foundInArray = (0, import_types.isArray)(el.parent.childExtend) && el.parent.childExtend.filter((v) => v === key).length;
1138
- if (foundString || foundInArray)
1139
- return el;
1138
+ const lastKey = path[path.length - 1];
1139
+ if (current && Object.hasOwnProperty.call(current, lastKey)) {
1140
+ delete current[lastKey];
1140
1141
  }
1141
1142
  };
1142
- var getExtendsInElement = (obj) => {
1143
- let result = [];
1144
- function traverse(o) {
1145
- for (const key in o) {
1146
- if (Object.hasOwnProperty.call(o, key)) {
1147
- if (checkIfKeyIsComponent(key)) {
1148
- result.push(key);
1149
- }
1150
- if (key === "extend") {
1151
- if (typeof o[key] === "string") {
1152
- result.push(o[key]);
1153
- } else if (Array.isArray(o[key])) {
1154
- result = result.concat(o[key]);
1155
- }
1156
- }
1157
- if (typeof o[key] === "object" && o[key] !== null) {
1158
- traverse(o[key]);
1143
+ var detectInfiniteLoop = (arr) => {
1144
+ const maxRepeats = 10;
1145
+ let pattern = [];
1146
+ let repeatCount = 0;
1147
+ for (let i = 0; i < arr.length; i++) {
1148
+ if (pattern.length < 2) {
1149
+ pattern.push(arr[i]);
1150
+ } else {
1151
+ if (arr[i] === pattern[i % 2]) {
1152
+ repeatCount++;
1153
+ } else {
1154
+ pattern = [arr[i - 1], arr[i]];
1155
+ repeatCount = 1;
1156
+ }
1157
+ if (repeatCount >= maxRepeats * 2) {
1158
+ if (ENV === "test" || ENV === "development") {
1159
+ console.warn("Warning: Potential infinite loop detected due to repeated sequence:", pattern);
1159
1160
  }
1161
+ return true;
1160
1162
  }
1161
1163
  }
1162
1164
  }
1163
- traverse(obj);
1164
- return result;
1165
1165
  };
1166
1166
  }
1167
1167
  });
@@ -1189,6 +1189,7 @@ var require_function = __commonJS({
1189
1189
  var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
1190
1190
  var function_exports = {};
1191
1191
  __export2(function_exports, {
1192
+ cloneFunction: () => cloneFunction,
1192
1193
  debounce: () => debounce,
1193
1194
  debounceOnContext: () => debounceOnContext,
1194
1195
  isStringFunction: () => isStringFunction,
@@ -1238,6 +1239,17 @@ var require_function = __commonJS({
1238
1239
  const functionRegex = /^((function\s*\([^)]*\)\s*\{[^}]*\})|(\([^)]*\)\s*=>))/;
1239
1240
  return functionRegex.test(inputString);
1240
1241
  };
1242
+ function cloneFunction(fn, win = window) {
1243
+ const temp = function() {
1244
+ return fn.apply(win, arguments);
1245
+ };
1246
+ for (const key in fn) {
1247
+ if (Object.hasOwnProperty.call(fn, key)) {
1248
+ temp[key] = fn[key];
1249
+ }
1250
+ }
1251
+ return temp;
1252
+ }
1241
1253
  }
1242
1254
  });
1243
1255
 
@@ -1507,6 +1519,172 @@ var require_tags = __commonJS({
1507
1519
  }
1508
1520
  });
1509
1521
 
1522
+ // ../../../domql/packages/utils/dist/cjs/component.js
1523
+ var require_component = __commonJS({
1524
+ "../../../domql/packages/utils/dist/cjs/component.js"(exports, module2) {
1525
+ "use strict";
1526
+ var __defProp2 = Object.defineProperty;
1527
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
1528
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
1529
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
1530
+ var __export2 = (target, all) => {
1531
+ for (var name in all)
1532
+ __defProp2(target, name, { get: all[name], enumerable: true });
1533
+ };
1534
+ var __copyProps2 = (to, from, except, desc) => {
1535
+ if (from && typeof from === "object" || typeof from === "function") {
1536
+ for (let key of __getOwnPropNames2(from))
1537
+ if (!__hasOwnProp2.call(to, key) && key !== except)
1538
+ __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
1539
+ }
1540
+ return to;
1541
+ };
1542
+ var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
1543
+ var component_exports = {};
1544
+ __export2(component_exports, {
1545
+ addAdditionalExtend: () => addAdditionalExtend,
1546
+ applyComponentFromContext: () => applyComponentFromContext,
1547
+ applyKeyComponentAsExtend: () => applyKeyComponentAsExtend,
1548
+ checkIfKeyIsComponent: () => checkIfKeyIsComponent,
1549
+ checkIfKeyIsProperty: () => checkIfKeyIsProperty,
1550
+ extendizeByKey: () => extendizeByKey,
1551
+ getChildrenComponentsByKey: () => getChildrenComponentsByKey,
1552
+ getExtendsInElement: () => getExtendsInElement,
1553
+ hasVariantProp: () => hasVariantProp,
1554
+ isVariant: () => isVariant
1555
+ });
1556
+ module2.exports = __toCommonJS2(component_exports);
1557
+ var import__ = require_cjs();
1558
+ var ENV = "development";
1559
+ var checkIfKeyIsComponent = (key) => {
1560
+ const isFirstKeyString = (0, import__.isString)(key);
1561
+ if (!isFirstKeyString)
1562
+ return;
1563
+ const firstCharKey = key.slice(0, 1);
1564
+ return /^[A-Z]*$/.test(firstCharKey);
1565
+ };
1566
+ var checkIfKeyIsProperty = (key) => {
1567
+ const isFirstKeyString = (0, import__.isString)(key);
1568
+ if (!isFirstKeyString)
1569
+ return;
1570
+ const firstCharKey = key.slice(0, 1);
1571
+ return /^[a-z]*$/.test(firstCharKey);
1572
+ };
1573
+ var addAdditionalExtend = (newExtend, element) => {
1574
+ const { extend: elementExtend } = element;
1575
+ const originalArray = (0, import__.isArray)(elementExtend) ? elementExtend : [elementExtend];
1576
+ const receivedArray = (0, import__.isArray)(newExtend) ? newExtend : [newExtend];
1577
+ const extend = (0, import__.joinArrays)(receivedArray, originalArray);
1578
+ return { ...element, extend };
1579
+ };
1580
+ var extendizeByKey = (element, parent, key) => {
1581
+ const { context } = parent;
1582
+ const { tag, extend, props, attr, state, childExtend, childProps, on, if: condition, data } = element;
1583
+ const hasComponentAttrs = extend || childExtend || props || state || on || condition || attr || data;
1584
+ const extendFromKey = key.includes("+") ? key.split("+") : key.includes("_") ? [key.split("_")[0]] : key.includes(".") && !checkIfKeyIsComponent(key.split(".")[1]) ? [key.split(".")[0]] : [key];
1585
+ const isExtendKeyComponent = context && context.components[extendFromKey];
1586
+ if (element === isExtendKeyComponent)
1587
+ return element;
1588
+ else if (!hasComponentAttrs || childProps) {
1589
+ return {
1590
+ extend: extendFromKey,
1591
+ tag,
1592
+ props: { ...element }
1593
+ };
1594
+ } else if (!extend || extend === true) {
1595
+ return {
1596
+ ...element,
1597
+ tag,
1598
+ extend: extendFromKey
1599
+ };
1600
+ } else if (extend) {
1601
+ return addAdditionalExtend(extendFromKey, element);
1602
+ } else if ((0, import__.isFunction)(element)) {
1603
+ return {
1604
+ extend: extendFromKey,
1605
+ tag,
1606
+ props: { ...(0, import__.exec)(element, parent) }
1607
+ };
1608
+ }
1609
+ };
1610
+ var applyKeyComponentAsExtend = (element, parent, key) => {
1611
+ return extendizeByKey(element, parent, key) || element;
1612
+ };
1613
+ var applyComponentFromContext = (element, parent, options) => {
1614
+ const { context } = element;
1615
+ if (!context || !context.components)
1616
+ return;
1617
+ const { components } = context;
1618
+ const { extend } = element;
1619
+ const execExtend = (0, import__.exec)(extend, element);
1620
+ if ((0, import__.isString)(execExtend)) {
1621
+ const componentExists = components[execExtend] || components["smbls." + execExtend];
1622
+ if (componentExists)
1623
+ element.extend = componentExists;
1624
+ else {
1625
+ if ((ENV === "test" || ENV === "development") && options.verbose) {
1626
+ console.warn(execExtend, "is not in library", components, element);
1627
+ console.warn("replacing with ", {});
1628
+ }
1629
+ element.extend = {};
1630
+ }
1631
+ }
1632
+ };
1633
+ var isVariant = (param) => {
1634
+ if (!(0, import__.isString)(param))
1635
+ return;
1636
+ const firstCharKey = param.slice(0, 1);
1637
+ return firstCharKey === ".";
1638
+ };
1639
+ var hasVariantProp = (element) => {
1640
+ const { props } = element;
1641
+ if ((0, import__.isObject)(props) && (0, import__.isString)(props.variant))
1642
+ return true;
1643
+ };
1644
+ var getChildrenComponentsByKey = (key, el) => {
1645
+ if (key === el.key || el.__ref.__componentKey === key) {
1646
+ return el;
1647
+ }
1648
+ if (el.extend) {
1649
+ const foundString = (0, import__.isString)(el.extend) && el.extend === key;
1650
+ const foundInArray = (0, import__.isArray)(el.extend) && el.extend.filter((v) => v === key).length;
1651
+ if (foundString || foundInArray)
1652
+ return el;
1653
+ }
1654
+ if (el.parent && el.parent.childExtend) {
1655
+ const foundString = (0, import__.isString)(el.parent.childExtend) && el.parent.childExtend === key;
1656
+ const foundInArray = (0, import__.isArray)(el.parent.childExtend) && el.parent.childExtend.filter((v) => v === key).length;
1657
+ if (foundString || foundInArray)
1658
+ return el;
1659
+ }
1660
+ };
1661
+ var getExtendsInElement = (obj) => {
1662
+ let result = [];
1663
+ function traverse(o) {
1664
+ for (const key in o) {
1665
+ if (Object.hasOwnProperty.call(o, key)) {
1666
+ if (checkIfKeyIsComponent(key)) {
1667
+ result.push(key);
1668
+ }
1669
+ if (key === "extend") {
1670
+ if (typeof o[key] === "string") {
1671
+ result.push(o[key]);
1672
+ } else if (Array.isArray(o[key])) {
1673
+ result = result.concat(o[key]);
1674
+ }
1675
+ }
1676
+ if (typeof o[key] === "object" && o[key] !== null) {
1677
+ traverse(o[key]);
1678
+ }
1679
+ }
1680
+ }
1681
+ }
1682
+ traverse(obj);
1683
+ return result;
1684
+ };
1685
+ }
1686
+ });
1687
+
1510
1688
  // ../../../domql/packages/utils/dist/cjs/index.js
1511
1689
  var require_cjs = __commonJS({
1512
1690
  "../../../domql/packages/utils/dist/cjs/index.js"(exports, module2) {
@@ -1539,6 +1717,7 @@ var require_cjs = __commonJS({
1539
1717
  __reExport(utils_exports, require_globals(), module2.exports);
1540
1718
  __reExport(utils_exports, require_cookie(), module2.exports);
1541
1719
  __reExport(utils_exports, require_tags(), module2.exports);
1720
+ __reExport(utils_exports, require_component(), module2.exports);
1542
1721
  }
1543
1722
  });
1544
1723
 
@@ -1741,6 +1920,7 @@ var require_cjs3 = __commonJS({
1741
1920
  var __toCommonJS22 = (mod) => __copyProps22(__defProp22({}, "__esModule", { value: true }), mod);
1742
1921
  var node_exports = {};
1743
1922
  __export22(node_exports, {
1923
+ isDOMNode: () => isDOMNode,
1744
1924
  isHtmlElement: () => isHtmlElement,
1745
1925
  isNode: () => isNode
1746
1926
  });
@@ -1752,6 +1932,9 @@ var require_cjs3 = __commonJS({
1752
1932
  var isHtmlElement = (obj) => {
1753
1933
  return (typeof HTMLElement === "object" ? obj instanceof import_globals3.window.HTMLElement : obj && typeof obj === "object" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === "string") || false;
1754
1934
  };
1935
+ var isDOMNode = (obj) => {
1936
+ return typeof import_globals3.window !== "undefined" && (obj instanceof import_globals3.window.Node || obj instanceof import_globals3.window.Window || obj === import_globals3.window || obj === document);
1937
+ };
1755
1938
  }
1756
1939
  });
1757
1940
  var require_types2 = __commonJS2({
@@ -1867,7 +2050,6 @@ var require_cjs3 = __commonJS({
1867
2050
  addItemAfterEveryElement: () => addItemAfterEveryElement,
1868
2051
  arrayContainsOtherArray: () => arrayContainsOtherArray,
1869
2052
  arraysEqual: () => arraysEqual,
1870
- createNestedObject: () => createNestedObject,
1871
2053
  cutArrayAfterValue: () => cutArrayAfterValue,
1872
2054
  cutArrayBeforeValue: () => cutArrayBeforeValue,
1873
2055
  getFrequencyInArray: () => getFrequencyInArray,
@@ -1934,22 +2116,6 @@ var require_cjs3 = __commonJS({
1934
2116
  }
1935
2117
  return arr;
1936
2118
  };
1937
- var createNestedObject = (arr, lastValue) => {
1938
- const nestedObject = {};
1939
- if (arr.length === 0) {
1940
- return lastValue;
1941
- }
1942
- arr.reduce((obj, value, index) => {
1943
- if (!obj[value]) {
1944
- obj[value] = {};
1945
- }
1946
- if (index === arr.length - 1 && lastValue) {
1947
- obj[value] = lastValue;
1948
- }
1949
- return obj[value];
1950
- }, nestedObject);
1951
- return nestedObject;
1952
- };
1953
2119
  var removeValueFromArray = (arr, value) => {
1954
2120
  const index = arr.indexOf(value);
1955
2121
  if (index > -1) {
@@ -2166,8 +2332,8 @@ var require_cjs3 = __commonJS({
2166
2332
  var __toCommonJS22 = (mod) => __copyProps22(__defProp22({}, "__esModule", { value: true }), mod);
2167
2333
  var object_exports = {};
2168
2334
  __export22(object_exports, {
2169
- checkIfKeyIsComponent: () => checkIfKeyIsComponent,
2170
2335
  clone: () => clone,
2336
+ createNestedObject: () => createNestedObject,
2171
2337
  createObjectWithoutPrototype: () => createObjectWithoutPrototype,
2172
2338
  deepClone: () => deepClone2,
2173
2339
  deepCloneExclude: () => deepCloneExclude,
@@ -2178,13 +2344,12 @@ var require_cjs3 = __commonJS({
2178
2344
  deepMerge: () => deepMerge3,
2179
2345
  deepStringify: () => deepStringify,
2180
2346
  detachFunctionsFromObject: () => detachFunctionsFromObject,
2347
+ detectInfiniteLoop: () => detectInfiniteLoop,
2181
2348
  diff: () => diff,
2182
2349
  diffArrays: () => diffArrays,
2183
2350
  diffObjects: () => diffObjects,
2184
2351
  exec: () => exec,
2185
2352
  flattenRecursive: () => flattenRecursive,
2186
- getChildrenComponentsByKey: () => getChildrenComponentsByKey,
2187
- getExtendsInElement: () => getExtendsInElement,
2188
2353
  hasOwnProperty: () => hasOwnProperty,
2189
2354
  isEmpty: () => isEmpty,
2190
2355
  isEmptyObject: () => isEmptyObject,
@@ -2199,6 +2364,7 @@ var require_cjs3 = __commonJS({
2199
2364
  overwriteDeep: () => overwriteDeep2,
2200
2365
  overwriteShallow: () => overwriteShallow,
2201
2366
  removeFromObject: () => removeFromObject,
2367
+ removeNestedKeyByPath: () => removeNestedKeyByPath,
2202
2368
  stringToObject: () => stringToObject
2203
2369
  });
2204
2370
  module22.exports = __toCommonJS22(object_exports);
@@ -2206,6 +2372,8 @@ var require_cjs3 = __commonJS({
2206
2372
  var import_types = require_types2();
2207
2373
  var import_array = require_array2();
2208
2374
  var import_string = require_string2();
2375
+ var import_node = require_node2();
2376
+ var ENV = "development";
2209
2377
  var exec = (param, element, state, context) => {
2210
2378
  if ((0, import_types.isFunction)(param)) {
2211
2379
  return param(
@@ -2284,27 +2452,28 @@ var require_cjs3 = __commonJS({
2284
2452
  var mergeArrayExclude = (arr, excl = []) => {
2285
2453
  return arr.reduce((acc, curr) => deepMerge3(acc, deepCloneExclude(curr, excl)), {});
2286
2454
  };
2287
- var deepClone2 = (obj, excludeFrom = [], cleanUndefined = false) => {
2288
- const o = (0, import_types.isArray)(obj) ? [] : {};
2289
- for (const prop in obj) {
2290
- if (!Object.prototype.hasOwnProperty.call(obj, prop))
2291
- continue;
2292
- if (prop === "__proto__")
2293
- continue;
2294
- if (excludeFrom.includes(prop) || prop.startsWith("__"))
2295
- continue;
2296
- let objProp = obj[prop];
2297
- if (cleanUndefined && (0, import_types.isUndefined)(objProp))
2298
- continue;
2299
- if (prop === "extend" && (0, import_types.isArray)(objProp)) {
2300
- objProp = (0, import_array.mergeArray)(objProp);
2455
+ var deepClone2 = (obj, exclude = [], cleanUndefined = false, visited = /* @__PURE__ */ new WeakMap()) => {
2456
+ if (!(0, import_types.isObjectLike)(obj) || (0, import_node.isDOMNode)(obj))
2457
+ return obj;
2458
+ if (visited.has(obj))
2459
+ return visited.get(obj);
2460
+ const clone2 = (0, import_types.isArray)(obj) ? [] : {};
2461
+ visited.set(obj, clone2);
2462
+ for (const key in obj) {
2463
+ if (Object.prototype.hasOwnProperty.call(obj, key) && !exclude.includes(key)) {
2464
+ const value = obj[key];
2465
+ if ((0, import_node.isDOMNode)(value)) {
2466
+ clone2[key] = value;
2467
+ } else if (key === "extend" && (0, import_types.isArray)(value)) {
2468
+ clone2[key] = (0, import_array.mergeArray)(value, exclude);
2469
+ } else if ((0, import_types.isObjectLike)(value)) {
2470
+ clone2[key] = deepClone2(value, exclude, cleanUndefined, visited);
2471
+ } else {
2472
+ clone2[key] = value;
2473
+ }
2301
2474
  }
2302
- if ((0, import_types.isObjectLike)(objProp)) {
2303
- o[prop] = deepClone2(objProp, excludeFrom, cleanUndefined);
2304
- } else
2305
- o[prop] = objProp;
2306
2475
  }
2307
- return o;
2476
+ return clone2;
2308
2477
  };
2309
2478
  var deepCloneWithExtend = (obj, excludeFrom = ["node"], options = {}) => {
2310
2479
  const o = options.window ? (0, import_types.isArray)(obj) ? new options.window.Array([]) : new options.window.Object({}) : (0, import_types.isArray)(obj) ? [] : {};
@@ -2316,6 +2485,8 @@ var require_cjs3 = __commonJS({
2316
2485
  continue;
2317
2486
  if ((0, import_types.isObjectLike)(objProp)) {
2318
2487
  o[prop] = deepCloneWithExtend(objProp, excludeFrom, options);
2488
+ } else if ((0, import_types.isFunction)(objProp) && options.window) {
2489
+ o[prop] = (options.window || import_globals3.window).eval("(" + objProp.toString() + ")");
2319
2490
  } else
2320
2491
  o[prop] = objProp;
2321
2492
  }
@@ -2559,16 +2730,23 @@ var require_cjs3 = __commonJS({
2559
2730
  }
2560
2731
  return obj;
2561
2732
  };
2562
- var overwriteDeep2 = (obj, params, excludeFrom = []) => {
2733
+ var overwriteDeep2 = (obj, params, excludeFrom = [], visited = /* @__PURE__ */ new WeakMap()) => {
2734
+ if (!(0, import_types.isObjectLike)(obj) || !(0, import_types.isObjectLike)(params) || (0, import_node.isDOMNode)(obj) || (0, import_node.isDOMNode)(params)) {
2735
+ return params;
2736
+ }
2737
+ if (visited.has(obj)) {
2738
+ return visited.get(obj);
2739
+ }
2740
+ visited.set(obj, obj);
2563
2741
  for (const e in params) {
2564
- if (e === "__ref")
2565
- continue;
2566
- if (excludeFrom.includes(e) || e.startsWith("__"))
2742
+ if (e === "__ref" || excludeFrom.includes(e) || e.startsWith("__"))
2567
2743
  continue;
2568
2744
  const objProp = obj[e];
2569
2745
  const paramsProp = params[e];
2570
- if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {
2571
- overwriteDeep2(objProp, paramsProp);
2746
+ if ((0, import_node.isDOMNode)(paramsProp)) {
2747
+ obj[e] = paramsProp;
2748
+ } else if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {
2749
+ obj[e] = overwriteDeep2(objProp, paramsProp, excludeFrom, visited);
2572
2750
  } else if (paramsProp !== void 0) {
2573
2751
  obj[e] = paramsProp;
2574
2752
  }
@@ -2615,30 +2793,40 @@ var require_cjs3 = __commonJS({
2615
2793
  }
2616
2794
  return true;
2617
2795
  };
2618
- var deepContains = (obj1, obj2) => {
2619
- if (typeof obj1 !== typeof obj2) {
2796
+ var deepContains = (obj1, obj2, ignoredKeys = ["node", "__ref"]) => {
2797
+ if (obj1 === obj2)
2798
+ return true;
2799
+ if (!(0, import_types.isObjectLike)(obj1) || !(0, import_types.isObjectLike)(obj2))
2620
2800
  return false;
2621
- }
2622
- if ((0, import_types.isObjectLike)(obj1)) {
2623
- if (Array.isArray(obj1) && Array.isArray(obj2)) {
2624
- if (obj1.length !== obj2.length) {
2801
+ if ((0, import_node.isDOMNode)(obj1) || (0, import_node.isDOMNode)(obj2))
2802
+ return obj1 === obj2;
2803
+ const stack = [[obj1, obj2]];
2804
+ const visited = /* @__PURE__ */ new WeakSet();
2805
+ while (stack.length > 0) {
2806
+ const [current1, current2] = stack.pop();
2807
+ if (visited.has(current1))
2808
+ continue;
2809
+ visited.add(current1);
2810
+ const keys1 = Object.keys(current1).filter((key) => !ignoredKeys.includes(key));
2811
+ const keys2 = Object.keys(current2).filter((key) => !ignoredKeys.includes(key));
2812
+ if (keys1.length !== keys2.length)
2813
+ return false;
2814
+ for (const key of keys1) {
2815
+ if (!Object.prototype.hasOwnProperty.call(current2, key))
2625
2816
  return false;
2626
- }
2627
- for (let i = 0; i < obj1.length; i++) {
2628
- if (!deepContains(obj1[i], obj2[i])) {
2629
- return false;
2630
- }
2631
- }
2632
- } else if ((0, import_types.isObjectLike)(obj1) && obj2 !== null) {
2633
- for (const key in obj1) {
2634
- const hasOwnProperty2 = Object.prototype.hasOwnProperty.call(obj2, key);
2635
- if (!hasOwnProperty2 || !deepContains(obj1[key], obj2[key])) {
2817
+ const value1 = current1[key];
2818
+ const value2 = current2[key];
2819
+ if ((0, import_node.isDOMNode)(value1) || (0, import_node.isDOMNode)(value2)) {
2820
+ if (value1 !== value2)
2636
2821
  return false;
2822
+ } else if ((0, import_types.isObjectLike)(value1) && (0, import_types.isObjectLike)(value2)) {
2823
+ if (value1 !== value2) {
2824
+ stack.push([value1, value2]);
2637
2825
  }
2826
+ } else if (value1 !== value2) {
2827
+ return false;
2638
2828
  }
2639
2829
  }
2640
- } else {
2641
- return obj2 === obj1;
2642
2830
  }
2643
2831
  return true;
2644
2832
  };
@@ -2666,53 +2854,60 @@ var require_cjs3 = __commonJS({
2666
2854
  }
2667
2855
  return newObj;
2668
2856
  };
2669
- var checkIfKeyIsComponent = (key) => {
2670
- const isFirstKeyString = (0, import_types.isString)(key);
2671
- if (!isFirstKeyString)
2672
- return;
2673
- const firstCharKey = key.slice(0, 1);
2674
- return /^[A-Z]*$/.test(firstCharKey);
2857
+ var createNestedObject = (arr, lastValue) => {
2858
+ const nestedObject = {};
2859
+ if (arr.length === 0) {
2860
+ return lastValue;
2861
+ }
2862
+ arr.reduce((obj, value, index) => {
2863
+ if (!obj[value]) {
2864
+ obj[value] = {};
2865
+ }
2866
+ if (index === arr.length - 1 && lastValue) {
2867
+ obj[value] = lastValue;
2868
+ }
2869
+ return obj[value];
2870
+ }, nestedObject);
2871
+ return nestedObject;
2675
2872
  };
2676
- var getChildrenComponentsByKey = (key, el) => {
2677
- if (key === el.key || el.__ref.__componentKey === key) {
2678
- return el;
2873
+ var removeNestedKeyByPath = (obj, path) => {
2874
+ if (!Array.isArray(path)) {
2875
+ throw new Error("Path must be an array.");
2679
2876
  }
2680
- if (el.extend) {
2681
- const foundString = (0, import_types.isString)(el.extend) && el.extend === key;
2682
- const foundInArray = (0, import_types.isArray)(el.extend) && el.extend.filter((v) => v === key).length;
2683
- if (foundString || foundInArray)
2684
- return el;
2877
+ let current = obj;
2878
+ for (let i = 0; i < path.length - 1; i++) {
2879
+ if (current[path[i]] === void 0) {
2880
+ return;
2881
+ }
2882
+ current = current[path[i]];
2685
2883
  }
2686
- if (el.parent && el.parent.childExtend) {
2687
- const foundString = (0, import_types.isString)(el.parent.childExtend) && el.parent.childExtend === key;
2688
- const foundInArray = (0, import_types.isArray)(el.parent.childExtend) && el.parent.childExtend.filter((v) => v === key).length;
2689
- if (foundString || foundInArray)
2690
- return el;
2884
+ const lastKey = path[path.length - 1];
2885
+ if (current && Object.hasOwnProperty.call(current, lastKey)) {
2886
+ delete current[lastKey];
2691
2887
  }
2692
2888
  };
2693
- var getExtendsInElement = (obj) => {
2694
- let result = [];
2695
- function traverse(o) {
2696
- for (const key in o) {
2697
- if (Object.hasOwnProperty.call(o, key)) {
2698
- if (checkIfKeyIsComponent(key)) {
2699
- result.push(key);
2700
- }
2701
- if (key === "extend") {
2702
- if (typeof o[key] === "string") {
2703
- result.push(o[key]);
2704
- } else if (Array.isArray(o[key])) {
2705
- result = result.concat(o[key]);
2706
- }
2707
- }
2708
- if (typeof o[key] === "object" && o[key] !== null) {
2709
- traverse(o[key]);
2889
+ var detectInfiniteLoop = (arr) => {
2890
+ const maxRepeats = 10;
2891
+ let pattern = [];
2892
+ let repeatCount = 0;
2893
+ for (let i = 0; i < arr.length; i++) {
2894
+ if (pattern.length < 2) {
2895
+ pattern.push(arr[i]);
2896
+ } else {
2897
+ if (arr[i] === pattern[i % 2]) {
2898
+ repeatCount++;
2899
+ } else {
2900
+ pattern = [arr[i - 1], arr[i]];
2901
+ repeatCount = 1;
2902
+ }
2903
+ if (repeatCount >= maxRepeats * 2) {
2904
+ if (ENV === "test" || ENV === "development") {
2905
+ console.warn("Warning: Potential infinite loop detected due to repeated sequence:", pattern);
2710
2906
  }
2907
+ return true;
2711
2908
  }
2712
2909
  }
2713
2910
  }
2714
- traverse(obj);
2715
- return result;
2716
2911
  };
2717
2912
  }
2718
2913
  });
@@ -2738,6 +2933,7 @@ var require_cjs3 = __commonJS({
2738
2933
  var __toCommonJS22 = (mod) => __copyProps22(__defProp22({}, "__esModule", { value: true }), mod);
2739
2934
  var function_exports = {};
2740
2935
  __export22(function_exports, {
2936
+ cloneFunction: () => cloneFunction,
2741
2937
  debounce: () => debounce,
2742
2938
  debounceOnContext: () => debounceOnContext,
2743
2939
  isStringFunction: () => isStringFunction,
@@ -2787,6 +2983,17 @@ var require_cjs3 = __commonJS({
2787
2983
  const functionRegex = /^((function\s*\([^)]*\)\s*\{[^}]*\})|(\([^)]*\)\s*=>))/;
2788
2984
  return functionRegex.test(inputString);
2789
2985
  };
2986
+ function cloneFunction(fn, win = window) {
2987
+ const temp = function() {
2988
+ return fn.apply(win, arguments);
2989
+ };
2990
+ for (const key in fn) {
2991
+ if (Object.hasOwnProperty.call(fn, key)) {
2992
+ temp[key] = fn[key];
2993
+ }
2994
+ }
2995
+ return temp;
2996
+ }
2790
2997
  }
2791
2998
  });
2792
2999
  var require_log2 = __commonJS2({
@@ -3049,6 +3256,170 @@ var require_cjs3 = __commonJS({
3049
3256
  var isValidHtmlTag = (arg) => HTML_TAGS.body.includes(arg);
3050
3257
  }
3051
3258
  });
3259
+ var require_component2 = __commonJS2({
3260
+ "../../../domql/packages/utils/dist/cjs/component.js"(exports2, module22) {
3261
+ "use strict";
3262
+ var __defProp22 = Object.defineProperty;
3263
+ var __getOwnPropDesc22 = Object.getOwnPropertyDescriptor;
3264
+ var __getOwnPropNames22 = Object.getOwnPropertyNames;
3265
+ var __hasOwnProp22 = Object.prototype.hasOwnProperty;
3266
+ var __export22 = (target, all) => {
3267
+ for (var name in all)
3268
+ __defProp22(target, name, { get: all[name], enumerable: true });
3269
+ };
3270
+ var __copyProps22 = (to, from, except, desc) => {
3271
+ if (from && typeof from === "object" || typeof from === "function") {
3272
+ for (let key of __getOwnPropNames22(from))
3273
+ if (!__hasOwnProp22.call(to, key) && key !== except)
3274
+ __defProp22(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc22(from, key)) || desc.enumerable });
3275
+ }
3276
+ return to;
3277
+ };
3278
+ var __toCommonJS22 = (mod) => __copyProps22(__defProp22({}, "__esModule", { value: true }), mod);
3279
+ var component_exports = {};
3280
+ __export22(component_exports, {
3281
+ addAdditionalExtend: () => addAdditionalExtend,
3282
+ applyComponentFromContext: () => applyComponentFromContext,
3283
+ applyKeyComponentAsExtend: () => applyKeyComponentAsExtend,
3284
+ checkIfKeyIsComponent: () => checkIfKeyIsComponent,
3285
+ checkIfKeyIsProperty: () => checkIfKeyIsProperty,
3286
+ extendizeByKey: () => extendizeByKey,
3287
+ getChildrenComponentsByKey: () => getChildrenComponentsByKey,
3288
+ getExtendsInElement: () => getExtendsInElement,
3289
+ hasVariantProp: () => hasVariantProp,
3290
+ isVariant: () => isVariant
3291
+ });
3292
+ module22.exports = __toCommonJS22(component_exports);
3293
+ var import__ = require_cjs4();
3294
+ var ENV = "development";
3295
+ var checkIfKeyIsComponent = (key) => {
3296
+ const isFirstKeyString = (0, import__.isString)(key);
3297
+ if (!isFirstKeyString)
3298
+ return;
3299
+ const firstCharKey = key.slice(0, 1);
3300
+ return /^[A-Z]*$/.test(firstCharKey);
3301
+ };
3302
+ var checkIfKeyIsProperty = (key) => {
3303
+ const isFirstKeyString = (0, import__.isString)(key);
3304
+ if (!isFirstKeyString)
3305
+ return;
3306
+ const firstCharKey = key.slice(0, 1);
3307
+ return /^[a-z]*$/.test(firstCharKey);
3308
+ };
3309
+ var addAdditionalExtend = (newExtend, element) => {
3310
+ const { extend: elementExtend } = element;
3311
+ const originalArray = (0, import__.isArray)(elementExtend) ? elementExtend : [elementExtend];
3312
+ const receivedArray = (0, import__.isArray)(newExtend) ? newExtend : [newExtend];
3313
+ const extend = (0, import__.joinArrays)(receivedArray, originalArray);
3314
+ return { ...element, extend };
3315
+ };
3316
+ var extendizeByKey = (element, parent, key) => {
3317
+ const { context } = parent;
3318
+ const { tag, extend, props, attr, state, childExtend, childProps, on, if: condition, data } = element;
3319
+ const hasComponentAttrs = extend || childExtend || props || state || on || condition || attr || data;
3320
+ const extendFromKey = key.includes("+") ? key.split("+") : key.includes("_") ? [key.split("_")[0]] : key.includes(".") && !checkIfKeyIsComponent(key.split(".")[1]) ? [key.split(".")[0]] : [key];
3321
+ const isExtendKeyComponent = context && context.components[extendFromKey];
3322
+ if (element === isExtendKeyComponent)
3323
+ return element;
3324
+ else if (!hasComponentAttrs || childProps) {
3325
+ return {
3326
+ extend: extendFromKey,
3327
+ tag,
3328
+ props: { ...element }
3329
+ };
3330
+ } else if (!extend || extend === true) {
3331
+ return {
3332
+ ...element,
3333
+ tag,
3334
+ extend: extendFromKey
3335
+ };
3336
+ } else if (extend) {
3337
+ return addAdditionalExtend(extendFromKey, element);
3338
+ } else if ((0, import__.isFunction)(element)) {
3339
+ return {
3340
+ extend: extendFromKey,
3341
+ tag,
3342
+ props: { ...(0, import__.exec)(element, parent) }
3343
+ };
3344
+ }
3345
+ };
3346
+ var applyKeyComponentAsExtend = (element, parent, key) => {
3347
+ return extendizeByKey(element, parent, key) || element;
3348
+ };
3349
+ var applyComponentFromContext = (element, parent, options) => {
3350
+ const { context } = element;
3351
+ if (!context || !context.components)
3352
+ return;
3353
+ const { components } = context;
3354
+ const { extend } = element;
3355
+ const execExtend = (0, import__.exec)(extend, element);
3356
+ if ((0, import__.isString)(execExtend)) {
3357
+ const componentExists = components[execExtend] || components["smbls." + execExtend];
3358
+ if (componentExists)
3359
+ element.extend = componentExists;
3360
+ else {
3361
+ if ((ENV === "test" || ENV === "development") && options.verbose) {
3362
+ console.warn(execExtend, "is not in library", components, element);
3363
+ console.warn("replacing with ", {});
3364
+ }
3365
+ element.extend = {};
3366
+ }
3367
+ }
3368
+ };
3369
+ var isVariant = (param) => {
3370
+ if (!(0, import__.isString)(param))
3371
+ return;
3372
+ const firstCharKey = param.slice(0, 1);
3373
+ return firstCharKey === ".";
3374
+ };
3375
+ var hasVariantProp = (element) => {
3376
+ const { props } = element;
3377
+ if ((0, import__.isObject)(props) && (0, import__.isString)(props.variant))
3378
+ return true;
3379
+ };
3380
+ var getChildrenComponentsByKey = (key, el) => {
3381
+ if (key === el.key || el.__ref.__componentKey === key) {
3382
+ return el;
3383
+ }
3384
+ if (el.extend) {
3385
+ const foundString = (0, import__.isString)(el.extend) && el.extend === key;
3386
+ const foundInArray = (0, import__.isArray)(el.extend) && el.extend.filter((v) => v === key).length;
3387
+ if (foundString || foundInArray)
3388
+ return el;
3389
+ }
3390
+ if (el.parent && el.parent.childExtend) {
3391
+ const foundString = (0, import__.isString)(el.parent.childExtend) && el.parent.childExtend === key;
3392
+ const foundInArray = (0, import__.isArray)(el.parent.childExtend) && el.parent.childExtend.filter((v) => v === key).length;
3393
+ if (foundString || foundInArray)
3394
+ return el;
3395
+ }
3396
+ };
3397
+ var getExtendsInElement = (obj) => {
3398
+ let result = [];
3399
+ function traverse(o) {
3400
+ for (const key in o) {
3401
+ if (Object.hasOwnProperty.call(o, key)) {
3402
+ if (checkIfKeyIsComponent(key)) {
3403
+ result.push(key);
3404
+ }
3405
+ if (key === "extend") {
3406
+ if (typeof o[key] === "string") {
3407
+ result.push(o[key]);
3408
+ } else if (Array.isArray(o[key])) {
3409
+ result = result.concat(o[key]);
3410
+ }
3411
+ }
3412
+ if (typeof o[key] === "object" && o[key] !== null) {
3413
+ traverse(o[key]);
3414
+ }
3415
+ }
3416
+ }
3417
+ }
3418
+ traverse(obj);
3419
+ return result;
3420
+ };
3421
+ }
3422
+ });
3052
3423
  var require_cjs4 = __commonJS2({
3053
3424
  "../../../domql/packages/utils/dist/cjs/index.js"(exports2, module22) {
3054
3425
  "use strict";
@@ -3080,6 +3451,7 @@ var require_cjs3 = __commonJS({
3080
3451
  __reExport(utils_exports, require_globals2(), module22.exports);
3081
3452
  __reExport(utils_exports, require_cookie2(), module22.exports);
3082
3453
  __reExport(utils_exports, require_tags2(), module22.exports);
3454
+ __reExport(utils_exports, require_component2(), module22.exports);
3083
3455
  }
3084
3456
  });
3085
3457
  var src_exports = {};
@@ -3095,7 +3467,9 @@ var require_cjs3 = __commonJS({
3095
3467
  loadCssFile: () => loadCssFile,
3096
3468
  loadJavascript: () => loadJavascript,
3097
3469
  loadJavascriptFile: () => loadJavascriptFile,
3470
+ loadJavascriptFileEmbedSync: () => loadJavascriptFileEmbedSync,
3098
3471
  loadJavascriptFileSync: () => loadJavascriptFileSync,
3472
+ registerFrameListener: () => registerFrameListener,
3099
3473
  removeChars: () => removeChars,
3100
3474
  toCamelCase: () => toCamelCase2,
3101
3475
  toDashCase: () => toDashCase2,
@@ -3168,7 +3542,27 @@ var require_cjs3 = __commonJS({
3168
3542
  }
3169
3543
  });
3170
3544
  };
3171
- var loadJavascriptFileSync = (FILE_URL, doc = document, fallback, type = "text/javascript") => {
3545
+ var loadJavascriptFileSync = (fileUrl, doc = document, type = "text/javascript") => {
3546
+ return new Promise((resolve, reject) => {
3547
+ const scriptEle = doc.createElement("script");
3548
+ scriptEle.type = type;
3549
+ scriptEle.src = fileUrl;
3550
+ const blocker = doc.createElement("div");
3551
+ blocker.style.cssText = "position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,0.8);z-index:9999;";
3552
+ doc.body.appendChild(blocker);
3553
+ scriptEle.onload = () => {
3554
+ console.log(`Successfully loaded: ${fileUrl}`);
3555
+ doc.body.removeChild(blocker);
3556
+ resolve();
3557
+ };
3558
+ scriptEle.onerror = () => {
3559
+ doc.body.removeChild(blocker);
3560
+ reject(new Error(`Failed to load: ${fileUrl}`));
3561
+ };
3562
+ doc.body.appendChild(scriptEle);
3563
+ });
3564
+ };
3565
+ var loadJavascriptFileEmbedSync = (FILE_URL, doc = document, fallback, type = "text/javascript") => {
3172
3566
  const xhr = new window.XMLHttpRequest();
3173
3567
  xhr.open("GET", FILE_URL, false);
3174
3568
  xhr.send();
@@ -3213,6 +3607,13 @@ var require_cjs3 = __commonJS({
3213
3607
  }
3214
3608
  };
3215
3609
  var isPhoto = (format) => ["jpeg", "gif", "jpg", "png", "tiff", "woff"].includes(format);
3610
+ var registerFrameListener = (el) => {
3611
+ const { __ref: ref } = el;
3612
+ const { frameListeners } = ref.root.data;
3613
+ if (frameListeners && !frameListeners.has(el)) {
3614
+ frameListeners.add(el);
3615
+ }
3616
+ };
3216
3617
  var copyStringToClipboard = async (str) => {
3217
3618
  try {
3218
3619
  await navigator.clipboard.writeText(str);
@@ -4058,7 +4459,7 @@ var getMediaColor = (value, globalTheme, config) => {
4058
4459
  const obj = {};
4059
4460
  for (const mediaName in val) {
4060
4461
  const query = CONFIG2.MEDIA[mediaName.slice(1)];
4061
- const media = `@media screen and ${query}`;
4462
+ const media = "@media " + (query === "print" ? `${query}` : `screen and ${query}`);
4062
4463
  obj[media] = getColor(value, mediaName, config);
4063
4464
  }
4064
4465
  return obj;
@@ -4312,7 +4713,7 @@ var recursiveTheme = (val) => {
4312
4713
  if ((0, import_utils9.isObjectLike)(val[param])) {
4313
4714
  if (symb === "@") {
4314
4715
  const query = CONFIG2.MEDIA[param.slice(1)];
4315
- const media = `@media screen and ${query}`;
4716
+ const media = "@media " + (query === "print" ? `${query}` : `screen and ${query}`);
4316
4717
  obj[media] = recursiveTheme(val[param]);
4317
4718
  } else if (symb === ":") {
4318
4719
  obj[`&${param}`] = recursiveTheme(val[param]);
@@ -4415,7 +4816,8 @@ var runThroughMedia = (FACTORY2) => {
4415
4816
  unit
4416
4817
  });
4417
4818
  const query = MEDIA2[mediaName];
4418
- TYPOGRAPHY2.templates[`@media screen and ${query}`] = {
4819
+ const media = "@media " + (query === "print" ? `${query}` : `screen and ${query}`);
4820
+ TYPOGRAPHY2.templates[media] = {
4419
4821
  fontSize: mediaValue.base / TYPOGRAPHY2.browserDefault + unit
4420
4822
  };
4421
4823
  if (!mediaRegenerate) {
@@ -4659,7 +5061,7 @@ var getShadow = (value, globalTheme) => {
4659
5061
  const obj = {};
4660
5062
  for (const mediaName in val) {
4661
5063
  const query = CONFIG2.MEDIA[mediaName.slice(1)];
4662
- const media = `@media screen and ${query}`;
5064
+ const media = "@media " + (query === "print" ? `${query}` : `screen and ${query}`);
4663
5065
  obj[media] = val.value;
4664
5066
  }
4665
5067
  return obj;