@domql/element 2.5.200 → 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 (140) 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 +78 -177
  34. package/dist/cjs/iterate.js +29 -13
  35. package/dist/cjs/methods/set.js +27 -25
  36. package/dist/cjs/methods/v2.js +1 -5
  37. package/dist/cjs/mixins/attr.js +7 -6
  38. package/dist/cjs/mixins/index.js +0 -4
  39. package/dist/cjs/mixins/registry.js +7 -67
  40. package/dist/cjs/mixins/scope.js +1 -1
  41. package/dist/cjs/mixins/state.js +3 -4
  42. package/dist/cjs/mixins/text.js +3 -3
  43. package/dist/cjs/node.js +32 -22
  44. package/dist/cjs/set.js +112 -40
  45. package/dist/cjs/update.js +119 -64
  46. package/dist/cjs/utils/applyParam.js +2 -2
  47. package/dist/cjs/utils/index.js +8 -4
  48. package/dist/cjs/utils/onlyResolveExtends.js +4 -7
  49. package/dist/esm/__tests__/checkIfOnUpdate.test.js +73 -0
  50. package/dist/esm/__tests__/children.test.js +177 -0
  51. package/dist/esm/__tests__/define.test.js +53 -0
  52. package/dist/esm/__tests__/inheritStateUpdates.test.js +62 -0
  53. package/dist/esm/__tests__/renderElement.test.js +116 -0
  54. package/dist/esm/__tests__/resetElement.test.js +35 -0
  55. package/dist/esm/__tests__/set.test.js +256 -0
  56. package/dist/esm/__tests__/throughExecProps.test.js +62 -0
  57. package/dist/esm/__tests__/throughInitialDefine.test.js +79 -0
  58. package/dist/esm/__tests__/throughInitialExec.test.js +73 -0
  59. package/dist/esm/__tests__/throughUpdatedDefine.test.js +69 -0
  60. package/dist/esm/__tests__/throughUpdatedExec.test.js +84 -0
  61. package/dist/esm/__tests__/tree.test.js +11 -0
  62. package/dist/esm/__tests__/update.test.js +219 -0
  63. package/dist/esm/children.js +81 -0
  64. package/dist/esm/create.js +83 -188
  65. package/dist/esm/iterate.js +33 -16
  66. package/dist/esm/methods/set.js +6 -4
  67. package/dist/esm/methods/v2.js +1 -5
  68. package/dist/esm/mixins/attr.js +8 -7
  69. package/dist/esm/mixins/data.js +1 -1
  70. package/dist/esm/mixins/index.js +0 -4
  71. package/dist/esm/mixins/registry.js +7 -67
  72. package/dist/esm/mixins/scope.js +1 -1
  73. package/dist/esm/mixins/state.js +4 -5
  74. package/dist/esm/mixins/text.js +4 -7
  75. package/dist/esm/node.js +23 -23
  76. package/dist/esm/set.js +112 -40
  77. package/dist/esm/update.js +122 -68
  78. package/dist/esm/utils/applyParam.js +2 -2
  79. package/dist/esm/utils/index.js +4 -3
  80. package/dist/esm/utils/onlyResolveExtends.js +12 -8
  81. package/iterate.js +44 -26
  82. package/methods/set.js +5 -4
  83. package/methods/v2.js +5 -4
  84. package/mixins/attr.js +13 -7
  85. package/mixins/classList.js +7 -2
  86. package/mixins/data.js +1 -1
  87. package/mixins/index.js +1 -6
  88. package/mixins/registry.js +6 -53
  89. package/mixins/scope.js +1 -1
  90. package/mixins/state.js +4 -5
  91. package/mixins/text.js +4 -7
  92. package/node.js +31 -28
  93. package/package.json +7 -6
  94. package/set.js +129 -41
  95. package/update.js +169 -89
  96. package/utils/applyParam.js +7 -4
  97. package/utils/index.js +1 -3
  98. package/utils/onlyResolveExtends.js +27 -16
  99. package/cache/index.js +0 -3
  100. package/cache/options.js +0 -4
  101. package/dist/cjs/cache/index.js +0 -24
  102. package/dist/cjs/cache/options.js +0 -26
  103. package/dist/cjs/extend.js +0 -81
  104. package/dist/cjs/methods/index.js +0 -320
  105. package/dist/cjs/mixins/content.js +0 -67
  106. package/dist/cjs/props/create.js +0 -92
  107. package/dist/cjs/props/ignore.js +0 -24
  108. package/dist/cjs/props/index.js +0 -21
  109. package/dist/cjs/props/inherit.js +0 -51
  110. package/dist/cjs/props/update.js +0 -34
  111. package/dist/cjs/utils/component.js +0 -74
  112. package/dist/cjs/utils/extendUtils.js +0 -133
  113. package/dist/cjs/utils/object.js +0 -171
  114. package/dist/cjs/utils/propEvents.js +0 -39
  115. package/dist/esm/cache/index.js +0 -4
  116. package/dist/esm/cache/options.js +0 -6
  117. package/dist/esm/extend.js +0 -67
  118. package/dist/esm/methods/index.js +0 -300
  119. package/dist/esm/mixins/content.js +0 -47
  120. package/dist/esm/props/create.js +0 -72
  121. package/dist/esm/props/ignore.js +0 -4
  122. package/dist/esm/props/index.js +0 -4
  123. package/dist/esm/props/inherit.js +0 -31
  124. package/dist/esm/props/update.js +0 -14
  125. package/dist/esm/utils/component.js +0 -62
  126. package/dist/esm/utils/extendUtils.js +0 -113
  127. package/dist/esm/utils/object.js +0 -151
  128. package/dist/esm/utils/propEvents.js +0 -19
  129. package/extend.js +0 -90
  130. package/methods/index.js +0 -317
  131. package/mixins/content.js +0 -55
  132. package/props/create.js +0 -87
  133. package/props/ignore.js +0 -3
  134. package/props/index.js +0 -6
  135. package/props/inherit.js +0 -35
  136. package/props/update.js +0 -17
  137. package/utils/component.js +0 -68
  138. package/utils/extendUtils.js +0 -134
  139. package/utils/object.js +0 -172
  140. package/utils/propEvents.js +0 -19
