@domql/element 2.5.198 → 3.0.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 (150) hide show
  1. package/README.md +1 -1
  2. package/__tests__/checkIfOnUpdate.test.js +103 -0
  3. package/__tests__/children.test.js +213 -0
  4. package/__tests__/define.test.js +75 -0
  5. package/__tests__/inheritStateUpdates.test.js +79 -0
  6. package/__tests__/renderElement.test.js +131 -0
  7. package/__tests__/resetElement.test.js +44 -0
  8. package/__tests__/set.test.js +316 -0
  9. package/__tests__/throughExecProps.test.js +86 -0
  10. package/__tests__/throughInitialDefine.test.js +104 -0
  11. package/__tests__/throughInitialExec.test.js +92 -0
  12. package/__tests__/throughUpdatedDefine.test.js +92 -0
  13. package/__tests__/throughUpdatedExec.test.js +110 -0
  14. package/__tests__/tree.test.js +15 -0
  15. package/__tests__/update.test.js +253 -0
  16. package/children.js +105 -0
  17. package/create.js +125 -255
  18. package/dist/cjs/__tests__/checkIfOnUpdate.test.js +73 -0
  19. package/dist/cjs/__tests__/children.test.js +177 -0
  20. package/dist/cjs/__tests__/define.test.js +75 -0
  21. package/dist/cjs/__tests__/inheritStateUpdates.test.js +62 -0
  22. package/dist/cjs/__tests__/renderElement.test.js +138 -0
  23. package/dist/cjs/__tests__/resetElement.test.js +35 -0
  24. package/dist/cjs/__tests__/set.test.js +256 -0
  25. package/dist/cjs/__tests__/throughExecProps.test.js +62 -0
  26. package/dist/cjs/__tests__/throughInitialDefine.test.js +79 -0
  27. package/dist/cjs/__tests__/throughInitialExec.test.js +73 -0
  28. package/dist/cjs/__tests__/throughUpdatedDefine.test.js +69 -0
  29. package/dist/cjs/__tests__/throughUpdatedExec.test.js +84 -0
  30. package/dist/cjs/__tests__/tree.test.js +11 -0
  31. package/dist/cjs/__tests__/update.test.js +219 -0
  32. package/dist/cjs/children.js +87 -0
  33. package/dist/cjs/create.js +74 -215
  34. package/dist/cjs/define.js +1 -2
  35. package/dist/cjs/index.js +3 -3
  36. package/dist/cjs/iterate.js +37 -30
  37. package/dist/cjs/methods/set.js +26 -25
  38. package/dist/cjs/methods/v2.js +7 -17
  39. package/dist/cjs/mixins/attr.js +7 -10
  40. package/dist/cjs/mixins/classList.js +8 -16
  41. package/dist/cjs/mixins/data.js +2 -4
  42. package/dist/cjs/mixins/html.js +2 -4
  43. package/dist/cjs/mixins/index.js +0 -4
  44. package/dist/cjs/mixins/registry.js +7 -67
  45. package/dist/cjs/mixins/scope.js +2 -3
  46. package/dist/cjs/mixins/state.js +4 -7
  47. package/dist/cjs/mixins/style.js +2 -4
  48. package/dist/cjs/mixins/text.js +5 -8
  49. package/dist/cjs/node.js +34 -30
  50. package/dist/cjs/set.js +112 -47
  51. package/dist/cjs/update.js +123 -92
  52. package/dist/cjs/utils/applyParam.js +3 -4
  53. package/dist/cjs/utils/index.js +8 -4
  54. package/dist/cjs/utils/onlyResolveExtends.js +14 -30
  55. package/dist/esm/__tests__/checkIfOnUpdate.test.js +73 -0
  56. package/dist/esm/__tests__/children.test.js +177 -0
  57. package/dist/esm/__tests__/define.test.js +53 -0
  58. package/dist/esm/__tests__/inheritStateUpdates.test.js +62 -0
  59. package/dist/esm/__tests__/renderElement.test.js +116 -0
  60. package/dist/esm/__tests__/resetElement.test.js +35 -0
  61. package/dist/esm/__tests__/set.test.js +256 -0
  62. package/dist/esm/__tests__/throughExecProps.test.js +62 -0
  63. package/dist/esm/__tests__/throughInitialDefine.test.js +79 -0
  64. package/dist/esm/__tests__/throughInitialExec.test.js +73 -0
  65. package/dist/esm/__tests__/throughUpdatedDefine.test.js +69 -0
  66. package/dist/esm/__tests__/throughUpdatedExec.test.js +84 -0
  67. package/dist/esm/__tests__/tree.test.js +11 -0
  68. package/dist/esm/__tests__/update.test.js +219 -0
  69. package/dist/esm/children.js +81 -0
  70. package/dist/esm/create.js +79 -226
  71. package/dist/esm/define.js +1 -2
  72. package/dist/esm/iterate.js +41 -33
  73. package/dist/esm/methods/set.js +5 -4
  74. package/dist/esm/methods/v2.js +7 -17
  75. package/dist/esm/mixins/attr.js +8 -11
  76. package/dist/esm/mixins/classList.js +8 -16
  77. package/dist/esm/mixins/data.js +3 -5
  78. package/dist/esm/mixins/html.js +2 -4
  79. package/dist/esm/mixins/index.js +0 -4
  80. package/dist/esm/mixins/registry.js +7 -67
  81. package/dist/esm/mixins/scope.js +2 -3
  82. package/dist/esm/mixins/state.js +5 -8
  83. package/dist/esm/mixins/style.js +2 -4
  84. package/dist/esm/mixins/text.js +6 -12
  85. package/dist/esm/node.js +25 -31
  86. package/dist/esm/set.js +112 -47
  87. package/dist/esm/update.js +127 -97
  88. package/dist/esm/utils/applyParam.js +3 -4
  89. package/dist/esm/utils/index.js +4 -3
  90. package/dist/esm/utils/onlyResolveExtends.js +22 -31
  91. package/iterate.js +44 -26
  92. package/methods/set.js +5 -4
  93. package/methods/v2.js +5 -4
  94. package/mixins/attr.js +13 -7
  95. package/mixins/classList.js +7 -2
  96. package/mixins/data.js +1 -1
  97. package/mixins/index.js +1 -6
  98. package/mixins/registry.js +6 -53
  99. package/mixins/scope.js +1 -1
  100. package/mixins/state.js +4 -5
  101. package/mixins/text.js +4 -7
  102. package/node.js +31 -28
  103. package/package.json +7 -6
  104. package/set.js +129 -41
  105. package/update.js +169 -89
  106. package/utils/applyParam.js +7 -4
  107. package/utils/index.js +1 -3
  108. package/utils/onlyResolveExtends.js +27 -16
  109. package/cache/index.js +0 -3
  110. package/cache/options.js +0 -4
  111. package/dist/cjs/cache/index.js +0 -24
  112. package/dist/cjs/cache/options.js +0 -26
  113. package/dist/cjs/extend.js +0 -85
  114. package/dist/cjs/methods/index.js +0 -353
  115. package/dist/cjs/mixins/content.js +0 -74
  116. package/dist/cjs/props/create.js +0 -98
  117. package/dist/cjs/props/ignore.js +0 -24
  118. package/dist/cjs/props/index.js +0 -21
  119. package/dist/cjs/props/inherit.js +0 -53
  120. package/dist/cjs/props/update.js +0 -37
  121. package/dist/cjs/utils/component.js +0 -77
  122. package/dist/cjs/utils/extendUtils.js +0 -142
  123. package/dist/cjs/utils/object.js +0 -179
  124. package/dist/cjs/utils/propEvents.js +0 -41
  125. package/dist/esm/cache/index.js +0 -4
  126. package/dist/esm/cache/options.js +0 -6
  127. package/dist/esm/extend.js +0 -71
  128. package/dist/esm/methods/index.js +0 -333
  129. package/dist/esm/mixins/content.js +0 -54
  130. package/dist/esm/props/create.js +0 -78
  131. package/dist/esm/props/ignore.js +0 -4
  132. package/dist/esm/props/index.js +0 -4
  133. package/dist/esm/props/inherit.js +0 -33
  134. package/dist/esm/props/update.js +0 -17
  135. package/dist/esm/utils/component.js +0 -65
  136. package/dist/esm/utils/extendUtils.js +0 -122
  137. package/dist/esm/utils/object.js +0 -159
  138. package/dist/esm/utils/propEvents.js +0 -21
  139. package/extend.js +0 -90
  140. package/methods/index.js +0 -317
  141. package/mixins/content.js +0 -55
  142. package/props/create.js +0 -87
  143. package/props/ignore.js +0 -3
  144. package/props/index.js +0 -6
  145. package/props/inherit.js +0 -35
  146. package/props/update.js +0 -17
  147. package/utils/component.js +0 -68
  148. package/utils/extendUtils.js +0 -134
  149. package/utils/object.js +0 -172
  150. package/utils/propEvents.js +0 -19
