@angelscmf/front 1.0.29 → 1.0.30

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 (97) hide show
  1. package/dist/AngelsFrontAnimationLibrary.d.ts +1 -1
  2. package/dist/AngelsFrontAnimationLibrary.js +77 -30
  3. package/dist/AngelsFrontAnimationLibrary.js.map +1 -1
  4. package/dist/{AngelsFrontLoader.cjs → AngelsFrontAnimationLibrary.mjs} +53 -61
  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 +271 -28
  9. package/dist/AngelsFrontApplication.js.map +1 -1
  10. package/dist/AngelsFrontApplication.mjs +353 -0
  11. package/dist/AngelsFrontApplication.mjs.map +1 -0
  12. package/dist/AngelsFrontDOMLibrary.d.mts +12 -0
  13. package/dist/AngelsFrontDOMLibrary.d.ts +10 -7
  14. package/dist/AngelsFrontDOMLibrary.js +327 -17
  15. package/dist/AngelsFrontDOMLibrary.js.map +1 -1
  16. package/dist/AngelsFrontDOMLibrary.mjs +378 -0
  17. package/dist/AngelsFrontDOMLibrary.mjs.map +1 -0
  18. package/dist/AngelsFrontElement.d.mts +14 -0
  19. package/dist/AngelsFrontElement.d.ts +14 -0
  20. package/dist/{AngelsFrontAnimationLibrary.cjs → AngelsFrontElement.js} +79 -68
  21. package/dist/AngelsFrontElement.js.map +1 -0
  22. package/dist/AngelsFrontElement.mjs +194 -0
  23. package/dist/AngelsFrontElement.mjs.map +1 -0
  24. package/dist/AngelsFrontLoader.js +448 -28
  25. package/dist/AngelsFrontLoader.js.map +1 -1
  26. package/dist/AngelsFrontLoader.mjs +622 -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 +271 -28
  37. package/dist/AngelsFrontPage.js.map +1 -1
  38. package/dist/AngelsFrontPage.mjs +353 -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 +371 -0
  43. package/dist/AngelsFrontWidgetClass.js.map +1 -0
  44. package/dist/AngelsFrontWidgetClass.mjs +349 -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 +9 -2
  49. package/sass/_AngelsHTMLElements.scss +244 -244
  50. package/sass/_AngelsPageLayout.scss +0 -4
  51. package/sass/_AngelsTheme.scss +47 -15
  52. package/sass/_AngelsVariables.scss +1 -4
  53. package/sass/angelsMessages/_AngelsAlert.scss +3 -2
  54. package/sass/angelsMessages/_AngelsDebug.scss +3 -2
  55. package/sass/angelsMessages/_AngelsDone.scss +3 -2
  56. package/sass/angelsMessages/_AngelsError.scss +3 -2
  57. package/sass/angelsMessages/_AngelsInfo.scss +3 -2
  58. package/sass/angelsMessages/_AngelsTip.scss +3 -2
  59. package/sass/angelsMessages/_AngelsWarn.scss +3 -2
  60. package/sass/angelsTags/_a-page.scss +13 -4
  61. package/sass/angelsTags/_a-state.scss +2 -1
  62. package/sass/angelsTags/_a-table.scss +9 -35
  63. package/dist/AngelsCore.cjs +0 -246
  64. package/dist/AngelsCore.cjs.map +0 -1
  65. package/dist/AngelsCore.js +0 -245
  66. package/dist/AngelsCore.js.map +0 -1
  67. package/dist/AngelsElement.cjs +0 -67
  68. package/dist/AngelsElement.cjs.map +0 -1
  69. package/dist/AngelsElement.d.cts +0 -11
  70. package/dist/AngelsElement.d.ts +0 -11
  71. package/dist/AngelsElement.js +0 -42
  72. package/dist/AngelsElement.js.map +0 -1
  73. package/dist/AngelsFrontAnimationLibrary.cjs.map +0 -1
  74. package/dist/AngelsFrontApplication.cjs +0 -155
  75. package/dist/AngelsFrontApplication.cjs.map +0 -1
  76. package/dist/AngelsFrontApplication.d.cts +0 -10
  77. package/dist/AngelsFrontComponent.cjs +0 -151
  78. package/dist/AngelsFrontComponent.cjs.map +0 -1
  79. package/dist/AngelsFrontComponent.d.cts +0 -11
  80. package/dist/AngelsFrontComponent.d.ts +0 -11
  81. package/dist/AngelsFrontComponent.js.map +0 -1
  82. package/dist/AngelsFrontDOMLibrary.cjs +0 -130
  83. package/dist/AngelsFrontDOMLibrary.cjs.map +0 -1
  84. package/dist/AngelsFrontDOMLibrary.d.cts +0 -9
  85. package/dist/AngelsFrontLoader.cjs.map +0 -1
  86. package/dist/AngelsFrontLoader.d.cts +0 -2
  87. package/dist/AngelsFrontMod.cjs +0 -128
  88. package/dist/AngelsFrontMod.cjs.map +0 -1
  89. package/dist/AngelsFrontPage.cjs +0 -155
  90. package/dist/AngelsFrontPage.cjs.map +0 -1
  91. package/dist/AngelsFrontPage.d.cts +0 -10
  92. package/dist/index.cjs +0 -2
  93. package/dist/index.d.cts +0 -2
  94. package/dist/{AngelsFrontAnimationLibrary.d.cts → AngelsFrontAnimationLibrary.d.mts} +1 -1
  95. /package/dist/{AngelsCore.d.cts → AngelsFrontLoader.d.mts} +0 -0
  96. /package/dist/{AngelsCore.d.ts → index.d.mts} +0 -0
  97. /package/dist/{index.cjs.map → index.mjs.map} +0 -0
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  var __async = (__this, __arguments, generator) => {
2
3
  return new Promise((resolve, reject) => {
3
4
  var fulfilled = (value) => {
@@ -19,46 +20,223 @@ var __async = (__this, __arguments, generator) => {
19
20
  });
20
21
  };
21
22
 
22
- // src/AngelsElement.ts
23
- var AngelsElementClass = class {
23
+ // src/AngelsFrontElement.ts
24
+ var AngelsFrontElementClass = class {
24
25
  constructor(element) {
25
26
  this.originalElement = element;
26
27
  return new Proxy(this, {
27
28
  get(target, prop, receiver) {
28
29
  if (prop in target) {
29
- return target[prop];
30
+ return Reflect.get(target, prop);
30
31
  }
31
- return target.originalElement[prop];
32
+ const valueOfProperty = Reflect.get(target.originalElement, prop);
33
+ if (typeof valueOfProperty === "function") {
34
+ return valueOfProperty.bind(target.originalElement);
35
+ }
36
+ return valueOfProperty;
32
37
  },
33
38
  set(target, prop, newValue, receiver) {
34
- if (prop in target) {
35
- target[prop] = newValue;
36
- } else {
39
+ if (prop in target.originalElement) {
37
40
  target.originalElement[prop] = newValue;
41
+ } else {
42
+ target[prop] = newValue;
38
43
  }
39
44
  return true;
40
45
  }
41
46
  });
42
47
  }
48
+ aConcealElement() {
49
+ aLibConcealElement(this.originalElement);
50
+ return this;
51
+ }
52
+ aEngageElement(switcher = void 0) {
53
+ aLibEngageElement(this.originalElement, switcher);
54
+ return this;
55
+ }
43
56
  aHideElement() {
44
57
  this.originalElement.hidden = true;
45
58
  return this;
46
59
  }
60
+ aRevealElement() {
61
+ aLibRevealElement(this.originalElement);
62
+ return this;
63
+ }
47
64
  aShowElement() {
48
65
  this.originalElement.hidden = false;
49
66
  return this;
50
67
  }
51
- aTextContent(content = void 0) {
52
- var _a;
53
- if (content === void 0) {
54
- return (_a = this.originalElement.textContent) != null ? _a : ``;
55
- }
56
- this.originalElement.textContent = content.toString();
68
+ aSetTextContent(content) {
69
+ const contentToSet = content.toString();
70
+ this.originalElement.textContent = contentToSet;
57
71
  return this;
58
72
  }
73
+ aTextContent() {
74
+ if (this.originalElement.textContent === null) {
75
+ return ``;
76
+ }
77
+ return this.originalElement.textContent;
78
+ }
79
+ };
80
+
81
+ // src/AngelsFrontMod.ts
82
+ var AngelsFrontMod = class {
83
+ constructor() {
84
+ this.modWaitStartTimeout = 1e3;
85
+ this.modSubMods = new Array();
86
+ }
87
+ /**
88
+ * Starts AngelsFrontMod.
89
+ */
90
+ modStart() {
91
+ this.modInit();
92
+ this.modBind();
93
+ this.modLink();
94
+ this.modRun();
95
+ setTimeout(() => {
96
+ this.modWait();
97
+ }, this.modWaitStartTimeout);
98
+ }
99
+ /**
100
+ * Finishes AngelsFrontMod.
101
+ */
102
+ modFinish() {
103
+ this.modDeWait();
104
+ this.modDeRun();
105
+ this.modDeLink();
106
+ this.modDeBind();
107
+ this.modDeInit();
108
+ }
109
+ /**
110
+ * Inits AngelsFrontMod and its sub-modules AngelsFrontMod.
111
+ */
112
+ modInit() {
113
+ this.modSubMods.forEach((mod) => mod.modInit());
114
+ }
115
+ /**
116
+ * Binds AngelsFrontMod and its sub-modules AngelsFrontMod.
117
+ */
118
+ modBind() {
119
+ this.modSubMods.forEach((mod) => mod.modBind());
120
+ }
121
+ /**
122
+ * Links AngelsFrontMod and its sub-modules AngelsFrontMod.
123
+ */
124
+ modLink() {
125
+ this.modSubMods.forEach((mod) => mod.modLink());
126
+ }
127
+ /**
128
+ * Runs AngelsFrontMod and its sub-modules AngelsFrontMod.
129
+ */
130
+ modRun() {
131
+ this.modSubMods.forEach((mod) => mod.modRun());
132
+ }
133
+ /**
134
+ * Waits AngelsFrontMod and its sub-modules AngelsFrontMod.
135
+ */
136
+ modWait() {
137
+ this.modSubMods.forEach((mod) => mod.modWait());
138
+ }
139
+ /**
140
+ * DeInits AngelsFrontMod and its sub-modules AngelsFrontMod.
141
+ */
142
+ modDeInit() {
143
+ this.modSubMods.forEach((mod) => mod.modDeInit());
144
+ }
145
+ /**
146
+ * DeBinds AngelsFrontMod and its sub-modules AngelsFrontMod.
147
+ */
148
+ modDeBind() {
149
+ this.modSubMods.forEach((mod) => mod.modDeBind());
150
+ }
151
+ /**
152
+ * DeLinks AngelsFrontMod and its sub-modules AngelsFrontMod.
153
+ */
154
+ modDeLink() {
155
+ this.modSubMods.forEach((mod) => mod.modDeLink());
156
+ }
157
+ /**
158
+ * DeRuns AngelsFrontMod and its sub-modules AngelsFrontMod.
159
+ */
160
+ modDeRun() {
161
+ this.modSubMods.forEach((mod) => mod.modDeRun());
162
+ }
163
+ /**
164
+ * DeWaits AngelsFrontMod and its sub-modules AngelsFrontMod.
165
+ */
166
+ modDeWait() {
167
+ this.modSubMods.forEach((mod) => mod.modDeWait());
168
+ }
169
+ modDestructor() {
170
+ this.modSubMods.forEach((mod) => mod.modDestructor());
171
+ }
172
+ modAddSubMod(mod) {
173
+ if (mod) {
174
+ this.modSubMods.push(mod);
175
+ mod.modInit();
176
+ return mod;
177
+ }
178
+ return null;
179
+ }
180
+ modRequireSubMod(mod) {
181
+ this.modSubMods.push(mod);
182
+ mod.modInit();
183
+ return mod;
184
+ }
185
+ };
186
+
187
+ // src/AngelsFrontWidgetClass.ts
188
+ var AngelsFrontWidgetClass = class extends AngelsFrontMod {
189
+ constructor(element) {
190
+ super();
191
+ this.widElement = new AngelsFrontElementClass(element);
192
+ return new Proxy(this, {
193
+ get(target, prop, receiver) {
194
+ if (prop in target) {
195
+ const valueOfProperty2 = target[prop];
196
+ if (typeof valueOfProperty2 === "function") {
197
+ return Reflect.get(target, prop);
198
+ }
199
+ return valueOfProperty2;
200
+ }
201
+ const valueOfProperty = target.widElement[prop];
202
+ if (typeof valueOfProperty === "function") {
203
+ return valueOfProperty.bind(target.widElement);
204
+ }
205
+ return valueOfProperty;
206
+ },
207
+ set(target, prop, newValue, receiver) {
208
+ if (prop in target) {
209
+ target[prop] = newValue;
210
+ } else {
211
+ target.widElement[prop] = newValue;
212
+ }
213
+ return true;
214
+ }
215
+ });
216
+ }
217
+ widFindElement(selector) {
218
+ const findElement = this.widElement.querySelector(selector);
219
+ if (findElement) {
220
+ return aFindElement(findElement);
221
+ }
222
+ return null;
223
+ }
224
+ widFindElements(selector) {
225
+ return Array.from(this.widElement.querySelectorAll(selector)).map(aFindElement);
226
+ }
227
+ widRequireElement(selector) {
228
+ const element = this.widElement.querySelector(selector);
229
+ if (element) {
230
+ return aFindElement(element);
231
+ }
232
+ throw Error(`Element '${selector}' is not found.`);
233
+ }
59
234
  };
60
235
 
61
236
  // src/AngelsFrontDOMLibrary.ts
237
+ function aLibCreateWidget(element) {
238
+ return new AngelsFrontWidgetClass(element);
239
+ }
62
240
  function aLibFindElement(selector) {
63
241
  let element;
64
242
  if (typeof selector === "undefined") {
@@ -75,12 +253,12 @@ function aLibFindElement(selector) {
75
253
  element = selector;
76
254
  } else if (selector instanceof Element) {
77
255
  element = selector;
78
- } else if (selector instanceof AngelsElementClass) {
256
+ } else if (selector instanceof AngelsFrontElementClass) {
79
257
  return selector;
80
258
  } else {
81
259
  element = selector;
82
260
  }
83
- return new AngelsElementClass(element);
261
+ return new AngelsFrontElementClass(element);
84
262
  }
85
263
  function aLibRequireElement(selector) {
86
264
  const element = aLibFindElement(selector);
@@ -112,19 +290,6 @@ function aLibToggleElement(originalElement, switcher = void 0) {
112
290
  }
113
291
 
114
292
  // src/AngelsFrontAnimationLibrary.ts
115
- function aLibEngageElement(originalElement, switcher = void 0) {
116
- return __async(this, null, function* () {
117
- const innerElement = aLibRequireElement(originalElement);
118
- if (switcher === void 0) {
119
- switcher = !innerElement.hidden;
120
- }
121
- if (switcher) {
122
- return yield aLibRevealElement(innerElement);
123
- } else {
124
- return yield aLibConcealElement(innerElement);
125
- }
126
- });
127
- }
128
293
  function aLibConcealElement(originalElement) {
129
294
  return __async(this, null, function* () {
130
295
  const innerElement = aLibRequireElement(originalElement);
@@ -160,6 +325,19 @@ function aLibConcealElement(originalElement) {
160
325
  return promise;
161
326
  });
162
327
  }
328
+ function aLibEngageElement(originalElement, switcher = void 0) {
329
+ return __async(this, null, function* () {
330
+ const innerElement = aLibRequireElement(originalElement);
331
+ if (switcher === void 0) {
332
+ switcher = innerElement.hidden;
333
+ }
334
+ if (switcher) {
335
+ return yield aLibRevealElement(innerElement);
336
+ } else {
337
+ return yield aLibConcealElement(innerElement);
338
+ }
339
+ });
340
+ }
163
341
  function aLibRevealElement(originalElement) {
164
342
  return __async(this, null, function* () {
165
343
  const innerElement = aLibRequireElement(originalElement);
@@ -191,13 +369,255 @@ function aLibRevealElement(originalElement) {
191
369
  });
192
370
  }
193
371
 
372
+ // src/AngelsFrontWebComponents/AngelsFrontBoardWebComponent.ts
373
+ var AngelsFrontBoardWebComponent = class _AngelsFrontBoardWebComponent extends HTMLElement {
374
+ /**
375
+ * Use the global displayHandler if set
376
+ */
377
+ get displayHandler() {
378
+ return _AngelsFrontBoardWebComponent.globalDisplayHandler;
379
+ }
380
+ /**
381
+ * Switch the visible child by key
382
+ */
383
+ aBoardSwitch(aBoardItemKey) {
384
+ this.setAttribute("a-board-show", aBoardItemKey);
385
+ }
386
+ /**
387
+ * Update visibility based on children/text
388
+ */
389
+ aBoardUpdateDisplaying() {
390
+ const children = Array.from(this.children);
391
+ const hasVisibleChildren = children.some((el) => !el.hidden);
392
+ const hasNonWhitespaceText = Array.from(this.childNodes).some(
393
+ (node) => node.nodeType === Node.TEXT_NODE && node.textContent.trim() !== ""
394
+ );
395
+ this.hidden = !hasVisibleChildren && !hasNonWhitespaceText;
396
+ this.toggleAttribute("a-board-auto-hidden", this.hidden);
397
+ }
398
+ aBoardShowKey() {
399
+ return this.getAttribute("a-board-show") || "";
400
+ }
401
+ connectedCallback() {
402
+ this.initContent();
403
+ this.observeMutations();
404
+ }
405
+ disconnectedCallback() {
406
+ var _a;
407
+ (_a = this.mutationObserver) == null ? void 0 : _a.disconnect();
408
+ }
409
+ static get observedAttributes() {
410
+ return ["a-board-show"];
411
+ }
412
+ attributeChangedCallback(name, oldValue, newValue) {
413
+ switch (name) {
414
+ case "a-board-show":
415
+ if (oldValue !== newValue) {
416
+ this.updateContent();
417
+ }
418
+ }
419
+ }
420
+ /**
421
+ * Update which child is visible
422
+ */
423
+ initContent() {
424
+ return __async(this, null, function* () {
425
+ const key = this.aBoardShowKey();
426
+ const items = Array.from(this.querySelectorAll(`:scope > [a-board-key]`));
427
+ const activeItem = items.find((el) => el.getAttribute("a-board-key") === key);
428
+ items.filter((el) => el !== activeItem).forEach((el) => {
429
+ const show = el === activeItem;
430
+ el.hidden = true;
431
+ });
432
+ if (activeItem) {
433
+ activeItem.hidden = false;
434
+ }
435
+ this.aBoardUpdateDisplaying();
436
+ });
437
+ }
438
+ /**
439
+ * Update which child is visible
440
+ */
441
+ updateContent() {
442
+ return __async(this, null, function* () {
443
+ var _a;
444
+ (_a = this.mutationObserver) == null ? void 0 : _a.disconnect();
445
+ const key = this.aBoardShowKey();
446
+ const items = Array.from(this.querySelectorAll(`:scope > [a-board-key]`));
447
+ const activeItem = items.find((el) => el.getAttribute("a-board-key") === key);
448
+ const rect = this.getBoundingClientRect();
449
+ const prevWidth = this.style.width;
450
+ const prevHeight = this.style.height;
451
+ const prevOverflow = this.style.overflow;
452
+ this.style.width = rect.width + "px";
453
+ this.style.height = rect.height + "px";
454
+ this.style.overflow = "hidden";
455
+ if (this.displayHandler) {
456
+ const promises = [];
457
+ items.filter((el) => el !== activeItem).forEach((el) => {
458
+ const displayHandlerResult = this.displayHandler(el, false);
459
+ if (displayHandlerResult instanceof Promise) {
460
+ promises.push(displayHandlerResult);
461
+ }
462
+ });
463
+ yield Promise.all(promises);
464
+ let targetHeight = 0;
465
+ console.log("targetHeight", targetHeight);
466
+ if (activeItem) {
467
+ activeItem.classList.add("a-technical-transparent");
468
+ targetHeight = activeItem.scrollHeight;
469
+ activeItem.classList.remove("a-technical-transparent");
470
+ }
471
+ console.log("targetHeight", targetHeight);
472
+ const heightAnimation = this.animate([
473
+ { height: rect.height + "px" },
474
+ { height: targetHeight + "px" }
475
+ ], {
476
+ duration: 300,
477
+ easing: "ease-in-out"
478
+ });
479
+ yield new Promise((resolve) => {
480
+ heightAnimation.addEventListener("finish", resolve);
481
+ });
482
+ this.style.height = targetHeight + "px";
483
+ if (activeItem) {
484
+ yield this.displayHandler(activeItem, true);
485
+ }
486
+ } else {
487
+ items.filter((el) => el !== activeItem).forEach((el) => {
488
+ const show = el === activeItem;
489
+ el.hidden = true;
490
+ });
491
+ let targetHeight = 0;
492
+ if (activeItem) {
493
+ activeItem.classList.add("a-technical-transparent");
494
+ targetHeight = activeItem.scrollHeight;
495
+ ;
496
+ activeItem.classList.remove("a-technical-transparent");
497
+ }
498
+ this.style.height = targetHeight + "px";
499
+ if (activeItem) {
500
+ activeItem.hidden = false;
501
+ }
502
+ }
503
+ this.style.height = "";
504
+ this.style.width = prevWidth;
505
+ this.style.overflow = prevOverflow;
506
+ this.aBoardUpdateDisplaying();
507
+ this.observeMutations();
508
+ });
509
+ }
510
+ /**
511
+ * Observe direct children and text nodes only, with debounce
512
+ */
513
+ observeMutations() {
514
+ if (this.mutationObserver) this.mutationObserver.disconnect();
515
+ this.mutationObserver = new MutationObserver(() => {
516
+ clearTimeout(this.mutationTimeout);
517
+ this.mutationTimeout = window.setTimeout(() => {
518
+ this.aBoardUpdateDisplaying();
519
+ }, 50);
520
+ });
521
+ this.mutationObserver.observe(this, {
522
+ childList: true,
523
+ characterData: true,
524
+ attributes: true,
525
+ subtree: false,
526
+ attributeFilter: ["hidden", "style", "class"]
527
+ });
528
+ }
529
+ /**
530
+ * Set global display handler for all <a-board> instances
531
+ */
532
+ static setGlobalDisplayHandler(handler) {
533
+ _AngelsFrontBoardWebComponent.globalDisplayHandler = handler;
534
+ }
535
+ };
536
+ function angelsBoardDefine(options) {
537
+ if (!customElements.get("a-board")) {
538
+ if (options == null ? void 0 : options.displayHandler) {
539
+ AngelsFrontBoardWebComponent.setGlobalDisplayHandler(options.displayHandler);
540
+ }
541
+ customElements.define("a-board", AngelsFrontBoardWebComponent);
542
+ } else if (options == null ? void 0 : options.displayHandler) {
543
+ AngelsFrontBoardWebComponent.setGlobalDisplayHandler(options.displayHandler);
544
+ }
545
+ return customElements.get("a-board");
546
+ }
547
+
548
+ // src/AngelsFrontWebComponents/AngelsFrontStateWebComponent.ts
549
+ var _AngelsFrontStateWebComponent = class _AngelsFrontStateWebComponent extends HTMLElement {
550
+ connectedCallback() {
551
+ this.hidden = this.textContent.trim().length === 0;
552
+ }
553
+ aStateAlert(message) {
554
+ this.aStateSet("a-alert" /* ALERT */, message);
555
+ }
556
+ aStateClear() {
557
+ this.classList.remove(..._AngelsFrontStateWebComponent.aStateClasses);
558
+ this.aStateSetMessage("");
559
+ }
560
+ aStateDebug(message) {
561
+ this.aStateSet("a-debug" /* DEBUG */, message);
562
+ }
563
+ aStateDone(message) {
564
+ this.aStateSet("a-done" /* DONE */, message);
565
+ }
566
+ aStateError(message) {
567
+ this.aStateSet("a-error" /* ERROR */, message);
568
+ }
569
+ aStateInfo(message) {
570
+ this.aStateSet("a-info" /* INFO */, message);
571
+ }
572
+ aStateSet(className, message) {
573
+ this.aStateSetType(className);
574
+ this.aStateSetMessage(message);
575
+ }
576
+ aStateSetMessage(message) {
577
+ this.textContent = message;
578
+ this.hidden = this.textContent.trim().length === 0;
579
+ }
580
+ aStateSetType(className) {
581
+ const classesToRemove = _AngelsFrontStateWebComponent.aStateClasses.filter((c) => c !== className);
582
+ this.classList.remove(...classesToRemove);
583
+ this.classList.add(className);
584
+ }
585
+ aStateTip(message) {
586
+ this.aStateSet("a-tip" /* TIP */, message);
587
+ }
588
+ aStateWarn(message) {
589
+ this.aStateSet("a-warn" /* WARN */, message);
590
+ }
591
+ };
592
+ _AngelsFrontStateWebComponent.aStateClasses = [
593
+ "a-alert" /* ALERT */,
594
+ "a-debug" /* DEBUG */,
595
+ "a-done" /* DONE */,
596
+ "a-error" /* ERROR */,
597
+ "a-info" /* INFO */,
598
+ "a-tip" /* TIP */,
599
+ "a-warn" /* WARN */
600
+ ];
601
+ var AngelsFrontStateWebComponent = _AngelsFrontStateWebComponent;
602
+ function angelsStateDefine() {
603
+ if (!customElements.get("a-state")) {
604
+ customElements.define("a-state", AngelsFrontStateWebComponent);
605
+ }
606
+ return customElements.get("a-state");
607
+ }
608
+
194
609
  // src/AngelsFrontLoader.ts
195
610
  window.aEngageElement = aLibEngageElement;
196
611
  window.aConcealElement = aLibConcealElement;
197
612
  window.aRevealElement = aLibRevealElement;
613
+ window.aCreateWidget = aLibCreateWidget;
198
614
  window.aFindElement = aLibFindElement;
199
615
  window.aHideElement = aLibHideElement;
200
616
  window.aRequireElement = aLibRequireElement;
201
617
  window.aShowElement = aLibShowElement;
202
618
  window.aToggleElement = aLibToggleElement;
619
+ angelsBoardDefine({
620
+ displayHandler: aEngageElement
621
+ });
622
+ angelsStateDefine();
203
623
  //# sourceMappingURL=AngelsFrontLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/AngelsElement.ts","../src/AngelsFrontDOMLibrary.ts","../src/AngelsFrontAnimationLibrary.ts","../src/AngelsFrontLoader.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","import { aLibRequireElement } from \"./AngelsFrontDOMLibrary\";\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 if (switcher) {\n return await aLibRevealElement(innerElement);\n } else {\n return await aLibConcealElement(innerElement);\n }\n}\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 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, aLibRevealElement, aLibEngageElement } from \"./AngelsFrontAnimationLibrary\";\n\nwindow.aEngageElement = aLibEngageElement;\nwindow.aConcealElement = aLibConcealElement;\nwindow.aRevealElement = aLibRevealElement;\n\nimport { aLibFindElement, aLibHideElement, aLibRequireElement, aLibShowElement, aLibToggleElement } from \"./AngelsFrontDOMLibrary\";\n\nwindow.aFindElement = aLibFindElement;\nwindow.aHideElement = aLibHideElement;\nwindow.aRequireElement = aLibRequireElement;\nwindow.aShowElement = aLibShowElement;\nwindow.aToggleElement = aLibToggleElement;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/AngelsFrontElement.ts","../src/AngelsFrontMod.ts","../src/AngelsFrontWidgetClass.ts","../src/AngelsFrontDOMLibrary.ts","../src/AngelsFrontAnimationLibrary.ts","../src/AngelsFrontWebComponents/AngelsFrontBoardWebComponent.ts","../src/AngelsFrontWebComponents/AngelsFrontStateWebComponent.ts","../src/AngelsFrontLoader.ts"],"sourcesContent":["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 originalElement: THTMLElement;\n\n constructor(element: THTMLElement) {\n\n this.originalElement = element;\n\n return new Proxy(this, {\n\n get(target: any, 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.originalElement, prop);\n if (typeof valueOfProperty === 'function') {\n return valueOfProperty.bind(target.originalElement);\n }\n return valueOfProperty;\n },\n\n set(target: any, prop: string | symbol, newValue: any, receiver: any) {\n if (prop in target.originalElement) {\n // @test AngelsFrontElementClass sets properties on the original element\n target.originalElement[prop] = newValue;\n } else {\n // @test AngelsFrontElementClass sets properties on the main object\n target[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.originalElement);\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.originalElement, 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.originalElement.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.originalElement);\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.originalElement.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 originalElement.textContent\n this.originalElement.textContent = contentToSet;\n\n // @test aSetTextContent() returns this for chaining\n return this;\n }\n\n aTextContent(): string {\n if (this.originalElement.textContent === null) {\n // @test aTextContent() returns empty string if originalElement.textContent is null\n return ``;\n }\n\n // @test aTextContent() returns textContent of originalElement\n return this.originalElement.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 AngelsFrontElementClass, { 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 = new AngelsFrontElementClass(element) as AngelsFrontElement<TWidgetHTMLElement>;\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}","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 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 switcher = !innerElement.hidden;\n }\n if (switcher) {\n return aLibShowElement(innerElement);\n } else {\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","export type AngelsBoardItemKey = string;\nexport type DisplayHandler = (el: HTMLElement, show: boolean) => Promise<void> | void;\n\n/**\n * Custom web component <a-board> that automatically shows or hides itself\n * based on the visibility of its direct children and the presence of text nodes.\n * Supports a global displayHandler set during registration.\n */\nexport default class AngelsFrontBoardWebComponent extends HTMLElement {\n private static globalDisplayHandler?: DisplayHandler;\n\n private mutationObserver?: MutationObserver;\n private mutationTimeout?: number;\n\n /**\n * Use the global displayHandler if set\n */\n private get displayHandler(): DisplayHandler | undefined {\n return AngelsFrontBoardWebComponent.globalDisplayHandler;\n }\n\n /**\n * Switch the visible child by key\n */\n aBoardSwitch(aBoardItemKey: AngelsBoardItemKey) {\n this.setAttribute('a-board-show', aBoardItemKey);\n }\n\n /**\n * Update visibility based on children/text\n */\n aBoardUpdateDisplaying() {\n const children = Array.from(this.children) as HTMLElement[];\n const hasVisibleChildren = children.some(el => !el.hidden);\n const hasNonWhitespaceText = Array.from(this.childNodes).some(\n node => node.nodeType === Node.TEXT_NODE && node.textContent!.trim() !== ''\n );\n this.hidden = !hasVisibleChildren && !hasNonWhitespaceText;\n this.toggleAttribute('a-board-auto-hidden', this.hidden);\n }\n\n aBoardShowKey(): string {\n return this.getAttribute('a-board-show') || '';\n }\n\n connectedCallback() {\n this.initContent();\n this.observeMutations();\n }\n\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n }\n\n\n static get observedAttributes() {\n return ['a-board-show'];\n }\n\n attributeChangedCallback(name: string, oldValue: any, newValue: any) {\n switch (name) {\n case 'a-board-show':\n if (oldValue !== newValue) {\n this.updateContent();\n }\n }\n }\n\n /**\n * Update which child is visible\n */\n async initContent() {\n const key = this.aBoardShowKey();\n const items = Array.from(this.querySelectorAll<HTMLElement>(`:scope > [a-board-key]`));\n const activeItem = items.find(el => el.getAttribute('a-board-key') === key);\n\n items.filter(el => el !== activeItem).forEach(el => {\n const show = el === activeItem;\n el.hidden = true;\n });\n if (activeItem) {\n activeItem.hidden = false;\n }\n\n this.aBoardUpdateDisplaying();\n }\n\n /**\n * Update which child is visible\n */\n async updateContent() {\n this.mutationObserver?.disconnect();\n\n const key = this.aBoardShowKey();\n const items = Array.from(this.querySelectorAll<HTMLElement>(`:scope > [a-board-key]`));\n const activeItem = items.find(el => el.getAttribute('a-board-key') === key);\n\n // --- FREEZE LAYOUT START ---\n const rect = this.getBoundingClientRect();\n const prevWidth = this.style.width;\n const prevHeight = this.style.height;\n const prevOverflow = this.style.overflow;\n\n this.style.width = rect.width + 'px';\n this.style.height = rect.height + 'px';\n this.style.overflow = 'hidden';\n // --- /FREEZE LAYOUT START ---\n\n if (this.displayHandler) {\n const promises: Array<Promise<void>> = [];\n items.filter(el => el !== activeItem).forEach(el => {\n const displayHandlerResult = this.displayHandler!(el, false);\n if (displayHandlerResult instanceof Promise) {\n promises.push(displayHandlerResult);\n }\n });\n await Promise.all(promises);\n\n let targetHeight = 0;\n console.log('targetHeight', targetHeight);\n if (activeItem) {\n activeItem.classList.add('a-technical-transparent');\n targetHeight = activeItem.scrollHeight;\n activeItem.classList.remove('a-technical-transparent');\n }\n console.log('targetHeight', targetHeight);\n\n // Animate board height from old → new\n const heightAnimation = this.animate([\n { height: rect.height + 'px' },\n { height: targetHeight + 'px' }\n ], {\n duration: 300,\n easing: 'ease-in-out'\n });\n await new Promise(resolve => {\n heightAnimation.addEventListener('finish', resolve);\n });\n\n this.style.height = targetHeight + 'px';\n\n if (activeItem) {\n await this.displayHandler(activeItem, true);\n }\n } else {\n items.filter(el => el !== activeItem).forEach(el => {\n const show = el === activeItem;\n el.hidden = true;\n });\n\n let targetHeight = 0;\n if (activeItem) {\n activeItem.classList.add('a-technical-transparent');\n targetHeight = activeItem.scrollHeight;;\n activeItem.classList.remove('a-technical-transparent');\n }\n\n this.style.height = targetHeight + 'px';\n\n if (activeItem) {\n activeItem.hidden = false;\n }\n }\n\n // --- FREEZE LAYOUT END ---\n this.style.height = '';\n this.style.width = prevWidth;\n this.style.overflow = prevOverflow;\n // --- /FREEZE LAYOUT END ---\n\n this.aBoardUpdateDisplaying();\n this.observeMutations();\n }\n\n /**\n * Observe direct children and text nodes only, with debounce\n */\n private observeMutations() {\n if (this.mutationObserver) this.mutationObserver.disconnect();\n\n this.mutationObserver = new MutationObserver(() => {\n clearTimeout(this.mutationTimeout);\n this.mutationTimeout = window.setTimeout(() => {\n this.aBoardUpdateDisplaying();\n }, 50);\n });\n\n this.mutationObserver.observe(this, {\n childList: true,\n characterData: true,\n attributes: true,\n subtree: false,\n attributeFilter: ['hidden', 'style', 'class'],\n });\n }\n\n /**\n * Set global display handler for all <a-board> instances\n */\n static setGlobalDisplayHandler(handler: DisplayHandler) {\n AngelsFrontBoardWebComponent.globalDisplayHandler = handler;\n }\n}\n\n/**\n * Options for registering a-board\n */\nexport interface AngelsBoardRegistrationOptions {\n displayHandler?: DisplayHandler;\n}\n\n/**\n * Register the <a-board> custom element and optionally set a global displayHandler\n */\nexport function angelsBoardDefine(options?: AngelsBoardRegistrationOptions) {\n if (!customElements.get('a-board')) {\n if (options?.displayHandler) {\n AngelsFrontBoardWebComponent.setGlobalDisplayHandler(options.displayHandler);\n }\n customElements.define('a-board', AngelsFrontBoardWebComponent);\n } else if (options?.displayHandler) {\n AngelsFrontBoardWebComponent.setGlobalDisplayHandler(options.displayHandler);\n }\n return customElements.get('a-board')!;\n}\n\n","export enum AngelsFrontStateClassType {\n ALERT = 'a-alert',\n DEBUG = 'a-debug',\n DONE = 'a-done',\n ERROR = 'a-error',\n INFO = 'a-info',\n TIP = 'a-tip',\n WARN = 'a-warn',\n}\n\n/**\n * Custom web component <a-state> that shows different messages.\n */\nexport default class AngelsFrontStateWebComponent extends HTMLElement {\n\n static readonly aStateClasses = [\n AngelsFrontStateClassType.ALERT,\n AngelsFrontStateClassType.DEBUG,\n AngelsFrontStateClassType.DONE,\n AngelsFrontStateClassType.ERROR,\n AngelsFrontStateClassType.INFO,\n AngelsFrontStateClassType.TIP,\n AngelsFrontStateClassType.WARN,\n ];\n\n connectedCallback() {\n this.hidden = this.textContent!.trim().length === 0;\n }\n\n aStateAlert(message: string) {\n this.aStateSet(AngelsFrontStateClassType.ALERT, message);\n }\n\n aStateClear() {\n this.classList.remove(...AngelsFrontStateWebComponent.aStateClasses);\n this.aStateSetMessage('');\n }\n\n aStateDebug(message: string) {\n this.aStateSet(AngelsFrontStateClassType.DEBUG, message);\n }\n\n aStateDone(message: string) {\n this.aStateSet(AngelsFrontStateClassType.DONE, message);\n }\n\n aStateError(message: string) {\n this.aStateSet(AngelsFrontStateClassType.ERROR, message);\n }\n\n aStateInfo(message: string) {\n this.aStateSet(AngelsFrontStateClassType.INFO, message);\n }\n\n aStateSet(className: AngelsFrontStateClassType, message: string) {\n this.aStateSetType(className);\n this.aStateSetMessage(message);\n }\n\n aStateSetMessage(message: string) {\n this.textContent = message;\n this.hidden = this.textContent!.trim().length === 0;\n }\n\n aStateSetType(className: AngelsFrontStateClassType) {\n const classesToRemove = AngelsFrontStateWebComponent.aStateClasses.filter(c => c !== className);\n this.classList.remove(...classesToRemove);\n this.classList.add(className);\n }\n\n aStateTip(message: string) {\n this.aStateSet(AngelsFrontStateClassType.TIP, message);\n }\n\n aStateWarn(message: string) {\n this.aStateSet(AngelsFrontStateClassType.WARN, message);\n }\n}\n\n/**\n * Register the <a-state> custom element and optionally set a global displayHandler\n */\nexport function angelsStateDefine() {\n if (!customElements.get('a-state')) {\n customElements.define('a-state', AngelsFrontStateWebComponent);\n }\n return customElements.get('a-state')!;\n}\n\n","import { aLibConcealElement, aLibRevealElement, aLibEngageElement } from \"./AngelsFrontAnimationLibrary\";\n\nwindow.aEngageElement = aLibEngageElement;\nwindow.aConcealElement = aLibConcealElement;\nwindow.aRevealElement = aLibRevealElement;\n\nimport { aLibCreateWidget, aLibFindElement, aLibHideElement, aLibRequireElement, aLibShowElement, aLibToggleElement } from \"./AngelsFrontDOMLibrary\";\n\nwindow.aCreateWidget = aLibCreateWidget;\nwindow.aFindElement = aLibFindElement;\nwindow.aHideElement = aLibHideElement;\nwindow.aRequireElement = aLibRequireElement;\nwindow.aShowElement = aLibShowElement;\nwindow.aToggleElement = aLibToggleElement;\n\nimport { angelsBoardDefine } from \"./AngelsFrontWebComponents/AngelsFrontBoardWebComponent\";\nangelsBoardDefine({\n displayHandler: aEngageElement\n});\n\nimport { angelsStateDefine } from \"./AngelsFrontWebComponents/AngelsFrontStateWebComponent\";\nangelsStateDefine();\n"],"mappings":"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","names":["valueOfProperty"]}