@domql/element 2.5.203 → 2.5.206

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 (63) hide show
  1. package/dist/cjs/create.js +43 -85
  2. package/dist/cjs/define.js +1 -2
  3. package/dist/cjs/extend.js +4 -8
  4. package/dist/cjs/index.js +3 -3
  5. package/dist/cjs/iterate.js +9 -18
  6. package/dist/cjs/methods/index.js +33 -66
  7. package/dist/cjs/methods/set.js +1 -2
  8. package/dist/cjs/methods/v2.js +6 -12
  9. package/dist/cjs/mixins/attr.js +4 -8
  10. package/dist/cjs/mixins/classList.js +8 -16
  11. package/dist/cjs/mixins/content.js +9 -16
  12. package/dist/cjs/mixins/data.js +2 -4
  13. package/dist/cjs/mixins/html.js +2 -4
  14. package/dist/cjs/mixins/scope.js +1 -2
  15. package/dist/cjs/mixins/state.js +2 -4
  16. package/dist/cjs/mixins/style.js +2 -4
  17. package/dist/cjs/mixins/text.js +3 -6
  18. package/dist/cjs/node.js +8 -14
  19. package/dist/cjs/props/create.js +6 -12
  20. package/dist/cjs/props/inherit.js +2 -4
  21. package/dist/cjs/props/update.js +3 -6
  22. package/dist/cjs/set.js +9 -16
  23. package/dist/cjs/update.js +32 -56
  24. package/dist/cjs/utils/applyParam.js +3 -4
  25. package/dist/cjs/utils/component.js +3 -6
  26. package/dist/cjs/utils/extendUtils.js +9 -18
  27. package/dist/cjs/utils/object.js +8 -16
  28. package/dist/cjs/utils/onlyResolveExtends.js +13 -26
  29. package/dist/cjs/utils/propEvents.js +2 -4
  30. package/dist/esm/create.js +43 -85
  31. package/dist/esm/define.js +1 -2
  32. package/dist/esm/extend.js +4 -8
  33. package/dist/esm/iterate.js +9 -18
  34. package/dist/esm/methods/index.js +33 -66
  35. package/dist/esm/methods/set.js +1 -2
  36. package/dist/esm/methods/v2.js +6 -12
  37. package/dist/esm/mixins/attr.js +4 -8
  38. package/dist/esm/mixins/classList.js +8 -16
  39. package/dist/esm/mixins/content.js +9 -16
  40. package/dist/esm/mixins/data.js +2 -4
  41. package/dist/esm/mixins/html.js +2 -4
  42. package/dist/esm/mixins/scope.js +1 -2
  43. package/dist/esm/mixins/state.js +2 -4
  44. package/dist/esm/mixins/style.js +2 -4
  45. package/dist/esm/mixins/text.js +3 -6
  46. package/dist/esm/node.js +8 -14
  47. package/dist/esm/props/create.js +6 -12
  48. package/dist/esm/props/inherit.js +2 -4
  49. package/dist/esm/props/update.js +3 -6
  50. package/dist/esm/set.js +9 -16
  51. package/dist/esm/update.js +32 -56
  52. package/dist/esm/utils/applyParam.js +3 -4
  53. package/dist/esm/utils/component.js +3 -6
  54. package/dist/esm/utils/extendUtils.js +9 -18
  55. package/dist/esm/utils/object.js +8 -16
  56. package/dist/esm/utils/onlyResolveExtends.js +13 -26
  57. package/dist/esm/utils/propEvents.js +2 -4
  58. package/mixins/content.js +2 -2
  59. package/node.js +2 -2
  60. package/package.json +3 -3
  61. package/set.js +3 -3
  62. package/update.js +9 -9
  63. package/utils/applyParam.js +2 -2
