@domql/element 2.5.205 → 2.5.207

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 (65) hide show
  1. package/create.js +1 -1
  2. package/dist/cjs/create.js +44 -86
  3. package/dist/cjs/define.js +1 -2
  4. package/dist/cjs/extend.js +4 -8
  5. package/dist/cjs/index.js +3 -3
  6. package/dist/cjs/iterate.js +9 -18
  7. package/dist/cjs/methods/index.js +35 -68
  8. package/dist/cjs/methods/set.js +1 -2
  9. package/dist/cjs/methods/v2.js +6 -12
  10. package/dist/cjs/mixins/attr.js +4 -8
  11. package/dist/cjs/mixins/classList.js +8 -16
  12. package/dist/cjs/mixins/content.js +7 -14
  13. package/dist/cjs/mixins/data.js +2 -4
  14. package/dist/cjs/mixins/html.js +2 -4
  15. package/dist/cjs/mixins/scope.js +1 -2
  16. package/dist/cjs/mixins/state.js +3 -5
  17. package/dist/cjs/mixins/style.js +2 -4
  18. package/dist/cjs/mixins/text.js +3 -6
  19. package/dist/cjs/node.js +9 -15
  20. package/dist/cjs/props/create.js +10 -16
  21. package/dist/cjs/props/inherit.js +2 -4
  22. package/dist/cjs/props/update.js +3 -6
  23. package/dist/cjs/set.js +8 -15
  24. package/dist/cjs/update.js +29 -53
  25. package/dist/cjs/utils/applyParam.js +1 -2
  26. package/dist/cjs/utils/component.js +3 -6
  27. package/dist/cjs/utils/extendUtils.js +9 -18
  28. package/dist/cjs/utils/object.js +8 -16
  29. package/dist/cjs/utils/onlyResolveExtends.js +13 -26
  30. package/dist/cjs/utils/propEvents.js +2 -4
  31. package/dist/esm/create.js +44 -86
  32. package/dist/esm/define.js +1 -2
  33. package/dist/esm/extend.js +4 -8
  34. package/dist/esm/iterate.js +9 -18
  35. package/dist/esm/methods/index.js +35 -68
  36. package/dist/esm/methods/set.js +1 -2
  37. package/dist/esm/methods/v2.js +6 -12
  38. package/dist/esm/mixins/attr.js +4 -8
  39. package/dist/esm/mixins/classList.js +8 -16
  40. package/dist/esm/mixins/content.js +7 -14
  41. package/dist/esm/mixins/data.js +2 -4
  42. package/dist/esm/mixins/html.js +2 -4
  43. package/dist/esm/mixins/scope.js +1 -2
  44. package/dist/esm/mixins/state.js +3 -5
  45. package/dist/esm/mixins/style.js +2 -4
  46. package/dist/esm/mixins/text.js +3 -6
  47. package/dist/esm/node.js +9 -15
  48. package/dist/esm/props/create.js +10 -16
  49. package/dist/esm/props/inherit.js +2 -4
  50. package/dist/esm/props/update.js +3 -6
  51. package/dist/esm/set.js +8 -15
  52. package/dist/esm/update.js +29 -53
  53. package/dist/esm/utils/applyParam.js +1 -2
  54. package/dist/esm/utils/component.js +3 -6
  55. package/dist/esm/utils/extendUtils.js +9 -18
  56. package/dist/esm/utils/object.js +8 -16
  57. package/dist/esm/utils/onlyResolveExtends.js +13 -26
  58. package/dist/esm/utils/propEvents.js +2 -4
  59. package/methods/index.js +2 -2
  60. package/mixins/state.js +1 -1
  61. package/node.js +3 -3
  62. package/package.json +3 -3
  63. package/props/create.js +4 -4
  64. package/set.js +1 -1
  65. package/update.js +5 -5
package/dist/esm/set.js CHANGED
@@ -5,8 +5,7 @@ import { registry } from "./mixins/index.js";
5
5
  import { removeContent } from "./mixins/content.js";
6
6
  import { triggerEventOn, triggerEventOnUpdate } from "@domql/event";