@@ -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,20 +27,18 @@ __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
33
  if (exclude[param]) continue;
35
34
  const prop = element[param];
36
- 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)) {
37
36
  ref.__exec[param] = prop;
38
37
  element[param] = prop(element, element.state, element.context);
39
38
  }
40
39
  }
41
40
  };
42
- const throughUpdatedExec = (element, options = { excludes: import_utils2.METHODS_EXL }) => {
41
+ const throughUpdatedExec = (element, options = {}) => {
43
42
  const { __ref: ref } = element;
44
43
  const changes = {};
45
44
  for (const param in ref.__exec) {
@@ -49,13 +48,17 @@ const throughUpdatedExec = (element, options = { excludes: import_utils2.METHODS
49
48
  const newExec = ref.__exec[param](element, element.state, element.context);
50
49
  const execReturnsString = (0, import_utils.isString)(newExec) || (0, import_utils.isNumber)(newExec);
51
50
  if (prop && prop.node && execReturnsString) {
52
- (0, import_utils2.overwrite)(prop, { text: newExec }, options);
51
+ (0, import_utils.overwrite)(prop, { text: newExec });
53
52
  } else if (newExec !== prop) {
54
- if ((0, import_utils.checkIfKeyIsComponent)(param)) {
55
- const { extend, ...newElem } = (0, import_utils.extendizeByKey)(newExec, element, param);
56
- (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);
57
60
  } else {
58
- ref.__cached[param] = changes[param] = prop;
61
+ changes[param] = prop;
59
62
  element[param] = newExec;
60
63
  }
61
64
  }
@@ -76,6 +79,8 @@ const throughExecProps = (element) => {
76
79
  }
77
80
  }
78
81
  };
82
+ const isPropertyInDefines = (key, element) => {
83
+ };
79
84
  const throughInitialDefine = (element) => {
80
85
  const { define, context, __ref: ref } = element;
81
86
  let defineObj = {};
@@ -84,7 +89,7 @@ const throughInitialDefine = (element) => {
84
89
  if (hasGlobalDefine) defineObj = { ...defineObj, ...context.define };
85
90
  for (const param in defineObj) {
86
91
  let elementProp = element[param];
87
- 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)) {
88
93
  ref.__exec[param] = elementProp;
89
94
  const execParam2 = elementProp = (0, import_utils.exec)(elementProp, element);
90
95
  if (execParam2) {
@@ -92,7 +97,12 @@ const throughInitialDefine = (element) => {
92
97
  ref.__defineCache[param] = elementProp;
93
98
  }
94
99
  }
95
- const execParam = defineObj[param](elementProp, element, element.state, element.context);
100
+ const execParam = defineObj[param](
101
+ elementProp,
102
+ element,
103
+ element.state,
104
+ element.context
105
+ );
96
106
  if (execParam) element[param] = execParam;
97
107
  }
98
108
  return element;
@@ -105,9 +115,15 @@ const throughUpdatedDefine = (element) => {
105
115
  if ((0, import_utils.isObject)(context && context.define)) obj = { ...obj, ...context.define };
106
116
  for (const param in obj) {
107
117
  const execParam = ref.__exec[param];
108
- if (execParam) 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
+ }
109
125
  const cached = (0, import_utils.exec)(ref.__defineCache[param], element);
110
- const newExecParam = obj[param](cached, element, element.state, element.context);
126
+ const newExecParam = typeof obj[param] === "function" ? obj[param](cached, element, element.state, element.context) : void 0;
111
127
  if (newExecParam) element[param] = newExecParam;
112
128
  }
113
129
  return changes;
@@ -24,36 +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) (options.strict ? import_utils.merge : import_utils.overwrite)(proto, element.context.methods);
56
+ if (element.context.methods) {
57
+ ;
58
+ (options.strict ? import_utils.merge : import_utils.overwrite)(proto, element.context.methods);
59
+ }
58
60
  Object.setPrototypeOf(element, proto);
59
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;
@@ -77,7 +73,7 @@ const log = function(...args) {
77
73
  args.forEach((v) => console.log(`%c${v}:
78
74
  `, "font-weight: bold", element[v]));
79
75
  } else {
80
- console.log(__ref.path);
76
+ console.log(__ref == null ? void 0 : __ref.path);
81
77
  const keys2 = element.keys();
82
78
  keys2.forEach((v) => console.log(`%c${v}:
83
79
  `, "font-weight: bold", element[v]));
@@ -24,17 +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
30
  if ((0, import_utils.isNot)("object")) (0, import_report.report)("HTMLInvalidAttr", params);
32
31
  if (params) {
33
- if (props.attr) (0, import_utils2.deepMerge)(params, props.attr);
34
- for (const attr2 in params) {
35
- const val = (0, import_utils.exec)(params[attr2], element);
36
- if (val !== false && !(0, import_utils.isUndefined)(val) && !(0, import_utils.isNull)(val) && node.setAttribute) node.setAttribute(attr2, val);
37
- else if (node.removeAttribute) node.removeAttribute(attr2);
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) {
37
+ node.setAttribute(attr2, val);
38
+ } else if (node.removeAttribute) node.removeAttribute(attr2);
38
39
  __attr[attr2] = val;
39
40
  }
40
41
  }
@@ -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,7 +23,7 @@ __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) {
26
+ async function scope(params, element, node) {
27
27
  if (!(0, import_utils.isObject)(params)) return;
28
28
  for (const scopeItem in params) {
29
29
  const value = params[scopeItem];
@@ -22,13 +22,12 @@ __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)) continue;
30
+ if (import_utils.STATE_METHODS.includes(param)) continue;
32
31
  if (!Object.hasOwnProperty.call(state2, param)) continue;
33
32
  }
34
33
  }
@@ -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
  }