package/dist/cjs/index.js CHANGED
@@ -26,8 +26,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var element_exports = {};
30
- __export(element_exports, {
29
+ var index_exports = {};
30
+ __export(index_exports, {
31
31
  TREE: () => import_tree.TREE,
32
32
  create: () => import_create.default,
33
33
  createNode: () => import_node.default,
@@ -35,7 +35,7 @@ __export(element_exports, {
35
35
  set: () => import_set.default,
36
36
  update: () => import_update.default
37
37
  });
38
- module.exports = __toCommonJS(element_exports);
38
+ module.exports = __toCommonJS(index_exports);
39
39
  var import_tree = require("./tree");
40
40
  var import_create = __toESM(require("./create"), 1);
41
41
  var import_node = __toESM(require("./node"), 1);
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var iterate_exports = {};
20
20
  __export(iterate_exports, {
21
+ isPropertyInDefines: () => isPropertyInDefines,
21
22
  throughExecProps: () => throughExecProps,
22
23
  throughInitialDefine: () => throughInitialDefine,
23
24
  throughInitialExec: () => throughInitialExec,
@@ -26,38 +27,38 @@ __export(iterate_exports, {
26
27
  });
27
28
  module.exports = __toCommonJS(iterate_exports);
28
29
  var import_utils = require("@domql/utils");
29
- var import_utils2 = require("./utils/index.js");
30
- var import_methods = require("./methods/index.js");
31
30
  const throughInitialExec = (element, exclude = {}) => {
32
31
  const { __ref: ref } = element;
33
32
  for (const param in element) {
34
- if (exclude[param])
35
- continue;
33
+ if (exclude[param]) continue;
36
34
  const prop = element[param];
37
- if ((0, import_utils.isFunction)(prop) && !(0, import_methods.isMethod)(param, element) && !(0, import_utils.isVariant)(param)) {
35
+ if ((0, import_utils.isFunction)(prop) && !(0, import_utils.isMethod)(param, element)) {
38
36
  ref.__exec[param] = prop;
39
37
  element[param] = prop(element, element.state, element.context);
40
38
  }
41
39
  }
42
40
  };
43
- const throughUpdatedExec = (element, options = { excludes: import_utils2.METHODS_EXL }) => {
41
+ const throughUpdatedExec = (element, options = {}) => {
44
42
  const { __ref: ref } = element;
45
43
  const changes = {};
46
44
  for (const param in ref.__exec) {
47
45
  const prop = element[param];
48
46
  const isDefinedParam = ref.__defineCache[param];
49
- if (isDefinedParam)
50
- continue;
47
+ if (isDefinedParam) continue;
51
48
  const newExec = ref.__exec[param](element, element.state, element.context);
52
49
  const execReturnsString = (0, import_utils.isString)(newExec) || (0, import_utils.isNumber)(newExec);
53
50
  if (prop && prop.node && execReturnsString) {
54
- (0, import_utils2.overwrite)(prop, { text: newExec }, options);
51
+ (0, import_utils.overwrite)(prop, { text: newExec });
55
52
  } else if (newExec !== prop) {
56
- if ((0, import_utils.checkIfKeyIsComponent)(param)) {
57
- const { extend, ...newElem } = (0, import_utils.extendizeByKey)(newExec, element, param);
58
- (0, import_utils2.overwrite)(prop, newElem, options);
53
+ if ((0, import_utils.matchesComponentNaming)(param)) {
54
+ const { extends: extend, ...newElem } = (0, import_utils.isContextComponent)(
55
+ newExec,
56
+ element,
57
+ param
58
+ );
59
+ (0, import_utils.overwrite)(prop, newElem);
59
60
  } else {
60
- ref.__cached[param] = changes[param] = prop;
61
+ changes[param] = prop;
61
62
  element[param] = newExec;
62
63
  }
63
64
  }
@@ -78,17 +79,17 @@ const throughExecProps = (element) => {
78
79
  }
79
80
  }
80
81
  };
82
+ const isPropertyInDefines = (key, element) => {
83
+ };
81
84
  const throughInitialDefine = (element) => {
82
85
  const { define, context, __ref: ref } = element;
83
86
  let defineObj = {};
84
87
  const hasGlobalDefine = context && (0, import_utils.isObject)(context.define);
85
- if ((0, import_utils.isObject)(define))
86
- defineObj = { ...define };
87
- if (hasGlobalDefine)
88
- defineObj = { ...defineObj, ...context.define };
88
+ if ((0, import_utils.isObject)(define)) defineObj = { ...define };
89
+ if (hasGlobalDefine) defineObj = { ...defineObj, ...context.define };
89
90
  for (const param in defineObj) {
90
91
  let elementProp = element[param];
91
- if ((0, import_utils.isFunction)(elementProp) && !(0, import_methods.isMethod)(param, element) && !(0, import_utils.isVariant)(param)) {
92
+ if ((0, import_utils.isFunction)(elementProp) && !(0, import_utils.isMethod)(param, element)) {
92
93
  ref.__exec[param] = elementProp;
93
94
  const execParam2 = elementProp = (0, import_utils.exec)(elementProp, element);
94
95
  if (execParam2) {
@@ -96,9 +97,13 @@ const throughInitialDefine = (element) => {
96
97
  ref.__defineCache[param] = elementProp;
97
98
  }
98
99
  }
99
- const execParam = defineObj[param](elementProp, element, element.state, element.context);
100
- if (execParam)
101
- element[param] = execParam;
100
+ const execParam = defineObj[param](
101
+ elementProp,
102
+ element,
103
+ element.state,
104
+ element.context
105
+ );
106
+ if (execParam) element[param] = execParam;
102
107
  }
103
108
  return element;
104
109
  };
@@ -106,18 +111,20 @@ const throughUpdatedDefine = (element) => {
106
111
  const { context, define, __ref: ref } = element;
107
112
  const changes = {};
108
113
  let obj = {};
109
- if ((0, import_utils.isObject)(define))
110
- obj = { ...define };
111
- if ((0, import_utils.isObject)(context && context.define))
112
- obj = { ...obj, ...context.define };
114
+ if ((0, import_utils.isObject)(define)) obj = { ...define };
115
+ if ((0, import_utils.isObject)(context && context.define)) obj = { ...obj, ...context.define };
113
116
  for (const param in obj) {
114
117
  const execParam = ref.__exec[param];
115
- if (execParam)
116
- ref.__defineCache[param] = execParam(element, element.state, element.context);
118
+ if (execParam) {
119
+ ref.__defineCache[param] = execParam(
120
+ element,
121
+ element.state,
122
+ element.context
123
+ );
124
+ }
117
125
  const cached = (0, import_utils.exec)(ref.__defineCache[param], element);
118
- const newExecParam = obj[param](cached, element, element.state, element.context);
119
- if (newExecParam)
120
- element[param] = newExecParam;
126
+ const newExecParam = typeof obj[param] === "function" ? obj[param](cached, element, element.state, element.context) : void 0;
127
+ if (newExecParam) element[param] = newExecParam;
121
128
  }
122
129
  return changes;
123
130
  };
@@ -24,37 +24,38 @@ module.exports = __toCommonJS(set_exports);
24
24
  var import_utils = require("@domql/utils");
25
25
  var import_set = require("../set.js");
26
26
  var import_update = require("../update.js");
27
- var import_content = require("../mixins/content.js");
28
- var import_index = require("./index.js");
27
+ var import_methods = require("@domql/utils/methods");
29
28
  const addMethods = (element, parent, options = {}) => {
30
29
  const proto = {
31
30
  set: import_set.set,
32
31
  reset: import_set.reset,
33
32
  update: import_update.update,
34
- variables: import_index.variables,
35
- remove: import_index.remove,
36
- updateContent: import_content.updateContent,
37
- removeContent: import_content.removeContent,
38
- setProps: import_index.setProps,
39
- lookup: import_index.lookup,
40
- lookdown: import_index.lookdown,
41
- lookdownAll: import_index.lookdownAll,
42
- getRef: import_index.getRef,
43
- getPath: import_index.getPath,
44
- setNodeStyles: import_index.setNodeStyles,
45
- spotByPath: import_index.spotByPath,
46
- parse: import_index.parse,
47
- parseDeep: import_index.parseDeep,
48
- keys: import_index.keys,
49
- nextElement: import_index.nextElement,
50
- previousElement: import_index.previousElement,
51
- log: import_index.log,
52
- verbose: import_index.verbose,
53
- warn: import_index.warn,
54
- error: import_index.error,
55
- call: import_index.call
33
+ variables: import_methods.variables,
34
+ remove: import_methods.remove,
35
+ updateContent: import_set.updateContent,
36
+ removeContent: import_set.removeContent,
37
+ setProps: import_methods.setProps,
38
+ lookup: import_methods.lookup,
39
+ lookdown: import_methods.lookdown,
40
+ lookdownAll: import_methods.lookdownAll,
41
+ getRef: import_methods.getRef,
42
+ getPath: import_methods.getPath,
43
+ setNodeStyles: import_methods.setNodeStyles,
44
+ spotByPath: import_methods.spotByPath,
45
+ parse: import_methods.parse,
46
+ parseDeep: import_methods.parseDeep,
47
+ keys: import_methods.keys,
48
+ nextElement: import_methods.nextElement,
49
+ previousElement: import_methods.previousElement,
50
+ log: import_methods.log,
51
+ verbose: import_methods.verbose,
52
+ warn: import_methods.warn,
53
+ error: import_methods.error,
54
+ call: import_methods.call
56
55
  };
57
- if (element.context.methods)
56
+ if (element.context.methods) {
57
+ ;
58
58
  (options.strict ? import_utils.merge : import_utils.overwrite)(proto, element.context.methods);
59
+ }
59
60
  Object.setPrototypeOf(element, proto);
60
61
  };
@@ -28,15 +28,11 @@ __export(v2_exports, {
28
28
  });
29
29
  module.exports = __toCommonJS(v2_exports);
30
30
  var import_utils = require("@domql/utils");
31
- var import_mixins = require("../mixins/index.js");
32
31
  const defineSetter = (element, key, get, set) => Object.defineProperty(element, key, { get, set });
33
32
  const keys = function() {
34
33
  const element = this;
35
34
  const keys2 = [];
36
35
  for (const param in element) {
37
- if (import_mixins.REGISTRY[param] && !import_mixins.parseFilters.elementKeys.includes(param)) {
38
- continue;
39
- }
40
36
  keys2.push(param);
41
37
  }
42
38
  return keys2;
@@ -46,19 +42,15 @@ const parse = function(excl = []) {
46
42
  const obj = {};
47
43
  const keyList = keys.call(element);
48
44
  keyList.forEach((v) => {
49
- if (excl.includes(v))
50
- return;
45
+ if (excl.includes(v)) return;
51
46
  let val = element[v];
52
47
  if (v === "state") {
53
- if (element.__ref && element.__ref.__hasRootState)
54
- return;
55
- if ((0, import_utils.isFunction)(val && val.parse))
56
- val = val.parse();
48
+ if (element.__ref && element.__ref.__hasRootState) return;
49
+ if ((0, import_utils.isFunction)(val && val.parse)) val = val.parse();
57
50
  } else if (v === "props") {
58
51
  const { __element, update, ...props } = element[v];
59
52
  obj[v] = props;
60
- } else if ((0, import_utils.isDefined)(val))
61
- obj[v] = val;
53
+ } else if ((0, import_utils.isDefined)(val)) obj[v] = val;
62
54
  });
63
55
  return obj;
64
56
  };
@@ -66,8 +58,7 @@ const parseDeep = function(excl = []) {
66
58
  const element = this;
67
59
  const obj = parse.call(element, excl);
68
60
  for (const v in obj) {
69
- if (excl.includes(v))
70
- return;
61
+ if (excl.includes(v)) return;
71
62
  if ((0, import_utils.isObjectLike)(obj[v])) {
72
63
  obj[v] = parseDeep.call(obj[v], excl);
73
64
  }
@@ -82,7 +73,7 @@ const log = function(...args) {
82
73
  args.forEach((v) => console.log(`%c${v}:
83
74
  `, "font-weight: bold", element[v]));
84
75
  } else {
85
- console.log(__ref.path);
76
+ console.log(__ref == null ? void 0 : __ref.path);
86
77
  const keys2 = element.keys();
87
78
  keys2.forEach((v) => console.log(`%c${v}:
88
79
  `, "font-weight: bold", element[v]));
@@ -102,8 +93,7 @@ const previousElement = function(el) {
102
93
  const element = el || this;
103
94
  const { key, parent } = element;
104
95
  const { __children } = parent.__ref;
105
- if (!__children)
106
- return;
96
+ if (!__children) return;
107
97
  const currentIndex = __children.indexOf(key);
108
98
  return parent[__children[currentIndex - 1]];
109
99
  };
@@ -24,21 +24,18 @@ __export(attr_exports, {
24
24
  module.exports = __toCommonJS(attr_exports);
25
25
  var import_utils = require("@domql/utils");
26
26
  var import_report = require("@domql/report");
27
- var import_utils2 = require("../utils/index.js");
28
27
  function attr(params, element, node) {
29
28
  const { __ref: ref, props } = element;
30
29
  const { __attr } = ref;
31
- if ((0, import_utils.isNot)("object"))
32
- (0, import_report.report)("HTMLInvalidAttr", params);
30
+ if ((0, import_utils.isNot)("object")) (0, import_report.report)("HTMLInvalidAttr", params);
33
31
  if (params) {
34
- if (props.attr)
35
- (0, import_utils2.deepMerge)(params, props.attr);
36
- for (const attr2 in params) {
37
- const val = (0, import_utils.exec)(params[attr2], element);
38
- if (val !== false && !(0, import_utils.isUndefined)(val) && !(0, import_utils.isNull)(val) && node.setAttribute)
32
+ const attrs = (0, import_utils.exec)(params, element);
33
+ if (props.attr) (0, import_utils.deepMerge)(attrs, props.attr);
34
+ for (const attr2 in attrs) {
35
+ const val = (0, import_utils.exec)(attrs[attr2], element);
36
+ if (val !== false && !(0, import_utils.isUndefined)(val) && !(0, import_utils.isNull)(val) && node.setAttribute) {
39
37
  node.setAttribute(attr2, val);
40
- else if (node.removeAttribute)
41
- node.removeAttribute(attr2);
38
+ } else if (node.removeAttribute) node.removeAttribute(attr2);
42
39
  __attr[attr2] = val;
43
40
  }
44
41
  }
@@ -29,8 +29,7 @@ module.exports = __toCommonJS(classList_exports);
29
29
  var import_utils = require("@domql/utils");
30
30
  const assignKeyAsClassname = (element) => {
31
31
  const { key } = element;
32
- if (element.class === true)
33
- element.class = key;
32
+ if (element.class === true) element.class = key;
34
33
  else if (!element.class && typeof key === "string" && key.charAt(0) === "_" && key.charAt(1) !== "_") {
35
34
  element.class = key.slice(1);
36
35
  }
@@ -39,10 +38,8 @@ const classify = (obj, element) => {
39
38
  let className = "";
40
39
  for (const item in obj) {
41
40
  const param = obj[item];
42
- if (typeof param === "boolean" && param)
43
- className += ` ${item}`;
44
- else if (typeof param === "string")
45
- className += ` ${param}`;
41
+ if (typeof param === "boolean" && param) className += ` ${item}`;
42
+ else if (typeof param === "string") className += ` ${param}`;
46
43
  else if (typeof param === "function") {
47
44
  className += ` ${(0, import_utils.exec)(param, element)}`;
48
45
  }
@@ -50,18 +47,13 @@ const classify = (obj, element) => {
50
47
  return className;
51
48
  };
52
49
  const classList = (params, element) => {
53
- if (!params)
54
- return;
50
+ if (!params) return;
55
51
  const { key } = element;
56
- if (params === true)
57
- params = element.class = { key };
58
- if ((0, import_utils.isString)(params))
59
- params = element.class = { default: params };
60
- if ((0, import_utils.isObject)(params))
61
- params = classify(params, element);
52
+ if (params === true) params = element.class = { key };
53
+ if ((0, import_utils.isString)(params)) params = element.class = { default: params };
54
+ if ((0, import_utils.isObject)(params)) params = classify(params, element);
62
55
  const className = params.replace(/\s+/g, " ").trim();
63
- if (element.ref)
64
- element.ref.class = className;
56
+ if (element.ref) element.ref.class = className;
65
57
  return className;
66
58
  };
67
59
  const applyClassListOnNode = (params, element, node) => {
@@ -26,11 +26,9 @@ var import_utils = require("@domql/utils");
26
26
  var import_report = require("@domql/report");
27
27
  function data(params, element, node) {
28
28
  if (params) {
29
- if (element.props.data)
30
- (0, import_utils.deepMerge)(params, element.props.data);
29
+ if (element.props.data) (0, import_utils.deepMerge)(params, element.props.data);
31
30
  if (params.showOnNode) {
32
- if (!(0, import_utils.isObject)(params))
33
- (0, import_report.report)("HTMLInvalidData", params);
31
+ if (!(0, import_utils.isObject)(params)) (0, import_report.report)("HTMLInvalidData", params);
34
32
  for (const dataset in params) {
35
33
  if (dataset !== "showOnNode") {
36
34
  node.dataset[dataset] = (0, import_utils.exec)(params[dataset], element);
@@ -28,10 +28,8 @@ function html(param, element, node) {
28
28
  const prop = (0, import_utils.exec)(param, element) || (0, import_utils.exec)((_a = element == null ? void 0 : element.props) == null ? void 0 : _a.html, element);
29
29
  const { __ref } = element;
30
30
  if (prop !== __ref.__html) {
31
- if (node.nodeName === "SVG")
32
- node.textContent = prop;
33
- else
34
- node.innerHTML = prop;
31
+ if (node.nodeName === "SVG") node.textContent = prop;
32
+ else node.innerHTML = prop;
35
33
  __ref.__html = prop;
36
34
  }
37
35
  }
@@ -21,10 +21,8 @@ var mixins_exports = {};
21
21
  __export(mixins_exports, {
22
22
  attr: () => import_attr.attr,
23
23
  classList: () => import_classList.applyClasslist,
24
- content: () => import_content.setContent,
25
24
  data: () => import_data.data,
26
25
  html: () => import_html.html,
27
- registry: () => import_registry.REGISTRY,
28
26
  scope: () => import_scope.scope,
29
27
  state: () => import_state.state,
30
28
  style: () => import_style.style,
@@ -33,12 +31,10 @@ __export(mixins_exports, {
33
31
  module.exports = __toCommonJS(mixins_exports);
34
32
  var import_attr = require("./attr.js");
35
33
  var import_classList = require("./classList.js");
36
- var import_content = require("./content.js");
37
34
  var import_data = require("./data.js");
38
35
  var import_html = require("./html.js");
39
36
  var import_style = require("./style.js");
40
37
  var import_text = require("./text.js");
41
38
  var import_state = require("./state.js");
42
39
  var import_scope = require("./scope.js");
43
- var import_registry = require("./registry.js");
44
40
  __reExport(mixins_exports, require("./registry.js"), module.exports);
@@ -29,14 +29,11 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
29
29
  var registry_exports = {};
30
30
  __export(registry_exports, {
31
31
  REGISTRY: () => REGISTRY,
32
- collectionFilters: () => collectionFilters,
33
- default: () => registry_default,
34
- parseFilters: () => parseFilters
32
+ default: () => registry_default
35
33
  });
36
34
  module.exports = __toCommonJS(registry_exports);
37
35
  var import_attr = __toESM(require("./attr.js"), 1);
38
36
  var import_classList = require("./classList.js");
39
- var import_content = __toESM(require("./content.js"), 1);
40
37
  var import_data = __toESM(require("./data.js"), 1);
41
38
  var import_html = __toESM(require("./html.js"), 1);
42
39
  var import_scope = __toESM(require("./scope.js"), 1);
@@ -48,88 +45,31 @@ const REGISTRY = {
48
45
  style: import_style.default,
49
46
  text: import_text.default,
50
47
  html: import_html.default,
51
- content: import_content.default,
52
48
  data: import_data.default,
53
49
  class: import_classList.classList,
54
50
  state: import_state.default,
55
51
  scope: import_scope.default,
56
52
  deps: (param, el) => param || el.parent.deps,
57
- extend: {},
58
- childExtend: {},
59
- childExtendRecursive: {},
53
+ extends: {},
54
+ children: {},
55
+ content: {},
56
+ childExtends: {},
57
+ childExtendsRecursive: {},
60
58
  props: {},
61
- path: {},
62
59
  if: {},
63
60
  define: {},
64
- transform: {},
65
61
  __name: {},
66
62
  __ref: {},
67
63
  __hash: {},
68
64
  __text: {},
69
- nextElement: {},
70
- previousElement: {},
71
65
  key: {},
72
66
  tag: {},
73
67
  query: {},
74
68
  parent: {},
75
69
  node: {},
76
- set: {},
77
- reset: {},
78
- update: {},
79
- error: {},
80
- warn: {},
81
- call: {},
82
- setProps: {},
83
- remove: {},
84
- updateContent: {},
85
- removeContent: {},
86
70
  variables: {},
87
- lookup: {},
88
- lookdown: {},
89
- getRef: {},
90
- getPath: {},
91
- lookdownAll: {},
92
- setNodeStyles: {},
93
- spotByPath: {},
94
- keys: {},
95
- log: {},
96
- parse: {},
97
- parseDeep: {},
98
71
  on: {},
99
72
  component: {},
100
- context: {},
101
- $collection: {},
102
- $stateCollection: {},
103
- $propsCollection: {},
104
- $setCollection: {},
105
- $setStateCollection: {},
106
- $setPropsCollection: {}
73
+ context: {}
107
74
  };
108
75
  var registry_default = REGISTRY;
109
- const parseFilters = {
110
- elementKeys: [
111
- "tag",
112
- "text",
113
- "style",
114
- "attr",
115
- "class",
116
- "state",
117
- "props",
118
- "data",
119
- "content",
120
- "html",
121
- "on",
122
- "key",
123
- "extend",
124
- "childExtend",
125
- "childExtendRecursive",
126
- "scope",
127
- "query",
128
- "$collection",
129
- "$stateCollection",
130
- "$propsCollection"
131
- ],
132
- propsKeys: ["__element", "update"],
133
- stateKeys: []
134
- };
135
- const collectionFilters = ["$collection", "$stateCollection", "$propsCollection"];
@@ -23,9 +23,8 @@ __export(scope_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(scope_exports);
25
25
  var import_utils = require("@domql/utils");
26
- function scope(params, element, node) {
27
- if (!(0, import_utils.isObject)(params))
28
- return;
26
+ async function scope(params, element, node) {
27
+ if (!(0, import_utils.isObject)(params)) return;
29
28
  for (const scopeItem in params) {
30
29
  const value = params[scopeItem];
31
30
  if ((0, import_utils.isFunction)(value)) {
@@ -22,16 +22,13 @@ __export(state_exports, {
22
22
  state: () => state
23
23
  });
24
24
  module.exports = __toCommonJS(state_exports);
25
- var import_state = require("@domql/state");
26
25
  var import_utils = require("@domql/utils");
27
- function state(params, element, node) {
28
- const state2 = (0, import_utils.exec)(params, element);
26
+ async function state(params, element, node) {
27
+ const state2 = await (0, import_utils.execPromise)(params, element);
29
28
  if ((0, import_utils.isObject)(state2)) {
30
29
  for (const param in state2) {
31
- if (import_state.IGNORE_STATE_PARAMS.includes(param))
32
- continue;
33
- if (!Object.hasOwnProperty.call(state2, param))
34
- continue;
30
+ if (import_utils.STATE_METHODS.includes(param)) continue;
31
+ if (!Object.hasOwnProperty.call(state2, param)) continue;
35
32
  }
36
33
  }
37
34
  return element;
@@ -26,10 +26,8 @@ var import_utils = require("@domql/utils");
26
26
  var import_report = require("@domql/report");
27
27
  function style(params, element, node) {
28
28
  if (params) {
29
- if ((0, import_utils.isObject)(params))
30
- (0, import_utils.map)(node.style, params, element);
31
- else
32
- (0, import_report.report)("HTMLInvalidStyles", params);
29
+ if ((0, import_utils.isObject)(params)) (0, import_utils.map)(node.style, params, element);
30
+ else (0, import_report.report)("HTMLInvalidStyles", params);
33
31
  }
34
32
  }
35
33
  var style_default = style;
@@ -24,8 +24,8 @@ __export(text_exports, {
24
24
  module.exports = __toCommonJS(text_exports);
25
25
  var import_create = require("../create.js");
26
26
  var import_utils = require("@domql/utils");
27
- function text(param, element, node) {
28
- let prop = (0, import_utils.exec)(param, element);
27
+ async function text(param, element, node) {
28
+ let prop = (0, import_utils.exec)(param || element.props.text, element);
29
29
  if ((0, import_utils.isString)(prop) && prop.includes("{{")) {
30
30
  prop = element.call("replaceLiteralsWithObjectFields", prop);
31
31
  }
@@ -33,13 +33,10 @@ function text(param, element, node) {
33
33
  node.nodeValue = prop;
34
34
  } else if (param !== void 0 || param !== null) {
35
35
  if (element.__text) {
36
- if (element.__text.text === prop)
37
- return;
36
+ if (element.__text.text === prop) return;
38
37
  element.__text.text = prop;
39
- if (element.__text.node)
40
- element.__text.node.nodeValue = prop;
41
- } else
42
- (0, import_create.create)({ tag: "string", text: prop }, element, "__text");
38
+ if (element.__text.node) element.__text.node.nodeValue = prop;
39
+ } else await (0, import_create.create)({ tag: "string", text: prop }, element, "__text");
43
40
  }
44
41
  }
45
42
  var text_default = text;