domql 1.5.136 → 1.6.0

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.
Files changed (90) hide show
  1. package/dist/cjs/element/applyParam.js +41 -0
  2. package/dist/cjs/element/assign.js +35 -0
  3. package/dist/cjs/element/cache.js +74 -0
  4. package/dist/cjs/element/create.js +264 -0
  5. package/dist/cjs/element/define.js +34 -0
  6. package/dist/cjs/element/extend.js +75 -0
  7. package/dist/cjs/element/index.js +55 -0
  8. package/dist/cjs/element/iterate.js +105 -0
  9. package/dist/cjs/element/methods.js +166 -0
  10. package/dist/cjs/element/node.js +80 -0
  11. package/dist/cjs/element/nodes.js +158 -0
  12. package/dist/cjs/element/options.js +24 -0
  13. package/dist/cjs/element/parse.js +42 -0
  14. package/dist/cjs/element/props.js +114 -0
  15. package/dist/cjs/element/remove.js +44 -0
  16. package/dist/cjs/element/root.js +30 -0
  17. package/dist/cjs/element/set.js +55 -0
  18. package/dist/cjs/element/state.js +208 -0
  19. package/dist/cjs/element/tree.js +31 -0
  20. package/dist/cjs/element/update.js +158 -0
  21. package/dist/cjs/event/can.js +30 -0
  22. package/dist/cjs/event/index.js +34 -0
  23. package/dist/cjs/event/is.js +28 -0
  24. package/dist/cjs/event/on.js +34 -0
  25. package/dist/cjs/event/store.js +27 -0
  26. package/dist/cjs/event/wrappers.js +36 -0
  27. package/dist/cjs/index.js +35 -0
  28. package/dist/cjs/package.json +4 -0
  29. package/dist/cjs/utils/component.js +77 -0
  30. package/dist/cjs/utils/extendUtils.js +142 -0
  31. package/dist/cjs/utils/index.js +20 -0
  32. package/dist/cjs/utils/object.js +146 -0
  33. package/dist/esm/element/applyParam.js +2614 -0
  34. package/dist/esm/element/assign.js +16 -0
  35. package/dist/esm/element/cache.js +1134 -0
  36. package/dist/esm/element/create.js +2616 -0
  37. package/dist/esm/element/define.js +2623 -0
  38. package/dist/esm/element/extend.js +984 -0
  39. package/dist/esm/element/index.js +2667 -0
  40. package/dist/esm/element/iterate.js +1114 -0
  41. package/dist/esm/element/methods.js +2635 -0
  42. package/dist/esm/element/node.js +2617 -0
  43. package/dist/esm/element/nodes.js +139 -0
  44. package/dist/esm/element/options.js +5 -0
  45. package/dist/esm/element/parse.js +2629 -0
  46. package/dist/esm/element/props.js +958 -0
  47. package/dist/esm/element/remove.js +842 -0
  48. package/dist/esm/element/root.js +162 -0
  49. package/dist/esm/element/set.js +2616 -0
  50. package/dist/esm/element/state.js +1209 -0
  51. package/dist/esm/element/tree.js +165 -0
  52. package/dist/esm/element/update.js +2616 -0
  53. package/dist/esm/event/can.js +1058 -0
  54. package/dist/esm/event/index.js +1098 -0
  55. package/dist/esm/event/is.js +67 -0
  56. package/dist/esm/event/on.js +15 -0
  57. package/dist/esm/event/store.js +8 -0
  58. package/dist/esm/event/wrappers.js +75 -0
  59. package/dist/esm/index.js +2658 -0
  60. package/dist/esm/utils/component.js +875 -0
  61. package/dist/esm/utils/extendUtils.js +940 -0
  62. package/dist/esm/utils/index.js +1260 -0
  63. package/dist/esm/utils/object.js +1081 -0
  64. package/dist/iife/index.js +2658 -0
  65. package/package.json +9 -4
  66. package/src/element/create.js +16 -13
  67. package/src/element/index.js +4 -10
  68. package/src/element/iterate.js +7 -28
  69. package/src/element/methods.js +18 -81
  70. package/src/element/mixins/content.js +6 -4
  71. package/src/element/mixins/registry.js +3 -4
  72. package/src/element/node.js +5 -6
  73. package/src/element/parse.js +1 -1
  74. package/src/element/props.js +3 -1
  75. package/src/element/state.js +168 -81
  76. package/src/element/update.js +100 -77
  77. package/src/index.js +6 -5
  78. package/src/utils/component.js +0 -1
  79. package/src/utils/object.js +31 -25
  80. package/src/element/assign.js +0 -22
  81. package/src/element/cache.js +0 -56
  82. package/src/element/nodes.js +0 -141
  83. package/src/element/root.js +0 -11
  84. package/src/element/tree.js +0 -5
  85. package/src/event/can.js +0 -10
  86. package/src/event/index.js +0 -11
  87. package/src/event/is.js +0 -15
  88. package/src/event/on.js +0 -13
  89. package/src/event/store.js +0 -6
  90. package/src/event/wrappers.js +0 -16
