@design-edito/tools 0.1.21 → 0.1.22

Sign up to get free protection for your applications and to get access to all the features.
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
+ };