@domql/utils 3.0.1 → 3.0.6

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.
@@ -169,21 +169,28 @@ const flattenExtend = (extend, stack, context, processed = /* @__PURE__ */ new S
169
169
  const deepMergeExtends = (element, extend) => {
170
170
  extend = (0, import_object.deepClone)(extend);
171
171
  for (const e in extend) {
172
- if (["parent", "node", "__ref"].indexOf(e) > -1) continue;
173
- if (e === "__proto__") continue;
172
+ if (["parent", "node", "__ref", "__proto__"].indexOf(e) > -1) continue;
174
173
  const elementProp = element[e];
175
174
  const extendProp = extend[e];
176
175
  if (extendProp === void 0) continue;
177
176
  if (Object.prototype.hasOwnProperty.call(extend, e) && !["__proto__", "constructor", "prototype"].includes(e)) {
178
177
  if (elementProp === void 0) {
179
- element[e] = (0, import_types.isObject)(extendProp) ? (0, import_object.deepClone)(extendProp) : extendProp;
178
+ element[e] = extendProp;
180
179
  } else if ((0, import_types.isObject)(elementProp) && (0, import_types.isObject)(extendProp)) {
181
180
  if ((0, import_component.matchesComponentNaming)(e)) {
182
- element[e] = deepMergeExtends(elementProp, (0, import_object.deepClone)(extendProp));
181
+ element[e] = deepMergeExtends(elementProp, extendProp);
183
182
  } else {
184
183
  deepMergeExtends(elementProp, extendProp);
185
184
  }
186
185
  }
186
+ if (e === "extends" || e === "childExtends" || e === "childExtendsRecursive") {
187
+ if ((0, import_types.isArray)(elementProp) && (0, import_types.isArray)(extendProp)) {
188
+ element[e] = elementProp.concat(extendProp);
189
+ } else if ((0, import_types.isArray)(elementProp) && (0, import_types.isObject)(extendProp)) {
190
+ const obj = deepMergeExtends({}, elementProp);
191
+ element[e] = deepMergeExtends(obj, extendProp);
192
+ }
193
+ }
187
194
  }
188
195
  }
189
196
  return element;
package/dist/cjs/keys.js CHANGED
@@ -30,12 +30,12 @@ __export(keys_exports, {
30
30
  module.exports = __toCommonJS(keys_exports);
31
31
  const DOMQ_PROPERTIES = [
32
32
  "attr",
33
- "style",
33
+ "styles",
34
34
  "text",
35
35
  "html",
36
36
  "content",
37
37
  "data",
38
- "class",
38
+ "classlist",
39
39
  "state",
40
40
  "scope",
41
41
  "deps",
@@ -138,21 +138,28 @@ const flattenExtend = (extend, stack, context, processed = /* @__PURE__ */ new S
138
138
  const deepMergeExtends = (element, extend) => {
139
139
  extend = deepClone(extend);
140
140
  for (const e in extend) {
141
- if (["parent", "node", "__ref"].indexOf(e) > -1) continue;
142
- if (e === "__proto__") continue;
141
+ if (["parent", "node", "__ref", "__proto__"].indexOf(e) > -1) continue;
143
142
  const elementProp = element[e];
144
143
  const extendProp = extend[e];
145
144
  if (extendProp === void 0) continue;
146
145
  if (Object.prototype.hasOwnProperty.call(extend, e) && !["__proto__", "constructor", "prototype"].includes(e)) {
147
146
  if (elementProp === void 0) {
148
- element[e] = isObject(extendProp) ? deepClone(extendProp) : extendProp;
147
+ element[e] = extendProp;
149
148
  } else if (isObject(elementProp) && isObject(extendProp)) {
150
149
  if (matchesComponentNaming(e)) {
151
- element[e] = deepMergeExtends(elementProp, deepClone(extendProp));
150
+ element[e] = deepMergeExtends(elementProp, extendProp);
152
151
  } else {
153
152
  deepMergeExtends(elementProp, extendProp);
154
153
  }
155
154
  }
155
+ if (e === "extends" || e === "childExtends" || e === "childExtendsRecursive") {
156
+ if (isArray(elementProp) && isArray(extendProp)) {
157
+ element[e] = elementProp.concat(extendProp);
158
+ } else if (isArray(elementProp) && isObject(extendProp)) {
159
+ const obj = deepMergeExtends({}, elementProp);
160
+ element[e] = deepMergeExtends(obj, extendProp);
161
+ }
162
+ }
156
163
  }
157
164
  }
158
165
  return element;
package/dist/esm/keys.js CHANGED
@@ -1,11 +1,11 @@
1
1
  const DOMQ_PROPERTIES = [
2
2
  "attr",
3
- "style",
3
+ "styles",
4
4
  "text",
5
5
  "html",
6
6
  "content",
7
7
  "data",
8
- "class",
8
+ "classlist",
9
9
  "state",
10
10
  "scope",
11
11
  "deps",
package/extends.js CHANGED
@@ -171,8 +171,7 @@ export const deepMergeExtends = (element, extend) => {
171
171
  extend = deepClone(extend)
172
172
 
173
173
  for (const e in extend) {
174
- if (['parent', 'node', '__ref'].indexOf(e) > -1) continue
175
- if (e === '__proto__') continue
174
+ if (['parent', 'node', '__ref', '__proto__'].indexOf(e) > -1) continue
176
175
 
177
176
  const elementProp = element[e]
178
177
  const extendProp = extend[e]
@@ -187,21 +186,35 @@ export const deepMergeExtends = (element, extend) => {
187
186
  ) {
188
187
  if (elementProp === undefined) {
189
188
  // For undefined properties in element, copy from extend
190
- element[e] = isObject(extendProp) ? deepClone(extendProp) : extendProp
189
+ element[e] = extendProp
191
190
  } else if (isObject(elementProp) && isObject(extendProp)) {
192
191
  // For objects, merge based on type
193
192
  if (matchesComponentNaming(e)) {
194
193
  // For components, override base properties with extended ones
195
- element[e] = deepMergeExtends(elementProp, deepClone(extendProp))
194
+ element[e] = deepMergeExtends(elementProp, extendProp)
196
195
  } else {
197
196
  // For other objects, merge normally
198
197
  deepMergeExtends(elementProp, extendProp)
199
198
  }
200
199
  }
200
+
201
+ if (
202
+ e === 'extends' ||
203
+ e === 'childExtends' ||
204
+ e === 'childExtendsRecursive'
205
+ ) {
206
+ if (isArray(elementProp) && isArray(extendProp)) {
207
+ element[e] = elementProp.concat(extendProp)
208
+ } else if (isArray(elementProp) && isObject(extendProp)) {
209
+ const obj = deepMergeExtends({}, elementProp)
210
+ element[e] = deepMergeExtends(obj, extendProp)
211
+ }
212
+ }
201
213
  // If elementProp is defined and not an object, keep it (don't override)
202
214
  // This preserves properties from earlier in the extend chain
203
215
  }
204
216
  }
217
+
205
218
  return element
206
219
  }
207
220
 
package/keys.js CHANGED
@@ -2,12 +2,12 @@
2
2
 
3
3
  export const DOMQ_PROPERTIES = [
4
4
  'attr',
5
- 'style',
5
+ 'styles',
6
6
  'text',
7
7
  'html',
8
8
  'content',
9
9
  'data',
10
- 'class',
10
+ 'classlist',
11
11
  'state',
12
12
  'scope',
13
13
  'deps',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domql/utils",
3
- "version": "3.0.1",
3
+ "version": "3.0.6",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "module": "index.js",
@@ -24,7 +24,7 @@
24
24
  "build": "rimraf -I dist; npm run build:cjs; npm run build:esm",
25
25
  "prepublish": "npm run build; npm run copy:package:cjs"
26
26
  },
27
- "gitHead": "bdadc70a00c5ddde21ca889746bf28db0c3d7c2f",
27
+ "gitHead": "ef6f7abdb0a8cdaa28559e377bc10a12e76ef8f0",
28
28
  "devDependencies": {
29
29
  "@babel/core": "^7.12.0"
30
30
  }