@domql/element 2.5.198 → 3.0.0

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 (150) hide show
  1. package/README.md +1 -1
  2. package/__tests__/checkIfOnUpdate.test.js +103 -0
  3. package/__tests__/children.test.js +213 -0
  4. package/__tests__/define.test.js +75 -0
  5. package/__tests__/inheritStateUpdates.test.js +79 -0
  6. package/__tests__/renderElement.test.js +131 -0
  7. package/__tests__/resetElement.test.js +44 -0
  8. package/__tests__/set.test.js +316 -0
  9. package/__tests__/throughExecProps.test.js +86 -0
  10. package/__tests__/throughInitialDefine.test.js +104 -0
  11. package/__tests__/throughInitialExec.test.js +92 -0
  12. package/__tests__/throughUpdatedDefine.test.js +92 -0
  13. package/__tests__/throughUpdatedExec.test.js +110 -0
  14. package/__tests__/tree.test.js +15 -0
  15. package/__tests__/update.test.js +253 -0
  16. package/children.js +105 -0
  17. package/create.js +125 -255
  18. package/dist/cjs/__tests__/checkIfOnUpdate.test.js +73 -0
  19. package/dist/cjs/__tests__/children.test.js +177 -0
  20. package/dist/cjs/__tests__/define.test.js +75 -0
  21. package/dist/cjs/__tests__/inheritStateUpdates.test.js +62 -0
  22. package/dist/cjs/__tests__/renderElement.test.js +138 -0
  23. package/dist/cjs/__tests__/resetElement.test.js +35 -0
  24. package/dist/cjs/__tests__/set.test.js +256 -0
  25. package/dist/cjs/__tests__/throughExecProps.test.js +62 -0
  26. package/dist/cjs/__tests__/throughInitialDefine.test.js +79 -0
  27. package/dist/cjs/__tests__/throughInitialExec.test.js +73 -0
  28. package/dist/cjs/__tests__/throughUpdatedDefine.test.js +69 -0
  29. package/dist/cjs/__tests__/throughUpdatedExec.test.js +84 -0
  30. package/dist/cjs/__tests__/tree.test.js +11 -0
  31. package/dist/cjs/__tests__/update.test.js +219 -0
  32. package/dist/cjs/children.js +87 -0
  33. package/dist/cjs/create.js +74 -215
  34. package/dist/cjs/define.js +1 -2
  35. package/dist/cjs/index.js +3 -3
  36. package/dist/cjs/iterate.js +37 -30
  37. package/dist/cjs/methods/set.js +26 -25
  38. package/dist/cjs/methods/v2.js +7 -17
  39. package/dist/cjs/mixins/attr.js +7 -10
  40. package/dist/cjs/mixins/classList.js +8 -16
  41. package/dist/cjs/mixins/data.js +2 -4
  42. package/dist/cjs/mixins/html.js +2 -4
  43. package/dist/cjs/mixins/index.js +0 -4
  44. package/dist/cjs/mixins/registry.js +7 -67
  45. package/dist/cjs/mixins/scope.js +2 -3
  46. package/dist/cjs/mixins/state.js +4 -7
  47. package/dist/cjs/mixins/style.js +2 -4
  48. package/dist/cjs/mixins/text.js +5 -8
  49. package/dist/cjs/node.js +34 -30
  50. package/dist/cjs/set.js +112 -47
  51. package/dist/cjs/update.js +123 -92
  52. package/dist/cjs/utils/applyParam.js +3 -4
  53. package/dist/cjs/utils/index.js +8 -4
  54. package/dist/cjs/utils/onlyResolveExtends.js +14 -30
  55. package/dist/esm/__tests__/checkIfOnUpdate.test.js +73 -0
  56. package/dist/esm/__tests__/children.test.js +177 -0
  57. package/dist/esm/__tests__/define.test.js +53 -0
  58. package/dist/esm/__tests__/inheritStateUpdates.test.js +62 -0
  59. package/dist/esm/__tests__/renderElement.test.js +116 -0
  60. package/dist/esm/__tests__/resetElement.test.js +35 -0
  61. package/dist/esm/__tests__/set.test.js +256 -0
  62. package/dist/esm/__tests__/throughExecProps.test.js +62 -0
  63. package/dist/esm/__tests__/throughInitialDefine.test.js +79 -0
  64. package/dist/esm/__tests__/throughInitialExec.test.js +73 -0
  65. package/dist/esm/__tests__/throughUpdatedDefine.test.js +69 -0
  66. package/dist/esm/__tests__/throughUpdatedExec.test.js +84 -0
  67. package/dist/esm/__tests__/tree.test.js +11 -0
  68. package/dist/esm/__tests__/update.test.js +219 -0
  69. package/dist/esm/children.js +81 -0
  70. package/dist/esm/create.js +79 -226
  71. package/dist/esm/define.js +1 -2
  72. package/dist/esm/iterate.js +41 -33
  73. package/dist/esm/methods/set.js +5 -4
  74. package/dist/esm/methods/v2.js +7 -17
  75. package/dist/esm/mixins/attr.js +8 -11
  76. package/dist/esm/mixins/classList.js +8 -16
  77. package/dist/esm/mixins/data.js +3 -5
  78. package/dist/esm/mixins/html.js +2 -4
  79. package/dist/esm/mixins/index.js +0 -4
  80. package/dist/esm/mixins/registry.js +7 -67
  81. package/dist/esm/mixins/scope.js +2 -3
  82. package/dist/esm/mixins/state.js +5 -8
  83. package/dist/esm/mixins/style.js +2 -4
  84. package/dist/esm/mixins/text.js +6 -12
  85. package/dist/esm/node.js +25 -31
  86. package/dist/esm/set.js +112 -47
  87. package/dist/esm/update.js +127 -97
  88. package/dist/esm/utils/applyParam.js +3 -4
  89. package/dist/esm/utils/index.js +4 -3
  90. package/dist/esm/utils/onlyResolveExtends.js +22 -31
  91. package/iterate.js +44 -26
  92. package/methods/set.js +5 -4
  93. package/methods/v2.js +5 -4
  94. package/mixins/attr.js +13 -7
  95. package/mixins/classList.js +7 -2
  96. package/mixins/data.js +1 -1
  97. package/mixins/index.js +1 -6
  98. package/mixins/registry.js +6 -53
  99. package/mixins/scope.js +1 -1
  100. package/mixins/state.js +4 -5
  101. package/mixins/text.js +4 -7
  102. package/node.js +31 -28
  103. package/package.json +7 -6
  104. package/set.js +129 -41
  105. package/update.js +169 -89
  106. package/utils/applyParam.js +7 -4
  107. package/utils/index.js +1 -3
  108. package/utils/onlyResolveExtends.js +27 -16
  109. package/cache/index.js +0 -3
  110. package/cache/options.js +0 -4
  111. package/dist/cjs/cache/index.js +0 -24
  112. package/dist/cjs/cache/options.js +0 -26
  113. package/dist/cjs/extend.js +0 -85
  114. package/dist/cjs/methods/index.js +0 -353
  115. package/dist/cjs/mixins/content.js +0 -74
  116. package/dist/cjs/props/create.js +0 -98
  117. package/dist/cjs/props/ignore.js +0 -24
  118. package/dist/cjs/props/index.js +0 -21
  119. package/dist/cjs/props/inherit.js +0 -53
  120. package/dist/cjs/props/update.js +0 -37
  121. package/dist/cjs/utils/component.js +0 -77
  122. package/dist/cjs/utils/extendUtils.js +0 -142
  123. package/dist/cjs/utils/object.js +0 -179
  124. package/dist/cjs/utils/propEvents.js +0 -41
  125. package/dist/esm/cache/index.js +0 -4
  126. package/dist/esm/cache/options.js +0 -6
  127. package/dist/esm/extend.js +0 -71
  128. package/dist/esm/methods/index.js +0 -333
  129. package/dist/esm/mixins/content.js +0 -54
  130. package/dist/esm/props/create.js +0 -78
  131. package/dist/esm/props/ignore.js +0 -4
  132. package/dist/esm/props/index.js +0 -4
  133. package/dist/esm/props/inherit.js +0 -33
  134. package/dist/esm/props/update.js +0 -17
  135. package/dist/esm/utils/component.js +0 -65
  136. package/dist/esm/utils/extendUtils.js +0 -122
  137. package/dist/esm/utils/object.js +0 -159
  138. package/dist/esm/utils/propEvents.js +0 -21
  139. package/extend.js +0 -90
  140. package/methods/index.js +0 -317
  141. package/mixins/content.js +0 -55
  142. package/props/create.js +0 -87
  143. package/props/ignore.js +0 -3
  144. package/props/index.js +0 -6
  145. package/props/inherit.js +0 -35
  146. package/props/update.js +0 -17
  147. package/utils/component.js +0 -68
  148. package/utils/extendUtils.js +0 -134
  149. package/utils/object.js +0 -172
  150. package/utils/propEvents.js +0 -19
