@domql/element 2.5.200 → 2.5.205

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 (66) hide show
  1. package/create.js +5 -5
  2. package/dist/cjs/create.js +88 -46
  3. package/dist/cjs/define.js +2 -1
  4. package/dist/cjs/extend.js +8 -4
  5. package/dist/cjs/index.js +3 -3
  6. package/dist/cjs/iterate.js +18 -9
  7. package/dist/cjs/methods/index.js +69 -36
  8. package/dist/cjs/methods/set.js +2 -1
  9. package/dist/cjs/methods/v2.js +12 -6
  10. package/dist/cjs/mixins/attr.js +8 -4
  11. package/dist/cjs/mixins/classList.js +16 -8
  12. package/dist/cjs/mixins/content.js +16 -9
  13. package/dist/cjs/mixins/data.js +4 -2
  14. package/dist/cjs/mixins/html.js +4 -2
  15. package/dist/cjs/mixins/scope.js +2 -1
  16. package/dist/cjs/mixins/state.js +4 -2
  17. package/dist/cjs/mixins/style.js +4 -2
  18. package/dist/cjs/mixins/text.js +6 -3
  19. package/dist/cjs/node.js +13 -7
  20. package/dist/cjs/props/create.js +12 -6
  21. package/dist/cjs/props/inherit.js +4 -2
  22. package/dist/cjs/props/update.js +6 -3
  23. package/dist/cjs/set.js +16 -9
  24. package/dist/cjs/update.js +53 -29
  25. package/dist/cjs/utils/applyParam.js +4 -3
  26. package/dist/cjs/utils/component.js +6 -3
  27. package/dist/cjs/utils/extendUtils.js +19 -10
  28. package/dist/cjs/utils/object.js +16 -8
  29. package/dist/cjs/utils/onlyResolveExtends.js +26 -13
  30. package/dist/cjs/utils/propEvents.js +4 -2
  31. package/dist/esm/create.js +88 -46
  32. package/dist/esm/define.js +2 -1
  33. package/dist/esm/extend.js +8 -4
  34. package/dist/esm/iterate.js +18 -9
  35. package/dist/esm/methods/index.js +69 -36
  36. package/dist/esm/methods/set.js +2 -1
  37. package/dist/esm/methods/v2.js +12 -6
  38. package/dist/esm/mixins/attr.js +8 -4
  39. package/dist/esm/mixins/classList.js +16 -8
  40. package/dist/esm/mixins/content.js +16 -9
  41. package/dist/esm/mixins/data.js +4 -2
  42. package/dist/esm/mixins/html.js +4 -2
  43. package/dist/esm/mixins/scope.js +2 -1
  44. package/dist/esm/mixins/state.js +4 -2
  45. package/dist/esm/mixins/style.js +4 -2
  46. package/dist/esm/mixins/text.js +6 -3
  47. package/dist/esm/node.js +13 -7
  48. package/dist/esm/props/create.js +12 -6
  49. package/dist/esm/props/inherit.js +4 -2
  50. package/dist/esm/props/update.js +6 -3
  51. package/dist/esm/set.js +16 -9
  52. package/dist/esm/update.js +53 -29
  53. package/dist/esm/utils/applyParam.js +4 -3
  54. package/dist/esm/utils/component.js +6 -3
  55. package/dist/esm/utils/extendUtils.js +19 -10
  56. package/dist/esm/utils/object.js +16 -8
  57. package/dist/esm/utils/onlyResolveExtends.js +26 -13
  58. package/dist/esm/utils/propEvents.js +4 -2
  59. package/methods/index.js +3 -3
  60. package/mixins/content.js +2 -2
  61. package/node.js +1 -1
  62. package/package.json +8 -8
  63. package/set.js +3 -3
  64. package/update.js +6 -6
  65. package/utils/applyParam.js +2 -2
  66. package/utils/extendUtils.js +1 -1
@@ -32,16 +32,21 @@ const deepExtend = (extend, stack, context) => {
32
32
  return stack;
33
33
  };