@@ -28,17 +28,13 @@ var import_utils2 = require("../utils/index.js");
28
28
  function attr(params, element, node) {
29
29
  const { __ref: ref, props } = element;
30
30
  const { __attr } = ref;
31
- if ((0, import_utils.isNot)("object"))
32
- (0, import_report.report)("HTMLInvalidAttr", params);
31
+ if ((0, import_utils.isNot)("object")) (0, import_report.report)("HTMLInvalidAttr", params);
33
32
  if (params) {
34
- if (props.attr)
35
- (0, import_utils2.deepMerge)(params, props.attr);
33
+ if (props.attr) (0, import_utils2.deepMerge)(params, props.attr);
36
34
  for (const attr2 in params) {
37
35
  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)
39
- node.setAttribute(attr2, val);
40
- else if (node.removeAttribute)
41
- node.removeAttribute(attr2);
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);
42
38
  __attr[attr2] = val;
43
39
  }
44
40
  }
@@ -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) => {
@@ -30,44 +30,37 @@ const updateContent = function(params, options) {
30
30
  const element = this;
31
31
  const ref = element.__ref;
32
32
  const contentKey = ref.contentElementKey;
33
- if (!element[contentKey])
34
- return;
35
- if (element[contentKey].update)
36
- element[contentKey].update(params, options);
33
+ if (!element[contentKey]) return;
34
+ if (element[contentKey].update) element[contentKey].update(params, options);
37
35
  };
38
36
  const removeContent = function(el, opts = {}) {
39
37
  const element = el || this;
40
38
  const { __ref: ref } = element;
41
39
  const contentElementKey = (0, import_utils.setContentKey)(element, opts);
42
- if (opts.contentElementKey !== "content")
43
- opts.contentElementKey = "content";
40
+ if (opts.contentElementKey !== "content") opts.contentElementKey = "content";
44
41
  if (element[contentElementKey]) {
45
42
  if (element[contentElementKey].node && element.node) {
46
- if (element[contentElementKey].tag === "fragment")
47
- element.node.innerHTML = "";
43
+ if (element[contentElementKey].tag === "fragment") element.node.innerHTML = "";
48
44
  else {
49
45
  const contentNode = element[contentElementKey].node;
50
- if (contentNode.parentNode === element.node)
51
- element.node.removeChild(element[contentElementKey].node);
46
+ if (contentNode.parentNode === element.node) element.node.removeChild(element[contentElementKey].node);
52
47
  }
53
48
  }
54
49
  const { __cached } = ref;
55
50
  if (__cached && __cached[contentElementKey]) {
56
- if (__cached[contentElementKey].tag === "fragment")
57
- __cached[contentElementKey].parent.node.innerHTML = "";
58
- else if (__cached[contentElementKey] && (0, import_utils.isFunction)(__cached[contentElementKey].remove))
59
- __cached[contentElementKey].remove();
51
+ if (__cached[contentElementKey].tag === "fragment") __cached[contentElementKey].parent.node.innerHTML = "";
52
+ else if (__cached[contentElementKey] && (0, import_utils.isFunction)(__cached[contentElementKey].remove)) __cached[contentElementKey].remove();
60
53
  }
61
54
  delete element[contentElementKey];
62
55
  }
63
56
  };
64
- function setContent(param, element, node, opts) {
57
+ async function setContent(param, element, node, opts) {
65
58
  const contentElementKey = (0, import_utils.setContentKey)(element, opts);
66
59
  if (param && element) {
67
60
  if (element[contentElementKey].update) {
68
61
  element[contentElementKey].update({}, opts);
69
62
  } else {
70
- import_set.set.call(element, param, opts);
63
+ await import_set.set.call(element, param, opts);
71
64
  }
72
65
  }
73
66
  }
@@ -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
  }
@@ -24,8 +24,7 @@ __export(scope_exports, {
24
24
  module.exports = __toCommonJS(scope_exports);
25
25
  var import_utils = require("@domql/utils");
26
26
  function scope(params, element, node) {
27
- if (!(0, import_utils.isObject)(params))
28
- return;
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)) {
@@ -28,10 +28,8 @@ function state(params, element, node) {
28
28
  const state2 = (0, import_utils.exec)(params, element);
29
29
  if ((0, import_utils.isObject)(state2)) {
30
30
  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;
31
+ if (import_state.IGNORE_STATE_PARAMS.includes(param)) continue;
32
+ if (!Object.hasOwnProperty.call(state2, param)) continue;
35
33
  }
36
34
  }
37
35
  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;
@@ -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 (0, import_create.create)({ tag: "string", text: prop }, element, "__text");
43
40
  }
44
41
  }
45
42
  var text_default = text;
package/dist/cjs/node.js CHANGED
@@ -37,18 +37,15 @@ const createNode = async (element, options) => {
37
37
  let isNewNode;
38
38
  if (!node) {
39
39
  isNewNode = true;
40
- if (!ref.__if)
41
- return element;
40
+ if (!ref.__if) return element;
42
41
  if (tag === "shadow") {
43
42
  node = element.node = element.parent.node.attachShadow({ mode: "open" });
44
- } else
45
- node = element.node = (0, import_render.cacheNode)(element);
46
- (0, import_event.triggerEventOn)("attachNode", element, options);
43
+ } else node = element.node = (0, import_render.cacheNode)(element);
44
+ await (0, import_event.triggerEventOn)("attachNode", element, options);
47
45
  }
48
46
  if (ENV === "testing" || ENV === "development" || options.alowRefReference) {
49
47
  node.ref = element;
50
- if ((0, import_utils.isFunction)(node.setAttribute))
51
- node.setAttribute("key", element.key);
48
+ if ((0, import_utils.isFunction)(node.setAttribute)) node.setAttribute("key", element.key);
52
49
  }
53
50
  (0, import_iterate.throughExecProps)(element);
54
51
  (0, import_iterate.throughInitialDefine)(element);
@@ -61,11 +58,9 @@ const createNode = async (element, options) => {
61
58
  }
62
59
  for (const param in element) {
63
60
  const value = element[param];
64
- if (!Object.hasOwnProperty.call(element, param))
65
- continue;
66
- 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]))
67
- continue;
68
- const isElement = (0, import_applyParam.applyParam)(param, element, options);
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 = await (0, import_applyParam.applyParam)(param, element, options);
69
64
  if (isElement) {
70
65
  const { hasDefine, hasContextDefine } = isElement;
71
66
  if (element[param] && !hasDefine && !hasContextDefine) {
@@ -79,8 +74,7 @@ const createNode = async (element, options) => {
79
74
  (0, import_event.triggerEventOn)("lazyLoad", element, options);
80
75
  }
81
76
  });