@@ -36,7 +36,7 @@ function text(param, element, node) {
36
36
  if (element.__text.text === prop) return;
37
37
  element.__text.text = prop;
38
38
  if (element.__text.node) element.__text.node.nodeValue = prop;
39
- } else (0, import_create.create)({ tag: "string", text: prop }, element, "__text");
39
+ } else await (0, import_create.create)({ tag: "string", text: prop }, element, "__text");
40
40
  }
41
41
  }
42
42
  var text_default = text;
package/dist/cjs/node.js CHANGED
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,6 +17,14 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
  var node_exports = {};
20
30
  __export(node_exports, {
@@ -25,59 +35,59 @@ module.exports = __toCommonJS(node_exports);
25
35
  var import_utils = require("@domql/utils");
26
36
  var import_event = require("@domql/event");
27
37
  var import_render = require("@domql/render");
28
- var import_methods = require("./methods/index.js");
29
38
  var import_create = require("./create.js");
30
39
  var import_iterate = require("./iterate.js");
31
40
  var import_mixins = require("./mixins/index.js");
32
41
  var import_applyParam = require("./utils/applyParam.js");
33
- var import_propEvents = require("./utils/propEvents.js");
42
+ var import_children = __toESM(require("./children.js"), 1);
43
+ var import_set = require("./set.js");
34
44
  const ENV = "development";
35
- const createNode = async (element, options) => {
45
+ const createNode = async (element, opts) => {
36
46
  let { node, tag, __ref: ref } = element;
47
+ if (!ref.__if) return element;
37
48
  let isNewNode;
38
49
  if (!node) {
39
50
  isNewNode = true;
40
- if (!ref.__if) return element;
41
51
  if (tag === "shadow") {
42
52
  node = element.node = element.parent.node.attachShadow({ mode: "open" });
43
53
  } else node = element.node = (0, import_render.cacheNode)(element);
44
- (0, import_event.triggerEventOn)("attachNode", element, options);
54
+ await (0, import_event.triggerEventOn)("attachNode", element, opts);
45
55
  }
46
- if (ENV === "test" || ENV === "development" || options.alowRefReference) {
56
+ if (ENV === "test" || ENV === "development" || opts.alowRefReference) {
47
57
  node.ref = element;
48
58
  if ((0, import_utils.isFunction)(node.setAttribute)) node.setAttribute("key", element.key);
49
59
  }
50
- (0, import_iterate.throughExecProps)(element);
51
- (0, import_iterate.throughInitialDefine)(element);
52
- (0, import_iterate.throughInitialExec)(element);
53
- if (element.tag !== "string" && element.tag !== "fragment") {
54
- (0, import_propEvents.propagateEventsFromProps)(element);
55
- if (isNewNode && (0, import_utils.isObject)(element.on)) {
56
- (0, import_event.applyEventsOnNode)(element, options);
57
- }
58
- }
60
+ await (0, import_iterate.throughExecProps)(element);
61
+ await (0, import_iterate.throughInitialDefine)(element);
62
+ await (0, import_iterate.throughInitialExec)(element);
63
+ await (0, import_event.applyEventsOnNode)(element, { isNewNode, ...opts });
59
64
  for (const param in element) {
60
65
  const value = element[param];
61
- if (!Object.hasOwnProperty.call(element, param)) continue;
62
- if ((0, import_utils.isUndefined)(value) || (0, import_methods.isMethod)(param, element) || (0, import_utils.isVariant)(param) || (0, import_utils.isObject)(import_mixins.REGISTRY[param])) continue;
63
- const isElement = (0, import_applyParam.applyParam)(param, element, options);
66
+ if (!Object.hasOwnProperty.call(element, param) || (0, import_utils.isUndefined)(value) || (0, import_utils.isMethod)(param, element) || (0, import_utils.isObject)(import_mixins.REGISTRY[param])) {
67
+ continue;
68
+ }
69
+ const isElement = await (0, import_applyParam.applyParam)(param, element, opts);
64
70
  if (isElement) {
65
71
  const { hasDefine, hasContextDefine } = isElement;
66
72
  if (element[param] && !hasDefine && !hasContextDefine) {
67
73
  const createAsync = async () => {
68
- await (0, import_create.create)((0, import_utils.exec)(value, element), element, param, options);
74
+ await (0, import_create.create)(value, element, param, opts);
69
75
  };
70
- if (element.props && element.props.lazyLoad || options.lazyLoad) {
76
+ if (element.props && element.props.lazyLoad || opts.lazyLoad) {
71
77
  window.requestAnimationFrame(async () => {
72
78
  await createAsync();
73
- if (!options.preventUpdateListener) {
74
- (0, import_event.triggerEventOn)("lazyLoad", element, options);
79
+ if (!opts.preventUpdateListener) {
80
+ await (0, import_event.triggerEventOn)("lazyLoad", element, opts);
75
81
  }
76
82
  });
77
83
  } else await createAsync();
78
84
  }
79
85
  }
80
86
  }
87
+ const content = element.children ? await (0, import_children.default)(element.children, element, opts) : element.content || element.content;
88
+ if (content) {
89
+ await (0, import_set.setContent)(content, element, opts);
90
+ }
81
91
  return element;
82
92
  };
83
93
  var node_default = createNode;