34
34
  const flattenExtend = (extend, stack, context) => {
35
- if (!extend) return stack;
36
- if (isArray(extend)) return extractArrayExtend(extend, stack, context);
37
- if (isString(extend)) extend = fallbackStringExtend(extend, 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);
38
41
  stack.push(extend);
39
- if (extend.extend) deepExtend(extend, stack, context);
42
+ if (extend.extend)
43
+ deepExtend(extend, stack, context);
40
44
  return stack;
41
45
  };
42
46
  const deepMergeExtend = (element, extend) => {
43
47
  for (const e in extend) {
44
- if (["parent", "node", "__element"].indexOf(e) > -1) continue;
48
+ if (["parent", "node", "__element"].indexOf(e) > -1)
49
+ continue;
45
50
  const elementProp = element[e];
46
51
  const extendProp = extend[e];
47
52
  if (elementProp === void 0) {
@@ -70,10 +75,12 @@ const fallbackStringExtend = (extend, context, options = {}, variant) => {
70
75
  if (isString(extend)) {
71
76
  const componentExists = COMPONENTS && (COMPONENTS[extend + "." + variant] || COMPONENTS[extend] || COMPONENTS["smbls." + extend]);
72
77
  const pageExists = PAGES && extend.startsWith("/") && PAGES[extend];
73
- if (componentExists) return componentExists;
74
- else if (pageExists) return pageExists;
78
+ if (componentExists)
79
+ return componentExists;
80
+ else if (pageExists)
81
+ return pageExists;
75
82
  else {
76
- if (options.verbose && (ENV === "test" || ENV === "development")) {
83
+ if (options.verbose && (ENV === "testing" || ENV === "development")) {
77
84
  console.warn("Extend is string but component was not found:", extend);
78
85
  }
79
86
  return {};
@@ -85,8 +92,10 @@ const jointStacks = (extendStack, childExtendStack) => {
85
92
  return [].concat(extendStack.slice(0, 1)).concat(childExtendStack.slice(0, 1)).concat(extendStack.slice(1)).concat(childExtendStack.slice(1));
86
93
  };
87
94
  const getExtendStack = (extend, context) => {
88
- if (!extend) return [];
89
- if (extend.__hash) return getHashedExtend(extend) || [];
95
+ if (!extend)
96
+ return [];
97
+ if (extend.__hash)
98
+ return getHashedExtend(extend) || [];
90
99
  const stack = flattenExtend(extend, [], context);
91
100
  return getExtendStackRegistry(extend, stack);
92
101
  };
@@ -63,7 +63,8 @@ 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)) continue;
66
+ if (exclude.includes(e))
67
+ continue;
67
68
  const elementProp = element[e];
68
69
  const extendProp = extend[e];
69
70
  if (elementProp === void 0) {
@@ -77,7 +78,8 @@ const deepMerge = (element, extend, exclude = METHODS_EXL) => {
77
78
  const clone = (obj, exclude = METHODS_EXL) => {
78
79
  const o = {};
79
80
  for (const e in obj) {
80
- if (exclude.includes(e)) continue;
81
+ if (exclude.includes(e))
82
+ continue;
81
83
  o[e] = obj[e];
82
84
  }
83
85
  return o;
@@ -87,27 +89,31 @@ const overwrite = (element, params, options) => {
87
89
  const { __ref } = element;
88
90
  const { __exec, __cached } = __ref;
89
91
  for (const e in params) {
90
- if (e === "props" || e === "state" || e === "__ref") continue;
92
+ if (e === "props" || e === "state" || e === "__ref")
93
+ continue;
91
94
  const elementProp = element[e];
92
95
  const paramsProp = params[e];
93
96
  if (paramsProp !== void 0) {
94
97
  __cached[e] = changes[e] = elementProp;
95
98
  element[e] = paramsProp;
96
99
  }
97
- if (options.cleanExec) delete __exec[e];
100
+ if (options.cleanExec)
101
+ delete __exec[e];
98
102
  }
99
103
  return changes;
100
104
  };
101
105
  const overwriteShallow = (obj, params, exclude = METHODS_EXL) => {
102
106
  for (const e in params) {
103
- if (exclude.includes(e)) continue;
107
+ if (exclude.includes(e))
108
+ continue;
104
109
  obj[e] = params[e];
105
110
  }
106
111
  return obj;
107
112
  };
108
113
  const overwriteDeep = (obj, params, exclude = METHODS_EXL) => {
109
114
  for (const e in params) {
110
- if (exclude.includes(e)) continue;
115
+ if (exclude.includes(e))
116
+ continue;
111
117
  const objProp = obj[e];
112
118
  const paramsProp = params[e];
113
119
  if (isObjectLike(objProp) && isObjectLike(paramsProp)) {
@@ -119,7 +125,8 @@ const overwriteDeep = (obj, params, exclude = METHODS_EXL) => {
119
125
  return obj;
120
126
  };
121
127
  const mergeIfExisted = (a, b) => {
122
- if (isObjectLike(a) && isObjectLike(b)) return deepMerge(a, b);
128
+ if (isObjectLike(a) && isObjectLike(b))
129
+ return deepMerge(a, b);
123
130
  return a || b;
124
131
  };
125
132
  const mergeArray = (arr, exclude = ["parent", "node", "__element", "state", "context", "__ref"]) => {
@@ -132,7 +139,8 @@ const flattenRecursive = (param, prop, stack = []) => {
132
139
  const objectized = mergeAndCloneIfArray(param);
133
140
  stack.push(objectized);
134
141
  const extendOfExtend = objectized[prop];
135
- if (extendOfExtend) flattenRecursive(extendOfExtend, prop, stack);
142
+ if (extendOfExtend)
143
+ flattenRecursive(extendOfExtend, prop, stack);
136
144
  delete objectized[prop];
137
145
  return stack;
138
146
  };
@@ -13,15 +13,24 @@ const onlyResolveExtends = (element, parent, key, options) => {
13
13
  element.tag = detectTag(element);
14
14
  {
15
15
  const { __ref: ref2 } = element;
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 = [];
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 = [];
25
34
  }
26
35
  addMethods(element, parent, options);
27
36
  createState(element, parent);
@@ -30,8 +39,10 @@ const onlyResolveExtends = (element, parent, key, options) => {
30
39
  const ifPassed = element.if(element, element.state, element.context);
31
40
  if (!ifPassed) {
32
41
  delete ref.__if;
33
- } else ref.__if = true;
34
- } else ref.__if = true;
42
+ } else
43
+ ref.__if = true;
44
+ } else
45
+ ref.__if = true;
35
46
  if (element.node && ref.__if) {
36
47
  parent[key || element.key] = element;
37
48
  }
@@ -42,7 +53,8 @@ const onlyResolveExtends = (element, parent, key, options) => {
42
53
  throughInitialExec(element);
43
54
  for (const param in element) {
44
55
  const prop = element[param];
45
- if (isUndefined(prop) || isMethod(param, element) || isObject(REGISTRY[param]) || isVariant(param)) continue;
56
+ if (isUndefined(prop) || isMethod(param, element) || isObject(REGISTRY[param]) || isVariant(param))
57
+ continue;
46
58
  const hasDefine = element.define && element.define[param];
47
59
  const contextHasDefine = element.context && element.context.define && element.context.define[param];
48
60
  const optionsHasDefine = options.define && options.define[param];
@@ -60,7 +72,8 @@ const onlyResolveExtends = (element, parent, key, options) => {
60
72
  delete element.props.update;
61
73
  delete element.props.__element;
62
74
  }
63
- if (!options.keepRef) delete element.__ref;
75
+ if (!options.keepRef)
76
+ delete element.__ref;
64
77
  return element;
65
78
  };
66
79
  export {
@@ -9,9 +9,11 @@ const propagateEventsFromProps = (element) => {
9
9
  if (isFunction(origEvent)) {
10
10
  on[eventName] = (...args) => {
11
11
  const originalEventRetunrs = origEvent(...args);
12
- if (originalEventRetunrs !== false) funcFromProps(...args);
12
+ if (originalEventRetunrs !== false)
13
+ funcFromProps(...args);
13
14
  };
14
- } else on[eventName] = funcFromProps;
15
+ } else
16
+ on[eventName] = funcFromProps;
15
17
  });
16
18
  };
17
19
  export {
package/methods/index.js CHANGED
@@ -205,19 +205,19 @@ export function verbose (...args) {
205
205
  }
206
206
 
207
207
  export function log (...params) {
208
- if (ENV === 'test' || ENV === 'development') {
208
+ if (ENV === 'testing' || ENV === 'development') {
209
209
  console.log(...params)
210
210
  }
211
211
  }
212
212
 
213
213
  export function warn (...params) {
214
- if (ENV === 'test' || ENV === 'development') {
214
+ if (ENV === 'testing' || ENV === 'development') {
215
215
  console.warn(...params)
216
216
  }
217
217
  }
218
218
 
219
219
  export function error (...params) {
220
- if (ENV === 'test' || ENV === 'development') {
220
+ if (ENV === 'testing' || ENV === 'development') {
221
221
  if (params[params.length - 1]?.debugger) debugger // eslint-disable-line
222
222
  if (params[params.length - 1]?.verbose) verbose.call(this)
223
223
  throw new Error(...params)
package/mixins/content.js CHANGED
@@ -41,13 +41,13 @@ export const removeContent = function (el, opts = {}) {
41
41
  * Appends anything as content
42
42
  * an original one as a child
43
43
  */
44
- export function setContent (param, element, node, opts) {
44
+ export async function setContent (param, element, node, opts) {
45
45
  const contentElementKey = setContentKey(element, opts)
46
46
  if (param && element) {
47
47
  if (element[contentElementKey].update) {
48
48
  element[contentElementKey].update({}, opts)
49
49
  } else {
50
- set.call(element, param, opts)
50
+ await set.call(element, param, opts)
51
51
  }
52
52
  }
53
53
  }
package/node.js CHANGED
@@ -38,7 +38,7 @@ export const createNode = async (element, options) => {
38
38
  }
39
39
  // node.dataset // .key = element.key
40
40
 
41
- if (ENV === 'test' || ENV === 'development' || options.alowRefReference) {
41
+ if (ENV === 'testing' || ENV === 'development' || options.alowRefReference) {
42
42
  node.ref = element
43
43
  if (isFunction(node.setAttribute)) node.setAttribute('key', element.key)
44
44
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domql/element",
3
- "version": "2.5.200",
3
+ "version": "2.5.205",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "module": "index.js",
@@ -23,16 +23,16 @@
23
23
  "copy:package:cjs": "cp ../../build/package-cjs.json dist/cjs/package.json",
24
24
  "build:esm": "npx esbuild *.js **/*.js --target=es2019 --format=esm --outdir=dist/esm",
25
25
  "build:cjs": "npx esbuild *.js **/*.js --target=node16 --format=cjs --outdir=dist/cjs",
26
- "build": "rimraf -I dist; npm run build:cjs; npm run build:esm",
27
- "prepublish": "rimraf -I dist && npm run build && npm run copy:package:cjs"
26
+ "build": "npx rimraf -I dist; npm run build:cjs; npm run build:esm",
27
+ "prepublish": "npx rimraf -I dist && npm run build && npm run copy:package:cjs"
28
28
  },
29
29
  "dependencies": {
30
- "@domql/event": "^2.5.200",
31
- "@domql/render": "^2.5.200",
32
- "@domql/state": "^2.5.200",
33
- "@domql/utils": "^2.5.200"
30
+ "@domql/event": "^2.5.203",
31
+ "@domql/render": "^2.5.203",
32
+ "@domql/state": "^2.5.203",
33
+ "@domql/utils": "^2.5.203"
34
34
  },
35
- "gitHead": "0afb63ec375f0526f47ff300885de393138b01e8",
35
+ "gitHead": "0e199902ea51b67aa7c0ca0446aae8e492d49789",
36
36
  "devDependencies": {
37
37
  "@babel/core": "^7.12.0"
38
38
  }
package/set.js CHANGED
@@ -19,9 +19,9 @@ export const resetElement = async (params, element, options) => {
19
19
  })
20
20
  }
21
21
 
22
- export const reset = (options) => {
22
+ export const reset = async (options) => {
23
23
  const element = this
24
- create(element, element.parent, undefined, {
24
+ await create(element, element.parent, undefined, {
25
25
  ignoreChildExtend: true,
26
26
  ...registry.defaultOptions,
27
27
  ...OPTIONS.create,
@@ -45,7 +45,7 @@ export const set = async function (params, options = {}, el) {
45
45
  const beforeUpdateReturns = await triggerEventOnUpdate('beforeUpdate', params, element, options)
46
46
  if (beforeUpdateReturns === false) return element
47
47
  }
48
- if (content?.update) content.update()
48
+ if (content?.update) await content.update()
49
49
  if (!options.preventUpdateListener) await triggerEventOn('update', element, options)
50
50
  return
51
51
  }
package/update.js CHANGED
@@ -133,7 +133,7 @@ export const update = async function (params = {}, opts) {
133
133
 
134
134
  if (preventStateUpdate === 'once') options.preventStateUpdate = false
135
135
 
136
- const isElement = applyParam(param, element, options)
136
+ const isElement = await applyParam(param, element, options)
137
137
  if (isElement) {
138
138
  const { hasDefine, hasContextDefine } = isElement
139
139
  const canUpdate = isObject(prop) && !hasDefine && !hasContextDefine && !preventRecursive
@@ -145,23 +145,23 @@ export const update = async function (params = {}, opts) {
145
145
  options.onEachUpdate(param, element, element.state, element.context)
146
146
  }
147
147
 
148
- const childUpdateCall = () => update.call(prop, params[prop], {
148
+ const childUpdateCall = async () => await update.call(prop, params[prop], {
149
149
  ...options,
150
150
  currentSnapshot: snapshotOnCallee,
151
151
  calleeElement
152
152
  })
153
153
 
154
- lazyLoad ? window.requestAnimationFrame(() => { // eslint-disable-line
155
- childUpdateCall()
154
+ lazyLoad ? window.requestAnimationFrame(async () => { // eslint-disable-line
155
+ await childUpdateCall()
156
156
  // handle lazy load
157
157
  if (!options.preventUpdateListener) {
158
158
  triggerEventOn('lazyLoad', element, options)
159
159
  }
160
- }) : childUpdateCall()
160
+ }) : await childUpdateCall()
161
161
  }
162
162
  }
163
163
 
164
- if (!preventUpdateListener) triggerEventOn('update', element, options)
164
+ if (!preventUpdateListener) await triggerEventOn('update', element, options)
165
165
  }
166
166
 
167
167
  const captureSnapshot = (element, options) => {
@@ -3,7 +3,7 @@
3
3
  import { isFunction } from '@domql/utils'
4
4
  import { REGISTRY } from '../mixins/index.js'
5
5
 
6
- export const applyParam = (param, element, options) => {
6
+ export const applyParam = async (param, element, options) => {
7
7
  const { node, context, __ref: ref } = element
8
8
  const prop = element[param]
9
9
 
@@ -22,7 +22,7 @@ export const applyParam = (param, element, options) => {
22
22
 
23
23
  if (isGlobalTransformer && !hasContextDefine && hasOnlyUpdate) {
24
24
  if (isFunction(isGlobalTransformer)) {
25
- isGlobalTransformer(prop, element, node, options)
25
+ await isGlobalTransformer(prop, element, node, options)
26
26
  return
27
27
  }
28
28
  }
@@ -88,7 +88,7 @@ export const fallbackStringExtend = (extend, context, options = {}, variant) =>
88
88
  if (componentExists) return componentExists
89
89
  else if (pageExists) return pageExists
90
90
  else {
91
- if (options.verbose && (ENV === 'test' || ENV === 'development')) {
91
+ if (options.verbose && (ENV === 'testing' || ENV === 'development')) {
92
92
  console.warn('Extend is string but component was not found:', extend)
93
93
  }
94
94
  return {}