7
7
  const resetElement = async (params, element, options) => {
8
- if (!options.preventRemove)
9
- removeContent(element, options);
8
+ if (!options.preventRemove) removeContent(element, options);
10
9
  const { __ref: ref } = element;
11
10
  await create(params, element, ref.contentElementKey || "content", {
12
11
  ignoreChildExtend: true,
@@ -32,24 +31,19 @@ const set = async function(params, options = {}, el) {
32
31
  const __contentRef = content && content.__ref;
33
32
  const lazyLoad = element.props && element.props.lazyLoad;
34
33
  const hasCollection = element.$collection || element.$stateCollection || element.$propsCollection;
35
- if (options.preventContentUpdate === true && !hasCollection)
36
- return;
34
+ if (options.preventContentUpdate === true && !hasCollection) return;
37
35
  if (ref.__noCollectionDifference || __contentRef && __contentRef.__cached && deepContains(params, content)) {
38
36
  if (!options.preventBeforeUpdateListener && !options.preventListeners) {
39
37
  const beforeUpdateReturns = await triggerEventOnUpdate("beforeUpdate", params, element, options);
40
- if (beforeUpdateReturns === false)
41
- return element;
38
+ if (beforeUpdateReturns === false) return element;
42
39
  }
43
- if (content == null ? void 0 : content.update)
44
- await content.update();
45
- if (!options.preventUpdateListener)
46
- await triggerEventOn("update", element, options);
40
+ if (content == null ? void 0 : content.update) await content.update();
41
+ if (!options.preventUpdateListener) await triggerEventOn("update", element, options);
47
42
  return;
48
43
  }
49
44
  if (params) {
50
45
  let { childExtend, props } = params;
51
- if (!props)
52
- props = params.props = {};
46
+ if (!props) props = params.props = {};
53
47
  if (!childExtend && element.childExtend) {
54
48
  params.childExtend = element.childExtend;
55
49
  props.ignoreChildExtend = true;
@@ -62,11 +56,10 @@ const set = async function(params, options = {}, el) {
62
56
  window.requestAnimationFrame(async () => {
63
57
  await resetElement(params, element, options);
64
58
  if (!options.preventUpdateListener) {
65
- triggerEventOn("lazyLoad", element, options);
59
+ await triggerEventOn("lazyLoad", element, options);
66
60
  }
67
61
  });
68
- } else
69
- await resetElement(params, element, options);
62
+ } else await resetElement(params, element, options);
70
63
  }
71
64
  return element;
72
65
  };
@@ -42,47 +42,37 @@ const update = async function(params = {}, opts) {
42
42
  const { parent, node, key } = element;
43
43
  const { excludes, preventInheritAtCurrentState } = options;
44
44
  let ref = element.__ref;
45
- if (!ref)
46
- ref = element.__ref = {};
45
+ if (!ref) ref = element.__ref = {};
47
46
  const [snapshotOnCallee, calleeElement, snapshotHasUpdated] = captureSnapshot(element, options);
48
- if (snapshotHasUpdated)
49
- return;
50
- if (!options.preventListeners)
51
- await triggerEventOnUpdate("startUpdate", params, element, options);
52
- if (preventInheritAtCurrentState && preventInheritAtCurrentState.__element === element)
53
- return;
54
- if (!excludes)
55
- merge(options, UPDATE_DEFAULT_OPTIONS);
47
+ if (snapshotHasUpdated) return;
48
+ if (!options.preventListeners) await triggerEventOnUpdate("startUpdate", params, element, options);
49
+ if (preventInheritAtCurrentState && preventInheritAtCurrentState.__element === element) return;
50
+ if (!excludes) merge(options, UPDATE_DEFAULT_OPTIONS);
56
51
  if (isString(params) || isNumber(params)) {
57
52
  params = { text: params };
58
53
  }
59
54
  const inheritState = await inheritStateUpdates(element, options);
60
- if (inheritState === false)
61
- return;
55
+ if (inheritState === false) return;
62
56
  const ifFails = checkIfOnUpdate(element, parent, options);
63
- if (ifFails)
64
- return;
57
+ if (ifFails) return;
65
58
  if (ref.__if && !options.preventPropsUpdate) {
66
59
  const hasParentProps = parent.props && (parent.props[key] || parent.props.childProps);
67
60
  const hasFunctionInProps = ref.__props.filter((v) => isFunction(v));
68
61
  const props = params.props || hasParentProps || hasFunctionInProps.length;
69
- if (props)
70
- updateProps(props, element, parent);
62
+ if (props) updateProps(props, element, parent);
71
63
  }
72
64
  if (!options.preventBeforeUpdateListener && !options.preventListeners) {
73
65
  const beforeUpdateReturns = await triggerEventOnUpdate("beforeUpdate", params, element, options);
74
- if (beforeUpdateReturns === false)
75
- return element;
66
+ if (beforeUpdateReturns === false) return element;
76
67
  }
77
68
  overwriteDeep(element, params, { exclude: METHODS_EXL });
78
69
  throughExecProps(element);
79
70
  throughUpdatedExec(element, { ignore: UPDATE_DEFAULT_OPTIONS });
80
71
  throughUpdatedDefine(element);
81
72
  if (!options.isForced && !options.preventListeners) {
82
- triggerEventOn("beforeClassAssign", element, options);
73
+ await triggerEventOn("beforeClassAssign", element, options);
83
74
  }
84
- if (!ref.__if)
85
- return false;
75
+ if (!ref.__if) return false;
86
76
  if (!node) {
87
77
  return;
88
78
  }
@@ -97,30 +87,23 @@ const update = async function(params = {}, opts) {
97
87
  preventUpdateAfterCount
98
88
  } = options;
99
89
  if (preventUpdateAfter) {
100
- if (isNumber(preventUpdateAfterCount) && preventUpdateAfter <= preventUpdateAfterCount)
101
- return;
102
- else if (options.preventUpdateAfterCount === void 0)
103
- options.preventUpdateAfterCount = 1;
104
- else
105
- options.preventUpdateAfterCount++;
90
+ if (isNumber(preventUpdateAfterCount) && preventUpdateAfter <= preventUpdateAfterCount) return;
91
+ else if (options.preventUpdateAfterCount === void 0) options.preventUpdateAfterCount = 1;
92
+ else options.preventUpdateAfterCount++;
106
93
  }
107
94
  for (const param in element) {
108
95
  const prop = element[param];
109
- if (!Object.hasOwnProperty.call(element, param))
110
- continue;
96
+ if (!Object.hasOwnProperty.call(element, param)) continue;
111
97
  const isInPreventUpdate = isArray(preventUpdate) && preventUpdate.includes(param);
112
98
  const isInPreventDefineUpdate = isArray(preventDefineUpdate) && preventDefineUpdate.includes(param);
113
99
  const hasCollection = element.$collection || element.$stateCollection || element.$propsCollection;
114
- if (isUndefined(prop) || isInPreventUpdate || isInPreventDefineUpdate || preventDefineUpdate === true || preventDefineUpdate === param || preventContentUpdate && param === "content" && !hasCollection || (preventStateUpdate && param) === "state" || isMethod(param, element) || isObject(REGISTRY[param]) || isVariant(param))
115
- continue;
116
- if (preventStateUpdate === "once")
117
- options.preventStateUpdate = false;
100
+ if (isUndefined(prop) || isInPreventUpdate || isInPreventDefineUpdate || preventDefineUpdate === true || preventDefineUpdate === param || preventContentUpdate && param === "content" && !hasCollection || (preventStateUpdate && param) === "state" || isMethod(param, element) || isObject(REGISTRY[param]) || isVariant(param)) continue;
101
+ if (preventStateUpdate === "once") options.preventStateUpdate = false;
118
102
  const isElement = await applyParam(param, element, options);
119
103
  if (isElement) {
120
104
  const { hasDefine, hasContextDefine } = isElement;
121
105
  const canUpdate = isObject(prop) && !hasDefine && !hasContextDefine && !preventRecursive;
122
- if (!canUpdate)
123
- continue;
106
+ if (!canUpdate) continue;
124
107
  const lazyLoad = element.props.lazyLoad || options.lazyLoad;
125
108
  if (options.onEachUpdate) {
126
109
  options.onEachUpdate(param, element, element.state, element.context);
@@ -133,13 +116,12 @@ const update = async function(params = {}, opts) {
133
116
  lazyLoad ? window.requestAnimationFrame(async () => {
134
117
  await childUpdateCall();
135
118
  if (!options.preventUpdateListener) {
136
- triggerEventOn("lazyLoad", element, options);
119
+ await triggerEventOn("lazyLoad", element, options);
137
120
  }
138
121
  }) : await childUpdateCall();
139
122
  }
140
123
  }
141
- if (!preventUpdateListener)
142
- await triggerEventOn("update", element, options);
124
+ if (!preventUpdateListener) await triggerEventOn("update", element, options);
143
125
  };
144
126
  const captureSnapshot = (element, options) => {
145
127
  const ref = element.__ref;
@@ -158,8 +140,7 @@ const captureSnapshot = (element, options) => {
158
140
  };
159
141
  const checkIfOnUpdate = (element, parent, options) => {
160
142
  var _a, _b, _c;
161
- if (!isFunction(element.if) && !isFunction((_a = element.props) == null ? void 0 : _a.if) || !parent)
162
- return;
143
+ if (!isFunction(element.if) && !isFunction((_a = element.props) == null ? void 0 : _a.if) || !parent) return;
163
144
  const ref = element.__ref;
164
145
  const ifPassed = (element.if || ((_b = element.props) == null ? void 0 : _b.if))(element, element.state, element.context, options);
165
146
  const itWasFalse = ref.__if !== true;
@@ -184,8 +165,7 @@ const checkIfOnUpdate = (element, parent, options) => {
184
165
  const contentKey = ref.contentElementKey;
185
166
  if (element.$collection || element.$stateCollection || element.$propsCollection) {
186
167
  element.removeContent();
187
- } else if ((_c = element[contentKey]) == null ? void 0 : _c.parseDeep)
188
- element[contentKey] = element[contentKey].parseDeep();
168
+ } else if ((_c = element[contentKey]) == null ? void 0 : _c.parseDeep) element[contentKey] = element[contentKey].parseDeep();
189
169
  const previousElement = element.previousElement();
190
170
  const previousNode = previousElement == null ? void 0 : previousElement.node;
191
171
  const hasPrevious = previousNode == null ? void 0 : previousNode.parentNode;
@@ -214,8 +194,7 @@ const inheritStateUpdates = async (element, options) => {
214
194
  const stateKey = ref.__state;
215
195
  const { parent, state } = element;
216
196
  const { preventUpdateTriggerStateUpdate, isHoisted, execStateFunction } = options;
217
- if (preventUpdateTriggerStateUpdate)
218
- return;
197
+ if (preventUpdateTriggerStateUpdate) return;
219
198
  if (!stateKey && !ref.__hasRootState) {
220
199
  element.state = parent && parent.state || {};
221
200
  return;
@@ -227,25 +206,22 @@ const inheritStateUpdates = async (element, options) => {
227
206
  return;
228
207
  }
229
208
  const keyInParentState = findInheritedState(element, element.parent);
230
- if (!keyInParentState || options.preventInheritedStateUpdate)
231
- return;
209
+ if (!keyInParentState || options.preventInheritedStateUpdate) return;
232
210
  if (!options.preventBeforeStateUpdateListener && !options.preventListeners) {
233
211
  const initStateReturns = await triggerEventOnUpdate("beforeStateUpdate", keyInParentState, element, options);
234
- if (initStateReturns === false)
235
- return element;
212
+ if (initStateReturns === false) return element;
236
213
  }
237
- const newState = createStateUpdate(element, parent, options);
214
+ const newState = await createStateUpdate(element, parent, options);
238
215
  if (!options.preventStateUpdateListener && !options.preventListeners) {
239
216
  await triggerEventOnUpdate("stateUpdate", newState.parse(), element, options);
240
217
  }
241
218
  };
242
- const createStateUpdate = (element, parent, options) => {
219
+ const createStateUpdate = async (element, parent, options) => {
243
220
  const __stateChildren = element.state.__children;
244
- const newState = createState(element, parent);
221
+ const newState = await createState(element, parent);
245
222
  element.state = newState;
246
223
  for (const child in __stateChildren) {
247
- if (newState[child])
248
- newState.__children[child] = __stateChildren[child];
224
+ if (newState[child]) newState.__children[child] = __stateChildren[child];
249
225
  Object.getPrototypeOf(__stateChildren[child]).parent = newState;
250
226
  }
251
227
  return newState;
@@ -9,8 +9,7 @@ const applyParam = async (param, element, options) => {
9
9
  const isGlobalTransformer = DOMQLPropertyFromContext || DOMQLProperty;
10
10
  const hasDefine = element.define && element.define[param];
11
11
  const hasContextDefine = context && context.define && context.define[param];
12
- if (!ref.__if)
13
- return;
12
+ if (!ref.__if) return;
14
13
  const hasOnlyUpdate = onlyUpdate ? onlyUpdate === param || element.lookup(onlyUpdate) : true;
15
14
  if (isGlobalTransformer && !hasContextDefine && hasOnlyUpdate) {
16
15
  if (isFunction(isGlobalTransformer)) {
@@ -29,8 +29,7 @@ const createValidDomqlObjectFromSugar = (el, parent, key, options) => {
29
29
  };
30
30
  const overwriteVariant = (element, variant, variantProps) => {
31
31
  let variantElement = element[variant];
32
- if (!variantElement)
33
- return;
32
+ if (!variantElement) return;
34
33
  const props = isObject(variantProps) ? variantProps : {};
35
34
  if (isString(variantElement)) {
36
35
  variantElement = {
@@ -45,16 +44,14 @@ const overwriteVariant = (element, variant, variantProps) => {
45
44
  };
46
45
  const applyVariant = (element) => {
47
46
  const { props } = element;
48
- if (!hasVariantProp(element))
49
- return element;
47
+ if (!hasVariantProp(element)) return element;
50
48
  const { variant } = props;
51
49
  overwriteVariant(element, `.${variant}`);
52
50
  const elKeys = Object.keys(element).filter((key) => isVariant(key));
53
51
  elKeys.forEach((variant2) => {
54
52
  const slicedVariantElementKey = variant2.slice(1);
55
53
  const variantElementProps = props[slicedVariantElementKey];
56
- if (variantElementProps)
57
- overwriteVariant(element, variant2, variantElementProps);
54
+ if (variantElementProps) overwriteVariant(element, variant2, variantElementProps);
58
55
  });
59
56
  return element;
60
57
  };
@@ -32,21 +32,16 @@ const deepExtend = (extend, stack, context) => {
32
32
  return stack;
33
33
  };
34
34
  const flattenExtend = (extend, stack, context) => {
35
- if (!extend)
36
- return stack;
37
- if (isArray(extend))
38
- return extractArrayExtend(extend, stack, context);
39
- if (isString(extend))
40
- extend = fallbackStringExtend(extend, context);
35
+ if (!extend) return stack;
36
+ if (isArray(extend)) return extractArrayExtend(extend, stack, context);
37
+ if (isString(extend)) extend = fallbackStringExtend(extend, context);
41
38
  stack.push(extend);
42
- if (extend.extend)
43
- deepExtend(extend, stack, context);
39
+ if (extend.extend) deepExtend(extend, stack, context);
44
40
  return stack;
45
41
  };
46
42
  const deepMergeExtend = (element, extend) => {
47
43
  for (const e in extend) {
48
- if (["parent", "node", "__element"].indexOf(e) > -1)
49
- continue;
44
+ if (["parent", "node", "__element"].indexOf(e) > -1) continue;
50
45
  const elementProp = element[e];
51
46
  const extendProp = extend[e];
52
47
  if (elementProp === void 0) {
@@ -75,10 +70,8 @@ const fallbackStringExtend = (extend, context, options = {}, variant) => {
75
70
  if (isString(extend)) {
76
71
  const componentExists = COMPONENTS && (COMPONENTS[extend + "." + variant] || COMPONENTS[extend] || COMPONENTS["smbls." + extend]);
77
72
  const pageExists = PAGES && extend.startsWith("/") && PAGES[extend];
78
- if (componentExists)
79
- return componentExists;
80
- else if (pageExists)
81
- return pageExists;
73
+ if (componentExists) return componentExists;
74
+ else if (pageExists) return pageExists;
82
75
  else {
83
76
  if (options.verbose && (ENV === "testing" || ENV === "development")) {
84
77
  console.warn("Extend is string but component was not found:", extend);
@@ -92,10 +85,8 @@ const jointStacks = (extendStack, childExtendStack) => {
92
85
  return [].concat(extendStack.slice(0, 1)).concat(childExtendStack.slice(0, 1)).concat(extendStack.slice(1)).concat(childExtendStack.slice(1));
93
86
  };
94
87
  const getExtendStack = (extend, context) => {
95
- if (!extend)
96
- return [];
97
- if (extend.__hash)
98
- return getHashedExtend(extend) || [];
88
+ if (!extend) return [];
89
+ if (extend.__hash) return getHashedExtend(extend) || [];
99
90
  const stack = flattenExtend(extend, [], context);
100
91
  return getExtendStackRegistry(extend, stack);
101
92
  };
@@ -63,8 +63,7 @@ const METHODS_EXL = joinArrays(
63
63
  );
64
64
  const deepMerge = (element, extend, exclude = METHODS_EXL) => {
65
65
  for (const e in extend) {
66
- if (exclude.includes(e))
67
- continue;
66
+ if (exclude.includes(e)) continue;
68
67
  const elementProp = element[e];
69
68
  const extendProp = extend[e];
70
69
  if (elementProp === void 0) {
@@ -78,8 +77,7 @@ const deepMerge = (element, extend, exclude = METHODS_EXL) => {
78
77
  const clone = (obj, exclude = METHODS_EXL) => {
79
78
  const o = {};
80
79
  for (const e in obj) {
81
- if (exclude.includes(e))
82
- continue;
80
+ if (exclude.includes(e)) continue;
83
81
  o[e] = obj[e];
84
82
  }
85
83
  return o;
@@ -89,31 +87,27 @@ const overwrite = (element, params, options) => {
89
87
  const { __ref } = element;
90
88
  const { __exec, __cached } = __ref;
91
89
  for (const e in params) {
92
- if (e === "props" || e === "state" || e === "__ref")
93
- continue;
90
+ if (e === "props" || e === "state" || e === "__ref") continue;
94
91
  const elementProp = element[e];
95
92
  const paramsProp = params[e];
96
93
  if (paramsProp !== void 0) {
97
94
  __cached[e] = changes[e] = elementProp;
98
95
  element[e] = paramsProp;
99
96
  }
100
- if (options.cleanExec)
101
- delete __exec[e];
97
+ if (options.cleanExec) delete __exec[e];
102
98
  }
103
99
  return changes;
104
100
  };
105
101
  const overwriteShallow = (obj, params, exclude = METHODS_EXL) => {
106
102
  for (const e in params) {
107
- if (exclude.includes(e))
108
- continue;
103
+ if (exclude.includes(e)) continue;
109
104
  obj[e] = params[e];
110
105
  }
111
106
  return obj;
112
107
  };
113
108
  const overwriteDeep = (obj, params, exclude = METHODS_EXL) => {
114
109
  for (const e in params) {
115
- if (exclude.includes(e))
116
- continue;
110
+ if (exclude.includes(e)) continue;
117
111
  const objProp = obj[e];
118
112
  const paramsProp = params[e];
119
113
  if (isObjectLike(objProp) && isObjectLike(paramsProp)) {
@@ -125,8 +119,7 @@ const overwriteDeep = (obj, params, exclude = METHODS_EXL) => {
125
119
  return obj;
126
120
  };
127
121
  const mergeIfExisted = (a, b) => {
128
- if (isObjectLike(a) && isObjectLike(b))
129
- return deepMerge(a, b);
122
+ if (isObjectLike(a) && isObjectLike(b)) return deepMerge(a, b);
130
123
  return a || b;
131
124
  };
132
125
  const mergeArray = (arr, exclude = ["parent", "node", "__element", "state", "context", "__ref"]) => {
@@ -139,8 +132,7 @@ const flattenRecursive = (param, prop, stack = []) => {
139
132
  const objectized = mergeAndCloneIfArray(param);
140
133
  stack.push(objectized);
141
134
  const extendOfExtend = objectized[prop];
142
- if (extendOfExtend)
143
- flattenRecursive(extendOfExtend, prop, stack);
135
+ if (extendOfExtend) flattenRecursive(extendOfExtend, prop, stack);
144
136
  delete objectized[prop];
145
137
  return stack;
146
138
  };
@@ -13,24 +13,15 @@ const onlyResolveExtends = (element, parent, key, options) => {
13
13
  element.tag = detectTag(element);
14
14
  {
15
15
  const { __ref: ref2 } = element;
16
- if (!ref2.__cached)
17
- ref2.__cached = {};
18
- if (!ref2.__defineCache)
19
- ref2.__defineCache = {};
20
- if (!ref2.__exec)
21
- ref2.__exec = {};
22
- if (!ref2.__execProps)
23
- ref2.__execProps = {};
24
- if (!ref2.__class)
25
- ref2.__class = {};
26
- if (!ref2.__classNames)
27
- ref2.__classNames = {};
28
- if (!ref2.__attr)
29
- ref2.__attr = {};
30
- if (!ref2.__changes)
31
- ref2.__changes = [];
32
- if (!ref2.__children)
33
- ref2.__children = [];
16
+ if (!ref2.__cached) ref2.__cached = {};
17
+ if (!ref2.__defineCache) ref2.__defineCache = {};
18
+ if (!ref2.__exec) ref2.__exec = {};
19
+ if (!ref2.__execProps) ref2.__execProps = {};
20
+ if (!ref2.__class) ref2.__class = {};
21
+ if (!ref2.__classNames) ref2.__classNames = {};
22
+ if (!ref2.__attr) ref2.__attr = {};
23
+ if (!ref2.__changes) ref2.__changes = [];
24
+ if (!ref2.__children) ref2.__children = [];
34
25
  }
35
26
  addMethods(element, parent, options);
36
27
  createState(element, parent);
@@ -39,10 +30,8 @@ const onlyResolveExtends = (element, parent, key, options) => {
39
30
  const ifPassed = element.if(element, element.state, element.context);
40
31
  if (!ifPassed) {
41
32
  delete ref.__if;
42
- } else
43
- ref.__if = true;
44
- } else
45
- ref.__if = true;
33
+ } else ref.__if = true;
34
+ } else ref.__if = true;
46
35
  if (element.node && ref.__if) {
47
36
  parent[key || element.key] = element;
48
37
  }
@@ -53,8 +42,7 @@ const onlyResolveExtends = (element, parent, key, options) => {
53
42
  throughInitialExec(element);
54
43
  for (const param in element) {
55
44
  const prop = element[param];
56
- if (isUndefined(prop) || isMethod(param, element) || isObject(REGISTRY[param]) || isVariant(param))
57
- continue;
45
+ if (isUndefined(prop) || isMethod(param, element) || isObject(REGISTRY[param]) || isVariant(param)) continue;
58
46
  const hasDefine = element.define && element.define[param];
59
47
  const contextHasDefine = element.context && element.context.define && element.context.define[param];
60
48
  const optionsHasDefine = options.define && options.define[param];
@@ -72,8 +60,7 @@ const onlyResolveExtends = (element, parent, key, options) => {
72
60
  delete element.props.update;
73
61
  delete element.props.__element;
74
62
  }
75
- if (!options.keepRef)
76
- delete element.__ref;
63
+ if (!options.keepRef) delete element.__ref;
77
64
  return element;
78
65
  };
79
66
  export {
@@ -9,11 +9,9 @@ const propagateEventsFromProps = (element) => {
9
9
  if (isFunction(origEvent)) {
10
10
  on[eventName] = (...args) => {
11
11
  const originalEventRetunrs = origEvent(...args);
12
- if (originalEventRetunrs !== false)
13
- funcFromProps(...args);
12
+ if (originalEventRetunrs !== false) funcFromProps(...args);
14
13
  };
15
- } else
16
- on[eventName] = funcFromProps;
14
+ } else on[eventName] = funcFromProps;
17
15
  });
18
16
  };
19
17
  export {
package/methods/index.js CHANGED
@@ -101,7 +101,7 @@ export function setNodeStyles (params = {}) {
101
101
  return el
102
102
  }
103
103
 
104
- export function remove (opts) {
104
+ export async function remove (opts) {
105
105
  const element = this
106
106
  const beforeRemoveReturns = triggerEventOn('beforeRemove', element, opts)
107
107
  if (beforeRemoveReturns === false) return element
@@ -112,7 +112,7 @@ export function remove (opts) {
112
112
  }
113
113
  delete element.parent[element.key]
114
114
  if (element.parent.__ref) element.parent.__ref.__children = removeValueFromArray(element.parent.__ref.__children, element.key)
115
- triggerEventOn('remove', element, opts)
115
+ await triggerEventOn('remove', element, opts)
116
116
  }
117
117
 
118
118
  export function get (param) {
package/mixins/state.js CHANGED
@@ -3,7 +3,7 @@
3
3
  import { IGNORE_STATE_PARAMS } from '@domql/state'
4
4
  import { exec, isObject } from '@domql/utils'
5
5
 
6
- export function state (params, element, node) {
6
+ export async function state (params, element, node) {
7
7
  const state = exec(params, element)
8
8
 
9
9
  if (isObject(state)) {
package/node.js CHANGED
@@ -34,7 +34,7 @@ export const createNode = async (element, options) => {
34
34
  } else node = element.node = cacheNode(element)
35
35
 
36
36
  // trigger `on.attachNode`
37
- triggerEventOn('attachNode', element, options)
37
+ await triggerEventOn('attachNode', element, options)
38
38
  }
39
39
  // node.dataset // .key = element.key
40
40
 
@@ -72,7 +72,7 @@ export const createNode = async (element, options) => {
72
72
  isObject(REGISTRY[param])
73
73
  ) continue
74
74
 
75
- const isElement = applyParam(param, element, options)
75
+ const isElement = await applyParam(param, element, options)
76
76
  if (isElement) {
77
77
  const { hasDefine, hasContextDefine } = isElement
78
78
  if (element[param] && !hasDefine && !hasContextDefine) {
@@ -85,7 +85,7 @@ export const createNode = async (element, options) => {
85
85
  await createAsync()
86
86
  // handle lazy load
87
87
  if (!options.preventUpdateListener) {
88
- triggerEventOn('lazyLoad', element, options)
88
+ await triggerEventOn('lazyLoad', element, options)
89
89
  }
90
90
  })
91
91
  } else await createAsync()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domql/element",
3
- "version": "2.5.205",
3
+ "version": "2.5.207",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "module": "index.js",
@@ -29,10 +29,10 @@
29
29
  "dependencies": {
30
30
  "@domql/event": "^2.5.203",
31
31
  "@domql/render": "^2.5.203",
32
- "@domql/state": "^2.5.203",
32
+ "@domql/state": "^2.5.206",
33
33
  "@domql/utils": "^2.5.203"
34
34
  },
35
- "gitHead": "0e199902ea51b67aa7c0ca0446aae8e492d49789",
35
+ "gitHead": "f3418e9788c06eae1f37e1fbcc0fc0075f5b2742",
36
36
  "devDependencies": {
37
37
  "@babel/core": "^7.12.0"
38
38
  }
package/props/create.js CHANGED
@@ -24,7 +24,7 @@ const createPropsStack = (element, parent) => {
24
24
  return propsStack
25
25
  }
26
26
 
27
- export const syncProps = (props, element, opts) => {
27
+ export const syncProps = async (props, element, opts) => {
28
28
  element.props = {}
29
29
  const mergedProps = {}
30
30
 
@@ -45,7 +45,7 @@ export const syncProps = (props, element, opts) => {
45
45
  })
46
46
  element.props = mergedProps
47
47
 
48
- const methods = { update: update.bind(element.props), __element: element }
48
+ const methods = { update: await update.bind(element.props), __element: element }
49
49
  Object.setPrototypeOf(element.props, methods)
50
50
 
51
51
  return element.props
@@ -81,7 +81,7 @@ export const createProps = function (element, parent, options) {
81
81
  return element
82
82
  }
83
83
 
84
- function update (props, options) {
84
+ async function update (props, options) {
85
85
  const element = this.__element
86
- element.update({ props }, options)
86
+ await element.update({ props }, options)
87
87
  }
package/set.js CHANGED
@@ -67,7 +67,7 @@ export const set = async function (params, options = {}, el) {
67
67
  await resetElement(params, element, options)
68
68
  // handle lazy load
69
69
  if (!options.preventUpdateListener) {
70
- triggerEventOn('lazyLoad', element, options)
70
+ await triggerEventOn('lazyLoad', element, options)
71
71
  }
72
72
  })
73
73
  } else await resetElement(params, element, options)
package/update.js CHANGED
@@ -90,7 +90,7 @@ export const update = async function (params = {}, opts) {
90
90
  throughUpdatedDefine(element)
91
91
 
92
92
  if (!options.isForced && !options.preventListeners) {
93
- triggerEventOn('beforeClassAssign', element, options)
93
+ await triggerEventOn('beforeClassAssign', element, options)
94
94
  }
95
95
 
96
96
  if (!ref.__if) return false
@@ -155,7 +155,7 @@ export const update = async function (params = {}, opts) {
155
155
  await childUpdateCall()
156
156
  // handle lazy load
157
157
  if (!options.preventUpdateListener) {
158
- triggerEventOn('lazyLoad', element, options)
158
+ await triggerEventOn('lazyLoad', element, options)
159
159
  }
160
160
  }) : await childUpdateCall()
161
161
  }
@@ -294,7 +294,7 @@ const inheritStateUpdates = async (element, options) => {
294
294
  }
295
295
 
296
296
  // Recreate the state again
297
- const newState = createStateUpdate(element, parent, options)
297
+ const newState = await createStateUpdate(element, parent, options)
298
298
 
299
299
  // Trigger on.stateUpdate event
300
300
  if (!options.preventStateUpdateListener && !options.preventListeners) {
@@ -302,9 +302,9 @@ const inheritStateUpdates = async (element, options) => {
302
302
  }
303
303
  }
304
304
 
305
- const createStateUpdate = (element, parent, options) => {
305
+ const createStateUpdate = async (element, parent, options) => {
306
306
  const __stateChildren = element.state.__children
307
- const newState = createState(element, parent)
307
+ const newState = await createState(element, parent)
308
308
  element.state = newState
309
309
  for (const child in __stateChildren) {
310
310
  // check this for inherited states