@@ -0,0 +1,1209 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __commonJS = (cb, mod) => function __require() {
8
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
9
+ };
10
+ var __export = (target, all) => {
11
+ for (var name in all)
12
+ __defProp(target, name, { get: all[name], enumerable: true });
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from))
17
+ if (!__hasOwnProp.call(to, key) && key !== except)
18
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
24
+ mod
25
+ ));
26
+
27
+ // node_modules/@domql/globals/dist/cjs/index.js
28
+ var require_cjs = __commonJS({
29
+ "node_modules/@domql/globals/dist/cjs/index.js"(exports, module) {
30
+ "use strict";
31
+ var __defProp2 = Object.defineProperty;
32
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
33
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
34
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
35
+ var __export2 = (target, all) => {
36
+ for (var name in all)
37
+ __defProp2(target, name, { get: all[name], enumerable: true });
38
+ };
39
+ var __copyProps2 = (to, from, except, desc) => {
40
+ if (from && typeof from === "object" || typeof from === "function") {
41
+ for (let key of __getOwnPropNames2(from))
42
+ if (!__hasOwnProp2.call(to, key) && key !== except)
43
+ __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
44
+ }
45
+ return to;
46
+ };
47
+ var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
48
+ var globals_exports = {};
49
+ __export2(globals_exports, {
50
+ document: () => document,
51
+ global: () => global,
52
+ self: () => self,
53
+ window: () => window3
54
+ });
55
+ module.exports = __toCommonJS(globals_exports);
56
+ var global = globalThis;
57
+ var self = globalThis;
58
+ var window3 = globalThis;
59
+ var document = window3.document;
60
+ }
61
+ });
62
+
63
+ // node_modules/@domql/tags/dist/cjs/htmlTags.js
64
+ var require_htmlTags = __commonJS({
65
+ "node_modules/@domql/tags/dist/cjs/htmlTags.js"(exports, module) {
66
+ "use strict";
67
+ var __defProp2 = Object.defineProperty;
68
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
69
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
70
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
71
+ var __export2 = (target, all) => {
72
+ for (var name in all)
73
+ __defProp2(target, name, { get: all[name], enumerable: true });
74
+ };
75
+ var __copyProps2 = (to, from, except, desc) => {
76
+ if (from && typeof from === "object" || typeof from === "function") {
77
+ for (let key of __getOwnPropNames2(from))
78
+ if (!__hasOwnProp2.call(to, key) && key !== except)
79
+ __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
80
+ }
81
+ return to;
82
+ };
83
+ var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
84
+ var htmlTags_exports = {};
85
+ __export2(htmlTags_exports, {
86
+ HTML_TAGS: () => HTML_TAGS
87
+ });
88
+ module.exports = __toCommonJS(htmlTags_exports);
89
+ var HTML_TAGS = {
90
+ root: [
91
+ "body",
92
+ "html"
93
+ ],
94
+ head: [
95
+ "title",
96
+ "base",
97
+ "meta",
98
+ "style"
99
+ ],
100
+ body: [
101
+ "string",
102
+ "fragment",
103
+ "a",
104
+ "abbr",
105
+ "acronym",
106
+ "address",
107
+ "applet",
108
+ "area",
109
+ "article",
110
+ "aside",
111
+ "audio",
112
+ "b",
113
+ "basefont",
114
+ "bdi",
115
+ "bdo",
116
+ "big",
117
+ "blockquote",
118
+ "br",
119
+ "button",
120
+ "canvas",
121
+ "caption",
122
+ "center",
123
+ "cite",
124
+ "code",
125
+ "col",
126
+ "colgroup",
127
+ "data",
128
+ "datalist",
129
+ "dd",
130
+ "del",
131
+ "details",
132
+ "dfn",
133
+ "dialog",
134
+ "dir",
135
+ "div",
136
+ "dl",
137
+ "dt",
138
+ "em",
139
+ "embed",
140
+ "fieldset",
141
+ "figcaption",
142
+ "figure",
143
+ "font",
144
+ "footer",
145
+ "form",
146
+ "frame",
147
+ "frameset",
148
+ "h1",
149
+ "h2",
150
+ "h3",
151
+ "h4",
152
+ "h5",
153
+ "h6",
154
+ "head",
155
+ "header",
156
+ "hr",
157
+ "i",
158
+ "iframe",
159
+ "img",
160
+ "input",
161
+ "ins",
162
+ "kbd",
163
+ "label",
164
+ "legend",
165
+ "li",
166
+ "link",
167
+ "main",
168
+ "map",
169
+ "mark",
170
+ "meter",
171
+ "nav",
172
+ "noframes",
173
+ "noscript",
174
+ "object",
175
+ "ol",
176
+ "optgroup",
177
+ "option",
178
+ "output",
179
+ "p",
180
+ "param",
181
+ "picture",
182
+ "pre",
183
+ "progress",
184
+ "q",
185
+ "rp",
186
+ "rt",
187
+ "ruby",
188
+ "s",
189
+ "samp",
190
+ "script",
191
+ "section",
192
+ "select",
193
+ "small",
194
+ "source",
195
+ "span",
196
+ "strike",
197
+ "strong",
198
+ "sub",
199
+ "summary",
200
+ "sup",
201
+ "table",
202
+ "tbody",
203
+ "td",
204
+ "template",
205
+ "textarea",
206
+ "tfoot",
207
+ "th",
208
+ "thead",
209
+ "time",
210
+ "tr",
211
+ "track",
212
+ "tt",
213
+ "u",
214
+ "ul",
215
+ "var",
216
+ "video",
217
+ "wbr",
218
+ "svg",
219
+ "path"
220
+ ]
221
+ };
222
+ }
223
+ });
224
+
225
+ // node_modules/@domql/tags/dist/cjs/index.js
226
+ var require_cjs2 = __commonJS({
227
+ "node_modules/@domql/tags/dist/cjs/index.js"(exports, module) {
228
+ "use strict";
229
+ var __defProp2 = Object.defineProperty;
230
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
231
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
232
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
233
+ var __copyProps2 = (to, from, except, desc) => {
234
+ if (from && typeof from === "object" || typeof from === "function") {
235
+ for (let key of __getOwnPropNames2(from))
236
+ if (!__hasOwnProp2.call(to, key) && key !== except)
237
+ __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
238
+ }
239
+ return to;
240
+ };
241
+ var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default"));
242
+ var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
243
+ var tags_exports = {};
244
+ module.exports = __toCommonJS(tags_exports);
245
+ __reExport(tags_exports, require_htmlTags(), module.exports);
246
+ }
247
+ });
248
+
249
+ // node_modules/@domql/utils/dist/cjs/types.js
250
+ var require_types = __commonJS({
251
+ "node_modules/@domql/utils/dist/cjs/types.js"(exports, module) {
252
+ "use strict";
253
+ var __defProp2 = Object.defineProperty;
254
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
255
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
256
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
257
+ var __export2 = (target, all) => {
258
+ for (var name in all)
259
+ __defProp2(target, name, { get: all[name], enumerable: true });
260
+ };
261
+ var __copyProps2 = (to, from, except, desc) => {
262
+ if (from && typeof from === "object" || typeof from === "function") {
263
+ for (let key of __getOwnPropNames2(from))
264
+ if (!__hasOwnProp2.call(to, key) && key !== except)
265
+ __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
266
+ }
267
+ return to;
268
+ };
269
+ var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
270
+ var types_exports = {};
271
+ __export2(types_exports, {
272
+ TYPES: () => TYPES,
273
+ is: () => is2,
274
+ isArray: () => isArray3,
275
+ isBoolean: () => isBoolean,
276
+ isDefined: () => isDefined,
277
+ isFunction: () => isFunction5,
278
+ isHtmlElement: () => isHtmlElement,
279
+ isNode: () => isNode,
280
+ isNot: () => isNot,
281
+ isNull: () => isNull,
282
+ isNumber: () => isNumber,
283
+ isObject: () => isObject4,
284
+ isObjectLike: () => isObjectLike2,
285
+ isString: () => isString3,
286
+ isUndefined: () => isUndefined2,
287
+ isValidHtmlTag: () => isValidHtmlTag
288
+ });
289
+ module.exports = __toCommonJS(types_exports);
290
+ var import_globals3 = require_cjs();
291
+ var import_tags = require_cjs2();
292
+ var isValidHtmlTag = (arg) => import_tags.HTML_TAGS.body.indexOf(arg);
293
+ var isObject4 = (arg) => {
294
+ if (arg === null)
295
+ return false;
296
+ return typeof arg === "object" && arg.constructor === Object;
297
+ };
298
+ var isString3 = (arg) => typeof arg === "string";
299
+ var isNumber = (arg) => typeof arg === "number";
300
+ var isFunction5 = (arg) => typeof arg === "function";
301
+ var isBoolean = (arg) => arg === true || arg === false;
302
+ var isNull = (arg) => arg === null;
303
+ var isArray3 = (arg) => Array.isArray(arg);
304
+ var isObjectLike2 = (arg) => {
305
+ if (arg === null)
306
+ return false;
307
+ return typeof arg === "object";
308
+ };
309
+ var isNode = (obj) => {
310
+ return typeof import_globals3.window.Node === "object" ? obj instanceof import_globals3.window.Node : obj && typeof obj === "object" && typeof obj.nodeType === "number" && typeof obj.nodeName === "string";
311
+ };
312
+ var isHtmlElement = (obj) => {
313
+ return typeof import_globals3.window.HTMLElement === "object" ? obj instanceof import_globals3.window.HTMLElement : obj && typeof obj === "object" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === "string";
314
+ };
315
+ var isDefined = (arg) => {
316
+ return isObject4(arg) || isObjectLike2(arg) || isString3(arg) || isNumber(arg) || isFunction5(arg) || isArray3(arg) || isObjectLike2(arg) || isBoolean(arg) || isNull(arg);
317
+ };
318
+ var isUndefined2 = (arg) => {
319
+ return arg === void 0;
320
+ };
321
+ var TYPES = {
322
+ boolean: isBoolean,
323
+ array: isArray3,
324
+ object: isObject4,
325
+ string: isString3,
326
+ number: isNumber,
327
+ null: isNull,
328
+ function: isFunction5,
329
+ objectLike: isObjectLike2,
330
+ node: isNode,
331
+ htmlElement: isHtmlElement,
332
+ defined: isDefined
333
+ };
334
+ var is2 = (arg) => {
335
+ return (...args) => {
336
+ return args.map((val) => TYPES[val](arg)).filter((v) => v).length > 0;
337
+ };
338
+ };
339
+ var isNot = (arg) => {
340
+ return (...args) => {
341
+ return args.map((val) => TYPES[val](arg)).filter((v) => v).length === 0;
342
+ };
343
+ };
344
+ }
345
+ });
346
+
347
+ // node_modules/@domql/utils/dist/cjs/object.js
348
+ var require_object = __commonJS({
349
+ "node_modules/@domql/utils/dist/cjs/object.js"(exports, module) {
350
+ "use strict";
351
+ var __defProp2 = Object.defineProperty;
352
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
353
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
354
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
355
+ var __export2 = (target, all) => {
356
+ for (var name in all)
357
+ __defProp2(target, name, { get: all[name], enumerable: true });
358
+ };
359
+ var __copyProps2 = (to, from, except, desc) => {
360
+ if (from && typeof from === "object" || typeof from === "function") {
361
+ for (let key of __getOwnPropNames2(from))
362
+ if (!__hasOwnProp2.call(to, key) && key !== except)
363
+ __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
364
+ }
365
+ return to;
366
+ };
367
+ var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
368
+ var object_exports = {};
369
+ __export2(object_exports, {
370
+ clone: () => clone,
371
+ deepClone: () => deepClone2,
372
+ deepCloneExclude: () => deepCloneExclude,
373
+ deepDestringify: () => deepDestringify,
374
+ deepMerge: () => deepMerge2,
375
+ deepStringify: () => deepStringify,
376
+ diff: () => diff,
377
+ exec: () => exec4,
378
+ flattenRecursive: () => flattenRecursive,
379
+ isEqualDeep: () => isEqualDeep,
380
+ map: () => map,
381
+ merge: () => merge,
382
+ mergeAndCloneIfArray: () => mergeAndCloneIfArray,
383
+ mergeArray: () => mergeArray2,
384
+ mergeArrayExclude: () => mergeArrayExclude,
385
+ mergeIfExisted: () => mergeIfExisted,
386
+ overwrite: () => overwrite,
387
+ overwriteDeep: () => overwriteDeep2,
388
+ overwriteObj: () => overwriteObj
389
+ });
390
+ module.exports = __toCommonJS(object_exports);
391
+ var import_globals3 = require_cjs();
392
+ var import_types = require_types();
393
+ var exec4 = (param, element, state, context) => {
394
+ if ((0, import_types.isFunction)(param)) {
395
+ return param(
396
+ element,
397
+ state || element.state,
398
+ context || element.context
399
+ );
400
+ }
401
+ return param;
402
+ };
403
+ var map = (obj, extention, element) => {
404
+ for (const e in extention) {
405
+ obj[e] = exec4(extention[e], element);
406
+ }
407
+ };
408
+ var merge = (element, obj) => {
409
+ for (const e in obj) {
410
+ const elementProp = element[e];
411
+ const objProp = obj[e];
412
+ if (elementProp === void 0) {
413
+ element[e] = objProp;
414
+ }
415
+ }
416
+ return element;
417
+ };
418
+ var deepMerge2 = (element, extend) => {
419
+ for (const e in extend) {
420
+ const extendProp = extend[e];
421
+ if (e === "parent" || e === "props")
422
+ continue;
423
+ if (element[e] === void 0) {
424
+ element[e] = extendProp;
425
+ } else if ((0, import_types.isObjectLike)(element[e]) && (0, import_types.isObjectLike)(extendProp)) {
426
+ deepMerge2(element[e], extendProp);
427
+ } else {
428
+ element[e] = extendProp;
429
+ }
430
+ }
431
+ return element;
432
+ };
433
+ var clone = (obj) => {
434
+ const o = {};
435
+ for (const prop in obj) {
436
+ if (prop === "node")
437
+ continue;
438
+ o[prop] = obj[prop];
439
+ }
440
+ return o;
441
+ };
442
+ var deepCloneExclude = (obj, exclude = []) => {
443
+ if ((0, import_types.isArray)(obj)) {
444
+ return obj.map((x) => deepCloneExclude(x, exclude));
445
+ }
446
+ const o = {};
447
+ for (const k in obj) {
448
+ if (exclude.indexOf(k) > -1)
449
+ continue;
450
+ let v = obj[k];
451
+ if (k === "extend" && (0, import_types.isArray)(v)) {
452
+ v = mergeArrayExclude(v, exclude);
453
+ }
454
+ if ((0, import_types.isArray)(v)) {
455
+ o[k] = v.map((x) => deepCloneExclude(x, exclude));
456
+ } else if ((0, import_types.isObject)(v)) {
457
+ o[k] = deepCloneExclude(v, exclude);
458
+ } else
459
+ o[k] = v;
460
+ }
461
+ return o;
462
+ };
463
+ var mergeArrayExclude = (arr, excl = []) => {
464
+ return arr.reduce((acc, curr) => deepMerge2(acc, deepCloneExclude(curr, excl)), {});
465
+ };
466
+ var deepClone2 = (obj) => {
467
+ if ((0, import_types.isArray)(obj)) {
468
+ return obj.map(deepClone2);
469
+ }
470
+ const o = {};
471
+ for (const prop in obj) {
472
+ let objProp = obj[prop];
473
+ if (prop === "extend" && (0, import_types.isArray)(objProp)) {
474
+ objProp = mergeArray2(objProp);
475
+ }
476
+ if ((0, import_types.isArray)(objProp)) {
477
+ o[prop] = objProp.map((v) => (0, import_types.isObject)(v) ? deepClone2(v) : v);
478
+ } else if ((0, import_types.isObject)(objProp)) {
479
+ o[prop] = deepClone2(objProp);
480
+ } else
481
+ o[prop] = objProp;
482
+ }
483
+ return o;
484
+ };
485
+ var deepStringify = (obj, stringified = {}) => {
486
+ for (const prop in obj) {
487
+ const objProp = obj[prop];
488
+ if ((0, import_types.isFunction)(objProp)) {
489
+ stringified[prop] = objProp.toString();
490
+ } else if ((0, import_types.isObject)(objProp)) {
491
+ stringified[prop] = {};
492
+ deepStringify(objProp, stringified[prop]);
493
+ } else if ((0, import_types.isArray)(objProp)) {
494
+ stringified[prop] = [];
495
+ objProp.forEach((v, i) => {
496
+ if ((0, import_types.isObject)(v)) {
497
+ stringified[prop][i] = {};
498
+ deepStringify(v, stringified[prop][i]);
499
+ } else if ((0, import_types.isFunction)(v)) {
500
+ stringified[prop][i] = v.toString();
501
+ } else {
502
+ stringified[prop][i] = v;
503
+ }
504
+ });
505
+ } else {
506
+ stringified[prop] = objProp;
507
+ }
508
+ }
509
+ return stringified;
510
+ };
511
+ var deepDestringify = (obj, stringified = {}) => {
512
+ for (const prop in obj) {
513
+ const objProp = obj[prop];
514
+ if ((0, import_types.isString)(objProp)) {
515
+ if (objProp.includes("=>") || objProp.includes("function") || objProp.startsWith("(")) {
516
+ try {
517
+ const evalProp = import_globals3.window.eval(`(${objProp})`);
518
+ stringified[prop] = evalProp;
519
+ } catch (e) {
520
+ if (e)
521
+ stringified[prop] = objProp;
522
+ }
523
+ } else {
524
+ stringified[prop] = objProp;
525
+ }
526
+ } else if ((0, import_types.isArray)(objProp)) {
527
+ stringified[prop] = [];
528
+ objProp.forEach((arrProp) => {
529
+ if ((0, import_types.isString)(arrProp)) {
530
+ if (arrProp.includes("=>") || arrProp.includes("function") || arrProp.startsWith("(")) {
531
+ try {
532
+ const evalProp = import_globals3.window.eval(`(${arrProp})`);
533
+ stringified[prop].push(evalProp);
534
+ } catch (e) {
535
+ if (e)
536
+ stringified[prop].push(arrProp);
537
+ }
538
+ } else {
539
+ stringified[prop].push(arrProp);
540
+ }
541
+ } else if ((0, import_types.isObject)(arrProp)) {
542
+ stringified[prop].push(deepDestringify(arrProp));
543
+ } else {
544
+ stringified[prop].push(arrProp);
545
+ }
546
+ });
547
+ } else if ((0, import_types.isObject)(objProp)) {
548
+ stringified[prop] = deepDestringify(objProp, stringified[prop]);
549
+ } else {
550
+ stringified[prop] = objProp;
551
+ }
552
+ }
553
+ return stringified;
554
+ };
555
+ var overwrite = (element, params, options) => {
556
+ const { ref } = element;
557
+ const changes = {};
558
+ for (const e in params) {
559
+ if (e === "props")
560
+ continue;
561
+ const elementProp = element[e];
562
+ const paramsProp = params[e];
563
+ if (paramsProp) {
564
+ ref.__cache[e] = changes[e] = elementProp;
565
+ ref[e] = paramsProp;
566
+ }
567
+ }
568
+ return changes;
569
+ };
570
+ var diff = (obj, original, cache) => {
571
+ const changes = cache || {};
572
+ for (const e in obj) {
573
+ if (e === "ref")
574
+ continue;
575
+ const originalProp = original[e];
576
+ const objProp = obj[e];
577
+ if ((0, import_types.isObjectLike)(originalProp) && (0, import_types.isObjectLike)(objProp)) {
578
+ changes[e] = {};
579
+ diff(originalProp, objProp, changes[e]);
580
+ } else if (objProp !== void 0) {
581
+ changes[e] = objProp;
582
+ }
583
+ }
584
+ return changes;
585
+ };
586
+ var overwriteObj = (params, obj) => {
587
+ const changes = {};
588
+ for (const e in params) {
589
+ const objProp = obj[e];
590
+ const paramsProp = params[e];
591
+ if (paramsProp) {
592
+ obj[e] = changes[e] = objProp;
593
+ }
594
+ }
595
+ return changes;
596
+ };
597
+ var overwriteDeep2 = (params, obj) => {
598
+ for (const e in params) {
599
+ const objProp = obj[e];
600
+ const paramsProp = params[e];
601
+ if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {
602
+ overwriteDeep2(paramsProp, objProp);
603
+ } else if (paramsProp !== void 0) {
604
+ obj[e] = paramsProp;
605
+ }
606
+ }
607
+ return obj;
608
+ };
609
+ var mergeIfExisted = (a, b) => {
610
+ if ((0, import_types.isObjectLike)(a) && (0, import_types.isObjectLike)(b))
611
+ return deepMerge2(a, b);
612
+ return a || b;
613
+ };
614
+ var mergeArray2 = (arr) => {
615
+ return arr.reduce((a, c) => deepMerge2(a, deepClone2(c)), {});
616
+ };
617
+ var mergeAndCloneIfArray = (obj) => {
618
+ return (0, import_types.isArray)(obj) ? mergeArray2(obj) : deepClone2(obj);
619
+ };
620
+ var flattenRecursive = (param, prop, stack = []) => {
621
+ const objectized = mergeAndCloneIfArray(param);
622
+ stack.push(objectized);
623
+ const extendOfExtend = objectized[prop];
624
+ if (extendOfExtend)
625
+ flattenRecursive(extendOfExtend, prop, stack);
626
+ delete objectized[prop];
627
+ return stack;
628
+ };
629
+ var isEqualDeep = (param, element) => {
630
+ if (param === element)
631
+ return true;
632
+ if (!param || !element)
633
+ return false;
634
+ for (const prop in param) {
635
+ const paramProp = param[prop];
636
+ const elementProp = element[prop];
637
+ if ((0, import_types.isObjectLike)(paramProp)) {
638
+ const isEqual = isEqualDeep(paramProp, elementProp);
639
+ if (!isEqual)
640
+ return false;
641
+ } else {
642
+ const isEqual = paramProp === elementProp;
643
+ if (!isEqual)
644
+ return false;
645
+ }
646
+ }
647
+ return true;
648
+ };
649
+ }
650
+ });
651
+
652
+ // node_modules/@domql/utils/dist/cjs/function.js
653
+ var require_function = __commonJS({
654
+ "node_modules/@domql/utils/dist/cjs/function.js"(exports, module) {
655
+ "use strict";
656
+ var __defProp2 = Object.defineProperty;
657
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
658
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
659
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
660
+ var __export2 = (target, all) => {
661
+ for (var name in all)
662
+ __defProp2(target, name, { get: all[name], enumerable: true });
663
+ };
664
+ var __copyProps2 = (to, from, except, desc) => {
665
+ if (from && typeof from === "object" || typeof from === "function") {
666
+ for (let key of __getOwnPropNames2(from))
667
+ if (!__hasOwnProp2.call(to, key) && key !== except)
668
+ __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
669
+ }
670
+ return to;
671
+ };
672
+ var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
673
+ var function_exports = {};
674
+ __export2(function_exports, {
675
+ debounce: () => debounce,
676
+ memoize: () => memoize
677
+ });
678
+ module.exports = __toCommonJS(function_exports);
679
+ var debounce = (element, func, timeout = 300) => {
680
+ let timer;
681
+ return (...args) => {
682
+ clearTimeout(timer);
683
+ timer = setTimeout(() => {
684
+ func.apply(element, args);
685
+ }, timeout);
686
+ };
687
+ };
688
+ var memoize = (fn) => {
689
+ const cache = {};
690
+ return (...args) => {
691
+ const n = args[0];
692
+ if (n in cache) {
693
+ return cache[n];
694
+ } else {
695
+ const result = fn(n);
696
+ cache[n] = result;
697
+ return result;
698
+ }
699
+ };
700
+ };
701
+ }
702
+ });
703
+
704
+ // node_modules/@domql/utils/dist/cjs/array.js
705
+ var require_array = __commonJS({
706
+ "node_modules/@domql/utils/dist/cjs/array.js"() {
707
+ "use strict";
708
+ }
709
+ });
710
+
711
+ // node_modules/@domql/utils/dist/cjs/node.js
712
+ var require_node = __commonJS({
713
+ "node_modules/@domql/utils/dist/cjs/node.js"(exports, module) {
714
+ "use strict";
715
+ var __defProp2 = Object.defineProperty;
716
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
717
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
718
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
719
+ var __export2 = (target, all) => {
720
+ for (var name in all)
721
+ __defProp2(target, name, { get: all[name], enumerable: true });
722
+ };
723
+ var __copyProps2 = (to, from, except, desc) => {
724
+ if (from && typeof from === "object" || typeof from === "function") {
725
+ for (let key of __getOwnPropNames2(from))
726
+ if (!__hasOwnProp2.call(to, key) && key !== except)
727
+ __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
728
+ }
729
+ return to;
730
+ };
731
+ var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
732
+ var node_exports = {};
733
+ __export2(node_exports, {
734
+ cleanWithNode: () => cleanWithNode,
735
+ createID: () => createID,
736
+ createSnapshotId: () => createSnapshotId
737
+ });
738
+ module.exports = __toCommonJS(node_exports);
739
+ var cleanWithNode = (extend) => delete extend.node && extend;
740
+ var createID = function() {
741
+ let index = 0;
742
+ function newId() {
743
+ index++;
744
+ return index;
745
+ }
746
+ return newId;
747
+ }();
748
+ var createSnapshotId = createID;
749
+ }
750
+ });
751
+
752
+ // node_modules/@domql/utils/dist/cjs/log.js
753
+ var require_log = __commonJS({
754
+ "node_modules/@domql/utils/dist/cjs/log.js"(exports, module) {
755
+ "use strict";
756
+ var __defProp2 = Object.defineProperty;
757
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
758
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
759
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
760
+ var __export2 = (target, all) => {
761
+ for (var name in all)
762
+ __defProp2(target, name, { get: all[name], enumerable: true });
763
+ };
764
+ var __copyProps2 = (to, from, except, desc) => {
765
+ if (from && typeof from === "object" || typeof from === "function") {
766
+ for (let key of __getOwnPropNames2(from))
767
+ if (!__hasOwnProp2.call(to, key) && key !== except)
768
+ __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
769
+ }
770
+ return to;
771
+ };
772
+ var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
773
+ var log_exports = {};
774
+ __export2(log_exports, {
775
+ logGroupIf: () => logGroupIf,
776
+ logIf: () => logIf
777
+ });
778
+ module.exports = __toCommonJS(log_exports);
779
+ var logIf = (bool, ...arg) => {
780
+ if (bool)
781
+ arg.map((v) => console.log(v));
782
+ };
783
+ var logGroupIf = (bool, key, ...arg) => {
784
+ if (bool) {
785
+ console.group(key);
786
+ arg.map((v) => console.log(v));
787
+ console.groupEnd(key);
788
+ }
789
+ };
790
+ }
791
+ });
792
+
793
+ // node_modules/@domql/utils/dist/cjs/index.js
794
+ var require_cjs3 = __commonJS({
795
+ "node_modules/@domql/utils/dist/cjs/index.js"(exports, module) {
796
+ "use strict";
797
+ var __defProp2 = Object.defineProperty;
798
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
799
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
800
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
801
+ var __copyProps2 = (to, from, except, desc) => {
802
+ if (from && typeof from === "object" || typeof from === "function") {
803
+ for (let key of __getOwnPropNames2(from))
804
+ if (!__hasOwnProp2.call(to, key) && key !== except)
805
+ __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
806
+ }
807
+ return to;
808
+ };
809
+ var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, "default"), secondTarget && __copyProps2(secondTarget, mod, "default"));
810
+ var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
811
+ var utils_exports = {};
812
+ module.exports = __toCommonJS(utils_exports);
813
+ __reExport(utils_exports, require_types(), module.exports);
814
+ __reExport(utils_exports, require_object(), module.exports);
815
+ __reExport(utils_exports, require_function(), module.exports);
816
+ __reExport(utils_exports, require_array(), module.exports);
817
+ __reExport(utils_exports, require_node(), module.exports);
818
+ __reExport(utils_exports, require_log(), module.exports);
819
+ }
820
+ });
821
+
822
+ // node_modules/@domql/report/dist/cjs/index.js
823
+ var require_cjs4 = __commonJS({
824
+ "node_modules/@domql/report/dist/cjs/index.js"(exports, module) {
825
+ "use strict";
826
+ var __defProp2 = Object.defineProperty;
827
+ var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
828
+ var __getOwnPropNames2 = Object.getOwnPropertyNames;
829
+ var __hasOwnProp2 = Object.prototype.hasOwnProperty;
830
+ var __export2 = (target, all) => {
831
+ for (var name in all)
832
+ __defProp2(target, name, { get: all[name], enumerable: true });
833
+ };
834
+ var __copyProps2 = (to, from, except, desc) => {
835
+ if (from && typeof from === "object" || typeof from === "function") {
836
+ for (let key of __getOwnPropNames2(from))
837
+ if (!__hasOwnProp2.call(to, key) && key !== except)
838
+ __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
839
+ }
840
+ return to;
841
+ };
842
+ var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
843
+ var report_exports = {};
844
+ __export2(report_exports, {
845
+ ERRORS_REGISTRY: () => ERRORS_REGISTRY,
846
+ report: () => report2
847
+ });
848
+ module.exports = __toCommonJS(report_exports);
849
+ var ERRORS_REGISTRY = {
850
+ en: {
851
+ DocumentNotDefined: {
852
+ title: "Document is undefined",
853
+ description: "To tweak with DOM, you should use browser."
854
+ },
855
+ OverwriteToBuiltin: {
856
+ title: "Overwriting to builtin method",
857
+ description: "Overwriting a builtin method in the window define is not possible, please choose different name"
858
+ },
859
+ BrowserNotDefined: {
860
+ title: "Can't recognize environment",
861
+ description: "Environment should be browser application, that can run Javascript"
862
+ },
863
+ SetQuickPreferancesIsNotObject: {
864
+ title: "Quick preferances object is required",
865
+ description: 'Please pass a plain object with "lang", "culture" and "area" properties'
866
+ },
867
+ InvalidParams: {
868
+ title: "Params are invalid",
869
+ description: 'Please pass a plain object with "lang", "culture" and "area" properties'
870
+ },
871
+ CantCreateWithoutNode: {
872
+ title: "You must provide node",
873
+ description: "Can't create DOM element without setting node or text"
874
+ },
875
+ HTMLInvalidTag: {
876
+ title: "Element tag name (or DOM nodeName) is invalid",
877
+ description: "To create element, you must provide valid DOM node. See full list of them at here: http://www.w3schools.com/tags/"
878
+ },
879
+ HTMLInvalidAttr: {
880
+ title: "Attibutes object is invalid",
881
+ description: "Please pass a valid plain object to apply as an attributes for a DOM node"
882
+ },
883
+ HTMLInvalidData: {
884
+ title: "Data object is invalid",
885
+ description: "Please pass a valid plain object to apply as an dataset for a DOM node"
886
+ },
887
+ HTMLInvalidStyles: {
888
+ title: "Styles object is invalid",
889
+ description: "Please pass a valid plain object to apply as an style for a DOM node"
890
+ },
891
+ HTMLInvalidText: {
892
+ title: "Text string is invalid",
893
+ description: "Please pass a valid string to apply text to DOM node"
894
+ }
895
+ }
896
+ };
897
+ var report2 = (err, arg, element) => {
898
+ const currentLang = "en";
899
+ let errObj;
900
+ if (err && typeof err === "string")
901
+ errObj = ERRORS_REGISTRY[currentLang][err];
902
+ return new Error(
903
+ `"${err}", "${arg}"
904
+
905
+ `,
906
+ `${errObj.description}`,
907
+ element ? `
908
+
909
+ ${element}` : ""
910
+ );
911
+ };
912
+ }
913
+ });
914
+
915
+ // src/event/on.js
916
+ var on_exports = {};
917
+ __export(on_exports, {
918
+ initStateUpdated: () => initStateUpdated,
919
+ initUpdate: () => initUpdate,
920
+ stateUpdated: () => stateUpdated
921
+ });
922
+ var initUpdate = (param, element, state, changes) => {
923
+ return param(element, state, changes);
924
+ };
925
+ var initStateUpdated = (param, element, state, changes) => {
926
+ return param(element, state, changes);
927
+ };
928
+ var stateUpdated = (param, element, state, changes) => {
929
+ return param(element, state, changes);
930
+ };
931
+
932
+ // node_modules/@domql/registry/methods.js
933
+ var import_utils = __toESM(require_cjs3());
934
+
935
+ // src/event/can.js
936
+ var import_report = __toESM(require_cjs4());
937
+
938
+ // src/event/is.js
939
+ var import_globals = __toESM(require_cjs());
940
+
941
+ // node_modules/@domql/event/on.js
942
+ var import_utils2 = __toESM(require_cjs3());
943
+ var applyEvent = (param, element, state, context) => {
944
+ return param(element, state || element.state, context || element.context);
945
+ };
946
+ var triggerEventOn = (param, element) => {
947
+ if (element.on && (0, import_utils2.isFunction)(element.on[param])) {
948
+ return applyEvent(element.on[param], element);
949
+ }
950
+ };
951
+
952
+ // node_modules/@domql/event/is.js
953
+ var import_globals2 = __toESM(require_cjs());
954
+
955
+ // node_modules/@domql/event/index.js
956
+ var triggerEventOn2 = triggerEventOn;
957
+
958
+ // src/element/state.js
959
+ var import_utils6 = __toESM(require_cjs3());
960
+
961
+ // src/utils/object.js
962
+ var import_utils3 = __toESM(require_cjs3());
963
+ var deepMerge = (element, extend) => {
964
+ for (const e in extend) {
965
+ const elementProp = element[e];
966
+ const extendProp = extend[e];
967
+ if (e === "parent" || e === "props" || e === "state")
968
+ continue;
969
+ if (elementProp === void 0) {
970
+ element[e] = extendProp;
971
+ } else if ((0, import_utils3.isObjectLike)(elementProp) && (0, import_utils3.isObject)(extendProp)) {
972
+ deepMerge(elementProp, extendProp);
973
+ }
974
+ }
975
+ return element;
976
+ };
977
+ var deepClone = (obj, excluding = ["parent", "node", "__element", "state", "context", "extend", "__ref"]) => {
978
+ const o = (0, import_utils3.isArray)(obj) ? [] : {};
979
+ for (const prop in obj) {
980
+ if (excluding.indexOf(prop) > -1)
981
+ continue;
982
+ let objProp = obj[prop];
983
+ if (prop === "extend" && (0, import_utils3.isArray)(objProp)) {
984
+ objProp = mergeArray(objProp, excluding);
985
+ }
986
+ if ((0, import_utils3.isObjectLike)(objProp)) {
987
+ o[prop] = deepClone(objProp, excluding);
988
+ } else
989
+ o[prop] = objProp;
990
+ }
991
+ return o;
992
+ };
993
+ var overwriteShallow = (obj, params, excluding = ["node", "__ref"]) => {
994
+ for (const e in params) {
995
+ if (excluding.indexOf(e) > -1)
996
+ continue;
997
+ obj[e] = params[e];
998
+ }
999
+ return obj;
1000
+ };
1001
+ var overwriteDeep = (obj, params, excluding = ["node", "__ref"]) => {
1002
+ for (const e in params) {
1003
+ if (excluding.indexOf(e) > -1)
1004
+ continue;
1005
+ const objProp = obj[e];
1006
+ const paramsProp = params[e];
1007
+ if ((0, import_utils3.isObjectLike)(objProp) && (0, import_utils3.isObjectLike)(paramsProp)) {
1008
+ overwriteDeep(objProp, paramsProp);
1009
+ } else if (paramsProp !== void 0) {
1010
+ obj[e] = paramsProp;
1011
+ }
1012
+ }
1013
+ return obj;
1014
+ };
1015
+ var mergeArray = (arr, excluding = ["parent", "node", "__element", "state", "context", "__ref"]) => {
1016
+ return arr.reduce((a, c) => deepMerge(a, deepClone(c, excluding)), {});
1017
+ };
1018
+
1019
+ // src/utils/extendUtils.js
1020
+ var import_utils4 = __toESM(require_cjs3());
1021
+
1022
+ // src/utils/component.js
1023
+ var import_utils5 = __toESM(require_cjs3());
1024
+
1025
+ // src/element/state.js
1026
+ var IGNORE_STATE_PARAMS = [
1027
+ "update",
1028
+ "parse",
1029
+ "clean",
1030
+ "create",
1031
+ "parent",
1032
+ "__element",
1033
+ "__depends",
1034
+ "__ref",
1035
+ "__root",
1036
+ "rootUpdate"
1037
+ ];
1038
+ var parseState = function() {
1039
+ const state = this;
1040
+ const parseState2 = {};
1041
+ for (const param in state) {
1042
+ if (!IGNORE_STATE_PARAMS.includes(param)) {
1043
+ parseState2[param] = state[param];
1044
+ }
1045
+ }
1046
+ return parseState2;
1047
+ };
1048
+ var cleanState = function() {
1049
+ const state = this;
1050
+ for (const param in state) {
1051
+ if (!IGNORE_STATE_PARAMS.includes(param)) {
1052
+ delete state[param];
1053
+ }
1054
+ }
1055
+ state.update();
1056
+ return state;
1057
+ };
1058
+ var rootUpdate = function(obj, options = {}) {
1059
+ const state = this;
1060
+ if (!state)
1061
+ return;
1062
+ const rootState = state.__element.__ref.__root.state;
1063
+ return rootState.update(obj, options);
1064
+ };
1065
+ var updateState = function(obj, options = {}) {
1066
+ const state = this;
1067
+ const element = state.__element;
1068
+ const __elementRef = element.__ref;
1069
+ state.parent = element.parent.state;
1070
+ for (const param in state)
1071
+ if ((0, import_utils6.isUndefined)(state[param]))
1072
+ delete state[param];
1073
+ if (!state.__element)
1074
+ createState(element, element.parent);
1075
+ if (element.on && (0, import_utils6.isFunction)(element.on.initStateUpdated)) {
1076
+ const initReturns = on_exports.initStateUpdated(element.on.initStateUpdated, element, state, obj);
1077
+ if (initReturns === false)
1078
+ return;
1079
+ }
1080
+ const stateKey = __elementRef.__state;
1081
+ if (stateKey) {
1082
+ console.log(stateKey);
1083
+ if (state.parent && state.parent[stateKey]) {
1084
+ const keyInParentState = state.parent[stateKey];
1085
+ console.log(keyInParentState);
1086
+ if (keyInParentState && !options.stopStatePropogation) {
1087
+ if (__elementRef.__stateType === "string") {
1088
+ return state.parent.update({ [stateKey]: obj.value }, options);
1089
+ }
1090
+ return state.parent.update({ [stateKey]: obj }, options);
1091
+ }
1092
+ console.warn(state.parent);
1093
+ }
1094
+ } else {
1095
+ if (options && options.shallow) {
1096
+ overwriteShallow(state, obj, IGNORE_STATE_PARAMS);
1097
+ } else {
1098
+ overwriteDeep(state, obj, IGNORE_STATE_PARAMS);
1099
+ }
1100
+ }
1101
+ if (!options.preventUpdate) {
1102
+ element.update({}, options);
1103
+ } else if (options.preventUpdate === "recursive") {
1104
+ element.update({}, { ...options, preventUpdate: true });
1105
+ }
1106
+ if (state.__depends) {
1107
+ for (const el in state.__depends) {
1108
+ const findElement = state.__depends[el];
1109
+ findElement.clean().update(state.parse(), options);
1110
+ }
1111
+ }
1112
+ if (!options.preventUpdateListener && element.on && (0, import_utils6.isFunction)(element.on.stateUpdated)) {
1113
+ on_exports.stateUpdated(element.on.stateUpdated, element, state, obj);
1114
+ }
1115
+ return state;
1116
+ };
1117
+ var createState = function(element, parent, opts) {
1118
+ const skip = opts && opts.skip ? opts.skip : false;
1119
+ let { state, __ref: __elementRef } = element;
1120
+ if ((0, import_utils6.isFunction)(state))
1121
+ state = (0, import_utils6.exec)(state, element);
1122
+ if ((0, import_utils6.is)(state)("string", "number")) {
1123
+ __elementRef.__state = state;
1124
+ state = {};
1125
+ }
1126
+ if (state === true) {
1127
+ __elementRef.__state = element.key;
1128
+ state = {};
1129
+ }
1130
+ if (!state) {
1131
+ if (parent && parent.state)
1132
+ return parent.state;
1133
+ return {};
1134
+ } else {
1135
+ __elementRef.__hasRootState = true;
1136
+ }
1137
+ triggerEventOn2("stateInit", element);
1138
+ let stateKey = __elementRef.__state;
1139
+ if (stateKey) {
1140
+ let parentState = parent.state;
1141
+ const parentKeysArr = stateKey.split("../");
1142
+ for (let i = 1; i < parentKeysArr.length; i++) {
1143
+ stateKey = parentKeysArr[i];
1144
+ parentState = parentState.parent;
1145
+ }
1146
+ const childrenKeysArr = stateKey.split(".");
1147
+ for (let i = 0; i < childrenKeysArr.length; i++) {
1148
+ const childKey = childrenKeysArr[i];
1149
+ const grandChildKey = childrenKeysArr[i + 1];
1150
+ const childInParent = parentState[childKey];
1151
+ if (childInParent && childInParent[grandChildKey]) {
1152
+ stateKey = grandChildKey;
1153
+ parentState = childInParent;
1154
+ }
1155
+ }
1156
+ if (parentState && parentState[stateKey]) {
1157
+ const keyInParentState = parentState[stateKey];
1158
+ if ((0, import_utils6.is)(keyInParentState)("object", "array")) {
1159
+ state = deepClone(keyInParentState);
1160
+ } else if ((0, import_utils6.is)(keyInParentState)("string", "number")) {
1161
+ state = { value: keyInParentState };
1162
+ __elementRef.__stateType = "string";
1163
+ } else if ((0, import_utils6.isUndefined)(keyInParentState)) {
1164
+ console.warn(stateKey, "is not in present", "replacing with ", {});
1165
+ state = {};
1166
+ }
1167
+ }
1168
+ }
1169
+ const { __ref } = state;
1170
+ if (__ref) {
1171
+ state = deepClone(__ref, IGNORE_STATE_PARAMS);
1172
+ if ((0, import_utils6.isObject)(__ref.__depends)) {
1173
+ __ref.__depends[element.key] = state;
1174
+ } else
1175
+ __ref.__depends = { [element.key]: state };
1176
+ } else {
1177
+ state = deepClone(state, IGNORE_STATE_PARAMS);
1178
+ }
1179
+ element.state = state;
1180
+ if (skip)
1181
+ return state;
1182
+ state.clean = cleanState;
1183
+ state.parse = parseState;
1184
+ state.update = updateState;
1185
+ state.rootUpdate = rootUpdate;
1186
+ state.create = createState;
1187
+ state.parent = element.parent.state;
1188
+ state.__element = element;
1189
+ state.__root = __elementRef.__root ? __elementRef.__root.state : state;
1190
+ triggerEventOn2("stateCreated", element);
1191
+ return state;
1192
+ };
1193
+ var isState = function(state) {
1194
+ if ((0, import_utils6.is)(state)("object", "array"))
1195
+ return false;
1196
+ if (!state)
1197
+ return false;
1198
+ };
1199
+ var state_default = createState;
1200
+ export {
1201
+ IGNORE_STATE_PARAMS,
1202
+ cleanState,
1203
+ createState,
1204
+ state_default as default,
1205
+ isState,
1206
+ parseState,
1207
+ rootUpdate,
1208
+ updateState
1209
+ };