@domql/element 2.32.14 → 2.32.15

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.
package/create.js CHANGED
@@ -451,6 +451,7 @@ const addCaching = (element, parent) => {
451
451
 
452
452
  // enable CACHING
453
453
  if (!ref.__cached) ref.__cached = {}
454
+ if (!ref.__cachedContent) ref.__cachedContent = null
454
455
  if (!ref.__defineCache) ref.__defineCache = {}
455
456
 
456
457
  // enable EXEC
@@ -309,6 +309,7 @@ const addCaching = (element, parent2) => {
309
309
  let { __ref: parentRef } = parent2;
310
310
  if (!element.transform) element.transform = {};
311
311
  if (!ref.__cached) ref.__cached = {};
312
+ if (!ref.__cachedContent) ref.__cachedContent = null;
312
313
  if (!ref.__defineCache) ref.__defineCache = {};
313
314
  if (!ref.__exec) ref.__exec = {};
314
315
  if (!ref.__execProps) ref.__execProps = {};
@@ -151,10 +151,13 @@ function setNodeStyles(params = {}) {
151
151
  return el;
152
152
  }
153
153
  async function remove(opts = {}) {
154
+ var _a;
154
155
  const element = this;
155
156
  const beforeRemoveReturns = (0, import_event.triggerEventOn)("beforeRemove", element, opts);
156
157
  if (beforeRemoveReturns === false) return element;
157
158
  if ((0, import_utils.isFunction)(element.node.remove)) element.node.remove();
159
+ else if ((_a = element.node) == null ? void 0 : _a.parentNode)
160
+ element.node.parentNode.removeChild(element.node);
158
161
  else if (!(0, import_utils.isProduction)()) {
159
162
  console.warn("This item cant be removed");
160
163
  element.log();
@@ -39,24 +39,24 @@ const removeContent = function(el, opts = {}) {
39
39
  const { __ref: ref } = element;
40
40
  const contentElementKey = (0, import_utils.setContentKey)(element, opts);
41
41
  if (opts.contentElementKey !== "content") opts.contentElementKey = "content";
42
- if (element[contentElementKey]) {
43
- if (element[contentElementKey].node && element.node) {
44
- if (element[contentElementKey].tag === "fragment")
42
+ const contentElement = element[contentElementKey];
43
+ if (contentElement) {
44
+ if (contentElement.node && element.node) {
45
+ if (contentElement.tag === "fragment")
45
46
  element.node.innerHTML = "";
46
47
  else {
47
- const contentNode = element[contentElementKey].node;
48
+ const contentNode = contentElement.node;
48
49
  if (contentNode.parentNode === element.node)
49
- element.node.removeChild(element[contentElementKey].node);
50
+ element.node.removeChild(contentElement.node);
50
51
  }
51
52
  }
52
- const { __cached } = ref;
53
- if (__cached && __cached[contentElementKey]) {
54
- const cachedContent = __cached[contentElementKey];
55
- if (cachedContent.tag === "fragment")
56
- cachedContent.parent.node.innerHTML = "";
57
- else if (cachedContent && (0, import_utils.isFunction)(cachedContent.remove))
58
- cachedContent.remove();
59
- delete __cached[contentElementKey];
53
+ const { __cachedContent } = ref;
54
+ if (__cachedContent) {
55
+ if (__cachedContent.tag === "fragment")
56
+ __cachedContent.parent.node.innerHTML = "";
57
+ else if (__cachedContent && (0, import_utils.isFunction)(__cachedContent.remove))
58
+ __cachedContent.remove();
59
+ delete ref.__cachedContent;
60
60
  }
61
61
  ref.__children.splice(ref.__children.indexOf(contentElementKey), 1);
62
62
  delete element[contentElementKey];
@@ -65,12 +65,15 @@ const removeContent = function(el, opts = {}) {
65
65
  async function setContent(param, element, node, opts) {
66
66
  var _a;
67
67
  const contentElementKey = (0, import_utils.setContentKey)(element, opts);
68
- if (param && element) {
68
+ if (!element) this.warn("No element to set content on");
69
+ if (param) {
69
70
  if ((_a = element[contentElementKey]) == null ? void 0 : _a.update) {
70
71
  await element[contentElementKey].update({}, opts);
71
72
  } else {
72
73
  await import_set.set.call(element, param, opts);
73
74
  }
75
+ } else {
76
+ removeContent(element, opts);
74
77
  }
75
78
  }
76
79
  var content_default = setContent;
package/dist/cjs/set.js CHANGED
@@ -33,8 +33,6 @@ var import_event = require("@domql/event");
33
33
  const resetElement = async (params, element, options) => {
34
34
  if (!options.preventRemove) (0, import_content.removeContent)(element, options);
35
35
  const { __ref: ref } = element;
36
- const contentElementKey = (0, import_utils.setContentKey)(element, options);
37
- const { __cached } = ref;
38
36
  const newContent = await (0, import_create.create)(
39
37
  params,
40
38
  element,
@@ -46,7 +44,7 @@ const resetElement = async (params, element, options) => {
46
44
  ...options
47
45
  }
48
46
  );
49
- __cached[contentElementKey] = newContent;
47
+ ref.__cachedContent = newContent;
50
48
  };
51
49
  const reset = async (options) => {
52
50
  const element = void 0;
@@ -106,6 +104,8 @@ const set = async function(params, options = {}, el) {
106
104
  }
107
105
  });
108
106
  } else await resetElement(params, element, options);
107
+ } else {
108
+ if (!options.preventRemove) (0, import_content.removeContent)(element, options);
109
109
  }
110
110
  return element;
111
111
  };
@@ -305,6 +305,7 @@ const addCaching = (element, parent2) => {
305
305
  let { __ref: parentRef } = parent2;
306
306
  if (!element.transform) element.transform = {};
307
307
  if (!ref.__cached) ref.__cached = {};
308
+ if (!ref.__cachedContent) ref.__cachedContent = null;
308
309
  if (!ref.__defineCache) ref.__defineCache = {};
309
310
  if (!ref.__exec) ref.__exec = {};
310
311
  if (!ref.__execProps) ref.__execProps = {};
@@ -110,10 +110,13 @@ function setNodeStyles(params = {}) {
110
110
  return el;
111
111
  }
112
112
  async function remove(opts = {}) {
113
+ var _a;
113
114
  const element = this;
114
115
  const beforeRemoveReturns = triggerEventOn("beforeRemove", element, opts);
115
116
  if (beforeRemoveReturns === false) return element;
116
117
  if (isFunction(element.node.remove)) element.node.remove();
118
+ else if ((_a = element.node) == null ? void 0 : _a.parentNode)
119
+ element.node.parentNode.removeChild(element.node);
117
120
  else if (!isProduction()) {
118
121
  console.warn("This item cant be removed");
119
122
  element.log();
@@ -13,24 +13,24 @@ const removeContent = function(el, opts = {}) {
13
13
  const { __ref: ref } = element;
14
14
  const contentElementKey = setContentKey(element, opts);
15
15
  if (opts.contentElementKey !== "content") opts.contentElementKey = "content";
16
- if (element[contentElementKey]) {
17
- if (element[contentElementKey].node && element.node) {
18
- if (element[contentElementKey].tag === "fragment")
16
+ const contentElement = element[contentElementKey];
17
+ if (contentElement) {
18
+ if (contentElement.node && element.node) {
19
+ if (contentElement.tag === "fragment")
19
20
  element.node.innerHTML = "";
20
21
  else {
21
- const contentNode = element[contentElementKey].node;
22
+ const contentNode = contentElement.node;
22
23
  if (contentNode.parentNode === element.node)
23
- element.node.removeChild(element[contentElementKey].node);
24
+ element.node.removeChild(contentElement.node);
24
25
  }
25
26
  }
26
- const { __cached } = ref;
27
- if (__cached && __cached[contentElementKey]) {
28
- const cachedContent = __cached[contentElementKey];
29
- if (cachedContent.tag === "fragment")
30
- cachedContent.parent.node.innerHTML = "";
31
- else if (cachedContent && isFunction(cachedContent.remove))
32
- cachedContent.remove();
33
- delete __cached[contentElementKey];
27
+ const { __cachedContent } = ref;
28
+ if (__cachedContent) {
29
+ if (__cachedContent.tag === "fragment")
30
+ __cachedContent.parent.node.innerHTML = "";
31
+ else if (__cachedContent && isFunction(__cachedContent.remove))
32
+ __cachedContent.remove();
33
+ delete ref.__cachedContent;
34
34
  }
35
35
  ref.__children.splice(ref.__children.indexOf(contentElementKey), 1);
36
36
  delete element[contentElementKey];
@@ -39,12 +39,15 @@ const removeContent = function(el, opts = {}) {
39
39
  async function setContent(param, element, node, opts) {
40
40
  var _a;
41
41
  const contentElementKey = setContentKey(element, opts);
42
- if (param && element) {
42
+ if (!element) this.warn("No element to set content on");
43
+ if (param) {
43
44
  if ((_a = element[contentElementKey]) == null ? void 0 : _a.update) {
44
45
  await element[contentElementKey].update({}, opts);
45
46
  } else {
46
47
  await set.call(element, param, opts);
47
48
  }
49
+ } else {
50
+ removeContent(element, opts);
48
51
  }
49
52
  }
50
53
  var content_default = setContent;
package/dist/esm/set.js CHANGED
@@ -7,8 +7,6 @@ import { triggerEventOn, triggerEventOnUpdate } from "@domql/event";
7
7
  const resetElement = async (params, element, options) => {
8
8
  if (!options.preventRemove) removeContent(element, options);
9
9
  const { __ref: ref } = element;
10
- const contentElementKey = setContentKey(element, options);
11
- const { __cached } = ref;
12
10
  const newContent = await create(
13
11
  params,
14
12
  element,
@@ -20,7 +18,7 @@ const resetElement = async (params, element, options) => {
20
18
  ...options
21
19
  }
22
20
  );
23
- __cached[contentElementKey] = newContent;
21
+ ref.__cachedContent = newContent;
24
22
  };
25
23
  const reset = async (options) => {
26
24
  const element = void 0;
@@ -80,6 +78,8 @@ const set = async function(params, options = {}, el) {
80
78
  }
81
79
  });
82
80
  } else await resetElement(params, element, options);
81
+ } else {
82
+ if (!options.preventRemove) removeContent(element, options);
83
83
  }
84
84
  return element;
85
85
  };
package/methods/index.js CHANGED
@@ -138,6 +138,8 @@ export async function remove(opts = {}) {
138
138
  const beforeRemoveReturns = triggerEventOn('beforeRemove', element, opts)
139
139
  if (beforeRemoveReturns === false) return element
140
140
  if (isFunction(element.node.remove)) element.node.remove()
141
+ else if (element.node?.parentNode)
142
+ element.node.parentNode.removeChild(element.node)
141
143
  else if (!isProduction()) {
142
144
  console.warn('This item cant be removed')
143
145
  element.log()
package/mixins/content.js CHANGED
@@ -21,25 +21,25 @@ export const removeContent = function (el, opts = {}) {
21
21
  const contentElementKey = setContentKey(element, opts)
22
22
 
23
23
  if (opts.contentElementKey !== 'content') opts.contentElementKey = 'content'
24
- if (element[contentElementKey]) {
25
- if (element[contentElementKey].node && element.node) {
26
- if (element[contentElementKey].tag === 'fragment')
24
+ const contentElement = element[contentElementKey]
25
+ if (contentElement) {
26
+ if (contentElement.node && element.node) {
27
+ if (contentElement.tag === 'fragment')
27
28
  element.node.innerHTML = '' // TODO: deep check to only remove `content` children and not other children
28
29
  else {
29
- const contentNode = element[contentElementKey].node
30
+ const contentNode = contentElement.node
30
31
  if (contentNode.parentNode === element.node)
31
- element.node.removeChild(element[contentElementKey].node)
32
+ element.node.removeChild(contentElement.node)
32
33
  }
33
34
  }
34
35
 
35
- const { __cached } = ref
36
- if (__cached && __cached[contentElementKey]) {
37
- const cachedContent = __cached[contentElementKey]
38
- if (cachedContent.tag === 'fragment')
39
- cachedContent.parent.node.innerHTML = ''
40
- else if (cachedContent && isFunction(cachedContent.remove))
41
- cachedContent.remove()
42
- delete __cached[contentElementKey]
36
+ const { __cachedContent } = ref
37
+ if (__cachedContent) {
38
+ if (__cachedContent.tag === 'fragment')
39
+ __cachedContent.parent.node.innerHTML = ''
40
+ else if (__cachedContent && isFunction(__cachedContent.remove))
41
+ __cachedContent.remove()
42
+ delete ref.__cachedContent
43
43
  }
44
44
 
45
45
  ref.__children.splice(ref.__children.indexOf(contentElementKey), 1)
@@ -54,12 +54,16 @@ export const removeContent = function (el, opts = {}) {
54
54
  */
55
55
  export async function setContent(param, element, node, opts) {
56
56
  const contentElementKey = setContentKey(element, opts)
57
- if (param && element) {
57
+ if (!element) this.warn('No element to set content on')
58
+
59
+ if (param) {
58
60
  if (element[contentElementKey]?.update) {
59
61
  await element[contentElementKey].update({}, opts)
60
62
  } else {
61
63
  await set.call(element, param, opts)
62
64
  }
65
+ } else {
66
+ removeContent(element, opts)
63
67
  }
64
68
  }
65
69
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domql/element",
3
- "version": "2.32.14",
3
+ "version": "2.32.15",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "module": "index.js",
@@ -27,12 +27,12 @@
27
27
  "prepublish": "npx rimraf -I dist && npm run build && npm run copy:package:cjs"
28
28
  },
29
29
  "dependencies": {
30
- "@domql/event": "^2.32.14",
31
- "@domql/render": "^2.32.14",
32
- "@domql/state": "^2.32.14",
33
- "@domql/utils": "^2.32.14"
30
+ "@domql/event": "^2.32.15",
31
+ "@domql/render": "^2.32.15",
32
+ "@domql/state": "^2.32.15",
33
+ "@domql/utils": "^2.32.15"
34
34
  },
35
- "gitHead": "b9c8c8e0b8c5a9172678236729c78f7b8a1ec116",
35
+ "gitHead": "6a415e03899ef8fed12e0f85bdd58026b240f7f7",
36
36
  "devDependencies": {
37
37
  "@babel/core": "^7.27.1"
38
38
  }
package/set.js CHANGED
@@ -11,8 +11,6 @@ import { triggerEventOn, triggerEventOnUpdate } from '@domql/event'
11
11
  export const resetElement = async (params, element, options) => {
12
12
  if (!options.preventRemove) removeContent(element, options)
13
13
  const { __ref: ref } = element
14
- const contentElementKey = setContentKey(element, options)
15
- const { __cached } = ref
16
14
  const newContent = await create(
17
15
  params,
18
16
  element,
@@ -24,7 +22,7 @@ export const resetElement = async (params, element, options) => {
24
22
  ...options
25
23
  }
26
24
  )
27
- __cached[contentElementKey] = newContent
25
+ ref.__cachedContent = newContent
28
26
  }
29
27
 
30
28
  export const reset = async (options) => {
@@ -113,6 +111,8 @@ export const set = async function (params, options = {}, el) {
113
111
  }
114
112
  })
115
113
  } else await resetElement(params, element, options)
114
+ } else {
115
+ if (!options.preventRemove) removeContent(element, options)
116
116
  }
117
117
 
118
118
  return element