@design-edito/tools 0.1.21 → 0.1.22

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 (219) hide show
  1. package/agnostic/arrays/find-duplicates/index.d.ts +1 -0
  2. package/agnostic/arrays/find-duplicates/index.js +6 -0
  3. package/agnostic/arrays/index.d.ts +8 -7
  4. package/agnostic/arrays/make/index.d.ts +3 -0
  5. package/agnostic/arrays/make/index.js +6 -0
  6. package/agnostic/arrays/random-pick/index.d.ts +2 -0
  7. package/agnostic/arrays/random-pick/index.js +8 -0
  8. package/agnostic/css/index.js +10 -10
  9. package/agnostic/errors/index.js +2 -2
  10. package/agnostic/html/hyper-json/cast/index.d.ts +18 -0
  11. package/agnostic/html/hyper-json/cast/index.js +11 -0
  12. package/agnostic/html/hyper-json/crossenv/index.d.ts +13 -0
  13. package/agnostic/html/hyper-json/crossenv/index.js +6 -0
  14. package/agnostic/html/hyper-json/index.d.ts +14 -43
  15. package/agnostic/html/hyper-json/index.js +32 -2
  16. package/agnostic/html/hyper-json/serialize/index.d.ts +5 -0
  17. package/agnostic/html/hyper-json/serialize/index.js +7 -0
  18. package/agnostic/html/hyper-json/transformers/append/index.d.ts +2 -0
  19. package/agnostic/html/hyper-json/transformers/append/index.js +12 -0
  20. package/agnostic/html/hyper-json/transformers/classList/index.d.ts +2 -0
  21. package/agnostic/html/hyper-json/transformers/classList/index.js +12 -0
  22. package/agnostic/html/hyper-json/transformers/index.d.ts +4 -0
  23. package/agnostic/html/hyper-json/transformers/index.js +39 -0
  24. package/agnostic/html/hyper-json/transformers/join/index.d.ts +2 -0
  25. package/agnostic/html/hyper-json/transformers/join/index.js +12 -0
  26. package/agnostic/html/hyper-json/transformers/length/index.d.ts +2 -0
  27. package/agnostic/html/hyper-json/transformers/length/index.js +8 -0
  28. package/agnostic/html/hyper-json/transformers/print/index.d.ts +2 -0
  29. package/agnostic/html/hyper-json/transformers/print/index.js +7 -0
  30. package/agnostic/html/hyper-json/transformers/push/index.d.ts +2 -0
  31. package/agnostic/html/hyper-json/transformers/push/index.js +7 -0
  32. package/agnostic/html/hyper-json/transformers/querySelector/index.d.ts +2 -0
  33. package/agnostic/html/hyper-json/transformers/querySelector/index.js +12 -0
  34. package/agnostic/html/hyper-json/transformers/ref/index.d.ts +2 -0
  35. package/agnostic/html/hyper-json/transformers/ref/index.js +12 -0
  36. package/agnostic/html/hyper-json/transformers/replace/index.d.ts +2 -0
  37. package/agnostic/html/hyper-json/transformers/replace/index.js +13 -0
  38. package/agnostic/html/hyper-json/transformers/split/index.d.ts +2 -0
  39. package/agnostic/html/hyper-json/transformers/split/index.js +12 -0
  40. package/agnostic/html/hyper-json/transformers/toArray/index.d.ts +2 -0
  41. package/agnostic/html/hyper-json/transformers/toArray/index.js +12 -0
  42. package/agnostic/html/hyper-json/transformers/toBoolean/index.d.ts +2 -0
  43. package/agnostic/html/hyper-json/transformers/toBoolean/index.js +12 -0
  44. package/agnostic/html/hyper-json/transformers/toElement/index.d.ts +2 -0
  45. package/agnostic/html/hyper-json/transformers/toElement/index.js +12 -0
  46. package/agnostic/html/hyper-json/transformers/toNodeList/index.d.ts +2 -0
  47. package/agnostic/html/hyper-json/transformers/toNodeList/index.js +12 -0
  48. package/agnostic/html/hyper-json/transformers/toNull/index.d.ts +2 -0
  49. package/agnostic/html/hyper-json/transformers/toNull/index.js +7 -0
  50. package/agnostic/html/hyper-json/transformers/toNumber/index.d.ts +2 -0
  51. package/agnostic/html/hyper-json/transformers/toNumber/index.js +12 -0
  52. package/agnostic/html/hyper-json/transformers/toRecord/index.d.ts +2 -0
  53. package/agnostic/html/hyper-json/transformers/toRecord/index.js +12 -0
  54. package/agnostic/html/hyper-json/transformers/toRef/index.d.ts +2 -0
  55. package/agnostic/html/hyper-json/transformers/toRef/index.js +12 -0
  56. package/agnostic/html/hyper-json/transformers/toString/index.d.ts +2 -0
  57. package/agnostic/html/hyper-json/transformers/toString/index.js +12 -0
  58. package/agnostic/html/hyper-json/transformers/toText/index.d.ts +2 -0
  59. package/agnostic/html/hyper-json/transformers/toText/index.js +12 -0
  60. package/agnostic/html/hyper-json/transformers/toTransformer/index.d.ts +2 -0
  61. package/agnostic/html/hyper-json/transformers/toTransformer/index.js +12 -0
  62. package/agnostic/html/hyper-json/transformers/transformSelected/index.d.ts +2 -0
  63. package/agnostic/html/hyper-json/transformers/transformSelected/index.js +39 -0
  64. package/agnostic/html/hyper-json/transformers/trim/index.d.ts +2 -0
  65. package/agnostic/html/hyper-json/transformers/trim/index.js +12 -0
  66. package/agnostic/html/hyper-json/tree/index.d.ts +56 -0
  67. package/agnostic/html/hyper-json/tree/index.js +39 -0
  68. package/agnostic/html/hyper-json/types/index.d.ts +86 -0
  69. package/agnostic/html/hyper-json/types/index.js +6 -0
  70. package/agnostic/html/hyper-json/utils/index.d.ts +10 -0
  71. package/agnostic/html/hyper-json/utils/index.js +6 -0
  72. package/agnostic/html/index.js +51 -19
  73. package/agnostic/html/replace-in-element/index.d.ts +1 -0
  74. package/agnostic/html/replace-in-element/index.js +6 -0
  75. package/agnostic/html/sanitize/index.js +7 -5
  76. package/agnostic/html/selector-to-element/index.js +7 -5
  77. package/agnostic/html/string-to-nodes/index.js +8 -6
  78. package/agnostic/index.d.ts +0 -2
  79. package/agnostic/misc/{web-crawler → crawler}/index.d.ts +1 -1
  80. package/agnostic/misc/crawler/index.js +7 -0
  81. package/agnostic/misc/crossenv/get-document/index.d.ts +2 -0
  82. package/agnostic/misc/crossenv/get-document/index.js +7 -0
  83. package/agnostic/misc/crossenv/get-window/browser.d.ts +2 -0
  84. package/agnostic/misc/crossenv/get-window/index.d.ts +2 -0
  85. package/agnostic/misc/crossenv/get-window/index.js +6 -0
  86. package/agnostic/misc/crossenv/index.d.ts +4 -1
  87. package/agnostic/misc/crossenv/index.js +3 -1
  88. package/agnostic/misc/crossenv/types.d.ts +3 -0
  89. package/agnostic/misc/index.d.ts +3 -1
  90. package/agnostic/misc/index.js +24 -14
  91. package/agnostic/misc/lorem-ipsum/index.js +5 -2
  92. package/agnostic/numbers/index.js +3 -3
  93. package/agnostic/objects/index.js +10 -10
  94. package/agnostic/optim/index.js +3 -3
  95. package/agnostic/random/index.js +6 -0
  96. package/agnostic/strings/index.js +9 -9
  97. package/agnostic/time/duration/index.d.ts +26 -0
  98. package/agnostic/time/duration/index.js +6 -0
  99. package/agnostic/time/index.d.ts +8 -7
  100. package/agnostic/time/index.js +17 -28
  101. package/agnostic/time/timeout/index.d.ts +1 -0
  102. package/agnostic/time/timeout/index.js +6 -0
  103. package/agnostic/time/transitions/index.js +7 -0
  104. package/agnostic/time/wait/index.js +6 -0
  105. package/chunks/chunk-2DMWYLFG.js +16 -0
  106. package/chunks/chunk-2KT7AKRW.js +17 -0
  107. package/chunks/{chunk-UCV2AZZV.js → chunk-2PI5AZIL.js} +14 -25
  108. package/chunks/chunk-3KQRMKQJ.js +27 -0
  109. package/chunks/chunk-3LVR6KZH.js +22 -0
  110. package/chunks/chunk-3PHPA25U.js +18 -0
  111. package/chunks/chunk-3PM7GZ6B.js +33 -0
  112. package/chunks/chunk-3SQJEEBK.js +642 -0
  113. package/chunks/chunk-3UURICGY.js +211 -0
  114. package/chunks/chunk-3X6RXJBR.js +37 -0
  115. package/chunks/{chunk-DQNJQBC6.js → chunk-4CIS3R7T.js} +1 -1
  116. package/chunks/chunk-4F7ZVE7T.js +332 -0
  117. package/chunks/chunk-4GUDL44X.js +13 -0
  118. package/chunks/chunk-4RDW62CU.js +36 -0
  119. package/chunks/chunk-5IR2PWO6.js +211 -0
  120. package/chunks/chunk-6CM2SWSX.js +35 -0
  121. package/chunks/chunk-6EYBQHJS.js +33 -0
  122. package/chunks/chunk-6NYUQXJT.js +109 -0
  123. package/chunks/chunk-6NZCBAT4.js +19 -0
  124. package/chunks/chunk-6V23XMYE.js +982 -0
  125. package/chunks/chunk-73V5RDSG.js +13 -0
  126. package/chunks/chunk-7IGZP4TV.js +30 -0
  127. package/chunks/chunk-7QMAYGNV.js +25 -0
  128. package/chunks/chunk-7YW5HL6N.js +168 -0
  129. package/chunks/chunk-AFFLZUW5.js +33 -0
  130. package/chunks/chunk-AMS3FB24.js +85 -0
  131. package/chunks/chunk-AXMPRLPI.js +35 -0
  132. package/chunks/chunk-B6CSCX7J.js +278 -0
  133. package/chunks/chunk-BDHNULU7.js +211 -0
  134. package/chunks/chunk-BNB7LEMQ.js +35 -0
  135. package/chunks/chunk-CECF6UZV.js +29 -0
  136. package/chunks/chunk-DBAJ66BR.js +18 -0
  137. package/chunks/chunk-DGQLPQS2.js +33 -0
  138. package/chunks/chunk-DLLTITVO.js +33 -0
  139. package/chunks/chunk-DMDOCC72.js +18 -0
  140. package/chunks/{chunk-IFT6HLDW.js → chunk-DRH7Q4FL.js} +3 -6
  141. package/chunks/chunk-DRNK3RLE.js +64 -0
  142. package/chunks/chunk-EAY65ZP6.js +22 -0
  143. package/chunks/{chunk-4GDNHUCZ.js → chunk-ENMBK6H7.js} +2 -2
  144. package/chunks/chunk-F5YMP5WU.js +18 -0
  145. package/chunks/chunk-F7EVMWVG.js +27 -0
  146. package/chunks/chunk-F7XWUG2V.js +18 -0
  147. package/chunks/chunk-FCU6IHKD.js +15 -0
  148. package/chunks/chunk-FFOATPL4.js +211 -0
  149. package/chunks/chunk-FWHUASVA.js +22 -0
  150. package/chunks/chunk-GBMHGF7P.js +20 -0
  151. package/chunks/{chunk-GJOU3UAL.js → chunk-GDYVCEWA.js} +8 -6
  152. package/chunks/chunk-GNBIAWSY.js +278 -0
  153. package/chunks/chunk-GQSPY2CV.js +19 -0
  154. package/chunks/chunk-HDALT7XM.js +620 -0
  155. package/chunks/chunk-HUKHWFVL.js +19 -0
  156. package/chunks/chunk-IGD53YL5.js +870 -0
  157. package/chunks/chunk-ILEM73XB.js +981 -0
  158. package/chunks/{chunk-DMGR57KA.js → chunk-IPB3U2PD.js} +20 -18
  159. package/chunks/chunk-JY3QZ2YO.js +211 -0
  160. package/chunks/chunk-K3OQEJI3.js +33 -0
  161. package/chunks/chunk-KXBKJ3GS.js +642 -0
  162. package/chunks/chunk-LCFDDWJR.js +278 -0
  163. package/chunks/chunk-LGECI2WL.js +306 -0
  164. package/chunks/chunk-LGUEB5L5.js +211 -0
  165. package/chunks/chunk-LI6QDZCA.js +211 -0
  166. package/chunks/{chunk-ZMHKLIP2.js → chunk-LYMZZ4BB.js} +1 -1
  167. package/chunks/chunk-MDEDNPU5.js +38 -0
  168. package/chunks/chunk-MQHKEGP4.js +33 -0
  169. package/chunks/chunk-NF5ACCXZ.js +211 -0
  170. package/chunks/chunk-NK557MKV.js +35 -0
  171. package/chunks/chunk-NWMEWFTK.js +33 -0
  172. package/chunks/chunk-O5OTBN22.js +35 -0
  173. package/chunks/chunk-O7MDUYEF.js +211 -0
  174. package/chunks/{chunk-LI5KVXAJ.js → chunk-OO5SJJDW.js} +2 -5
  175. package/chunks/chunk-Q52UJOBC.js +18 -0
  176. package/chunks/chunk-QFEF4EET.js +211 -0
  177. package/chunks/chunk-QHSVCGLD.js +280 -0
  178. package/chunks/chunk-QO64L4KB.js +97 -0
  179. package/chunks/{chunk-WLL3FNVL.js → chunk-R6KCN6CK.js} +1 -1
  180. package/chunks/chunk-RJ5E22H5.js +15 -0
  181. package/chunks/chunk-RLAZR3NL.js +8 -0
  182. package/chunks/chunk-RWUPHV54.js +25 -0
  183. package/chunks/chunk-S2757FI3.js +36 -0
  184. package/chunks/chunk-S42P73SC.js +30 -0
  185. package/chunks/chunk-S5XDYLJH.js +18 -0
  186. package/chunks/chunk-SCM6NACT.js +15 -0
  187. package/chunks/chunk-SH3Y2I5P.js +18 -0
  188. package/chunks/chunk-SMLKMOAX.js +18 -0
  189. package/chunks/chunk-TATRVKBS.js +211 -0
  190. package/chunks/chunk-UODQZRY2.js +620 -0
  191. package/chunks/chunk-UOULDS6J.js +33 -0
  192. package/chunks/chunk-UUDXUSI5.js +211 -0
  193. package/chunks/{chunk-GL23YDEH.js → chunk-UWAMSJ2X.js} +3 -6
  194. package/chunks/chunk-UZUXLD2Q.js +35 -0
  195. package/chunks/chunk-VA6HXRX4.js +211 -0
  196. package/chunks/chunk-VRUJR6WR.js +39 -0
  197. package/chunks/chunk-W6YBEEZM.js +211 -0
  198. package/chunks/chunk-WECTUHS5.js +127 -0
  199. package/chunks/chunk-YE5HI3RK.js +211 -0
  200. package/chunks/chunk-YEBOL67V.js +32 -0
  201. package/chunks/chunk-YS6WMSWC.js +15 -0
  202. package/{agnostic/misc/web-crawler/index.js → chunks/chunk-YUP434IY.js} +8 -7
  203. package/chunks/chunk-YYE2MVZO.js +211 -0
  204. package/chunks/chunk-Z7ZDDBV5.js +18 -0
  205. package/chunks/chunk-ZB73RE7P.js +35 -0
  206. package/chunks/chunk-ZONKYNKA.js +28 -0
  207. package/node/files/index.js +3 -3
  208. package/package.json +4 -1
  209. package/agnostic/async/index.d.ts +0 -8
  210. package/agnostic/async/index.js +0 -20
  211. package/agnostic/async/timeout-call/index.d.ts +0 -1
  212. package/agnostic/async/timeout-call/index.js +0 -6
  213. package/agnostic/async/transitions/index.js +0 -7
  214. package/agnostic/async/wait/index.js +0 -6
  215. package/agnostic/misc/random/index.js +0 -6
  216. package/chunks/chunk-4VC5PT5T.js +0 -13
  217. /package/agnostic/{misc/random → random}/index.d.ts +0 -0
  218. /package/agnostic/{async → time}/transitions/index.d.ts +0 -0
  219. /package/agnostic/{async → time}/wait/index.d.ts +0 -0
