@angelscmf/front 1.0.29 → 1.0.31

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 (103) hide show
  1. package/dist/AngelsFrontAnimationLibrary.d.ts +1 -1
  2. package/dist/AngelsFrontAnimationLibrary.js +81 -33
  3. package/dist/AngelsFrontAnimationLibrary.js.map +1 -1
  4. package/dist/{AngelsFrontLoader.cjs → AngelsFrontAnimationLibrary.mjs} +57 -64
  5. package/dist/AngelsFrontAnimationLibrary.mjs.map +1 -0
  6. package/dist/AngelsFrontApplication.d.mts +11 -0
  7. package/dist/AngelsFrontApplication.d.ts +3 -2
  8. package/dist/AngelsFrontApplication.js +283 -28
  9. package/dist/AngelsFrontApplication.js.map +1 -1
  10. package/dist/AngelsFrontApplication.mjs +365 -0
  11. package/dist/AngelsFrontApplication.mjs.map +1 -0
  12. package/dist/AngelsFrontDOMLibrary.d.mts +13 -0
  13. package/dist/AngelsFrontDOMLibrary.d.ts +11 -7
  14. package/dist/AngelsFrontDOMLibrary.js +345 -21
  15. package/dist/AngelsFrontDOMLibrary.js.map +1 -1
  16. package/dist/AngelsFrontDOMLibrary.mjs +391 -0
  17. package/dist/AngelsFrontDOMLibrary.mjs.map +1 -0
  18. package/dist/AngelsFrontElement.d.mts +15 -0
  19. package/dist/AngelsFrontElement.d.ts +15 -0
  20. package/dist/{AngelsFrontAnimationLibrary.cjs → AngelsFrontElement.js} +80 -68
  21. package/dist/AngelsFrontElement.js.map +1 -0
  22. package/dist/AngelsFrontElement.mjs +195 -0
  23. package/dist/AngelsFrontElement.mjs.map +1 -0
  24. package/dist/AngelsFrontLoader.js +613 -32
  25. package/dist/AngelsFrontLoader.js.map +1 -1
  26. package/dist/AngelsFrontLoader.mjs +789 -0
  27. package/dist/AngelsFrontLoader.mjs.map +1 -0
  28. package/dist/{AngelsFrontMod.d.cts → AngelsFrontMod.d.mts} +4 -3
  29. package/dist/AngelsFrontMod.d.ts +4 -3
  30. package/dist/AngelsFrontMod.js +40 -17
  31. package/dist/AngelsFrontMod.js.map +1 -1
  32. package/dist/{AngelsFrontComponent.js → AngelsFrontMod.mjs} +18 -37
  33. package/dist/AngelsFrontMod.mjs.map +1 -0
  34. package/dist/AngelsFrontPage.d.mts +11 -0
  35. package/dist/AngelsFrontPage.d.ts +3 -2
  36. package/dist/AngelsFrontPage.js +283 -28
  37. package/dist/AngelsFrontPage.js.map +1 -1
  38. package/dist/AngelsFrontPage.mjs +365 -0
  39. package/dist/AngelsFrontPage.mjs.map +1 -0
  40. package/dist/AngelsFrontWidgetClass.d.mts +15 -0
  41. package/dist/AngelsFrontWidgetClass.d.ts +15 -0
  42. package/dist/AngelsFrontWidgetClass.js +383 -0
  43. package/dist/AngelsFrontWidgetClass.js.map +1 -0
  44. package/dist/AngelsFrontWidgetClass.mjs +361 -0
  45. package/dist/AngelsFrontWidgetClass.mjs.map +1 -0
  46. package/dist/index.js +1 -0
  47. package/dist/index.mjs +1 -0
  48. package/package.json +13 -2
  49. package/sass/AngelsDesign.scss +5 -0
  50. package/sass/_AngelsHTMLElements.scss +244 -244
  51. package/sass/_AngelsPageLayout.scss +0 -4
  52. package/sass/_AngelsTheme.scss +47 -15
  53. package/sass/_AngelsVariables.scss +1 -4
  54. package/sass/angelsMessages/_AngelsAlert.scss +3 -2
  55. package/sass/angelsMessages/_AngelsDebug.scss +3 -2
  56. package/sass/angelsMessages/_AngelsDone.scss +3 -2
  57. package/sass/angelsMessages/_AngelsError.scss +3 -2
  58. package/sass/angelsMessages/_AngelsInfo.scss +3 -2
  59. package/sass/angelsMessages/_AngelsTip.scss +3 -2
  60. package/sass/angelsMessages/_AngelsWarn.scss +3 -2
  61. package/sass/angelsTags/_a-alpha.scss +29 -0
  62. package/sass/angelsTags/_a-center.scss +15 -0
  63. package/sass/angelsTags/_a-float.scss +42 -0
  64. package/sass/angelsTags/_a-icenter.scss +15 -0
  65. package/sass/angelsTags/_a-page.scss +13 -4
  66. package/sass/angelsTags/_a-state.scss +2 -1
  67. package/sass/angelsTags/_a-table.scss +9 -35
  68. package/sass/angelsTags/_a-text-transform.scss +29 -0
  69. package/dist/AngelsCore.cjs +0 -246
  70. package/dist/AngelsCore.cjs.map +0 -1
  71. package/dist/AngelsCore.js +0 -245
  72. package/dist/AngelsCore.js.map +0 -1
  73. package/dist/AngelsElement.cjs +0 -67
  74. package/dist/AngelsElement.cjs.map +0 -1
  75. package/dist/AngelsElement.d.cts +0 -11
  76. package/dist/AngelsElement.d.ts +0 -11
  77. package/dist/AngelsElement.js +0 -42
  78. package/dist/AngelsElement.js.map +0 -1
  79. package/dist/AngelsFrontAnimationLibrary.cjs.map +0 -1
  80. package/dist/AngelsFrontApplication.cjs +0 -155
  81. package/dist/AngelsFrontApplication.cjs.map +0 -1
  82. package/dist/AngelsFrontApplication.d.cts +0 -10
  83. package/dist/AngelsFrontComponent.cjs +0 -151
  84. package/dist/AngelsFrontComponent.cjs.map +0 -1
  85. package/dist/AngelsFrontComponent.d.cts +0 -11
  86. package/dist/AngelsFrontComponent.d.ts +0 -11
  87. package/dist/AngelsFrontComponent.js.map +0 -1
  88. package/dist/AngelsFrontDOMLibrary.cjs +0 -130
  89. package/dist/AngelsFrontDOMLibrary.cjs.map +0 -1
  90. package/dist/AngelsFrontDOMLibrary.d.cts +0 -9
  91. package/dist/AngelsFrontLoader.cjs.map +0 -1
  92. package/dist/AngelsFrontLoader.d.cts +0 -2
  93. package/dist/AngelsFrontMod.cjs +0 -128
  94. package/dist/AngelsFrontMod.cjs.map +0 -1
  95. package/dist/AngelsFrontPage.cjs +0 -155
  96. package/dist/AngelsFrontPage.cjs.map +0 -1
  97. package/dist/AngelsFrontPage.d.cts +0 -10
  98. package/dist/index.cjs +0 -2
  99. package/dist/index.d.cts +0 -2
  100. package/dist/{AngelsFrontAnimationLibrary.d.cts → AngelsFrontAnimationLibrary.d.mts} +1 -1
  101. /package/dist/{AngelsCore.d.cts → AngelsFrontLoader.d.mts} +0 -0
  102. /package/dist/{AngelsCore.d.ts → index.d.mts} +0 -0
  103. /package/dist/{index.cjs.map → index.mjs.map} +0 -0
