@angelscmf/front 1.0.30 → 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.
- package/dist/AngelsFrontAnimationLibrary.js +15 -14
- package/dist/AngelsFrontAnimationLibrary.js.map +1 -1
- package/dist/AngelsFrontAnimationLibrary.mjs +15 -14
- package/dist/AngelsFrontAnimationLibrary.mjs.map +1 -1
- package/dist/AngelsFrontApplication.js +59 -47
- package/dist/AngelsFrontApplication.js.map +1 -1
- package/dist/AngelsFrontApplication.mjs +59 -47
- package/dist/AngelsFrontApplication.mjs.map +1 -1
- package/dist/AngelsFrontDOMLibrary.d.mts +3 -2
- package/dist/AngelsFrontDOMLibrary.d.ts +3 -2
- package/dist/AngelsFrontDOMLibrary.js +30 -16
- package/dist/AngelsFrontDOMLibrary.js.map +1 -1
- package/dist/AngelsFrontDOMLibrary.mjs +29 -16
- package/dist/AngelsFrontDOMLibrary.mjs.map +1 -1
- package/dist/AngelsFrontElement.d.mts +2 -1
- package/dist/AngelsFrontElement.d.ts +2 -1
- package/dist/AngelsFrontElement.js +15 -14
- package/dist/AngelsFrontElement.js.map +1 -1
- package/dist/AngelsFrontElement.mjs +15 -14
- package/dist/AngelsFrontElement.mjs.map +1 -1
- package/dist/AngelsFrontLoader.js +177 -16
- package/dist/AngelsFrontLoader.js.map +1 -1
- package/dist/AngelsFrontLoader.mjs +183 -16
- package/dist/AngelsFrontLoader.mjs.map +1 -1
- package/dist/AngelsFrontPage.js +59 -47
- package/dist/AngelsFrontPage.js.map +1 -1
- package/dist/AngelsFrontPage.mjs +59 -47
- package/dist/AngelsFrontPage.mjs.map +1 -1
- package/dist/AngelsFrontWidgetClass.js +59 -47
- package/dist/AngelsFrontWidgetClass.js.map +1 -1
- package/dist/AngelsFrontWidgetClass.mjs +59 -47
- package/dist/AngelsFrontWidgetClass.mjs.map +1 -1
- package/package.json +5 -1
- package/sass/AngelsDesign.scss +5 -0
- package/sass/angelsTags/_a-alpha.scss +29 -0
- package/sass/angelsTags/_a-center.scss +15 -0
- package/sass/angelsTags/_a-float.scss +42 -0
- package/sass/angelsTags/_a-icenter.scss +15 -0
- package/sass/angelsTags/_a-page.scss +2 -2
- package/sass/angelsTags/_a-text-transform.scss +29 -0
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
+
}) : x)(function(x) {
|
|
4
|
+
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
5
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
6
|
+
});
|
|
1
7
|
var __async = (__this, __arguments, generator) => {
|
|
2
8
|
return new Promise((resolve, reject) => {
|
|
3
9
|
var fulfilled = (value) => {
|
|
@@ -20,23 +26,24 @@ var __async = (__this, __arguments, generator) => {
|
|
|
20
26
|
};
|
|
21
27
|
|
|
22
28
|
// src/AngelsFrontElement.ts
|
|
23
|
-
var AngelsFrontElementClass = class {
|
|
29
|
+
var AngelsFrontElementClass = class _AngelsFrontElementClass {
|
|
24
30
|
constructor(element) {
|
|
25
|
-
this.
|
|
31
|
+
this.aProxyBaseClass = _AngelsFrontElementClass;
|
|
32
|
+
this.elementBase = element;
|
|
26
33
|
return new Proxy(this, {
|
|
27
34
|
get(target, prop, receiver) {
|
|
28
35
|
if (prop in target) {
|
|
29
36
|
return Reflect.get(target, prop);
|
|
30
37
|
}
|
|
31
|
-
const valueOfProperty = Reflect.get(target.
|
|
38
|
+
const valueOfProperty = Reflect.get(target.elementBase, prop);
|
|
32
39
|
if (typeof valueOfProperty === "function") {
|
|
33
|
-
return valueOfProperty.bind(target.
|
|
40
|
+
return valueOfProperty.bind(target.elementBase);
|
|
34
41
|
}
|
|
35
42
|
return valueOfProperty;
|
|
36
43
|
},
|
|
37
44
|
set(target, prop, newValue, receiver) {
|
|
38
|
-
if (prop in target.
|
|
39
|
-
target.
|
|
45
|
+
if (prop in target.elementBase) {
|
|
46
|
+
target.elementBase[prop] = newValue;
|
|
40
47
|
} else {
|
|
41
48
|
target[prop] = newValue;
|
|
42
49
|
}
|
|
@@ -45,35 +52,35 @@ var AngelsFrontElementClass = class {
|
|
|
45
52
|
});
|
|
46
53
|
}
|
|
47
54
|
aConcealElement() {
|
|
48
|
-
aLibConcealElement(this.
|
|
55
|
+
aLibConcealElement(this.elementBase);
|
|
49
56
|
return this;
|
|
50
57
|
}
|
|
51
58
|
aEngageElement(switcher = void 0) {
|
|
52
|
-
aLibEngageElement(this.
|
|
59
|
+
aLibEngageElement(this.elementBase, switcher);
|
|
53
60
|
return this;
|
|
54
61
|
}
|
|
55
62
|
aHideElement() {
|
|
56
|
-
this.
|
|
63
|
+
this.elementBase.hidden = true;
|
|
57
64
|
return this;
|
|
58
65
|
}
|
|
59
66
|
aRevealElement() {
|
|
60
|
-
aLibRevealElement(this.
|
|
67
|
+
aLibRevealElement(this.elementBase);
|
|
61
68
|
return this;
|
|
62
69
|
}
|
|
63
70
|
aShowElement() {
|
|
64
|
-
this.
|
|
71
|
+
this.elementBase.hidden = false;
|
|
65
72
|
return this;
|
|
66
73
|
}
|
|
67
74
|
aSetTextContent(content) {
|
|
68
75
|
const contentToSet = content.toString();
|
|
69
|
-
this.
|
|
76
|
+
this.elementBase.textContent = contentToSet;
|
|
70
77
|
return this;
|
|
71
78
|
}
|
|
72
79
|
aTextContent() {
|
|
73
|
-
if (this.
|
|
80
|
+
if (this.elementBase.textContent === null) {
|
|
74
81
|
return ``;
|
|
75
82
|
}
|
|
76
|
-
return this.
|
|
83
|
+
return this.elementBase.textContent;
|
|
77
84
|
}
|
|
78
85
|
};
|
|
79
86
|
|
|
@@ -187,7 +194,7 @@ var AngelsFrontMod = class {
|
|
|
187
194
|
var AngelsFrontWidgetClass = class extends AngelsFrontMod {
|
|
188
195
|
constructor(element) {
|
|
189
196
|
super();
|
|
190
|
-
this.widElement =
|
|
197
|
+
this.widElement = aLibPrepareElement(element);
|
|
191
198
|
return new Proxy(this, {
|
|
192
199
|
get(target, prop, receiver) {
|
|
193
200
|
if (prop in target) {
|
|
@@ -271,6 +278,17 @@ function aLibHideElement(selector) {
|
|
|
271
278
|
element.hidden = true;
|
|
272
279
|
return element;
|
|
273
280
|
}
|
|
281
|
+
function aLibPrepareElement(element) {
|
|
282
|
+
let angelsFrontElement;
|
|
283
|
+
if ("aProxyBaseClass" in element && element.aProxyBaseClass === AngelsFrontElementClass) {
|
|
284
|
+
angelsFrontElement = element;
|
|
285
|
+
} else if (element instanceof HTMLElement) {
|
|
286
|
+
angelsFrontElement = new AngelsFrontElementClass(element);
|
|
287
|
+
} else {
|
|
288
|
+
throw Error("Cannot prepare element: invalid element type.");
|
|
289
|
+
}
|
|
290
|
+
return angelsFrontElement;
|
|
291
|
+
}
|
|
274
292
|
function aLibShowElement(selector) {
|
|
275
293
|
const element = aLibRequireElement(selector);
|
|
276
294
|
element.hidden = false;
|
|
@@ -279,7 +297,7 @@ function aLibShowElement(selector) {
|
|
|
279
297
|
function aLibToggleElement(originalElement, switcher = void 0) {
|
|
280
298
|
const innerElement = aLibRequireElement(originalElement);
|
|
281
299
|
if (switcher === void 0) {
|
|
282
|
-
switcher =
|
|
300
|
+
switcher = innerElement.hidden;
|
|
283
301
|
}
|
|
284
302
|
if (switcher) {
|
|
285
303
|
return aLibShowElement(innerElement);
|
|
@@ -605,6 +623,153 @@ function angelsStateDefine() {
|
|
|
605
623
|
return customElements.get("a-state");
|
|
606
624
|
}
|
|
607
625
|
|
|
626
|
+
// src/AngelsFrontWebComponents/AngelsFrontDemoWebComponent.ts
|
|
627
|
+
var pretty = __require("pretty");
|
|
628
|
+
var AngelsFrontDemoWebComponent = class extends HTMLElement {
|
|
629
|
+
constructor() {
|
|
630
|
+
super();
|
|
631
|
+
this.awcRoot = this.attachShadow({ mode: "open" });
|
|
632
|
+
this.awcRoot.innerHTML = this.awcTemplate() + this.awcStyles();
|
|
633
|
+
this.awcReDraw();
|
|
634
|
+
}
|
|
635
|
+
connectedCallback() {
|
|
636
|
+
this.addEventListener("slotchange", this.awcReDraw.bind(this));
|
|
637
|
+
}
|
|
638
|
+
awcReDraw() {
|
|
639
|
+
const headerPart = this.awcRoot.querySelector('[part="a-demo-header"]');
|
|
640
|
+
const headerSlot = headerPart.querySelector("slot");
|
|
641
|
+
headerPart.hidden = !headerSlot.assignedNodes({ flatten: true }).length;
|
|
642
|
+
const resultSlot = this.awcRoot.querySelector('[part="a-demo-result"] slot');
|
|
643
|
+
const codePart = this.awcRoot.querySelector('[part="a-demo-code"]');
|
|
644
|
+
let code = resultSlot.assignedNodes({ flatten: true }).map((n) => n.outerHTML || n.textContent).join("");
|
|
645
|
+
code = pretty(code, { ocd: true });
|
|
646
|
+
console.log("code", code);
|
|
647
|
+
codePart.textContent = code.trim();
|
|
648
|
+
}
|
|
649
|
+
awcTemplate() {
|
|
650
|
+
return `
|
|
651
|
+
<div part="a-demo-header"><slot name="a-demo-header"></slot></div>
|
|
652
|
+
<div part="a-demo-result"><slot></slot></div>
|
|
653
|
+
<pre part="a-demo-code"></pre>
|
|
654
|
+
`;
|
|
655
|
+
}
|
|
656
|
+
awcStyles() {
|
|
657
|
+
return `
|
|
658
|
+
<style>
|
|
659
|
+
:host {
|
|
660
|
+
--a-demo-borderColor: darkmagenta;
|
|
661
|
+
--a-demo-borderRadius: var(--a-borderRadius, 4px);
|
|
662
|
+
--a-demo-backgroundColor: #fffbf3;
|
|
663
|
+
}
|
|
664
|
+
:host {
|
|
665
|
+
background: var(--a-demo-borderColor);
|
|
666
|
+
border: 1px solid var(--a-demo-borderColor);
|
|
667
|
+
border-radius: var(--a-demo-borderRadius);
|
|
668
|
+
display: grid;
|
|
669
|
+
gap: 1px;
|
|
670
|
+
font-family: Arial, sans-serif;
|
|
671
|
+
overflow: hidden;
|
|
672
|
+
}
|
|
673
|
+
:host > * {
|
|
674
|
+
background: var(--a-demo-backgroundColor);
|
|
675
|
+
padding: .5em;
|
|
676
|
+
}
|
|
677
|
+
[part="a-demo-header"] {
|
|
678
|
+
}
|
|
679
|
+
[part="a-demo-result"] slot {
|
|
680
|
+
}
|
|
681
|
+
[part="a-demo-code"] {
|
|
682
|
+
margin: 0;
|
|
683
|
+
overflow: auto;
|
|
684
|
+
}
|
|
685
|
+
</style>
|
|
686
|
+
`;
|
|
687
|
+
}
|
|
688
|
+
};
|
|
689
|
+
function angelsDemoDefine() {
|
|
690
|
+
if (!customElements.get("a-demo")) {
|
|
691
|
+
customElements.define("a-demo", AngelsFrontDemoWebComponent);
|
|
692
|
+
}
|
|
693
|
+
return customElements.get("a-demo");
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
// src/AngelsFrontWebComponents/AngelsFrontListWebComponent.ts
|
|
697
|
+
var _AngelsFrontListWebComponent = class _AngelsFrontListWebComponent extends HTMLElement {
|
|
698
|
+
constructor() {
|
|
699
|
+
super();
|
|
700
|
+
this.awcAppendStyles();
|
|
701
|
+
}
|
|
702
|
+
connectedCallback() {
|
|
703
|
+
this.awcRender();
|
|
704
|
+
}
|
|
705
|
+
attributeChangedCallback(name, oldValue, newValue) {
|
|
706
|
+
this.awcRender();
|
|
707
|
+
}
|
|
708
|
+
awcAppendStyles() {
|
|
709
|
+
if (_AngelsFrontListWebComponent.awcStylesAppended) {
|
|
710
|
+
return;
|
|
711
|
+
}
|
|
712
|
+
_AngelsFrontListWebComponent.awcStylesAppended = true;
|
|
713
|
+
const style = document.createElement("style");
|
|
714
|
+
style.textContent = `
|
|
715
|
+
a-list {
|
|
716
|
+
--a-list-space: var(--a-halfSize, 0.5em);
|
|
717
|
+
display: inline;
|
|
718
|
+
}
|
|
719
|
+
a-list::before {
|
|
720
|
+
content: attr(a-list-prefix);
|
|
721
|
+
display: inline;
|
|
722
|
+
}
|
|
723
|
+
a-list::after {
|
|
724
|
+
content: attr(a-list-suffix);
|
|
725
|
+
display: inline;
|
|
726
|
+
}
|
|
727
|
+
a-list .a-list-item:not(:last-child)::after {
|
|
728
|
+
content: attr(a-list-separator);
|
|
729
|
+
display: inline;
|
|
730
|
+
margin-right: var(--a-list-space);
|
|
731
|
+
}
|
|
732
|
+
`;
|
|
733
|
+
document.head.appendChild(style);
|
|
734
|
+
}
|
|
735
|
+
awcRender() {
|
|
736
|
+
const itemsAttr = this.getAttribute("a-list");
|
|
737
|
+
const separator = this.getAttribute("a-list-separator") || " ";
|
|
738
|
+
if (itemsAttr) {
|
|
739
|
+
try {
|
|
740
|
+
const items = JSON.parse(itemsAttr);
|
|
741
|
+
const children = [];
|
|
742
|
+
if (Array.isArray(items)) {
|
|
743
|
+
items.forEach((item, index) => {
|
|
744
|
+
const span = document.createElement("a-list-item");
|
|
745
|
+
span.textContent = item;
|
|
746
|
+
span.classList.add("a-list-item");
|
|
747
|
+
span.setAttribute("a-list-separator", this.getAttribute("a-list-separator") || " ");
|
|
748
|
+
children.push(span);
|
|
749
|
+
});
|
|
750
|
+
} else {
|
|
751
|
+
console.error('Attribute "a-list" must be an array of strings.');
|
|
752
|
+
}
|
|
753
|
+
this.replaceChildren(...children);
|
|
754
|
+
} catch (error) {
|
|
755
|
+
console.error(`Error parsing "a-list" attribute of "${itemsAttr}"`, error);
|
|
756
|
+
this.replaceChildren();
|
|
757
|
+
}
|
|
758
|
+
} else {
|
|
759
|
+
this.replaceChildren();
|
|
760
|
+
}
|
|
761
|
+
}
|
|
762
|
+
};
|
|
763
|
+
_AngelsFrontListWebComponent.awcStylesAppended = false;
|
|
764
|
+
_AngelsFrontListWebComponent.observedAttributes = ["a-list", "a-list-separator"];
|
|
765
|
+
var AngelsFrontListWebComponent = _AngelsFrontListWebComponent;
|
|
766
|
+
function angelsListDefine() {
|
|
767
|
+
if (!customElements.get("a-list")) {
|
|
768
|
+
customElements.define("a-list", AngelsFrontListWebComponent);
|
|
769
|
+
}
|
|
770
|
+
return customElements.get("a-list");
|
|
771
|
+
}
|
|
772
|
+
|
|
608
773
|
// src/AngelsFrontLoader.ts
|
|
609
774
|
window.aEngageElement = aLibEngageElement;
|
|
610
775
|
window.aConcealElement = aLibConcealElement;
|
|
@@ -619,4 +784,6 @@ angelsBoardDefine({
|
|
|
619
784
|
displayHandler: aEngageElement
|
|
620
785
|
});
|
|
621
786
|
angelsStateDefine();
|
|
787
|
+
angelsDemoDefine();
|
|
788
|
+
angelsListDefine();
|
|
622
789
|
//# sourceMappingURL=AngelsFrontLoader.mjs.map
|
|
@@ -1 +1 @@
|
|
|
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"]}
|
|
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/AngelsFrontWebComponents/AngelsFrontDemoWebComponent.ts","../src/AngelsFrontWebComponents/AngelsFrontListWebComponent.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 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}","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","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 pretty from 'pretty';\nconst pretty = require('pretty');\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-demo> that shows different messages.\n */\nexport default class AngelsFrontDemoWebComponent 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 awcRoot: ShadowRoot;\n\n constructor() {\n super();\n this.awcRoot = this.attachShadow({ mode: 'open' });\n this.awcRoot.innerHTML = this.awcTemplate() + this.awcStyles();\n this.awcReDraw();\n }\n\n connectedCallback() {\n this.addEventListener('slotchange', this.awcReDraw.bind(this));\n }\n\n awcReDraw() {\n const headerPart = this.awcRoot.querySelector('[part=\"a-demo-header\"]') as HTMLSlotElement;\n const headerSlot = headerPart.querySelector('slot') as HTMLSlotElement;\n headerPart.hidden = !headerSlot.assignedNodes({ flatten: true }).length;\n\n const resultSlot = this.awcRoot.querySelector('[part=\"a-demo-result\"] slot') as HTMLSlotElement;\n const codePart = this.awcRoot.querySelector('[part=\"a-demo-code\"]') as HTMLElement;\n\n let code = resultSlot.assignedNodes({ flatten: true }).map((n) => (n as HTMLElement).outerHTML || n.textContent).join('');\n\n code = pretty(code, { ocd: true });\n console.log('code', code)\n\n // codePartSlot.innerHTML = code.trim();\n codePart.textContent = code.trim();\n }\n\n protected awcTemplate(): string {\n return `\n <div part=\"a-demo-header\"><slot name=\"a-demo-header\"></slot></div>\n <div part=\"a-demo-result\"><slot></slot></div>\n <pre part=\"a-demo-code\"></pre>\n `;\n }\n\n protected awcStyles(): string {\n return `\n <style>\n :host {\n --a-demo-borderColor: darkmagenta;\n --a-demo-borderRadius: var(--a-borderRadius, 4px);\n --a-demo-backgroundColor: #fffbf3;\n }\n :host {\n background: var(--a-demo-borderColor);\n border: 1px solid var(--a-demo-borderColor);\n border-radius: var(--a-demo-borderRadius);\n display: grid;\n gap: 1px;\n font-family: Arial, sans-serif;\n overflow: hidden;\n }\n :host > * {\n background: var(--a-demo-backgroundColor);\n padding: .5em;\n }\n [part=\"a-demo-header\"] {\n }\n [part=\"a-demo-result\"] slot {\n }\n [part=\"a-demo-code\"] {\n margin: 0;\n overflow: auto;\n } \n </style>\n `;\n }\n}\n\n/**\n * Register the <a-demo> custom element and optionally set a global displayHandler\n */\nexport function angelsDemoDefine() {\n if (!customElements.get('a-demo')) {\n customElements.define('a-demo', AngelsFrontDemoWebComponent);\n }\n return customElements.get('a-demo')!;\n}\n\n","/**\n * @example\n * <a-list a-list=\"${escapeForAttribute([\n `<${property}>`,\n `.${property}`,\n `[${property}]`\n ])}\" a-list-prefix=\"(\" a-list-suffix=\")\" a-list-separator=\",\"></a-list>\n */\nclass AngelsFrontListWebComponent extends HTMLElement {\n\n static awcStylesAppended = false;\n static observedAttributes = ['a-list', 'a-list-separator'];\n\n constructor() {\n super();\n this.awcAppendStyles();\n }\n\n connectedCallback() {\n this.awcRender();\n }\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n this.awcRender();\n }\n\n awcAppendStyles() {\n if (AngelsFrontListWebComponent.awcStylesAppended) {\n return;\n }\n AngelsFrontListWebComponent.awcStylesAppended = true;\n\n const style = document.createElement('style');\n style.textContent = `\n a-list {\n --a-list-space: var(--a-halfSize, 0.5em);\n display: inline;\n }\n a-list::before {\n content: attr(a-list-prefix);\n display: inline;\n }\n a-list::after {\n content: attr(a-list-suffix);\n display: inline;\n }\n a-list .a-list-item:not(:last-child)::after {\n content: attr(a-list-separator);\n display: inline;\n margin-right: var(--a-list-space);\n }\n `;\n document.head.appendChild(style);\n }\n\n protected awcRender() {\n\n const itemsAttr = this.getAttribute('a-list');\n const separator = this.getAttribute('a-list-separator') || ' ';\n\n if (itemsAttr) {\n try {\n const items = JSON.parse(itemsAttr);\n const children: Array<ChildNode> = [];\n\n if (Array.isArray(items)) {\n items.forEach((item, index) => {\n const span = document.createElement('a-list-item');\n span.textContent = item;\n span.classList.add('a-list-item');\n span.setAttribute('a-list-separator', this.getAttribute('a-list-separator') || ' ');\n children.push(span);\n });\n } else {\n console.error('Attribute \"a-list\" must be an array of strings.');\n }\n this.replaceChildren(...children);\n } catch (error: unknown) {\n console.error(`Error parsing \"a-list\" attribute of \"${itemsAttr}\"`, error);\n this.replaceChildren();\n }\n } else {\n this.replaceChildren();\n }\n }\n}\n\n/**\n * Register the <a-list> custom element and optionally set a global displayHandler\n */\nexport function angelsListDefine() {\n if (!customElements.get('a-list')) {\n customElements.define('a-list', AngelsFrontListWebComponent);\n }\n return customElements.get('a-list')!;\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\nimport { angelsDemoDefine } from \"./AngelsFrontWebComponents/AngelsFrontDemoWebComponent\";\nangelsDemoDefine();\n\nimport { angelsListDefine } from \"./AngelsFrontWebComponents/AngelsFrontListWebComponent\";\nangelsListDefine();"],"mappings":"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","names":["valueOfProperty"]}
|
package/dist/AngelsFrontPage.js
CHANGED
|
@@ -44,38 +44,6 @@ __export(AngelsFrontPage_exports, {
|
|
|
44
44
|
});
|
|
45
45
|
module.exports = __toCommonJS(AngelsFrontPage_exports);
|
|
46
46
|
|
|
47
|
-
// src/AngelsFrontDOMLibrary.ts
|
|
48
|
-
function aLibFindElement(selector) {
|
|
49
|
-
let element;
|
|
50
|
-
if (typeof selector === "undefined") {
|
|
51
|
-
return null;
|
|
52
|
-
} else if (selector === null) {
|
|
53
|
-
return null;
|
|
54
|
-
} else if (typeof selector === "string") {
|
|
55
|
-
const findElement = document.querySelector(selector);
|
|
56
|
-
if (!findElement) {
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
59
|
-
element = findElement;
|
|
60
|
-
} else if (selector instanceof HTMLElement) {
|
|
61
|
-
element = selector;
|
|
62
|
-
} else if (selector instanceof Element) {
|
|
63
|
-
element = selector;
|
|
64
|
-
} else if (selector instanceof AngelsFrontElementClass) {
|
|
65
|
-
return selector;
|
|
66
|
-
} else {
|
|
67
|
-
element = selector;
|
|
68
|
-
}
|
|
69
|
-
return new AngelsFrontElementClass(element);
|
|
70
|
-
}
|
|
71
|
-
function aLibRequireElement(selector) {
|
|
72
|
-
const element = aLibFindElement(selector);
|
|
73
|
-
if (element) {
|
|
74
|
-
return element;
|
|
75
|
-
}
|
|
76
|
-
throw Error(`Element not found by '${selector}' selector.`);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
47
|
// src/AngelsFrontAnimationLibrary.ts
|
|
80
48
|
function aLibConcealElement(originalElement) {
|
|
81
49
|
return __async(this, null, function* () {
|
|
@@ -157,23 +125,24 @@ function aLibRevealElement(originalElement) {
|
|
|
157
125
|
}
|
|
158
126
|
|
|
159
127
|
// src/AngelsFrontElement.ts
|
|
160
|
-
var AngelsFrontElementClass = class {
|
|
128
|
+
var AngelsFrontElementClass = class _AngelsFrontElementClass {
|
|
161
129
|
constructor(element) {
|
|
162
|
-
this.
|
|
130
|
+
this.aProxyBaseClass = _AngelsFrontElementClass;
|
|
131
|
+
this.elementBase = element;
|
|
163
132
|
return new Proxy(this, {
|
|
164
133
|
get(target, prop, receiver) {
|
|
165
134
|
if (prop in target) {
|
|
166
135
|
return Reflect.get(target, prop);
|
|
167
136
|
}
|
|
168
|
-
const valueOfProperty = Reflect.get(target.
|
|
137
|
+
const valueOfProperty = Reflect.get(target.elementBase, prop);
|
|
169
138
|
if (typeof valueOfProperty === "function") {
|
|
170
|
-
return valueOfProperty.bind(target.
|
|
139
|
+
return valueOfProperty.bind(target.elementBase);
|
|
171
140
|
}
|
|
172
141
|
return valueOfProperty;
|
|
173
142
|
},
|
|
174
143
|
set(target, prop, newValue, receiver) {
|
|
175
|
-
if (prop in target.
|
|
176
|
-
target.
|
|
144
|
+
if (prop in target.elementBase) {
|
|
145
|
+
target.elementBase[prop] = newValue;
|
|
177
146
|
} else {
|
|
178
147
|
target[prop] = newValue;
|
|
179
148
|
}
|
|
@@ -182,38 +151,81 @@ var AngelsFrontElementClass = class {
|
|
|
182
151
|
});
|
|
183
152
|
}
|
|
184
153
|
aConcealElement() {
|
|
185
|
-
aLibConcealElement(this.
|
|
154
|
+
aLibConcealElement(this.elementBase);
|
|
186
155
|
return this;
|
|
187
156
|
}
|
|
188
157
|
aEngageElement(switcher = void 0) {
|
|
189
|
-
aLibEngageElement(this.
|
|
158
|
+
aLibEngageElement(this.elementBase, switcher);
|
|
190
159
|
return this;
|
|
191
160
|
}
|
|
192
161
|
aHideElement() {
|
|
193
|
-
this.
|
|
162
|
+
this.elementBase.hidden = true;
|
|
194
163
|
return this;
|
|
195
164
|
}
|
|
196
165
|
aRevealElement() {
|
|
197
|
-
aLibRevealElement(this.
|
|
166
|
+
aLibRevealElement(this.elementBase);
|
|
198
167
|
return this;
|
|
199
168
|
}
|
|
200
169
|
aShowElement() {
|
|
201
|
-
this.
|
|
170
|
+
this.elementBase.hidden = false;
|
|
202
171
|
return this;
|
|
203
172
|
}
|
|
204
173
|
aSetTextContent(content) {
|
|
205
174
|
const contentToSet = content.toString();
|
|
206
|
-
this.
|
|
175
|
+
this.elementBase.textContent = contentToSet;
|
|
207
176
|
return this;
|
|
208
177
|
}
|
|
209
178
|
aTextContent() {
|
|
210
|
-
if (this.
|
|
179
|
+
if (this.elementBase.textContent === null) {
|
|
211
180
|
return ``;
|
|
212
181
|
}
|
|
213
|
-
return this.
|
|
182
|
+
return this.elementBase.textContent;
|
|
214
183
|
}
|
|
215
184
|
};
|
|
216
185
|
|
|
186
|
+
// src/AngelsFrontDOMLibrary.ts
|
|
187
|
+
function aLibFindElement(selector) {
|
|
188
|
+
let element;
|
|
189
|
+
if (typeof selector === "undefined") {
|
|
190
|
+
return null;
|
|
191
|
+
} else if (selector === null) {
|
|
192
|
+
return null;
|
|
193
|
+
} else if (typeof selector === "string") {
|
|
194
|
+
const findElement = document.querySelector(selector);
|
|
195
|
+
if (!findElement) {
|
|
196
|
+
return null;
|
|
197
|
+
}
|
|
198
|
+
element = findElement;
|
|
199
|
+
} else if (selector instanceof HTMLElement) {
|
|
200
|
+
element = selector;
|
|
201
|
+
} else if (selector instanceof Element) {
|
|
202
|
+
element = selector;
|
|
203
|
+
} else if (selector instanceof AngelsFrontElementClass) {
|
|
204
|
+
return selector;
|
|
205
|
+
} else {
|
|
206
|
+
element = selector;
|
|
207
|
+
}
|
|
208
|
+
return new AngelsFrontElementClass(element);
|
|
209
|
+
}
|
|
210
|
+
function aLibRequireElement(selector) {
|
|
211
|
+
const element = aLibFindElement(selector);
|
|
212
|
+
if (element) {
|
|
213
|
+
return element;
|
|
214
|
+
}
|
|
215
|
+
throw Error(`Element not found by '${selector}' selector.`);
|
|
216
|
+
}
|
|
217
|
+
function aLibPrepareElement(element) {
|
|
218
|
+
let angelsFrontElement;
|
|
219
|
+
if ("aProxyBaseClass" in element && element.aProxyBaseClass === AngelsFrontElementClass) {
|
|
220
|
+
angelsFrontElement = element;
|
|
221
|
+
} else if (element instanceof HTMLElement) {
|
|
222
|
+
angelsFrontElement = new AngelsFrontElementClass(element);
|
|
223
|
+
} else {
|
|
224
|
+
throw Error("Cannot prepare element: invalid element type.");
|
|
225
|
+
}
|
|
226
|
+
return angelsFrontElement;
|
|
227
|
+
}
|
|
228
|
+
|
|
217
229
|
// src/AngelsFrontMod.ts
|
|
218
230
|
var AngelsFrontMod = class {
|
|
219
231
|
constructor() {
|
|
@@ -324,7 +336,7 @@ var AngelsFrontMod = class {
|
|
|
324
336
|
var AngelsFrontWidgetClass = class extends AngelsFrontMod {
|
|
325
337
|
constructor(element) {
|
|
326
338
|
super();
|
|
327
|
-
this.widElement =
|
|
339
|
+
this.widElement = aLibPrepareElement(element);
|
|
328
340
|
return new Proxy(this, {
|
|
329
341
|
get(target, prop, receiver) {
|
|
330
342
|
if (prop in target) {
|