@@ -0,0 +1,13 @@
1
+ import {
2
+ getWindow
3
+ } from "./chunk-4GUDL44X.js";
4
+
5
+ // src/agnostic/misc/crossenv/get-document/index.ts
6
+ async function getDocument() {
7
+ const window = await getWindow();
8
+ return window.document;
9
+ }
10
+
11
+ export {
12
+ getDocument
13
+ };
@@ -0,0 +1,30 @@
1
+ import {
2
+ Cast
3
+ } from "./chunk-QO64L4KB.js";
4
+ import {
5
+ Crossenv
6
+ } from "./chunk-3LVR6KZH.js";
7
+ import {
8
+ Utils
9
+ } from "./chunk-YEBOL67V.js";
10
+
11
+ // src/agnostic/html/hyper-json/transformers/trim/index.ts
12
+ var trim = (callerTagName) => {
13
+ return Utils.toNamedTransformer(callerTagName, (currentValue) => {
14
+ const { Text } = Crossenv.getWindow();
15
+ if (typeof currentValue !== "string" && !(currentValue instanceof Text)) return Utils.makeTransformerError({
16
+ message: "Current value must be of type string or Text",
17
+ input: currentValue
18
+ });
19
+ const inputStr = Cast.toString(currentValue);
20
+ const trimmed = inputStr.trim();
21
+ return {
22
+ action: "REPLACE",
23
+ value: currentValue instanceof Text ? Cast.toText(trimmed) : trimmed
24
+ };
25
+ });
26
+ };
27
+
28
+ export {
29
+ trim
30
+ };
@@ -0,0 +1,25 @@
1
+ // src/agnostic/html/hyper-json/types/index.ts
2
+ var Types;
3
+ ((Types2) => {
4
+ let TyperTagName;
5
+ ((TyperTagName2) => {
6
+ TyperTagName2["NULL"] = "null";
7
+ TyperTagName2["BOOLEAN"] = "boolean";
8
+ TyperTagName2["NUMBER"] = "number";
9
+ TyperTagName2["STRING"] = "string";
10
+ TyperTagName2["TEXT"] = "text";
11
+ TyperTagName2["NODELIST"] = "nodelist";
12
+ TyperTagName2["ARRAY"] = "array";
13
+ TyperTagName2["RECORD"] = "record";
14
+ })(TyperTagName = Types2.TyperTagName || (Types2.TyperTagName = {}));
15
+ let ReductionAction;
16
+ ((ReductionAction2) => {
17
+ ReductionAction2["APPEND"] = "append";
18
+ ReductionAction2["PREPEND"] = "prepend";
19
+ ReductionAction2["REPLACE"] = "replace";
20
+ })(ReductionAction = Types2.ReductionAction || (Types2.ReductionAction = {}));
21
+ })(Types || (Types = {}));
22
+
23
+ export {
24
+ Types
25
+ };
@@ -0,0 +1,168 @@
1
+ import {
2
+ isFalsy
3
+ } from "./chunk-QXAJXTXV.js";
4
+ import {
5
+ isValidClassName
6
+ } from "./chunk-W5A2TON3.js";
7
+
8
+ // src/agnostic/css/bem/getNamesArr.ts
9
+ function getNamesArr(arg) {
10
+ const returned = [];
11
+ if (typeof arg === "string") {
12
+ arg.trim().split(/\s+/gm).forEach((name) => {
13
+ if (isValidClassName(name)) returned.push(name);
14
+ });
15
+ } else if (Array.isArray(arg)) {
16
+ arg.forEach((elt) => returned.push(...getNamesArr(elt)));
17
+ } else if (typeof arg === "object" && arg !== null) {
18
+ Object.entries(arg).forEach(([key, val]) => {
19
+ if (!isFalsy(val)) returned.push(...getNamesArr(key));
20
+ });
21
+ }
22
+ return returned;
23
+ }
24
+ var getNamesArr_default = getNamesArr;
25
+
26
+ // src/agnostic/css/bem/BEM.ts
27
+ var BEM = class _BEM {
28
+ constructor() {
29
+ this.findBlockByName = this.findBlockByName.bind(this);
30
+ this.addBlock = this.addBlock.bind(this);
31
+ this.addElement = this.addElement.bind(this);
32
+ this.addModifier = this.addModifier.bind(this);
33
+ this.copy = this.copy.bind(this);
34
+ this.block = this.block.bind(this);
35
+ this.element = this.element.bind(this);
36
+ this.modifier = this.modifier.bind(this);
37
+ this.blk = this.blk.bind(this);
38
+ this.elt = this.elt.bind(this);
39
+ this.mod = this.mod.bind(this);
40
+ this.cp = this.cp.bind(this);
41
+ this.addSingleBlock = this.addSingleBlock.bind(this);
42
+ this.addSingleElement = this.addSingleElement.bind(this);
43
+ this.addSingleModifier = this.addSingleModifier.bind(this);
44
+ this.setCurrentBlockByName = this.setCurrentBlockByName.bind(this);
45
+ this.createBlockByName = this.createBlockByName.bind(this);
46
+ this.getCurrentBlock = this.getCurrentBlock.bind(this);
47
+ }
48
+ addBlock(blockNameArg) {
49
+ const blocksNames = getNamesArr_default(blockNameArg);
50
+ blocksNames.forEach(this.addSingleBlock);
51
+ return this;
52
+ }
53
+ addElement(elementNameArg) {
54
+ const elementsNames = getNamesArr_default(elementNameArg);
55
+ elementsNames.forEach(this.addSingleElement);
56
+ return this;
57
+ }
58
+ addModifier(modifierNameArg) {
59
+ const currentBlock = this.getCurrentBlock();
60
+ if (currentBlock === void 0) return this;
61
+ const modifiersNames = getNamesArr_default(modifierNameArg);
62
+ modifiersNames.forEach(this.addSingleModifier);
63
+ return this;
64
+ }
65
+ copy() {
66
+ const copy = new _BEM();
67
+ this.blocks.forEach((block) => {
68
+ copy.addBlock(block.name);
69
+ block.modifiers.forEach(copy.addModifier);
70
+ });
71
+ return copy;
72
+ }
73
+ block(blockNameArg) {
74
+ return this.copy().addBlock(blockNameArg);
75
+ }
76
+ element(elementNameArg) {
77
+ return this.copy().addElement(elementNameArg);
78
+ }
79
+ modifier(modifierNameArg) {
80
+ return this.copy().addModifier(modifierNameArg);
81
+ }
82
+ blk(blockNameArg) {
83
+ return this.block(blockNameArg);
84
+ }
85
+ elt(elementNameArg) {
86
+ return this.element(elementNameArg);
87
+ }
88
+ mod(modifierNameArg) {
89
+ return this.modifier(modifierNameArg);
90
+ }
91
+ cp() {
92
+ return this.copy();
93
+ }
94
+ get value() {
95
+ return this.blocks.map((block) => {
96
+ return [block.name, ...block.modifiers.map((modifier) => {
97
+ return `${block.name}_${modifier}`;
98
+ })].join(" ");
99
+ }).join(" ");
100
+ }
101
+ get val() {
102
+ return this.value;
103
+ }
104
+ blocks = [];
105
+ findBlockByName(name) {
106
+ return this.blocks.find((block) => block.name === name);
107
+ }
108
+ addSingleBlock(blockName) {
109
+ if (this.findBlockByName(blockName) !== void 0) {
110
+ this.setCurrentBlockByName(blockName);
111
+ } else {
112
+ const block = this.createBlockByName(blockName);
113
+ this.blocks.push(block);
114
+ }
115
+ return this;
116
+ }
117
+ addSingleElement(elementName) {
118
+ const currentBlock = this.getCurrentBlock();
119
+ if (currentBlock === void 0) this.addBlock(elementName);
120
+ else {
121
+ currentBlock.name = currentBlock.name + "__" + elementName;
122
+ }
123
+ return this;
124
+ }
125
+ addSingleModifier(modifierName) {
126
+ const currentBlock = this.getCurrentBlock();
127
+ if (currentBlock !== void 0) {
128
+ currentBlock.modifiers.push(modifierName);
129
+ }
130
+ return this;
131
+ }
132
+ setCurrentBlockByName(blockName) {
133
+ const block = this.findBlockByName(blockName);
134
+ if (block !== void 0) {
135
+ const blockPos = this.blocks.indexOf(block);
136
+ this.blocks = [
137
+ ...this.blocks.slice(0, blockPos),
138
+ ...this.blocks.slice(blockPos + 1),
139
+ block
140
+ ];
141
+ }
142
+ return this;
143
+ }
144
+ createBlockByName(blockName) {
145
+ return { name: blockName, modifiers: [] };
146
+ }
147
+ getCurrentBlock() {
148
+ return this.blocks.slice(-1)[0];
149
+ }
150
+ };
151
+ var BEM_default = BEM;
152
+
153
+ // src/agnostic/css/bem/index.ts
154
+ var Bem;
155
+ ((Bem2) => {
156
+ Bem2.BEM = BEM_default;
157
+ function bem(blockNameArg) {
158
+ const bem2 = new BEM_default();
159
+ if (blockNameArg instanceof BEM_default) return blockNameArg.copy();
160
+ return bem2.addBlock(blockNameArg);
161
+ }
162
+ Bem2.bem = bem;
163
+ Bem2.getNamesArr = getNamesArr_default;
164
+ })(Bem || (Bem = {}));
165
+
166
+ export {
167
+ Bem
168
+ };
@@ -0,0 +1,33 @@
1
+ import {
2
+ Tree
3
+ } from "./chunk-4F7ZVE7T.js";
4
+ import {
5
+ Types
6
+ } from "./chunk-3KQRMKQJ.js";
7
+ import {
8
+ Serialize
9
+ } from "./chunk-DRNK3RLE.js";
10
+ import {
11
+ Transformers
12
+ } from "./chunk-SCM6NACT.js";
13
+ import {
14
+ Cast
15
+ } from "./chunk-AMS3FB24.js";
16
+ import {
17
+ Crossenv
18
+ } from "./chunk-3LVR6KZH.js";
19
+
20
+ // src/agnostic/html/hyper-json/index.ts
21
+ var HyperJson;
22
+ ((HyperJson2) => {
23
+ HyperJson2.Crossenv = Crossenv;
24
+ HyperJson2.Cast = Cast;
25
+ HyperJson2.Serialize = Serialize;
26
+ HyperJson2.Transformers = Transformers;
27
+ HyperJson2.Tree = Tree;
28
+ HyperJson2.Types = Types;
29
+ })(HyperJson || (HyperJson = {}));
30
+
31
+ export {
32
+ HyperJson
33
+ };
@@ -0,0 +1,85 @@
1
+ import {
2
+ Crossenv
3
+ } from "./chunk-3LVR6KZH.js";
4
+ import {
5
+ isRecord
6
+ } from "./chunk-YDIBNEGA.js";
7
+ import {
8
+ isFalsy
9
+ } from "./chunk-QXAJXTXV.js";
10
+
11
+ // src/agnostic/html/hyper-json/cast/index.ts
12
+ var getWindow = Crossenv.getWindow;
13
+ var Cast;
14
+ ((Cast2) => {
15
+ Cast2.toNull = () => null;
16
+ Cast2.toBoolean = (input) => !isFalsy(input);
17
+ Cast2.toNumber = (input) => {
18
+ if (typeof input === "number") return input;
19
+ if (typeof input === "string") return parseFloat(`${input}`);
20
+ if (input instanceof getWindow().Text) return parseFloat(`${input.textContent}`);
21
+ return 0;
22
+ };
23
+ Cast2.toString = (input) => {
24
+ if (typeof input === "string") return input;
25
+ if (typeof input === "number" || typeof input === "boolean" || input === null) return `${input}`;
26
+ if (input instanceof getWindow().Element) return input.outerHTML;
27
+ if (input instanceof getWindow().Text) return input.textContent ?? "";
28
+ if (input instanceof getWindow().NodeList) return Array.from(input).map((e) => {
29
+ if (e instanceof getWindow().Element) return e.outerHTML;
30
+ return e.textContent;
31
+ }).join("");
32
+ return input.toString();
33
+ };
34
+ Cast2.toText = (input) => {
35
+ if (input instanceof getWindow().Text) return input;
36
+ return getWindow().document.createTextNode((0, Cast2.toString)(input));
37
+ };
38
+ Cast2.toElement = (input) => {
39
+ if (input instanceof getWindow().Element) return input;
40
+ const elt = getWindow().document.createElement("div");
41
+ if (input instanceof getWindow().Text) {
42
+ elt.append(input.cloneNode(true));
43
+ return elt;
44
+ }
45
+ if (input instanceof getWindow().NodeList) {
46
+ elt.append(...Array.from(input).map((e) => e.cloneNode(true)));
47
+ return elt;
48
+ }
49
+ if (Array.isArray(input)) return elt;
50
+ if (isRecord(input)) return elt;
51
+ elt.append(`${input}`);
52
+ return elt;
53
+ };
54
+ Cast2.toNodeList = (input) => {
55
+ if (input instanceof getWindow().NodeList) return input;
56
+ const frag = getWindow().document.createDocumentFragment();
57
+ if (input instanceof getWindow().Element || input instanceof getWindow().Text) {
58
+ frag.append(input.cloneNode(true));
59
+ return frag.childNodes;
60
+ }
61
+ if (Array.isArray(input)) return frag.childNodes;
62
+ if (isRecord(input)) return frag.childNodes;
63
+ frag.append(`${input}`);
64
+ return frag.childNodes;
65
+ };
66
+ Cast2.toArray = (input) => {
67
+ if (Array.isArray(input)) return input;
68
+ if (input instanceof getWindow().NodeList) return Array.from(input);
69
+ return [input];
70
+ };
71
+ Cast2.toRecord = (input) => {
72
+ if (isRecord(input)) return input;
73
+ return {};
74
+ };
75
+ Cast2.toTransformer = (input) => {
76
+ return () => ({
77
+ action: "REPLACE",
78
+ value: input
79
+ });
80
+ };
81
+ })(Cast || (Cast = {}));
82
+
83
+ export {
84
+ Cast
85
+ };
@@ -0,0 +1,35 @@
1
+ import {
2
+ Transformers,
3
+ Tree
4
+ } from "./chunk-3SQJEEBK.js";
5
+ import {
6
+ Cast
7
+ } from "./chunk-QO64L4KB.js";
8
+ import {
9
+ Serialize
10
+ } from "./chunk-DRNK3RLE.js";
11
+ import {
12
+ Crossenv
13
+ } from "./chunk-3LVR6KZH.js";
14
+ import {
15
+ Utils
16
+ } from "./chunk-YEBOL67V.js";
17
+ import {
18
+ Types
19
+ } from "./chunk-7QMAYGNV.js";
20
+
21
+ // src/agnostic/html/hyper-json/index.ts
22
+ var HyperJson;
23
+ ((HyperJson2) => {
24
+ HyperJson2.Cast = Cast;
25
+ HyperJson2.Crossenv = Crossenv;
26
+ HyperJson2.Serialize = Serialize;
27
+ HyperJson2.Transformers = Transformers;
28
+ HyperJson2.Tree = Tree;
29
+ HyperJson2.Types = Types;
30
+ HyperJson2.Utils = Utils;
31
+ })(HyperJson || (HyperJson = {}));
32
+
33
+ export {
34
+ HyperJson
35
+ };
@@ -0,0 +1,278 @@
1
+ import {
2
+ Serialize
3
+ } from "./chunk-DRNK3RLE.js";
4
+ import {
5
+ Transformers
6
+ } from "./chunk-HUKHWFVL.js";
7
+ import {
8
+ Types
9
+ } from "./chunk-3KQRMKQJ.js";
10
+ import {
11
+ Cast
12
+ } from "./chunk-AMS3FB24.js";
13
+ import {
14
+ Crossenv
15
+ } from "./chunk-3LVR6KZH.js";
16
+ import {
17
+ isInEnum
18
+ } from "./chunk-E6MSDKON.js";
19
+ import {
20
+ isRecord
21
+ } from "./chunk-YDIBNEGA.js";
22
+
23
+ // src/agnostic/html/hyper-json/tree/index.ts
24
+ var getWindow = Crossenv.getWindow;
25
+ var isElement = (node) => node.nodeType === getWindow().Node.ELEMENT_NODE;
26
+ var isText = (node) => node.nodeType === getWindow().Node.TEXT_NODE;
27
+ var Tree = class _Tree {
28
+ node;
29
+ name;
30
+ parent;
31
+ root;
32
+ path;
33
+ pathString;
34
+ pathFromParent;
35
+ tagName;
36
+ attributes;
37
+ subtrees = /* @__PURE__ */ new Map();
38
+ children;
39
+ type;
40
+ constructor(node, parent, pathFromParent) {
41
+ this.resolve = this.resolve.bind(this);
42
+ this.initValue = this.initValue.bind(this);
43
+ this.mergeValues = this.mergeValues.bind(this);
44
+ this.getInnerValue = this.getInnerValue.bind(this);
45
+ this.wrapInnerValue = this.wrapInnerValue.bind(this);
46
+ this.printEvaluationsCounters = this.printEvaluationsCounters.bind(this);
47
+ this.evaluate = this.evaluate.bind(this);
48
+ this.setCache = this.setCache.bind(this);
49
+ this.node = node;
50
+ this.name = this.node instanceof getWindow().Element ? this.node.getAttribute("_name") : null;
51
+ this.parent = parent ?? null;
52
+ this.root = this.parent === null ? this : this.parent.root;
53
+ if (this.parent === null) this.path = [];
54
+ else if (pathFromParent === void 0) {
55
+ this.path = [...this.parent.path, 0];
56
+ } else {
57
+ this.path = [...this.parent.path, pathFromParent];
58
+ }
59
+ this.pathString = `/${this.path.join("/")}`;
60
+ this.pathFromParent = pathFromParent ?? this.name ?? 0;
61
+ this.tagName = node instanceof getWindow().Element ? node.tagName.toLowerCase() : null;
62
+ this.attributes = isElement(node) ? Array.from(node.attributes) : null;
63
+ const { childNodes } = node;
64
+ let positionnedChildrenCount = 0;
65
+ const mutableSubtrees = /* @__PURE__ */ new Map();
66
+ Array.from(childNodes).filter((node2, _, nodes) => {
67
+ if (isElement(node2)) return true;
68
+ if (isText(node2)) {
69
+ const hasContent = (node2.textContent ?? "").trim() !== "";
70
+ if (hasContent) return true;
71
+ if (nodes.some((n) => n instanceof getWindow().Element)) return false;
72
+ return true;
73
+ }
74
+ return false;
75
+ }).forEach((childNode) => {
76
+ if (childNode instanceof getWindow().Text) {
77
+ mutableSubtrees.set(
78
+ positionnedChildrenCount,
79
+ new _Tree(childNode, this, positionnedChildrenCount)
80
+ );
81
+ positionnedChildrenCount += 1;
82
+ } else {
83
+ const propertyName = childNode.getAttribute("_name");
84
+ if (propertyName === null) {
85
+ mutableSubtrees.set(
86
+ positionnedChildrenCount,
87
+ new _Tree(childNode, this, positionnedChildrenCount)
88
+ );
89
+ positionnedChildrenCount += 1;
90
+ } else {
91
+ mutableSubtrees.set(
92
+ propertyName,
93
+ new _Tree(childNode, this, propertyName)
94
+ );
95
+ }
96
+ }
97
+ });
98
+ this.subtrees = mutableSubtrees;
99
+ this.children = Array.from(this.subtrees.values());
100
+ if (this.tagName === null) {
101
+ this.type = "text";
102
+ } else if (this.tagName === Types.TyperTagName.NULL) {
103
+ this.type = "null";
104
+ } else if (this.tagName === Types.TyperTagName.BOOLEAN) {
105
+ this.type = "boolean";
106
+ } else if (this.tagName === Types.TyperTagName.NUMBER) {
107
+ this.type = "number";
108
+ } else if (this.tagName === Types.TyperTagName.STRING) {
109
+ this.type = "string";
110
+ } else if (this.tagName === Types.TyperTagName.TEXT) {
111
+ this.type = "text";
112
+ } else if (this.tagName === Types.TyperTagName.NODELIST) {
113
+ this.type = "nodelist";
114
+ } else if (this.tagName === Types.TyperTagName.ARRAY) {
115
+ this.type = "array";
116
+ } else if (this.tagName === Types.TyperTagName.RECORD) {
117
+ this.type = "record";
118
+ } else if (isInEnum(Types.TransformerTagName, this.tagName)) {
119
+ this.type = "transformer";
120
+ } else {
121
+ this.type = "element";
122
+ }
123
+ }
124
+ resolve = function(path) {
125
+ let currentTree = this.root;
126
+ for (const chunk of path) {
127
+ const { subtrees } = currentTree;
128
+ const foundSubtree = subtrees.get(chunk);
129
+ if (foundSubtree === void 0) return void 0;
130
+ currentTree = foundSubtree;
131
+ }
132
+ return currentTree;
133
+ };
134
+ initValue() {
135
+ const { type } = this;
136
+ let currentValue;
137
+ if (type === "null") {
138
+ currentValue = null;
139
+ } else if (type === "boolean") {
140
+ currentValue = false;
141
+ } else if (type === "number") {
142
+ currentValue = 0;
143
+ } else if (type === "string") {
144
+ currentValue = "";
145
+ } else if (type === "text") {
146
+ currentValue = this.node.textContent;
147
+ } else if (type === "element") {
148
+ currentValue = getWindow().document.createDocumentFragment().childNodes;
149
+ } else if (type === "nodelist") {
150
+ currentValue = getWindow().document.createDocumentFragment().childNodes;
151
+ } else if (type === "array") {
152
+ currentValue = [];
153
+ } else if (type === "record") {
154
+ currentValue = {};
155
+ } else if (type === "transformer") {
156
+ currentValue = [];
157
+ } else {
158
+ currentValue = null;
159
+ }
160
+ return currentValue;
161
+ }
162
+ mergeValues(currentValue, incomingValue, mergeKey) {
163
+ const { Element, Text, NodeList, document } = getWindow();
164
+ if (typeof incomingValue === "function") {
165
+ const evaluated = incomingValue(currentValue, { resolver: this.resolve });
166
+ if (evaluated.action === null) return currentValue;
167
+ if (evaluated.action === "REPLACE") return evaluated.value;
168
+ return this.mergeValues(currentValue, evaluated.value, mergeKey);
169
+ }
170
+ if (Array.isArray(currentValue)) {
171
+ if (typeof mergeKey === "string") return currentValue;
172
+ return [...currentValue, incomingValue];
173
+ }
174
+ if (currentValue === null || typeof currentValue === "boolean" || typeof currentValue === "number" || typeof currentValue === "string" || typeof currentValue === "function" || currentValue instanceof Text || currentValue instanceof Element) {
175
+ if (incomingValue === null || typeof incomingValue === "boolean" || typeof incomingValue === "number" || typeof incomingValue === "string" || Array.isArray(incomingValue) || isRecord(incomingValue)) {
176
+ return incomingValue;
177
+ }
178
+ const frag = document.createDocumentFragment();
179
+ if (currentValue instanceof Element || currentValue instanceof Text) frag.append(currentValue.cloneNode(true));
180
+ else frag.append(`${currentValue}`);
181
+ if (incomingValue instanceof Element || incomingValue instanceof Text) {
182
+ frag.append(incomingValue.cloneNode(true));
183
+ return frag.childNodes;
184
+ }
185
+ frag.append(...Array.from(incomingValue).map((e) => e.cloneNode(true)));
186
+ return frag.childNodes;
187
+ }
188
+ if (currentValue instanceof NodeList) {
189
+ if (incomingValue instanceof Element || incomingValue instanceof Text) {
190
+ const frag = document.createDocumentFragment();
191
+ frag.append(...Array.from(currentValue).map((e) => e.cloneNode(true)), incomingValue);
192
+ return frag.childNodes;
193
+ }
194
+ if (incomingValue instanceof NodeList) {
195
+ const frag = document.createDocumentFragment();
196
+ frag.append(
197
+ ...Array.from(currentValue).map((e) => e.cloneNode(true)),
198
+ ...Array.from(incomingValue).map((e) => e.cloneNode(true))
199
+ );
200
+ return frag.childNodes;
201
+ }
202
+ if (incomingValue === null || typeof incomingValue === "string" || typeof incomingValue === "number" || typeof incomingValue === "boolean") {
203
+ const frag = document.createDocumentFragment();
204
+ frag.append(...Array.from(currentValue).map((e) => e.cloneNode(true)), `${incomingValue}`);
205
+ return frag.childNodes;
206
+ }
207
+ if (Array.isArray(incomingValue)) return [
208
+ ...Array.from(currentValue),
209
+ ...incomingValue
210
+ ];
211
+ return { ...incomingValue };
212
+ }
213
+ if (typeof mergeKey === "number") return currentValue;
214
+ return {
215
+ ...currentValue,
216
+ [mergeKey]: incomingValue
217
+ };
218
+ }
219
+ getInnerValue(initialValue) {
220
+ const { subtrees } = this;
221
+ const innerValue = Array.from(subtrees.entries()).reduce((currentValue, [subpath, subtree]) => this.mergeValues(
222
+ currentValue,
223
+ subtree.evaluate(),
224
+ subpath
225
+ ), initialValue);
226
+ return innerValue;
227
+ }
228
+ wrapInnerValue(innerValue) {
229
+ const { type, pathFromParent } = this;
230
+ if (type === "transformer") {
231
+ const transformerName = this.tagName;
232
+ const generator = Transformers.get(transformerName);
233
+ if (generator === void 0) return innerValue;
234
+ const transformer = Array.isArray(innerValue) ? generator(pathFromParent, ...innerValue) : generator(pathFromParent, innerValue);
235
+ return transformer;
236
+ }
237
+ if (type === "null") return Cast.toNull();
238
+ if (type === "boolean") return Cast.toBoolean(innerValue);
239
+ if (type === "number") return Cast.toNumber(innerValue);
240
+ if (type === "string") return Cast.toString(innerValue);
241
+ if (type === "array") return Cast.toArray(innerValue);
242
+ if (type === "record") return Cast.toRecord(innerValue);
243
+ if (type === "text") return Cast.toText(innerValue);
244
+ if (type === "element") return Cast.toElement(innerValue);
245
+ if (type === "nodelist") return Cast.toNodeList(innerValue);
246
+ return Cast.toNull();
247
+ }
248
+ evaluationsCounter = {
249
+ computed: 0,
250
+ cached: 0
251
+ };
252
+ printEvaluationsCounters() {
253
+ const { subtrees, evaluationsCounter } = this;
254
+ const { computed, cached } = evaluationsCounter;
255
+ console.log(this.pathString, `computed: ${computed}, cached: ${cached}`);
256
+ subtrees.forEach((subtree) => subtree.printEvaluationsCounters());
257
+ }
258
+ cache = void 0;
259
+ setCache(value) {
260
+ this.cache = Serialize.serialize(value);
261
+ }
262
+ evaluate() {
263
+ if (this.cache !== void 0) {
264
+ this.evaluationsCounter.cached++;
265
+ return Serialize.deserialize(this.cache);
266
+ }
267
+ const init = this.initValue();
268
+ const inner = this.getInnerValue(init);
269
+ const wrapped = this.wrapInnerValue(inner);
270
+ this.setCache(wrapped);
271
+ this.evaluationsCounter.computed++;
272
+ return wrapped;
273
+ }
274
+ };
275
+
276
+ export {
277
+ Tree
278
+ };