@@ -1,43 +1,353 @@
1
- // src/AngelsElement.ts
2
- var AngelsElementClass = class {
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 __async = (__this, __arguments, generator) => {
20
+ return new Promise((resolve, reject) => {
21
+ var fulfilled = (value) => {
22
+ try {
23
+ step(generator.next(value));
24
+ } catch (e) {
25
+ reject(e);
26
+ }
27
+ };
28
+ var rejected = (value) => {
29
+ try {
30
+ step(generator.throw(value));
31
+ } catch (e) {
32
+ reject(e);
33
+ }
34
+ };
35
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
36
+ step((generator = generator.apply(__this, __arguments)).next());
37
+ });
38
+ };
39
+
40
+ // src/AngelsFrontDOMLibrary.ts
41
+ var AngelsFrontDOMLibrary_exports = {};
42
+ __export(AngelsFrontDOMLibrary_exports, {
43
+ aLibCreateWidget: () => aLibCreateWidget,
44
+ aLibFindElement: () => aLibFindElement,
45
+ aLibHideElement: () => aLibHideElement,
46
+ aLibPrepareElement: () => aLibPrepareElement,
47
+ aLibRequireElement: () => aLibRequireElement,
48
+ aLibShowElement: () => aLibShowElement,
49
+ aLibToggleElement: () => aLibToggleElement
50
+ });
51
+ module.exports = __toCommonJS(AngelsFrontDOMLibrary_exports);
52
+
53
+ // src/AngelsFrontAnimationLibrary.ts
54
+ function aLibConcealElement(originalElement) {
55
+ return __async(this, null, function* () {
56
+ const innerElement = aLibRequireElement(originalElement);
57
+ const promise = new Promise((resolve) => {
58
+ if (innerElement.hidden) {
59
+ resolve();
60
+ return;
61
+ }
62
+ let timeout;
63
+ const animationHandler = () => {
64
+ clearTimeout(timeout);
65
+ innerElement.removeEventListener("animationend", animationHandler);
66
+ innerElement.hidden = true;
67
+ innerElement.classList.remove("a-out-animation");
68
+ resolve();
69
+ };
70
+ innerElement.classList.add("a-out-animation");
71
+ const animations = innerElement.getAnimations();
72
+ if (animations.length > 0) {
73
+ timeout = setTimeout(() => {
74
+ innerElement.removeEventListener("animationend", animationHandler);
75
+ innerElement.hidden = true;
76
+ innerElement.classList.remove("a-out-animation");
77
+ console.warn("Animation timeout");
78
+ resolve();
79
+ }, 5e3);
80
+ innerElement.addEventListener("animationend", animationHandler);
81
+ } else {
82
+ innerElement.hidden = true;
83
+ resolve();
84
+ }
85
+ });
86
+ return promise;
87
+ });
88
+ }
89
+ function aLibEngageElement(originalElement, switcher = void 0) {
90
+ return __async(this, null, function* () {
91
+ const innerElement = aLibRequireElement(originalElement);
92
+ if (switcher === void 0) {
93
+ switcher = innerElement.hidden;
94
+ }
95
+ if (switcher) {
96
+ return yield aLibRevealElement(innerElement);
97
+ } else {
98
+ return yield aLibConcealElement(innerElement);
99
+ }
100
+ });
101
+ }
102
+ function aLibRevealElement(originalElement) {
103
+ return __async(this, null, function* () {
104
+ const innerElement = aLibRequireElement(originalElement);
105
+ const promise = new Promise((resolve) => {
106
+ if (!innerElement.hidden) {
107
+ resolve();
108
+ return;
109
+ }
110
+ let timeout;
111
+ const animationHandler = () => {
112
+ clearTimeout(timeout);
113
+ innerElement.removeEventListener("animationend", animationHandler);
114
+ resolve();
115
+ };
116
+ innerElement.hidden = false;
117
+ const animations = innerElement.getAnimations();
118
+ if (animations.length > 0) {
119
+ timeout = setTimeout(() => {
120
+ innerElement.removeEventListener("animationend", animationHandler);
121
+ console.warn("Animation timeout");
122
+ resolve();
123
+ }, 5e3);
124
+ innerElement.addEventListener("animationend", animationHandler);
125
+ } else {
126
+ resolve();
127
+ }
128
+ });
129
+ return promise;
130
+ });
131
+ }
132
+
133
+ // src/AngelsFrontElement.ts
134
+ var AngelsFrontElementClass = class _AngelsFrontElementClass {
3
135
  constructor(element) {
4
- this.originalElement = element;
136
+ this.aProxyBaseClass = _AngelsFrontElementClass;
137
+ this.elementBase = element;
5
138
  return new Proxy(this, {
6
139
  get(target, prop, receiver) {
7
140
  if (prop in target) {
8
- return target[prop];
141
+ return Reflect.get(target, prop);
9
142
  }
10
- return target.originalElement[prop];
143
+ const valueOfProperty = Reflect.get(target.elementBase, prop);
144
+ if (typeof valueOfProperty === "function") {
145
+ return valueOfProperty.bind(target.elementBase);
146
+ }
147
+ return valueOfProperty;
11
148
  },
12
149
  set(target, prop, newValue, receiver) {
13
- if (prop in target) {
14
- target[prop] = newValue;
150
+ if (prop in target.elementBase) {
151
+ target.elementBase[prop] = newValue;
15
152
  } else {
16
- target.originalElement[prop] = newValue;
153
+ target[prop] = newValue;
17
154
  }
18
155
  return true;
19
156
  }
20
157
  });
21
158
  }
159
+ aConcealElement() {
160
+ aLibConcealElement(this.elementBase);
161
+ return this;
162
+ }
163
+ aEngageElement(switcher = void 0) {
164
+ aLibEngageElement(this.elementBase, switcher);
165
+ return this;
166
+ }
22
167
  aHideElement() {
23
- this.originalElement.hidden = true;
168
+ this.elementBase.hidden = true;
169
+ return this;
170
+ }
171
+ aRevealElement() {
172
+ aLibRevealElement(this.elementBase);
24
173
  return this;
25
174
  }
26
175
  aShowElement() {
27
- this.originalElement.hidden = false;
176
+ this.elementBase.hidden = false;
28
177
  return this;
29
178
  }
30
- aTextContent(content = void 0) {
31
- var _a;
32
- if (content === void 0) {
33
- return (_a = this.originalElement.textContent) != null ? _a : ``;
34
- }
35
- this.originalElement.textContent = content.toString();
179
+ aSetTextContent(content) {
180
+ const contentToSet = content.toString();
181
+ this.elementBase.textContent = contentToSet;
36
182
  return this;
37
183
  }
184
+ aTextContent() {
185
+ if (this.elementBase.textContent === null) {
186
+ return ``;
187
+ }
188
+ return this.elementBase.textContent;
189
+ }
190
+ };
191
+
192
+ // src/AngelsFrontMod.ts
193
+ var AngelsFrontMod = class {
194
+ constructor() {
195
+ this.modWaitStartTimeout = 1e3;
196
+ this.modSubMods = new Array();
197
+ }
198
+ /**
199
+ * Starts AngelsFrontMod.
200
+ */
201
+ modStart() {
202
+ this.modInit();
203
+ this.modBind();
204
+ this.modLink();
205
+ this.modRun();
206
+ setTimeout(() => {
207
+ this.modWait();
208
+ }, this.modWaitStartTimeout);
209
+ }
210
+ /**
211
+ * Finishes AngelsFrontMod.
212
+ */
213
+ modFinish() {
214
+ this.modDeWait();
215
+ this.modDeRun();
216
+ this.modDeLink();
217
+ this.modDeBind();
218
+ this.modDeInit();
219
+ }
220
+ /**
221
+ * Inits AngelsFrontMod and its sub-modules AngelsFrontMod.
222
+ */
223
+ modInit() {
224
+ this.modSubMods.forEach((mod) => mod.modInit());
225
+ }
226
+ /**
227
+ * Binds AngelsFrontMod and its sub-modules AngelsFrontMod.
228
+ */
229
+ modBind() {
230
+ this.modSubMods.forEach((mod) => mod.modBind());
231
+ }
232
+ /**
233
+ * Links AngelsFrontMod and its sub-modules AngelsFrontMod.
234
+ */
235
+ modLink() {
236
+ this.modSubMods.forEach((mod) => mod.modLink());
237
+ }
238
+ /**
239
+ * Runs AngelsFrontMod and its sub-modules AngelsFrontMod.
240
+ */
241
+ modRun() {
242
+ this.modSubMods.forEach((mod) => mod.modRun());
243
+ }
244
+ /**
245
+ * Waits AngelsFrontMod and its sub-modules AngelsFrontMod.
246
+ */
247
+ modWait() {
248
+ this.modSubMods.forEach((mod) => mod.modWait());
249
+ }
250
+ /**
251
+ * DeInits AngelsFrontMod and its sub-modules AngelsFrontMod.
252
+ */
253
+ modDeInit() {
254
+ this.modSubMods.forEach((mod) => mod.modDeInit());
255
+ }
256
+ /**
257
+ * DeBinds AngelsFrontMod and its sub-modules AngelsFrontMod.
258
+ */
259
+ modDeBind() {
260
+ this.modSubMods.forEach((mod) => mod.modDeBind());
261
+ }
262
+ /**
263
+ * DeLinks AngelsFrontMod and its sub-modules AngelsFrontMod.
264
+ */
265
+ modDeLink() {
266
+ this.modSubMods.forEach((mod) => mod.modDeLink());
267
+ }
268
+ /**
269
+ * DeRuns AngelsFrontMod and its sub-modules AngelsFrontMod.
270
+ */
271
+ modDeRun() {
272
+ this.modSubMods.forEach((mod) => mod.modDeRun());
273
+ }
274
+ /**
275
+ * DeWaits AngelsFrontMod and its sub-modules AngelsFrontMod.
276
+ */
277
+ modDeWait() {
278
+ this.modSubMods.forEach((mod) => mod.modDeWait());
279
+ }
280
+ modDestructor() {
281
+ this.modSubMods.forEach((mod) => mod.modDestructor());
282
+ }
283
+ modAddSubMod(mod) {
284
+ if (mod) {
285
+ this.modSubMods.push(mod);
286
+ mod.modInit();
287
+ return mod;
288
+ }
289
+ return null;
290
+ }
291
+ modRequireSubMod(mod) {
292
+ this.modSubMods.push(mod);
293
+ mod.modInit();
294
+ return mod;
295
+ }
296
+ };
297
+
298
+ // src/AngelsFrontWidgetClass.ts
299
+ var AngelsFrontWidgetClass = class extends AngelsFrontMod {
300
+ constructor(element) {
301
+ super();
302
+ this.widElement = aLibPrepareElement(element);
303
+ return new Proxy(this, {
304
+ get(target, prop, receiver) {
305
+ if (prop in target) {
306
+ const valueOfProperty2 = target[prop];
307
+ if (typeof valueOfProperty2 === "function") {
308
+ return Reflect.get(target, prop);
309
+ }
310
+ return valueOfProperty2;
311
+ }
312
+ const valueOfProperty = target.widElement[prop];
313
+ if (typeof valueOfProperty === "function") {
314
+ return valueOfProperty.bind(target.widElement);
315
+ }
316
+ return valueOfProperty;
317
+ },
318
+ set(target, prop, newValue, receiver) {
319
+ if (prop in target) {
320
+ target[prop] = newValue;
321
+ } else {
322
+ target.widElement[prop] = newValue;
323
+ }
324
+ return true;
325
+ }
326
+ });
327
+ }
328
+ widFindElement(selector) {
329
+ const findElement = this.widElement.querySelector(selector);
330
+ if (findElement) {
331
+ return aFindElement(findElement);
332
+ }
333
+ return null;
334
+ }
335
+ widFindElements(selector) {
336
+ return Array.from(this.widElement.querySelectorAll(selector)).map(aFindElement);
337
+ }
338
+ widRequireElement(selector) {
339
+ const element = this.widElement.querySelector(selector);
340
+ if (element) {
341
+ return aFindElement(element);
342
+ }
343
+ throw Error(`Element '${selector}' is not found.`);
344
+ }
38
345
  };
39
346
 
40
347
  // src/AngelsFrontDOMLibrary.ts
348
+ function aLibCreateWidget(element) {
349
+ return new AngelsFrontWidgetClass(element);
350
+ }
41
351
  function aLibFindElement(selector) {
42
352
  let element;
43
353
  if (typeof selector === "undefined") {
@@ -54,12 +364,12 @@ function aLibFindElement(selector) {
54
364
  element = selector;
55
365
  } else if (selector instanceof Element) {
56
366
  element = selector;
57
- } else if (selector instanceof AngelsElementClass) {
367
+ } else if (selector instanceof AngelsFrontElementClass) {
58
368
  return selector;
59
369
  } else {
60
370
  element = selector;
61
371
  }
62
- return new AngelsElementClass(element);
372
+ return new AngelsFrontElementClass(element);
63
373
  }
64
374
  function aLibRequireElement(selector) {
65
375
  const element = aLibFindElement(selector);
@@ -73,6 +383,17 @@ function aLibHideElement(selector) {
73
383
  element.hidden = true;
74
384
  return element;
75
385
  }
386
+ function aLibPrepareElement(element) {
387
+ let angelsFrontElement;
388
+ if ("aProxyBaseClass" in element && element.aProxyBaseClass === AngelsFrontElementClass) {
389
+ angelsFrontElement = element;
390
+ } else if (element instanceof HTMLElement) {
391
+ angelsFrontElement = new AngelsFrontElementClass(element);
392
+ } else {
393
+ throw Error("Cannot prepare element: invalid element type.");
394
+ }
395
+ return angelsFrontElement;
396
+ }
76
397
  function aLibShowElement(selector) {
77
398
  const element = aLibRequireElement(selector);
78
399
  element.hidden = false;
@@ -81,7 +402,7 @@ function aLibShowElement(selector) {
81
402
  function aLibToggleElement(originalElement, switcher = void 0) {
82
403
  const innerElement = aLibRequireElement(originalElement);
83
404
  if (switcher === void 0) {
84
- switcher = !innerElement.hidden;
405
+ switcher = innerElement.hidden;
85
406
  }
86
407
  if (switcher) {
87
408
  return aLibShowElement(innerElement);
@@ -89,11 +410,14 @@ function aLibToggleElement(originalElement, switcher = void 0) {
89
410
  return aLibHideElement(innerElement);
90
411
  }
91
412
  }
92
- export {
413
+ // Annotate the CommonJS export names for ESM import in node:
414
+ 0 && (module.exports = {
415
+ aLibCreateWidget,
93
416
  aLibFindElement,
94
417
  aLibHideElement,
418
+ aLibPrepareElement,
95
419
  aLibRequireElement,
96
420
  aLibShowElement,
97
421
  aLibToggleElement
98
- };
422
+ });
99
423
  //# sourceMappingURL=AngelsFrontDOMLibrary.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/AngelsElement.ts","../src/AngelsFrontDOMLibrary.ts"],"sourcesContent":["export type AngelsElement<TElement extends HTMLElement = HTMLElement> = AngelsElementClass<TElement> & TElement;\n\nexport class AngelsElementClass<TElement extends HTMLElement = HTMLElement> {\n\n protected originalElement: TElement;\n\n constructor(element: TElement) {\n\n this.originalElement = element;\n\n return new Proxy(this, {\n get(target: any, prop: string | symbol, receiver: any) {\n if (prop in target) {\n return target[prop];\n }\n return target.originalElement[prop];\n },\n\n set(target: any, prop: string | symbol, newValue: any, receiver: any) {\n if (prop in target) {\n target[prop] = newValue;\n } else {\n target.originalElement[prop] = newValue;\n }\n return true;\n }\n });\n }\n\n aHideElement(): this {\n this.originalElement.hidden = true;\n return this;\n }\n\n aShowElement(): this {\n this.originalElement.hidden = false;\n return this;\n }\n\n aTextContent(): string;\n aTextContent(content: string): this;\n aTextContent(content: string | undefined = undefined): this | string {\n if (content === undefined) {\n return this.originalElement.textContent ?? ``;\n }\n this.originalElement.textContent = content.toString();\n return this;\n }\n}\n","import { AngelsElement, AngelsElementClass } from \"./AngelsElement\";\n\nexport function aLibFindElement<THTMLElement extends HTMLElement>(selector: AngelsSelectorType<THTMLElement>): AngelsElement<THTMLElement> | null {\n\n let element: THTMLElement;\n if (typeof selector === 'undefined') {\n return null;\n } else if (selector === null) {\n return null;\n } else if (typeof selector === 'string') {\n const findElement = document.querySelector<THTMLElement>(selector);\n if (!findElement) {\n return null;\n }\n element = findElement;\n } else if (selector instanceof HTMLElement) {\n element = selector as THTMLElement;\n } else if (selector instanceof Element) {\n element = selector as THTMLElement;\n } else if (selector instanceof AngelsElementClass) {\n return selector as AngelsElement<THTMLElement>;\n } else {\n element = selector;\n }\n return new AngelsElementClass(element) as AngelsElement<THTMLElement>;\n}\n\nexport function aLibRequireElement<THTMLElement extends HTMLElement>(selector: AngelsSelectorType): AngelsElement<THTMLElement> {\n const element = aLibFindElement<THTMLElement>(selector);\n if (element) {\n return element;\n }\n throw Error(`Element not found by '${selector}' selector.`);\n}\n\nexport function aLibHideElement<THTMLElement extends HTMLElement>(selector: AngelsSelectorType): AngelsElement<THTMLElement> {\n const element = aLibRequireElement<THTMLElement>(selector);\n element.hidden = true;\n return element;\n}\n\nexport function aLibShowElement<THTMLElement extends HTMLElement>(selector: AngelsSelectorType): AngelsElement<THTMLElement> {\n const element = aLibRequireElement<THTMLElement>(selector);\n element.hidden = false;\n return element;\n}\n\nexport function aLibToggleElement(originalElement: AngelsSelectorType, switcher: boolean | undefined = undefined) {\n const innerElement = aLibRequireElement(originalElement);\n if (switcher === undefined) {\n switcher = !innerElement.hidden;\n }\n if (switcher) {\n return aLibShowElement(innerElement);\n } else {\n return aLibHideElement(innerElement);\n }\n}\n"],"mappings":";AAEO,IAAM,qBAAN,MAAqE;AAAA,EAIxE,YAAY,SAAmB;AAE3B,SAAK,kBAAkB;AAEvB,WAAO,IAAI,MAAM,MAAM;AAAA,MACnB,IAAI,QAAa,MAAuB,UAAe;AACnD,YAAI,QAAQ,QAAQ;AAChB,iBAAO,OAAO,IAAI;AAAA,QACtB;AACA,eAAO,OAAO,gBAAgB,IAAI;AAAA,MACtC;AAAA,MAEA,IAAI,QAAa,MAAuB,UAAe,UAAe;AAClE,YAAI,QAAQ,QAAQ;AAChB,iBAAO,IAAI,IAAI;AAAA,QACnB,OAAO;AACH,iBAAO,gBAAgB,IAAI,IAAI;AAAA,QACnC;AACA,eAAO;AAAA,MACX;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,eAAqB;AACjB,SAAK,gBAAgB,SAAS;AAC9B,WAAO;AAAA,EACX;AAAA,EAEA,eAAqB;AACjB,SAAK,gBAAgB,SAAS;AAC9B,WAAO;AAAA,EACX;AAAA,EAIA,aAAa,UAA8B,QAA0B;AAzCzE;AA0CQ,QAAI,YAAY,QAAW;AACvB,cAAO,UAAK,gBAAgB,gBAArB,YAAoC;AAAA,IAC/C;AACA,SAAK,gBAAgB,cAAc,QAAQ,SAAS;AACpD,WAAO;AAAA,EACX;AACJ;;;AC9CO,SAAS,gBAAkD,UAAgF;AAE9I,MAAI;AACJ,MAAI,OAAO,aAAa,aAAa;AACjC,WAAO;AAAA,EACX,WAAW,aAAa,MAAM;AAC1B,WAAO;AAAA,EACX,WAAW,OAAO,aAAa,UAAU;AACrC,UAAM,cAAc,SAAS,cAA4B,QAAQ;AACjE,QAAI,CAAC,aAAa;AACd,aAAO;AAAA,IACX;AACA,cAAU;AAAA,EACd,WAAW,oBAAoB,aAAa;AACxC,cAAU;AAAA,EACd,WAAW,oBAAoB,SAAS;AACpC,cAAU;AAAA,EACd,WAAW,oBAAoB,oBAAoB;AAC/C,WAAO;AAAA,EACX,OAAO;AACH,cAAU;AAAA,EACd;AACA,SAAO,IAAI,mBAAmB,OAAO;AACzC;AAEO,SAAS,mBAAqD,UAA2D;AAC5H,QAAM,UAAU,gBAA8B,QAAQ;AACtD,MAAI,SAAS;AACT,WAAO;AAAA,EACX;AACA,QAAM,MAAM,yBAAyB,QAAQ,aAAa;AAC9D;AAEO,SAAS,gBAAkD,UAA2D;AACzH,QAAM,UAAU,mBAAiC,QAAQ;AACzD,UAAQ,SAAS;AACjB,SAAO;AACX;AAEO,SAAS,gBAAkD,UAA2D;AACzH,QAAM,UAAU,mBAAiC,QAAQ;AACzD,UAAQ,SAAS;AACjB,SAAO;AACX;AAEO,SAAS,kBAAkB,iBAAqC,WAAgC,QAAW;AAC9G,QAAM,eAAe,mBAAmB,eAAe;AACvD,MAAI,aAAa,QAAW;AACxB,eAAW,CAAC,aAAa;AAAA,EAC7B;AACA,MAAI,UAAU;AACV,WAAO,gBAAgB,YAAY;AAAA,EACvC,OAAO;AACH,WAAO,gBAAgB,YAAY;AAAA,EACvC;AACJ;","names":[]}
1
+ {"version":3,"sources":["../src/AngelsFrontDOMLibrary.ts","../src/AngelsFrontAnimationLibrary.ts","../src/AngelsFrontElement.ts","../src/AngelsFrontMod.ts","../src/AngelsFrontWidgetClass.ts"],"sourcesContent":["import AngelsFrontElementClass, { AngelsFrontElement } from \"./AngelsFrontElement\";\nimport { AngelsFrontWidget } from \"./AngelsFrontWidgetClass\";\nimport AngelsFrontWidgetClass from \"./AngelsFrontWidgetClass\";\n\nexport function aLibCreateWidget<THTMLElement extends HTMLElement = HTMLElement>(element: THTMLElement): AngelsFrontWidget<THTMLElement> {\n return (new AngelsFrontWidgetClass<THTMLElement>(element)) as AngelsFrontWidget<THTMLElement>;\n}\n\nexport function aLibFindElement<THTMLElement extends HTMLElement>(selector: AngelsSelectorType<THTMLElement>): AngelsFrontElement<THTMLElement> | null {\n\n let element: THTMLElement;\n if (typeof selector === 'undefined') {\n return null;\n } else if (selector === null) {\n return null;\n } else if (typeof selector === 'string') {\n const findElement = document.querySelector<THTMLElement>(selector);\n if (!findElement) {\n return null;\n }\n element = findElement;\n } else if (selector instanceof HTMLElement) {\n element = selector as THTMLElement;\n } else if (selector instanceof Element) {\n element = selector as THTMLElement;\n } else if (selector instanceof AngelsFrontElementClass) {\n return selector as AngelsFrontElement<THTMLElement>;\n } else {\n element = selector;\n }\n return new AngelsFrontElementClass(element) as AngelsFrontElement<THTMLElement>;\n}\n\nexport function aLibRequireElement<THTMLElement extends HTMLElement>(selector: AngelsSelectorType): AngelsFrontElement<THTMLElement> {\n const element = aLibFindElement<THTMLElement>(selector);\n if (element) {\n return element;\n }\n throw Error(`Element not found by '${selector}' selector.`);\n}\n\nexport function aLibHideElement<THTMLElement extends HTMLElement>(selector: AngelsSelectorType): AngelsFrontElement<THTMLElement> {\n const element = aLibRequireElement<THTMLElement>(selector);\n element.hidden = true;\n return element;\n}\n\nexport function aLibPrepareElement<TWidgetHTMLElement extends HTMLElement = HTMLElement>(element: TWidgetHTMLElement | AngelsFrontElementClass<TWidgetHTMLElement>): AngelsFrontElement<TWidgetHTMLElement> {\n let angelsFrontElement: AngelsFrontElement<TWidgetHTMLElement>;\n if ('aProxyBaseClass' in element && element.aProxyBaseClass === AngelsFrontElementClass) {\n // @test aLibPrepareElement() returns existing AngelsFrontElement when element has aProxyBaseClass\n angelsFrontElement = element as AngelsFrontElement<TWidgetHTMLElement>;\n } else if (element instanceof HTMLElement) {\n // @test aLibPrepareElement() creates new AngelsFrontElement when element is HTMLElement\n angelsFrontElement = new AngelsFrontElementClass(element) as AngelsFrontElement<TWidgetHTMLElement>;\n } else {\n // @test aLibPrepareElement() throws error when element is invalid type\n throw Error('Cannot prepare element: invalid element type.');\n }\n return angelsFrontElement\n}\n\nexport function aLibShowElement<THTMLElement extends HTMLElement>(selector: AngelsSelectorType): AngelsFrontElement<THTMLElement> {\n const element = aLibRequireElement<THTMLElement>(selector);\n element.hidden = false;\n return element;\n}\n\nexport function aLibToggleElement(originalElement: AngelsSelectorType, switcher: boolean | undefined = undefined) {\n const innerElement = aLibRequireElement(originalElement);\n if (switcher === undefined) {\n // @test aLibToggleElement() toggles element when switcher undefined and hidden false\n // @test aLibToggleElement() toggles element when switcher undefined and hidden true\n switcher = innerElement.hidden;\n }\n if (switcher) {\n // @test aLibToggleElement() shows element when switcher is true\n return aLibShowElement(innerElement);\n } else {\n // @test aLibToggleElement() hides element when switcher is false\n return aLibHideElement(innerElement);\n }\n}\n","import { aLibRequireElement } from \"./AngelsFrontDOMLibrary\";\n\nexport async function aLibConcealElement(originalElement: AngelsSelectorType) {\n const innerElement = aLibRequireElement(originalElement);\n const promise = new Promise<void>((resolve) => {\n\n if (innerElement.hidden) {\n resolve();\n return;\n }\n\n let timeout: NodeJS.Timeout | undefined;\n\n const animationHandler = () => {\n clearTimeout(timeout);\n innerElement.removeEventListener('animationend', animationHandler);\n innerElement.hidden = true;\n innerElement.classList.remove('a-out-animation');\n resolve();\n }\n\n innerElement.classList.add('a-out-animation');\n\n const animations = innerElement.getAnimations();\n if (animations.length > 0) {\n timeout = setTimeout(() => {\n innerElement.removeEventListener('animationend', animationHandler);\n innerElement.hidden = true;\n innerElement.classList.remove('a-out-animation');\n console.warn('Animation timeout');\n resolve();\n }, 5000); // 5 seconds timeout\n innerElement.addEventListener('animationend', animationHandler);\n } else {\n innerElement.hidden = true;\n resolve();\n }\n });\n\n return promise;\n}\n\nexport async function aLibEngageElement(originalElement: AngelsSelectorType, switcher: boolean | undefined = undefined) {\n const innerElement = aLibRequireElement(originalElement);\n if (switcher === undefined) {\n switcher = innerElement.hidden;\n }\n\n if (switcher) {\n return await aLibRevealElement(innerElement);\n } else {\n return await aLibConcealElement(innerElement);\n }\n}\n\nexport async function aLibRevealElement(originalElement: AngelsSelectorType) {\n const innerElement = aLibRequireElement(originalElement);\n const promise = new Promise<void>((resolve) => {\n\n if (!innerElement.hidden) {\n resolve();\n return;\n }\n\n let timeout: NodeJS.Timeout | undefined;\n\n const animationHandler = () => {\n clearTimeout(timeout);\n innerElement.removeEventListener('animationend', animationHandler);\n resolve();\n }\n\n innerElement.hidden = false;\n\n const animations = innerElement.getAnimations();\n if (animations.length > 0) {\n timeout = setTimeout(() => {\n innerElement.removeEventListener('animationend', animationHandler);\n console.warn('Animation timeout');\n resolve();\n }, 5000); // 5 seconds timeout\n innerElement.addEventListener('animationend', animationHandler);\n } else {\n resolve();\n }\n });\n\n return promise;\n}\n","import { aLibConcealElement, aLibEngageElement, aLibRevealElement } from \"./AngelsFrontAnimationLibrary\";\n\nexport type AngelsFrontElement<THTMLElement extends HTMLElement = HTMLElement> = AngelsFrontElementClass<THTMLElement> & THTMLElement;\n\nexport default class AngelsFrontElementClass<THTMLElement extends HTMLElement = HTMLElement> {\n\n public elementBase: THTMLElement;\n aProxyBaseClass: typeof AngelsFrontElementClass = AngelsFrontElementClass;\n\n constructor(element: THTMLElement) {\n\n this.elementBase = element;\n\n return new Proxy(this, {\n\n get(target: AngelsFrontElementClass, prop: string | symbol, receiver: any) {\n if (prop in target) {\n // @test AngelsFrontElementClass proxies methods to the original element\n return Reflect.get(target, prop);\n }\n // @test AngelsFrontElementClass uses methods of the main object\n const valueOfProperty = Reflect.get(target.elementBase, prop);\n if (typeof valueOfProperty === 'function') {\n return valueOfProperty.bind(target.elementBase);\n }\n return valueOfProperty;\n },\n\n set(target: AngelsFrontElementClass, prop: string | symbol, newValue: any, receiver: any) {\n if (prop in target.elementBase) {\n // @test AngelsFrontElementClass sets properties on the original element\n (target as any).elementBase[prop] = newValue;\n } else {\n // @test AngelsFrontElementClass sets properties on the main object\n (target as any)[prop] = newValue;\n }\n return true;\n }\n }) as unknown as AngelsFrontElement<THTMLElement>;\n }\n\n aConcealElement(): this {\n\n // @test aConcealElement() calls aLibConcealElement() with the original element\n aLibConcealElement(this.elementBase);\n\n // @test aConcealElement() returns this\n return this;\n }\n\n aEngageElement(switcher: boolean | undefined = undefined): this {\n\n // @test aEngageElement() calls aLibEngageElement() with the original element and the same switcher\n aLibEngageElement(this.elementBase, switcher);\n\n // @test aEngageElement() returns this\n return this;\n }\n\n aHideElement(): this {\n\n // @test aHideElement() sets the hidden property of the element to true\n this.elementBase.hidden = true;\n\n // @test aHideElement() returns this\n return this;\n }\n\n aRevealElement(): this {\n\n // @test aRevealElement() calls aLibRevealElement() with the original element\n aLibRevealElement(this.elementBase);\n\n // @test aRevealElement() returns this\n return this;\n }\n\n aShowElement(): this {\n\n // @test aShowElement() sets the hidden property of the element to false\n this.elementBase.hidden = false;\n\n // @test aShowElement() returns this\n return this;\n }\n\n aSetTextContent(content: string): this {\n\n // @test aSetTextContent() converts non-string content to string before setting\n const contentToSet = content.toString();\n\n // @test aSetTextContent() sets elementBase.textContent\n this.elementBase.textContent = contentToSet;\n\n // @test aSetTextContent() returns this for chaining\n return this;\n }\n\n aTextContent(): string {\n if (this.elementBase.textContent === null) {\n // @test aTextContent() returns empty string if elementBase.textContent is null\n return ``;\n }\n\n // @test aTextContent() returns textContent of elementBase\n return this.elementBase.textContent;\n }\n}\n","export default class AngelsFrontMod {\n\n protected modSubMods: Array<AngelsFrontMod>;\n public modWaitStartTimeout = 1000;\n\n constructor() {\n this.modSubMods = new Array;\n }\n\n /**\n * Starts AngelsFrontMod.\n */\n modStart() {\n this.modInit();\n this.modBind();\n this.modLink();\n this.modRun();\n setTimeout(() => {\n this.modWait();\n }, this.modWaitStartTimeout);\n }\n\n /**\n * Finishes AngelsFrontMod.\n */\n modFinish() {\n this.modDeWait();\n this.modDeRun();\n this.modDeLink();\n this.modDeBind();\n this.modDeInit();\n }\n\n /**\n * Inits AngelsFrontMod and its sub-modules AngelsFrontMod.\n */\n modInit() {\n this.modSubMods.forEach(mod => mod.modInit());\n }\n\n /**\n * Binds AngelsFrontMod and its sub-modules AngelsFrontMod.\n */\n modBind() {\n this.modSubMods.forEach(mod => mod.modBind());\n }\n\n /**\n * Links AngelsFrontMod and its sub-modules AngelsFrontMod.\n */\n modLink() {\n this.modSubMods.forEach(mod => mod.modLink());\n }\n\n /**\n * Runs AngelsFrontMod and its sub-modules AngelsFrontMod.\n */\n modRun() {\n this.modSubMods.forEach(mod => mod.modRun());\n }\n\n /**\n * Waits AngelsFrontMod and its sub-modules AngelsFrontMod.\n */\n modWait() {\n this.modSubMods.forEach(mod => mod.modWait());\n }\n\n /**\n * DeInits AngelsFrontMod and its sub-modules AngelsFrontMod.\n */\n modDeInit() {\n this.modSubMods.forEach(mod => mod.modDeInit());\n }\n /**\n * DeBinds AngelsFrontMod and its sub-modules AngelsFrontMod.\n */\n modDeBind() {\n this.modSubMods.forEach(mod => mod.modDeBind());\n }\n /**\n * DeLinks AngelsFrontMod and its sub-modules AngelsFrontMod.\n */\n modDeLink() {\n this.modSubMods.forEach(mod => mod.modDeLink());\n }\n /**\n * DeRuns AngelsFrontMod and its sub-modules AngelsFrontMod.\n */\n modDeRun() {\n this.modSubMods.forEach(mod => mod.modDeRun());\n }\n /**\n * DeWaits AngelsFrontMod and its sub-modules AngelsFrontMod.\n */\n modDeWait() {\n this.modSubMods.forEach(mod => mod.modDeWait());\n }\n\n modDestructor() {\n this.modSubMods.forEach(mod => mod.modDestructor());\n }\n\n modAddSubMod(mod: null): null;\n modAddSubMod<TMod extends AngelsFrontMod>(mod: TMod): TMod;\n modAddSubMod<TMod extends AngelsFrontMod>(mod: TMod | null): TMod | null {\n if (mod) {\n this.modSubMods.push(mod);\n mod.modInit();\n return mod;\n }\n return null;\n }\n\n modRequireSubMod<TMod extends AngelsFrontMod>(mod: TMod): TMod {\n this.modSubMods.push(mod);\n mod.modInit();\n return mod;\n }\n}","import { aLibPrepareElement } from \"./AngelsFrontDOMLibrary\";\nimport { AngelsFrontElement } from \"./AngelsFrontElement\";\nimport AngelsFrontMod from \"./AngelsFrontMod\";\n\nexport type AngelsFrontWidget<THTMLElement extends HTMLElement = HTMLElement> = AngelsFrontWidgetClass<THTMLElement> & THTMLElement;\n\nexport default interface AngelsFrontWidgetClass<TWidgetHTMLElement extends HTMLElement = HTMLElement> extends HTMLElement { }\n\nexport default class AngelsFrontWidgetClass<TWidgetHTMLElement extends HTMLElement = HTMLElement> extends AngelsFrontMod {\n\n readonly widElement: AngelsFrontElement<TWidgetHTMLElement>;\n\n constructor(element: TWidgetHTMLElement) {\n super();\n this.widElement = aLibPrepareElement<TWidgetHTMLElement>(element);\n return new Proxy(this, {\n get(target: any, prop: string | symbol, receiver: any) {\n if (prop in target) {\n const valueOfProperty = target[prop];\n if (typeof valueOfProperty === 'function') {\n return Reflect.get(target, prop);\n }\n return valueOfProperty;\n }\n\n const valueOfProperty = target.widElement[prop];\n if (typeof valueOfProperty === 'function') {\n return valueOfProperty.bind(target.widElement);\n }\n return valueOfProperty;\n },\n\n set(target: any, prop: string | symbol, newValue: any, receiver: any) {\n if (prop in target) {\n target[prop] = newValue;\n } else {\n target.widElement[prop] = newValue;\n }\n return true;\n }\n }) as unknown as AngelsFrontWidget<TWidgetHTMLElement>;\n }\n\n widFindElement<THTMLElement extends HTMLElement = HTMLElement>(selector: string): AngelsFrontElement<THTMLElement> | null | null {\n const findElement = this.widElement.querySelector(selector);\n if (findElement) {\n return aFindElement<THTMLElement>(findElement);\n }\n return null;\n }\n\n widFindElements<THTMLElement extends HTMLElement = HTMLElement>(selector: string): Array<AngelsFrontElement<THTMLElement>> {\n return Array.from(this.widElement.querySelectorAll(selector))\n .map(aFindElement);\n }\n\n widRequireElement<THTMLElement extends HTMLElement = HTMLElement>(selector: string): AngelsFrontElement<THTMLElement> {\n const element = this.widElement.querySelector(selector);\n if (element) {\n return aFindElement<THTMLElement>(element);\n }\n throw Error(`Element '${selector}' is not found.`);\n }\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEA,SAAsB,mBAAmB,iBAAqC;AAAA;AAC1E,UAAM,eAAe,mBAAmB,eAAe;AACvD,UAAM,UAAU,IAAI,QAAc,CAAC,YAAY;AAE3C,UAAI,aAAa,QAAQ;AACrB,gBAAQ;AACR;AAAA,MACJ;AAEA,UAAI;AAEJ,YAAM,mBAAmB,MAAM;AAC3B,qBAAa,OAAO;AACpB,qBAAa,oBAAoB,gBAAgB,gBAAgB;AACjE,qBAAa,SAAS;AACtB,qBAAa,UAAU,OAAO,iBAAiB;AAC/C,gBAAQ;AAAA,MACZ;AAEA,mBAAa,UAAU,IAAI,iBAAiB;AAE5C,YAAM,aAAa,aAAa,cAAc;AAC9C,UAAI,WAAW,SAAS,GAAG;AACvB,kBAAU,WAAW,MAAM;AACvB,uBAAa,oBAAoB,gBAAgB,gBAAgB;AACjE,uBAAa,SAAS;AACtB,uBAAa,UAAU,OAAO,iBAAiB;AAC/C,kBAAQ,KAAK,mBAAmB;AAChC,kBAAQ;AAAA,QACZ,GAAG,GAAI;AACP,qBAAa,iBAAiB,gBAAgB,gBAAgB;AAAA,MAClE,OAAO;AACH,qBAAa,SAAS;AACtB,gBAAQ;AAAA,MACZ;AAAA,IACJ,CAAC;AAED,WAAO;AAAA,EACX;AAAA;AAEA,SAAsB,kBAAkB,iBAAqC,WAAgC,QAAW;AAAA;AACpH,UAAM,eAAe,mBAAmB,eAAe;AACvD,QAAI,aAAa,QAAW;AACxB,iBAAW,aAAa;AAAA,IAC5B;AAEA,QAAI,UAAU;AACV,aAAO,MAAM,kBAAkB,YAAY;AAAA,IAC/C,OAAO;AACH,aAAO,MAAM,mBAAmB,YAAY;AAAA,IAChD;AAAA,EACJ;AAAA;AAEA,SAAsB,kBAAkB,iBAAqC;AAAA;AACzE,UAAM,eAAe,mBAAmB,eAAe;AACvD,UAAM,UAAU,IAAI,QAAc,CAAC,YAAY;AAE3C,UAAI,CAAC,aAAa,QAAQ;AACtB,gBAAQ;AACR;AAAA,MACJ;AAEA,UAAI;AAEJ,YAAM,mBAAmB,MAAM;AAC3B,qBAAa,OAAO;AACpB,qBAAa,oBAAoB,gBAAgB,gBAAgB;AACjE,gBAAQ;AAAA,MACZ;AAEA,mBAAa,SAAS;AAEtB,YAAM,aAAa,aAAa,cAAc;AAC9C,UAAI,WAAW,SAAS,GAAG;AACvB,kBAAU,WAAW,MAAM;AACvB,uBAAa,oBAAoB,gBAAgB,gBAAgB;AACjE,kBAAQ,KAAK,mBAAmB;AAChC,kBAAQ;AAAA,QACZ,GAAG,GAAI;AACP,qBAAa,iBAAiB,gBAAgB,gBAAgB;AAAA,MAClE,OAAO;AACH,gBAAQ;AAAA,MACZ;AAAA,IACJ,CAAC;AAED,WAAO;AAAA,EACX;AAAA;;;ACpFA,IAAqB,0BAArB,MAAqB,yBAAwE;AAAA,EAKzF,YAAY,SAAuB;AAFnC,2BAAkD;AAI9C,SAAK,cAAc;AAEnB,WAAO,IAAI,MAAM,MAAM;AAAA,MAEnB,IAAI,QAAiC,MAAuB,UAAe;AACvE,YAAI,QAAQ,QAAQ;AAEhB,iBAAO,QAAQ,IAAI,QAAQ,IAAI;AAAA,QACnC;AAEA,cAAM,kBAAkB,QAAQ,IAAI,OAAO,aAAa,IAAI;AAC5D,YAAI,OAAO,oBAAoB,YAAY;AACvC,iBAAO,gBAAgB,KAAK,OAAO,WAAW;AAAA,QAClD;AACA,eAAO;AAAA,MACX;AAAA,MAEA,IAAI,QAAiC,MAAuB,UAAe,UAAe;AACtF,YAAI,QAAQ,OAAO,aAAa;AAE5B,UAAC,OAAe,YAAY,IAAI,IAAI;AAAA,QACxC,OAAO;AAEH,UAAC,OAAe,IAAI,IAAI;AAAA,QAC5B;AACA,eAAO;AAAA,MACX;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,kBAAwB;AAGpB,uBAAmB,KAAK,WAAW;AAGnC,WAAO;AAAA,EACX;AAAA,EAEA,eAAe,WAAgC,QAAiB;AAG5D,sBAAkB,KAAK,aAAa,QAAQ;AAG5C,WAAO;AAAA,EACX;AAAA,EAEA,eAAqB;AAGjB,SAAK,YAAY,SAAS;AAG1B,WAAO;AAAA,EACX;AAAA,EAEA,iBAAuB;AAGnB,sBAAkB,KAAK,WAAW;AAGlC,WAAO;AAAA,EACX;AAAA,EAEA,eAAqB;AAGjB,SAAK,YAAY,SAAS;AAG1B,WAAO;AAAA,EACX;AAAA,EAEA,gBAAgB,SAAuB;AAGnC,UAAM,eAAe,QAAQ,SAAS;AAGtC,SAAK,YAAY,cAAc;AAG/B,WAAO;AAAA,EACX;AAAA,EAEA,eAAuB;AACnB,QAAI,KAAK,YAAY,gBAAgB,MAAM;AAEvC,aAAO;AAAA,IACX;AAGA,WAAO,KAAK,YAAY;AAAA,EAC5B;AACJ;;;AC3GA,IAAqB,iBAArB,MAAoC;AAAA,EAKhC,cAAc;AAFd,SAAO,sBAAsB;AAGzB,SAAK,aAAa,IAAI;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AACP,SAAK,QAAQ;AACb,SAAK,QAAQ;AACb,SAAK,QAAQ;AACb,SAAK,OAAO;AACZ,eAAW,MAAM;AACb,WAAK,QAAQ;AAAA,IACjB,GAAG,KAAK,mBAAmB;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY;AACR,SAAK,UAAU;AACf,SAAK,SAAS;AACd,SAAK,UAAU;AACf,SAAK,UAAU;AACf,SAAK,UAAU;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACN,SAAK,WAAW,QAAQ,SAAO,IAAI,QAAQ,CAAC;AAAA,EAChD;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACN,SAAK,WAAW,QAAQ,SAAO,IAAI,QAAQ,CAAC;AAAA,EAChD;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACN,SAAK,WAAW,QAAQ,SAAO,IAAI,QAAQ,CAAC;AAAA,EAChD;AAAA;AAAA;AAAA;AAAA,EAKA,SAAS;AACL,SAAK,WAAW,QAAQ,SAAO,IAAI,OAAO,CAAC;AAAA,EAC/C;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACN,SAAK,WAAW,QAAQ,SAAO,IAAI,QAAQ,CAAC;AAAA,EAChD;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY;AACR,SAAK,WAAW,QAAQ,SAAO,IAAI,UAAU,CAAC;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA,EAIA,YAAY;AACR,SAAK,WAAW,QAAQ,SAAO,IAAI,UAAU,CAAC;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA,EAIA,YAAY;AACR,SAAK,WAAW,QAAQ,SAAO,IAAI,UAAU,CAAC;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA,EAIA,WAAW;AACP,SAAK,WAAW,QAAQ,SAAO,IAAI,SAAS,CAAC;AAAA,EACjD;AAAA;AAAA;AAAA;AAAA,EAIA,YAAY;AACR,SAAK,WAAW,QAAQ,SAAO,IAAI,UAAU,CAAC;AAAA,EAClD;AAAA,EAEA,gBAAgB;AACZ,SAAK,WAAW,QAAQ,SAAO,IAAI,cAAc,CAAC;AAAA,EACtD;AAAA,EAIA,aAA0C,KAA+B;AACrE,QAAI,KAAK;AACL,WAAK,WAAW,KAAK,GAAG;AACxB,UAAI,QAAQ;AACZ,aAAO;AAAA,IACX;AACA,WAAO;AAAA,EACX;AAAA,EAEA,iBAA8C,KAAiB;AAC3D,SAAK,WAAW,KAAK,GAAG;AACxB,QAAI,QAAQ;AACZ,WAAO;AAAA,EACX;AACJ;;;AC/GA,IAAqB,yBAArB,cAA0G,eAAe;AAAA,EAIrH,YAAY,SAA6B;AACrC,UAAM;AACN,SAAK,aAAa,mBAAuC,OAAO;AAChE,WAAO,IAAI,MAAM,MAAM;AAAA,MACnB,IAAI,QAAa,MAAuB,UAAe;AACnD,YAAI,QAAQ,QAAQ;AAChB,gBAAMA,mBAAkB,OAAO,IAAI;AACnC,cAAI,OAAOA,qBAAoB,YAAY;AACvC,mBAAO,QAAQ,IAAI,QAAQ,IAAI;AAAA,UACnC;AACA,iBAAOA;AAAA,QACX;AAEA,cAAM,kBAAkB,OAAO,WAAW,IAAI;AAC9C,YAAI,OAAO,oBAAoB,YAAY;AACvC,iBAAO,gBAAgB,KAAK,OAAO,UAAU;AAAA,QACjD;AACA,eAAO;AAAA,MACX;AAAA,MAEA,IAAI,QAAa,MAAuB,UAAe,UAAe;AAClE,YAAI,QAAQ,QAAQ;AAChB,iBAAO,IAAI,IAAI;AAAA,QACnB,OAAO;AACH,iBAAO,WAAW,IAAI,IAAI;AAAA,QAC9B;AACA,eAAO;AAAA,MACX;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,eAA+D,UAAkE;AAC7H,UAAM,cAAc,KAAK,WAAW,cAAc,QAAQ;AAC1D,QAAI,aAAa;AACb,aAAO,aAA2B,WAAW;AAAA,IACjD;AACA,WAAO;AAAA,EACX;AAAA,EAEA,gBAAgE,UAA2D;AACvH,WAAO,MAAM,KAAK,KAAK,WAAW,iBAAiB,QAAQ,CAAC,EACvD,IAAI,YAAY;AAAA,EACzB;AAAA,EAEA,kBAAkE,UAAoD;AAClH,UAAM,UAAU,KAAK,WAAW,cAAc,QAAQ;AACtD,QAAI,SAAS;AACT,aAAO,aAA2B,OAAO;AAAA,IAC7C;AACA,UAAM,MAAM,YAAY,QAAQ,iBAAiB;AAAA,EACrD;AACJ;;;AJ3DO,SAAS,iBAAiE,SAAwD;AACrI,SAAQ,IAAI,uBAAqC,OAAO;AAC5D;AAEO,SAAS,gBAAkD,UAAqF;AAEnJ,MAAI;AACJ,MAAI,OAAO,aAAa,aAAa;AACjC,WAAO;AAAA,EACX,WAAW,aAAa,MAAM;AAC1B,WAAO;AAAA,EACX,WAAW,OAAO,aAAa,UAAU;AACrC,UAAM,cAAc,SAAS,cAA4B,QAAQ;AACjE,QAAI,CAAC,aAAa;AACd,aAAO;AAAA,IACX;AACA,cAAU;AAAA,EACd,WAAW,oBAAoB,aAAa;AACxC,cAAU;AAAA,EACd,WAAW,oBAAoB,SAAS;AACpC,cAAU;AAAA,EACd,WAAW,oBAAoB,yBAAyB;AACpD,WAAO;AAAA,EACX,OAAO;AACH,cAAU;AAAA,EACd;AACA,SAAO,IAAI,wBAAwB,OAAO;AAC9C;AAEO,SAAS,mBAAqD,UAAgE;AACjI,QAAM,UAAU,gBAA8B,QAAQ;AACtD,MAAI,SAAS;AACT,WAAO;AAAA,EACX;AACA,QAAM,MAAM,yBAAyB,QAAQ,aAAa;AAC9D;AAEO,SAAS,gBAAkD,UAAgE;AAC9H,QAAM,UAAU,mBAAiC,QAAQ;AACzD,UAAQ,SAAS;AACjB,SAAO;AACX;AAEO,SAAS,mBAAyE,SAAmH;AACxM,MAAI;AACJ,MAAI,qBAAqB,WAAW,QAAQ,oBAAoB,yBAAyB;AAErF,yBAAqB;AAAA,EACzB,WAAW,mBAAmB,aAAa;AAEvC,yBAAqB,IAAI,wBAAwB,OAAO;AAAA,EAC5D,OAAO;AAEH,UAAM,MAAM,+CAA+C;AAAA,EAC/D;AACA,SAAO;AACX;AAEO,SAAS,gBAAkD,UAAgE;AAC9H,QAAM,UAAU,mBAAiC,QAAQ;AACzD,UAAQ,SAAS;AACjB,SAAO;AACX;AAEO,SAAS,kBAAkB,iBAAqC,WAAgC,QAAW;AAC9G,QAAM,eAAe,mBAAmB,eAAe;AACvD,MAAI,aAAa,QAAW;AAGxB,eAAW,aAAa;AAAA,EAC5B;AACA,MAAI,UAAU;AAEV,WAAO,gBAAgB,YAAY;AAAA,EACvC,OAAO;AAEH,WAAO,gBAAgB,YAAY;AAAA,EACvC;AACJ;","names":["valueOfProperty"]}