@@ -1,98 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var create_exports = {};
20
- __export(create_exports, {
21
- createProps: () => createProps,
22
- syncProps: () => syncProps
23
- });
24
- module.exports = __toCommonJS(create_exports);
25
- var import_utils = require("@domql/utils");
26
- var import_ignore = require("./ignore.js");
27
- var import_inherit = require("./inherit.js");
28
- const createPropsStack = (element, parent) => {
29
- const { props, __ref: ref } = element;
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);
37
- if ((0, import_utils.isArray)(ref.__extend)) {
38
- ref.__extend.forEach((extend) => {
39
- if (extend.props && extend.props !== props)
40
- propsStack.push(extend.props);
41
- });
42
- }
43
- ref.__props = propsStack;
44
- return propsStack;
45
- };
46
- const syncProps = (props, element, opts) => {
47
- element.props = {};
48
- const mergedProps = {};
49
- props.forEach((v) => {
50
- if (import_ignore.IGNORE_PROPS_PARAMS.includes(v))
51
- return;
52
- let execProps;
53
- try {
54
- execProps = (0, import_utils.exec)(v, element);
55
- } catch (e) {
56
- element.error(e, opts);
57
- }
58
- element.props = (0, import_utils.deepMerge)(
59
- mergedProps,
60
- (0, import_utils.deepClone)(execProps, { ignore: import_ignore.IGNORE_PROPS_PARAMS }),
61
- import_ignore.IGNORE_PROPS_PARAMS
62
- );
63
- });
64
- element.props = mergedProps;
65
- const methods = { update: update.bind(element.props), __element: element };
66
- Object.setPrototypeOf(element.props, methods);
67
- return element.props;
68
- };
69
- const createProps = function(element, parent, options) {
70
- const { __ref: ref } = element;
71
- const applyProps = () => {
72
- const propsStack = options.cachedProps || createPropsStack(element, parent);
73
- if (propsStack.length) {
74
- ref.__props = propsStack;
75
- syncProps(propsStack, element);
76
- } else {
77
- ref.__props = options.cachedProps || [];
78
- element.props = {};
79
- }
80
- };
81
- if (ref.__if)
82
- applyProps();
83
- else {
84
- try {
85
- applyProps();
86
- } catch {
87
- element.props = {};
88
- ref.__props = options.cachedProps || [];
89
- }
90
- }
91
- const methods = { update: update.bind(element.props), __element: element };
92
- Object.setPrototypeOf(element.props, methods);
93
- return element;
94
- };
95
- function update(props, options) {
96
- const element = this.__element;
97
- element.update({ props }, options);
98
- }
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var ignore_exports = {};
20
- __export(ignore_exports, {
21
- IGNORE_PROPS_PARAMS: () => IGNORE_PROPS_PARAMS
22
- });
23
- module.exports = __toCommonJS(ignore_exports);
24
- const IGNORE_PROPS_PARAMS = ["update", "__element"];
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
13
- };
14
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
- var props_exports = {};
17
- module.exports = __toCommonJS(props_exports);
18
- __reExport(props_exports, require("./ignore.js"), module.exports);
19
- __reExport(props_exports, require("./create.js"), module.exports);
20
- __reExport(props_exports, require("./inherit.js"), module.exports);
21
- __reExport(props_exports, require("./update.js"), module.exports);
@@ -1,53 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var inherit_exports = {};
20
- __export(inherit_exports, {
21
- inheritParentProps: () => inheritParentProps
22
- });
23
- module.exports = __toCommonJS(inherit_exports);
24
- var import_utils = require("@domql/utils");
25
- const objectizeStringProperty = (propValue) => {
26
- if ((0, import_utils.is)(propValue)("string", "number")) {
27
- return { inheritedString: propValue };
28
- }
29
- return propValue;
30
- };
31
- const inheritParentProps = (element, parent) => {
32
- var _a;
33
- let propsStack = [];
34
- const parentProps = (0, import_utils.exec)(parent, parent.state).props;
35
- const matchParent = parent.props && parentProps[element.key];
36
- const matchParentIsString = (0, import_utils.isString)(matchParent);
37
- const matchParentChildProps = parentProps && parentProps.childProps;
38
- if (matchParent) {
39
- if (matchParentIsString) {
40
- const inheritedStringExists = propsStack.filter((v) => v.inheritedString)[0];
41
- if (inheritedStringExists)
42
- inheritedStringExists.inheritedString = matchParent;
43
- else {
44
- propsStack = [].concat(objectizeStringProperty(matchParent), propsStack);
45
- }
46
- } else {
47
- propsStack.push(objectizeStringProperty(matchParent));
48
- }
49
- }
50
- if (matchParentChildProps && !((_a = element == null ? void 0 : element.props) == null ? void 0 : _a.ignoreChildProps))
51
- propsStack.push(matchParentChildProps);
52
- return propsStack;
53
- };
@@ -1,37 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var update_exports = {};
20
- __export(update_exports, {
21
- updateProps: () => updateProps
22
- });
23
- module.exports = __toCommonJS(update_exports);
24
- var import_create = require("./create.js");
25
- var import_inherit = require("./inherit.js");
26
- const updateProps = (newProps, element, parent) => {
27
- const { __ref } = element;
28
- let propsStack = __ref.__props;
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);
36
- return element;
37
- };
@@ -1,77 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var component_exports = {};
20
- __export(component_exports, {
21
- applyVariant: () => applyVariant,
22
- createValidDomqlObjectFromSugar: () => createValidDomqlObjectFromSugar,
23
- overwriteVariant: () => overwriteVariant
24
- });
25
- module.exports = __toCommonJS(component_exports);
26
- var import_utils = require("@domql/utils");
27
- var import_extend = require("../extend.js");
28
- var import_mixins = require("../mixins/index.js");
29
- const createValidDomqlObjectFromSugar = (el, parent, key, options) => {
30
- const newElem = {
31
- props: {},
32
- define: {}
33
- };
34
- const allowedKeys = ["data", "state", "attr", "if"];
35
- for (const k in el) {
36
- const value = el[k];
37
- const isComponent = (0, import_utils.checkIfKeyIsComponent)(k);
38
- const isRegistry = import_mixins.REGISTRY[k];
39
- if (isComponent || isRegistry || allowedKeys.includes(k)) {
40
- newElem[k] = value;
41
- } else {
42
- newElem.props[k] = value;
43
- }
44
- }
45
- return newElem;
46
- };
47
- const overwriteVariant = (element, variant, variantProps) => {
48
- let variantElement = element[variant];
49
- if (!variantElement)
50
- return;
51
- const props = (0, import_utils.isObject)(variantProps) ? variantProps : {};
52
- if ((0, import_utils.isString)(variantElement)) {
53
- variantElement = {
54
- extend: [{ props }, variantElement]
55
- };
56
- } else if (variantElement.extend) {
57
- variantElement = (0, import_utils.addAdditionalExtend)({ props }, variantElement);
58
- }
59
- const extendedVariant = (0, import_extend.applyExtend)(variantElement, element.parent);
60
- const { parent, ...rest } = extendedVariant;
61
- return (0, import_utils.overwriteDeep)(element, rest);
62
- };
63
- const applyVariant = (element) => {
64
- const { props } = element;
65
- if (!(0, import_utils.hasVariantProp)(element))
66
- return element;
67
- const { variant } = props;
68
- overwriteVariant(element, `.${variant}`);
69
- const elKeys = Object.keys(element).filter((key) => (0, import_utils.isVariant)(key));
70
- elKeys.forEach((variant2) => {
71
- const slicedVariantElementKey = variant2.slice(1);
72
- const variantElementProps = props[slicedVariantElementKey];
73
- if (variantElementProps)
74
- overwriteVariant(element, variant2, variantElementProps);
75
- });
76
- return element;
77
- };
@@ -1,142 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var extendUtils_exports = {};
20
- __export(extendUtils_exports, {
21
- cloneAndMergeArrayExtend: () => cloneAndMergeArrayExtend,
22
- deepExtend: () => deepExtend,
23
- deepMergeExtend: () => deepMergeExtend,
24
- extendCachedRegistry: () => extendCachedRegistry,
25
- extendStackRegistry: () => extendStackRegistry,
26
- extractArrayExtend: () => extractArrayExtend,
27
- fallbackStringExtend: () => fallbackStringExtend,
28
- flattenExtend: () => flattenExtend,
29
- generateHash: () => generateHash,
30
- getExtendMerged: () => getExtendMerged,
31
- getExtendStack: () => getExtendStack,
32
- getExtendStackRegistry: () => getExtendStackRegistry,
33
- getHashedExtend: () => getHashedExtend,
34
- jointStacks: () => jointStacks,
35
- setHashedExtend: () => setHashedExtend
36
- });
37
- module.exports = __toCommonJS(extendUtils_exports);
38
- var import_utils = require("@domql/utils");
39
- const ENV = "development";
40
- const generateHash = () => Math.random().toString(36).substring(2);
41
- const extendStackRegistry = {};
42
- const extendCachedRegistry = {};
43
- const getHashedExtend = (extend) => {
44
- return extendStackRegistry[extend.__hash];
45
- };
46
- const setHashedExtend = (extend, stack) => {
47
- const hash = generateHash();
48
- if (!(0, import_utils.isString)(extend)) {
49
- extend.__hash = hash;
50
- }
51
- extendStackRegistry[hash] = stack;
52
- return stack;
53
- };
54
- const getExtendStackRegistry = (extend, stack) => {
55
- if (extend.__hash) {
56
- return stack.concat(getHashedExtend(extend));
57
- }
58
- return setHashedExtend(extend, stack);
59
- };
60
- const extractArrayExtend = (extend, stack, context) => {
61
- extend.forEach((each) => flattenExtend(each, stack, context));
62
- return stack;
63
- };
64
- const deepExtend = (extend, stack, context) => {
65
- const extendOflattenExtend = extend.extend;
66
- if (extendOflattenExtend) {
67
- flattenExtend(extendOflattenExtend, stack, context);
68
- }
69
- return stack;
70
- };
71
- const flattenExtend = (extend, stack, context) => {
72
- if (!extend)
73
- return stack;
74
- if ((0, import_utils.isArray)(extend))
75
- return extractArrayExtend(extend, stack, context);
76
- if ((0, import_utils.isString)(extend))
77
- extend = fallbackStringExtend(extend, context);
78
- stack.push(extend);
79
- if (extend.extend)
80
- deepExtend(extend, stack, context);
81
- return stack;
82
- };
83
- const deepMergeExtend = (element, extend) => {
84
- for (const e in extend) {
85
- if (["parent", "node", "__element"].indexOf(e) > -1)
86
- continue;
87
- const elementProp = element[e];
88
- const extendProp = extend[e];
89
- if (elementProp === void 0) {
90
- element[e] = extendProp;
91
- } else if ((0, import_utils.isObject)(elementProp) && (0, import_utils.isObject)(extendProp)) {
92
- deepMergeExtend(elementProp, extendProp);
93
- } else if ((0, import_utils.isArray)(elementProp) && (0, import_utils.isArray)(extendProp)) {
94
- element[e] = elementProp.concat(extendProp);
95
- } else if ((0, import_utils.isArray)(elementProp) && (0, import_utils.isObject)(extendProp)) {
96
- const obj = deepMergeExtend({}, elementProp);
97
- element[e] = deepMergeExtend(obj, extendProp);
98
- } else if (elementProp === void 0 && (0, import_utils.isFunction)(extendProp)) {
99
- element[e] = extendProp;
100
- }
101
- }
102
- return element;
103
- };
104
- const cloneAndMergeArrayExtend = (stack) => {
105
- return stack.reduce((a, c) => {
106
- return deepMergeExtend(a, (0, import_utils.deepClone)(c));
107
- }, {});
108
- };
109
- const fallbackStringExtend = (extend, context, options = {}, variant) => {
110
- const COMPONENTS = context && context.components || options.components;
111
- const PAGES = context && context.pages || options.pages;
112
- if ((0, import_utils.isString)(extend)) {
113
- const componentExists = COMPONENTS && (COMPONENTS[extend + "." + variant] || COMPONENTS[extend] || COMPONENTS["smbls." + extend]);
114
- const pageExists = PAGES && extend.startsWith("/") && PAGES[extend];
115
- if (componentExists)
116
- return componentExists;
117
- else if (pageExists)
118
- return pageExists;
119
- else {
120
- if (options.verbose && (ENV === "test" || ENV === "development")) {
121
- console.warn("Extend is string but component was not found:", extend);
122
- }
123
- return {};
124
- }
125
- }
126
- return extend;
127
- };
128
- const jointStacks = (extendStack, childExtendStack) => {
129
- return [].concat(extendStack.slice(0, 1)).concat(childExtendStack.slice(0, 1)).concat(extendStack.slice(1)).concat(childExtendStack.slice(1));
130
- };
131
- const getExtendStack = (extend, context) => {
132
- if (!extend)
133
- return [];
134
- if (extend.__hash)
135
- return getHashedExtend(extend) || [];
136
- const stack = flattenExtend(extend, [], context);
137
- return getExtendStackRegistry(extend, stack);
138
- };
139
- const getExtendMerged = (extend) => {
140
- const stack = getExtendStack(extend);
141
- return cloneAndMergeArrayExtend(stack);
142
- };
@@ -1,179 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var object_exports = {};
20
- __export(object_exports, {
21
- METHODS: () => METHODS,
22
- METHODS_EXL: () => METHODS_EXL,
23
- clone: () => clone,
24
- deepMerge: () => deepMerge,
25
- flattenRecursive: () => flattenRecursive,
26
- mergeAndCloneIfArray: () => mergeAndCloneIfArray,
27
- mergeArray: () => mergeArray,
28
- mergeIfExisted: () => mergeIfExisted,
29
- overwrite: () => overwrite,
30
- overwriteDeep: () => overwriteDeep,
31
- overwriteShallow: () => overwriteShallow
32
- });
33
- module.exports = __toCommonJS(object_exports);
34
- var import_utils = require("@domql/utils");
35
- var import_props = require("../props/index.js");
36
- const IGNORE_STATE_PARAMS = [
37
- "update",
38
- "parse",
39
- "clean",
40
- "create",
41
- "destroy",
42
- "add",
43
- "toggle",
44
- "remove",
45
- "apply",
46
- "set",
47
- "reset",
48
- "replace",
49
- "quietReplace",
50
- "quietUpdate",
51
- "applyReplace",
52
- "applyFunction",
53
- "rootUpdate",
54
- "parentUpdate",
55
- "parent",
56
- "__element",
57
- "__depends",
58
- "__ref",
59
- "__children",
60
- "root",
61
- "setByPath",
62
- "setPathCollection",
63
- "removeByPath",
64
- "removePathCollection",
65
- "getByPath"
66
- ];
67
- const METHODS = [
68
- "set",
69
- "reset",
70
- "update",
71
- "remove",
72
- "updateContent",
73
- "removeContent",
74
- "lookup",
75
- "lookdown",
76
- "lookdownAll",
77
- "getRef",
78
- "getPath",
79
- "setNodeStyles",
80
- "spotByPath",
81
- "keys",
82
- "parse",
83
- "setProps",
84
- "parseDeep",
85
- "variables",
86
- "if",
87
- "log",
88
- "nextElement",
89
- "previousElement"
90
- ];
91
- const METHODS_EXL = (0, import_utils.joinArrays)(
92
- ["node", "state", "context", "extend", "__element"],
93
- METHODS,
94
- IGNORE_STATE_PARAMS,
95
- import_props.IGNORE_PROPS_PARAMS
96
- );
97
- const deepMerge = (element, extend, exclude = METHODS_EXL) => {
98
- for (const e in extend) {
99
- if (exclude.includes(e))
100
- continue;
101
- const elementProp = element[e];
102
- const extendProp = extend[e];
103
- if (elementProp === void 0) {
104
- element[e] = extendProp;
105
- } else if ((0, import_utils.isObjectLike)(elementProp) && (0, import_utils.isObject)(extendProp)) {
106
- deepMerge(elementProp, extendProp);
107
- }
108
- }
109
- return element;
110
- };
111
- const clone = (obj, exclude = METHODS_EXL) => {
112
- const o = {};
113
- for (const e in obj) {
114
- if (exclude.includes(e))
115
- continue;
116
- o[e] = obj[e];
117
- }
118
- return o;
119
- };
120
- const overwrite = (element, params, options) => {
121
- const changes = {};
122
- const { __ref } = element;
123
- const { __exec, __cached } = __ref;
124
- for (const e in params) {
125
- if (e === "props" || e === "state" || e === "__ref")
126
- continue;
127
- const elementProp = element[e];
128
- const paramsProp = params[e];
129
- if (paramsProp !== void 0) {
130
- __cached[e] = changes[e] = elementProp;
131
- element[e] = paramsProp;
132
- }
133
- if (options.cleanExec)
134
- delete __exec[e];
135
- }
136
- return changes;
137
- };
138
- const overwriteShallow = (obj, params, exclude = METHODS_EXL) => {
139
- for (const e in params) {
140
- if (exclude.includes(e))
141
- continue;
142
- obj[e] = params[e];
143
- }
144
- return obj;
145
- };
146
- const overwriteDeep = (obj, params, exclude = METHODS_EXL) => {
147
- for (const e in params) {
148
- if (exclude.includes(e))
149
- continue;
150
- const objProp = obj[e];
151
- const paramsProp = params[e];
152
- if ((0, import_utils.isObjectLike)(objProp) && (0, import_utils.isObjectLike)(paramsProp)) {
153
- overwriteDeep(objProp, paramsProp);
154
- } else if (paramsProp !== void 0) {
155
- obj[e] = paramsProp;
156
- }
157
- }
158
- return obj;
159
- };
160
- const mergeIfExisted = (a, b) => {
161
- if ((0, import_utils.isObjectLike)(a) && (0, import_utils.isObjectLike)(b))
162
- return deepMerge(a, b);
163
- return a || b;
164
- };
165
- const mergeArray = (arr, exclude = ["parent", "node", "__element", "state", "context", "__ref"]) => {
166
- return arr.reduce((a, c) => deepMerge(a, (0, import_utils.deepClone)(c, { exclude })), {});
167
- };
168
- const mergeAndCloneIfArray = (obj) => {
169
- return (0, import_utils.isArray)(obj) ? mergeArray(obj) : (0, import_utils.deepClone)(obj);
170
- };
171
- const flattenRecursive = (param, prop, stack = []) => {
172
- const objectized = mergeAndCloneIfArray(param);
173
- stack.push(objectized);
174
- const extendOfExtend = objectized[prop];
175
- if (extendOfExtend)
176
- flattenRecursive(extendOfExtend, prop, stack);
177
- delete objectized[prop];
178
- return stack;
179
- };
@@ -1,41 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var propEvents_exports = {};
20
- __export(propEvents_exports, {
21
- propagateEventsFromProps: () => propagateEventsFromProps
22
- });
23
- module.exports = __toCommonJS(propEvents_exports);
24
- var import_utils = require("@domql/utils");
25
- const propagateEventsFromProps = (element) => {
26
- const { props, on } = element;
27
- const eventKeysFromProps = Object.keys(props).filter((key) => key.startsWith("on"));
28
- eventKeysFromProps.forEach((v) => {
29
- const eventName = (0, import_utils.lowercaseFirstLetter)(v.split("on")[1]);
30
- const origEvent = on[eventName];
31
- const funcFromProps = props[v];
32
- if ((0, import_utils.isFunction)(origEvent)) {
33
- on[eventName] = (...args) => {
34
- const originalEventRetunrs = origEvent(...args);
35
- if (originalEventRetunrs !== false)
36
- funcFromProps(...args);
37
- };
38
- } else
39
- on[eventName] = funcFromProps;
40
- });
41
- };
@@ -1,4 +0,0 @@
1
- const cache = {};
2
- export {
3
- cache
4
- };
@@ -1,6 +0,0 @@
1
- const OPTIONS = {};
2
- var options_default = OPTIONS;
3
- export {
4
- OPTIONS,
5
- options_default as default
6
- };