82
- } else
83
- await createAsync();
77
+ } else await createAsync();
84
78
  }
85
79
  }
86
80
  }
@@ -28,16 +28,12 @@ var import_inherit = require("./inherit.js");
28
28
  const createPropsStack = (element, parent) => {
29
29
  const { props, __ref: ref } = element;
30
30
  const propsStack = ref.__props = (0, import_inherit.inheritParentProps)(element, parent);
31
- if ((0, import_utils.isObject)(props))
32
- propsStack.push(props);
33
- else if (props === "inherit" && parent.props)
34
- propsStack.push(parent.props);
35
- else if (props)
36
- propsStack.push(props);
31
+ if ((0, import_utils.isObject)(props)) propsStack.push(props);
32
+ else if (props === "inherit" && parent.props) propsStack.push(parent.props);
33
+ else if (props) propsStack.push(props);
37
34
  if ((0, import_utils.isArray)(ref.__extend)) {
38
35
  ref.__extend.forEach((extend) => {
39
- if (extend.props && extend.props !== props)
40
- propsStack.push(extend.props);
36
+ if (extend.props && extend.props !== props) propsStack.push(extend.props);
41
37
  });
42
38
  }
43
39
  ref.__props = propsStack;
@@ -47,8 +43,7 @@ const syncProps = (props, element, opts) => {
47
43
  element.props = {};
48
44
  const mergedProps = {};
49
45
  props.forEach((v) => {
50
- if (import_ignore.IGNORE_PROPS_PARAMS.includes(v))
51
- return;
46
+ if (import_ignore.IGNORE_PROPS_PARAMS.includes(v)) return;
52
47
  let execProps;
53
48
  try {
54
49
  execProps = (0, import_utils.exec)(v, element);
@@ -78,8 +73,7 @@ const createProps = function(element, parent, options) {
78
73
  element.props = {};
79
74
  }
80
75
  };
81
- if (ref.__if)
82
- applyProps();
76
+ if (ref.__if) applyProps();
83
77
  else {
84
78
  try {
85
79
  applyProps();
@@ -38,8 +38,7 @@ const inheritParentProps = (element, parent) => {
38
38
  if (matchParent) {
39
39
  if (matchParentIsString) {
40
40
  const inheritedStringExists = propsStack.filter((v) => v.inheritedString)[0];
41
- if (inheritedStringExists)
42
- inheritedStringExists.inheritedString = matchParent;
41
+ if (inheritedStringExists) inheritedStringExists.inheritedString = matchParent;
43
42
  else {
44
43
  propsStack = [].concat(objectizeStringProperty(matchParent), propsStack);
45
44
  }
@@ -47,7 +46,6 @@ const inheritParentProps = (element, parent) => {
47
46
  propsStack.push(objectizeStringProperty(matchParent));
48
47
  }
49
48
  }
50
- if (matchParentChildProps && !((_a = element == null ? void 0 : element.props) == null ? void 0 : _a.ignoreChildProps))
51
- propsStack.push(matchParentChildProps);
49
+ if (matchParentChildProps && !((_a = element == null ? void 0 : element.props) == null ? void 0 : _a.ignoreChildProps)) propsStack.push(matchParentChildProps);
52
50
  return propsStack;
53
51
  };
@@ -27,11 +27,8 @@ const updateProps = (newProps, element, parent) => {
27
27
  const { __ref } = element;
28
28
  let propsStack = __ref.__props;
29
29
  const parentProps = (0, import_inherit.inheritParentProps)(element, parent);
30
- if (parentProps.length)
31
- propsStack = __ref.__props = [].concat(parentProps, propsStack);
32
- if (newProps)
33
- propsStack = __ref.__props = [].concat(newProps, propsStack);
34
- if (propsStack)
35
- (0, import_create.syncProps)(propsStack, element);
30
+ if (parentProps.length) propsStack = __ref.__props = [].concat(parentProps, propsStack);
31
+ if (newProps) propsStack = __ref.__props = [].concat(newProps, propsStack);
32
+ if (propsStack) (0, import_create.syncProps)(propsStack, element);
36
33
  return element;
37
34
  };
package/dist/cjs/set.js CHANGED
@@ -31,8 +31,7 @@ var import_mixins = require("./mixins/index.js");
31
31
  var import_content = require("./mixins/content.js");
32
32
  var import_event = require("@domql/event");
33
33
  const resetElement = async (params, element, options) => {
34
- if (!options.preventRemove)
35
- (0, import_content.removeContent)(element, options);
34
+ if (!options.preventRemove) (0, import_content.removeContent)(element, options);
36
35
  const { __ref: ref } = element;
37
36
  await (0, import_create.create)(params, element, ref.contentElementKey || "content", {
38
37
  ignoreChildExtend: true,
@@ -41,9 +40,9 @@ const resetElement = async (params, element, options) => {
41
40
  ...options
42
41
  });
43
42
  };
44
- const reset = (options) => {
43
+ const reset = async (options) => {
45
44
  const element = void 0;
46
- (0, import_create.create)(element, element.parent, void 0, {
45
+ await (0, import_create.create)(element, element.parent, void 0, {
47
46
  ignoreChildExtend: true,
48
47
  ...import_mixins.registry.defaultOptions,
49
48
  ...import_options.OPTIONS.create,
@@ -58,24 +57,19 @@ const set = async function(params, options = {}, el) {
58
57
  const __contentRef = content && content.__ref;
59
58
  const lazyLoad = element.props && element.props.lazyLoad;
60
59
  const hasCollection = element.$collection || element.$stateCollection || element.$propsCollection;
61
- if (options.preventContentUpdate === true && !hasCollection)
62
- return;
60
+ if (options.preventContentUpdate === true && !hasCollection) return;
63
61
  if (ref.__noCollectionDifference || __contentRef && __contentRef.__cached && (0, import_utils.deepContains)(params, content)) {
64
62
  if (!options.preventBeforeUpdateListener && !options.preventListeners) {
65
63
  const beforeUpdateReturns = await (0, import_event.triggerEventOnUpdate)("beforeUpdate", params, element, options);
66
- if (beforeUpdateReturns === false)
67
- return element;
64
+ if (beforeUpdateReturns === false) return element;
68
65
  }
69
- if (content == null ? void 0 : content.update)
70
- content.update();
71
- if (!options.preventUpdateListener)
72
- await (0, import_event.triggerEventOn)("update", element, options);
66
+ if (content == null ? void 0 : content.update) await content.update();
67
+ if (!options.preventUpdateListener) await (0, import_event.triggerEventOn)("update", element, options);
73
68
  return;
74
69
  }
75
70
  if (params) {
76
71
  let { childExtend, props } = params;
77
- if (!props)
78
- props = params.props = {};
72
+ if (!props) props = params.props = {};
79
73
  if (!childExtend && element.childExtend) {
80
74
  params.childExtend = element.childExtend;
81
75
  props.ignoreChildExtend = true;
@@ -91,8 +85,7 @@ const set = async function(params, options = {}, el) {
91
85
  (0, import_event.triggerEventOn)("lazyLoad", element, options);
92
86
  }
93
87
  });
94
- } else
95
- await resetElement(params, element, options);
88
+ } else await resetElement(params, element, options);
96
89
  }
97
90
  return element;
98
91
  };
@@ -52,37 +52,28 @@ const update = async function(params = {}, opts) {
52
52
  const { parent, node, key } = element;
53
53
  const { excludes, preventInheritAtCurrentState } = options;
54
54
  let ref = element.__ref;
55
- if (!ref)
56
- ref = element.__ref = {};
55
+ if (!ref) ref = element.__ref = {};
57
56
  const [snapshotOnCallee, calleeElement, snapshotHasUpdated] = captureSnapshot(element, options);
58
- if (snapshotHasUpdated)
59
- return;
60
- if (!options.preventListeners)
61
- await (0, import_event.triggerEventOnUpdate)("startUpdate", params, element, options);
62
- if (preventInheritAtCurrentState && preventInheritAtCurrentState.__element === element)
63
- return;
64
- if (!excludes)
65
- (0, import_utils.merge)(options, UPDATE_DEFAULT_OPTIONS);
57
+ if (snapshotHasUpdated) return;
58
+ if (!options.preventListeners) await (0, import_event.triggerEventOnUpdate)("startUpdate", params, element, options);
59
+ if (preventInheritAtCurrentState && preventInheritAtCurrentState.__element === element) return;
60
+ if (!excludes) (0, import_utils.merge)(options, UPDATE_DEFAULT_OPTIONS);
66
61
  if ((0, import_utils.isString)(params) || (0, import_utils.isNumber)(params)) {
67
62
  params = { text: params };
68
63
  }
69
64
  const inheritState = await inheritStateUpdates(element, options);
70
- if (inheritState === false)
71
- return;
65
+ if (inheritState === false) return;
72
66
  const ifFails = checkIfOnUpdate(element, parent, options);
73
- if (ifFails)
74
- return;
67
+ if (ifFails) return;
75
68
  if (ref.__if && !options.preventPropsUpdate) {
76
69
  const hasParentProps = parent.props && (parent.props[key] || parent.props.childProps);
77
70
  const hasFunctionInProps = ref.__props.filter((v) => (0, import_utils.isFunction)(v));
78
71
  const props = params.props || hasParentProps || hasFunctionInProps.length;
79
- if (props)
80
- (0, import_props.updateProps)(props, element, parent);
72
+ if (props) (0, import_props.updateProps)(props, element, parent);
81
73
  }
82
74
  if (!options.preventBeforeUpdateListener && !options.preventListeners) {
83
75
  const beforeUpdateReturns = await (0, import_event.triggerEventOnUpdate)("beforeUpdate", params, element, options);
84
- if (beforeUpdateReturns === false)
85
- return element;
76
+ if (beforeUpdateReturns === false) return element;
86
77
  }
87
78
  (0, import_utils.overwriteDeep)(element, params, { exclude: import_utils2.METHODS_EXL });
88
79
  (0, import_iterate.throughExecProps)(element);
@@ -91,8 +82,7 @@ const update = async function(params = {}, opts) {
91
82
  if (!options.isForced && !options.preventListeners) {
92
83
  (0, import_event.triggerEventOn)("beforeClassAssign", element, options);
93
84
  }
94
- if (!ref.__if)
95
- return false;
85
+ if (!ref.__if) return false;
96
86
  if (!node) {
97
87
  return;
98
88
  }
@@ -107,49 +97,41 @@ const update = async function(params = {}, opts) {
107
97
  preventUpdateAfterCount
108
98
  } = options;
109
99
  if (preventUpdateAfter) {
110
- if ((0, import_utils.isNumber)(preventUpdateAfterCount) && preventUpdateAfter <= preventUpdateAfterCount)
111
- return;
112
- else if (options.preventUpdateAfterCount === void 0)
113
- options.preventUpdateAfterCount = 1;
114
- else
115
- options.preventUpdateAfterCount++;
100
+ if ((0, import_utils.isNumber)(preventUpdateAfterCount) && preventUpdateAfter <= preventUpdateAfterCount) return;
101
+ else if (options.preventUpdateAfterCount === void 0) options.preventUpdateAfterCount = 1;
102
+ else options.preventUpdateAfterCount++;
116
103
  }
117
104
  for (const param in element) {
118
105
  const prop = element[param];
119
- if (!Object.hasOwnProperty.call(element, param))
120
- continue;
106
+ if (!Object.hasOwnProperty.call(element, param)) continue;
121
107
  const isInPreventUpdate = (0, import_utils.isArray)(preventUpdate) && preventUpdate.includes(param);
122
108
  const isInPreventDefineUpdate = (0, import_utils.isArray)(preventDefineUpdate) && preventDefineUpdate.includes(param);
123
109
  const hasCollection = element.$collection || element.$stateCollection || element.$propsCollection;
124
- if ((0, import_utils.isUndefined)(prop) || isInPreventUpdate || isInPreventDefineUpdate || preventDefineUpdate === true || preventDefineUpdate === param || preventContentUpdate && param === "content" && !hasCollection || (preventStateUpdate && param) === "state" || (0, import_methods.isMethod)(param, element) || (0, import_utils.isObject)(import_mixins.REGISTRY[param]) || (0, import_utils.isVariant)(param))
125
- continue;
126
- if (preventStateUpdate === "once")
127
- options.preventStateUpdate = false;
128
- const isElement = (0, import_applyParam.applyParam)(param, element, options);
110
+ if ((0, import_utils.isUndefined)(prop) || isInPreventUpdate || isInPreventDefineUpdate || preventDefineUpdate === true || preventDefineUpdate === param || preventContentUpdate && param === "content" && !hasCollection || (preventStateUpdate && param) === "state" || (0, import_methods.isMethod)(param, element) || (0, import_utils.isObject)(import_mixins.REGISTRY[param]) || (0, import_utils.isVariant)(param)) continue;
111
+ if (preventStateUpdate === "once") options.preventStateUpdate = false;
112
+ const isElement = await (0, import_applyParam.applyParam)(param, element, options);
129
113
  if (isElement) {
130
114
  const { hasDefine, hasContextDefine } = isElement;
131
115
  const canUpdate = (0, import_utils.isObject)(prop) && !hasDefine && !hasContextDefine && !preventRecursive;
132
- if (!canUpdate)
133
- continue;
116
+ if (!canUpdate) continue;
134
117
  const lazyLoad = element.props.lazyLoad || options.lazyLoad;
135
118
  if (options.onEachUpdate) {
136
119
  options.onEachUpdate(param, element, element.state, element.context);
137
120
  }
138
- const childUpdateCall = () => update.call(prop, params[prop], {
121
+ const childUpdateCall = async () => await update.call(prop, params[prop], {
139
122
  ...options,
140
123
  currentSnapshot: snapshotOnCallee,
141
124
  calleeElement
142
125
  });
143
- lazyLoad ? import_utils.window.requestAnimationFrame(() => {
144
- childUpdateCall();
126
+ lazyLoad ? import_utils.window.requestAnimationFrame(async () => {
127
+ await childUpdateCall();
145
128
  if (!options.preventUpdateListener) {
146
129
  (0, import_event.triggerEventOn)("lazyLoad", element, options);
147
130
  }
148
- }) : childUpdateCall();
131
+ }) : await childUpdateCall();
149
132
  }
150
133
  }
151
- if (!preventUpdateListener)
152
- (0, import_event.triggerEventOn)("update", element, options);
134
+ if (!preventUpdateListener) await (0, import_event.triggerEventOn)("update", element, options);
153
135
  };
154
136
  const captureSnapshot = (element, options) => {
155
137
  const ref = element.__ref;
@@ -168,8 +150,7 @@ const captureSnapshot = (element, options) => {
168
150
  };
169
151
  const checkIfOnUpdate = (element, parent, options) => {
170
152
  var _a, _b, _c;
171
- if (!(0, import_utils.isFunction)(element.if) && !(0, import_utils.isFunction)((_a = element.props) == null ? void 0 : _a.if) || !parent)
172
- return;
153
+ if (!(0, import_utils.isFunction)(element.if) && !(0, import_utils.isFunction)((_a = element.props) == null ? void 0 : _a.if) || !parent) return;
173
154
  const ref = element.__ref;
174
155
  const ifPassed = (element.if || ((_b = element.props) == null ? void 0 : _b.if))(element, element.state, element.context, options);
175
156
  const itWasFalse = ref.__if !== true;
@@ -194,8 +175,7 @@ const checkIfOnUpdate = (element, parent, options) => {
194
175
  const contentKey = ref.contentElementKey;
195
176
  if (element.$collection || element.$stateCollection || element.$propsCollection) {
196
177
  element.removeContent();
197
- } else if ((_c = element[contentKey]) == null ? void 0 : _c.parseDeep)
198
- element[contentKey] = element[contentKey].parseDeep();
178
+ } else if ((_c = element[contentKey]) == null ? void 0 : _c.parseDeep) element[contentKey] = element[contentKey].parseDeep();
199
179
  const previousElement = element.previousElement();
200
180
  const previousNode = previousElement == null ? void 0 : previousElement.node;
201
181
  const hasPrevious = previousNode == null ? void 0 : previousNode.parentNode;
@@ -224,8 +204,7 @@ const inheritStateUpdates = async (element, options) => {
224
204
  const stateKey = ref.__state;
225
205
  const { parent, state } = element;
226
206
  const { preventUpdateTriggerStateUpdate, isHoisted, execStateFunction } = options;
227
- if (preventUpdateTriggerStateUpdate)
228
- return;
207
+ if (preventUpdateTriggerStateUpdate) return;
229
208
  if (!stateKey && !ref.__hasRootState) {
230
209
  element.state = parent && parent.state || {};
231
210
  return;
@@ -237,25 +216,22 @@ const inheritStateUpdates = async (element, options) => {
237
216
  return;
238
217
  }
239
218
  const keyInParentState = (0, import_state.findInheritedState)(element, element.parent);
240
- if (!keyInParentState || options.preventInheritedStateUpdate)
241
- return;
219
+ if (!keyInParentState || options.preventInheritedStateUpdate) return;
242
220
  if (!options.preventBeforeStateUpdateListener && !options.preventListeners) {
243
221
  const initStateReturns = await (0, import_event.triggerEventOnUpdate)("beforeStateUpdate", keyInParentState, element, options);
244
- if (initStateReturns === false)
245
- return element;
222
+ if (initStateReturns === false) return element;
246
223
  }
247
- const newState = createStateUpdate(element, parent, options);
224
+ const newState = await createStateUpdate(element, parent, options);
248
225
  if (!options.preventStateUpdateListener && !options.preventListeners) {
249
226
  await (0, import_event.triggerEventOnUpdate)("stateUpdate", newState.parse(), element, options);
250
227
  }
251
228
  };
252
- const createStateUpdate = (element, parent, options) => {
229
+ const createStateUpdate = async (element, parent, options) => {
253
230
  const __stateChildren = element.state.__children;
254
- const newState = (0, import_state.createState)(element, parent);
231
+ const newState = await (0, import_state.createState)(element, parent);
255
232
  element.state = newState;
256
233
  for (const child in __stateChildren) {
257
- if (newState[child])
258
- newState.__children[child] = __stateChildren[child];
234
+ if (newState[child]) newState.__children[child] = __stateChildren[child];
259
235
  Object.getPrototypeOf(__stateChildren[child]).parent = newState;
260
236
  }
261
237
  return newState;
@@ -23,7 +23,7 @@ __export(applyParam_exports, {
23
23
  module.exports = __toCommonJS(applyParam_exports);
24
24
  var import_utils = require("@domql/utils");
25
25
  var import_mixins = require("../mixins/index.js");
26
- const applyParam = (param, element, options) => {
26
+ const applyParam = async (param, element, options) => {
27
27
  const { node, context, __ref: ref } = element;
28
28
  const prop = element[param];
29
29
  const { onlyUpdate } = options;
@@ -32,12 +32,11 @@ const applyParam = (param, element, options) => {
32
32
  const isGlobalTransformer = DOMQLPropertyFromContext || DOMQLProperty;
33
33
  const hasDefine = element.define && element.define[param];
34
34
  const hasContextDefine = context && context.define && context.define[param];
35
- if (!ref.__if)
36
- return;
35
+ if (!ref.__if) return;
37
36
  const hasOnlyUpdate = onlyUpdate ? onlyUpdate === param || element.lookup(onlyUpdate) : true;
38
37
  if (isGlobalTransformer && !hasContextDefine && hasOnlyUpdate) {
39
38
  if ((0, import_utils.isFunction)(isGlobalTransformer)) {
40
- isGlobalTransformer(prop, element, node, options);
39
+ await isGlobalTransformer(prop, element, node, options);
41
40
  return;
42
41
  }
43
42
  }
@@ -46,8 +46,7 @@ const createValidDomqlObjectFromSugar = (el, parent, key, options) => {
46
46
  };
47
47
  const overwriteVariant = (element, variant, variantProps) => {
48
48
  let variantElement = element[variant];
49
- if (!variantElement)
50
- return;
49
+ if (!variantElement) return;
51
50
  const props = (0, import_utils.isObject)(variantProps) ? variantProps : {};
52
51
  if ((0, import_utils.isString)(variantElement)) {
53
52
  variantElement = {
@@ -62,16 +61,14 @@ const overwriteVariant = (element, variant, variantProps) => {
62
61
  };
63
62
  const applyVariant = (element) => {
64
63
  const { props } = element;
65
- if (!(0, import_utils.hasVariantProp)(element))
66
- return element;
64
+ if (!(0, import_utils.hasVariantProp)(element)) return element;
67
65
  const { variant } = props;
68
66
  overwriteVariant(element, `.${variant}`);
69
67
  const elKeys = Object.keys(element).filter((key) => (0, import_utils.isVariant)(key));
70
68
  elKeys.forEach((variant2) => {
71
69
  const slicedVariantElementKey = variant2.slice(1);
72
70
  const variantElementProps = props[slicedVariantElementKey];
73
- if (variantElementProps)
74
- overwriteVariant(element, variant2, variantElementProps);
71
+ if (variantElementProps) overwriteVariant(element, variant2, variantElementProps);
75
72
  });
76
73
  return element;
77
74
  };