@angelscmf/front 1.0.28 → 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.
- package/dist/AngelsFrontAnimationLibrary.d.mts +5 -0
- package/dist/AngelsFrontAnimationLibrary.d.ts +4 -4
- package/dist/AngelsFrontAnimationLibrary.js +120 -25
- package/dist/AngelsFrontAnimationLibrary.js.map +1 -1
- package/dist/{AngelsFrontLibrary.cjs → AngelsFrontAnimationLibrary.mjs} +93 -28
- package/dist/AngelsFrontAnimationLibrary.mjs.map +1 -0
- package/dist/AngelsFrontApplication.d.mts +11 -0
- package/dist/AngelsFrontApplication.d.ts +3 -2
- package/dist/AngelsFrontApplication.js +271 -28
- package/dist/AngelsFrontApplication.js.map +1 -1
- package/dist/AngelsFrontApplication.mjs +353 -0
- package/dist/AngelsFrontApplication.mjs.map +1 -0
- package/dist/AngelsFrontDOMLibrary.d.mts +12 -0
- package/dist/AngelsFrontDOMLibrary.d.ts +11 -2
- package/dist/AngelsFrontDOMLibrary.js +390 -7
- package/dist/AngelsFrontDOMLibrary.js.map +1 -1
- package/dist/AngelsFrontDOMLibrary.mjs +378 -0
- package/dist/AngelsFrontDOMLibrary.mjs.map +1 -0
- package/dist/AngelsFrontElement.d.mts +14 -0
- package/dist/AngelsFrontElement.d.ts +14 -0
- package/dist/{AngelsFrontAnimationLibrary.cjs → AngelsFrontElement.js} +93 -34
- package/dist/AngelsFrontElement.js.map +1 -0
- package/dist/{AngelsFrontLibrary.js → AngelsFrontElement.mjs} +90 -26
- package/dist/AngelsFrontElement.mjs.map +1 -0
- package/dist/AngelsFrontLoader.js +623 -0
- package/dist/AngelsFrontLoader.js.map +1 -0
- package/dist/AngelsFrontLoader.mjs +622 -0
- package/dist/AngelsFrontLoader.mjs.map +1 -0
- package/dist/{AngelsFrontMod.d.cts → AngelsFrontMod.d.mts} +4 -3
- package/dist/AngelsFrontMod.d.ts +4 -3
- package/dist/AngelsFrontMod.js +40 -17
- package/dist/AngelsFrontMod.js.map +1 -1
- package/dist/{AngelsFrontComponent.js → AngelsFrontMod.mjs} +18 -37
- package/dist/AngelsFrontMod.mjs.map +1 -0
- package/dist/AngelsFrontPage.d.mts +11 -0
- package/dist/AngelsFrontPage.d.ts +3 -2
- package/dist/AngelsFrontPage.js +271 -28
- package/dist/AngelsFrontPage.js.map +1 -1
- package/dist/AngelsFrontPage.mjs +353 -0
- package/dist/AngelsFrontPage.mjs.map +1 -0
- package/dist/AngelsFrontWidgetClass.d.mts +15 -0
- package/dist/AngelsFrontWidgetClass.d.ts +15 -0
- package/dist/AngelsFrontWidgetClass.js +371 -0
- package/dist/AngelsFrontWidgetClass.js.map +1 -0
- package/dist/AngelsFrontWidgetClass.mjs +349 -0
- package/dist/AngelsFrontWidgetClass.mjs.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.mjs +1 -0
- package/package.json +9 -2
- package/sass/AngelsDesign.scss +1 -0
- package/sass/_AngelsHTMLElements.scss +244 -244
- package/sass/_AngelsPageLayout.scss +0 -4
- package/sass/_AngelsTheme.scss +47 -15
- package/sass/_AngelsVariables.scss +1 -4
- package/sass/angelsMessages/_AngelsAlert.scss +23 -12
- package/sass/angelsMessages/_AngelsDebug.scss +18 -12
- package/sass/angelsMessages/_AngelsDone.scss +18 -12
- package/sass/angelsMessages/_AngelsError.scss +18 -12
- package/sass/angelsMessages/_AngelsInfo.scss +18 -12
- package/sass/angelsMessages/_AngelsTip.scss +18 -12
- package/sass/angelsMessages/_AngelsWarn.scss +18 -12
- package/sass/angelsTags/_a-page.scss +13 -4
- package/sass/angelsTags/_a-state.scss +11 -0
- package/sass/angelsTags/_a-table.scss +22 -19
- package/dist/AngelsCore.cjs +0 -203
- package/dist/AngelsCore.cjs.map +0 -1
- package/dist/AngelsCore.js +0 -202
- package/dist/AngelsCore.js.map +0 -1
- package/dist/AngelsFrontAnimationLibrary.cjs.map +0 -1
- package/dist/AngelsFrontAnimationLibrary.d.cts +0 -5
- package/dist/AngelsFrontApplication.cjs +0 -155
- package/dist/AngelsFrontApplication.cjs.map +0 -1
- package/dist/AngelsFrontApplication.d.cts +0 -10
- package/dist/AngelsFrontComponent.cjs +0 -151
- package/dist/AngelsFrontComponent.cjs.map +0 -1
- package/dist/AngelsFrontComponent.d.cts +0 -11
- package/dist/AngelsFrontComponent.d.ts +0 -11
- package/dist/AngelsFrontComponent.js.map +0 -1
- package/dist/AngelsFrontDOMLibrary.cjs +0 -51
- package/dist/AngelsFrontDOMLibrary.cjs.map +0 -1
- package/dist/AngelsFrontDOMLibrary.d.cts +0 -3
- package/dist/AngelsFrontLibrary.cjs.map +0 -1
- package/dist/AngelsFrontLibrary.d.ts +0 -2
- package/dist/AngelsFrontLibrary.js.map +0 -1
- package/dist/AngelsFrontMod.cjs +0 -128
- package/dist/AngelsFrontMod.cjs.map +0 -1
- package/dist/AngelsFrontPage.cjs +0 -155
- package/dist/AngelsFrontPage.cjs.map +0 -1
- package/dist/AngelsFrontPage.d.cts +0 -10
- package/dist/index.cjs +0 -2
- package/dist/index.d.cts +0 -2
- /package/dist/{AngelsCore.d.cts → AngelsFrontLoader.d.mts} +0 -0
- /package/dist/{AngelsCore.d.ts → AngelsFrontLoader.d.ts} +0 -0
- /package/dist/{AngelsFrontLibrary.d.cts → index.d.mts} +0 -0
- /package/dist/{index.cjs.map → index.mjs.map} +0 -0
|
@@ -0,0 +1,623 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __async = (__this, __arguments, generator) => {
|
|
3
|
+
return new Promise((resolve, reject) => {
|
|
4
|
+
var fulfilled = (value) => {
|
|
5
|
+
try {
|
|
6
|
+
step(generator.next(value));
|
|
7
|
+
} catch (e) {
|
|
8
|
+
reject(e);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
var rejected = (value) => {
|
|
12
|
+
try {
|
|
13
|
+
step(generator.throw(value));
|
|
14
|
+
} catch (e) {
|
|
15
|
+
reject(e);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
19
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
// src/AngelsFrontElement.ts
|
|
24
|
+
var AngelsFrontElementClass = class {
|
|
25
|
+
constructor(element) {
|
|
26
|
+
this.originalElement = element;
|
|
27
|
+
return new Proxy(this, {
|
|
28
|
+
get(target, prop, receiver) {
|
|
29
|
+
if (prop in target) {
|
|
30
|
+
return Reflect.get(target, prop);
|
|
31
|
+
}
|
|
32
|
+
const valueOfProperty = Reflect.get(target.originalElement, prop);
|
|
33
|
+
if (typeof valueOfProperty === "function") {
|
|
34
|
+
return valueOfProperty.bind(target.originalElement);
|
|
35
|
+
}
|
|
36
|
+
return valueOfProperty;
|
|
37
|
+
},
|
|
38
|
+
set(target, prop, newValue, receiver) {
|
|
39
|
+
if (prop in target.originalElement) {
|
|
40
|
+
target.originalElement[prop] = newValue;
|
|
41
|
+
} else {
|
|
42
|
+
target[prop] = newValue;
|
|
43
|
+
}
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
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
|
+
}
|
|
56
|
+
aHideElement() {
|
|
57
|
+
this.originalElement.hidden = true;
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
aRevealElement() {
|
|
61
|
+
aLibRevealElement(this.originalElement);
|
|
62
|
+
return this;
|
|
63
|
+
}
|
|
64
|
+
aShowElement() {
|
|
65
|
+
this.originalElement.hidden = false;
|
|
66
|
+
return this;
|
|
67
|
+
}
|
|
68
|
+
aSetTextContent(content) {
|
|
69
|
+
const contentToSet = content.toString();
|
|
70
|
+
this.originalElement.textContent = contentToSet;
|
|
71
|
+
return this;
|
|
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
|
+
}
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
// src/AngelsFrontDOMLibrary.ts
|
|
237
|
+
function aLibCreateWidget(element) {
|
|
238
|
+
return new AngelsFrontWidgetClass(element);
|
|
239
|
+
}
|
|
240
|
+
function aLibFindElement(selector) {
|
|
241
|
+
let element;
|
|
242
|
+
if (typeof selector === "undefined") {
|
|
243
|
+
return null;
|
|
244
|
+
} else if (selector === null) {
|
|
245
|
+
return null;
|
|
246
|
+
} else if (typeof selector === "string") {
|
|
247
|
+
const findElement = document.querySelector(selector);
|
|
248
|
+
if (!findElement) {
|
|
249
|
+
return null;
|
|
250
|
+
}
|
|
251
|
+
element = findElement;
|
|
252
|
+
} else if (selector instanceof HTMLElement) {
|
|
253
|
+
element = selector;
|
|
254
|
+
} else if (selector instanceof Element) {
|
|
255
|
+
element = selector;
|
|
256
|
+
} else if (selector instanceof AngelsFrontElementClass) {
|
|
257
|
+
return selector;
|
|
258
|
+
} else {
|
|
259
|
+
element = selector;
|
|
260
|
+
}
|
|
261
|
+
return new AngelsFrontElementClass(element);
|
|
262
|
+
}
|
|
263
|
+
function aLibRequireElement(selector) {
|
|
264
|
+
const element = aLibFindElement(selector);
|
|
265
|
+
if (element) {
|
|
266
|
+
return element;
|
|
267
|
+
}
|
|
268
|
+
throw Error(`Element not found by '${selector}' selector.`);
|
|
269
|
+
}
|
|
270
|
+
function aLibHideElement(selector) {
|
|
271
|
+
const element = aLibRequireElement(selector);
|
|
272
|
+
element.hidden = true;
|
|
273
|
+
return element;
|
|
274
|
+
}
|
|
275
|
+
function aLibShowElement(selector) {
|
|
276
|
+
const element = aLibRequireElement(selector);
|
|
277
|
+
element.hidden = false;
|
|
278
|
+
return element;
|
|
279
|
+
}
|
|
280
|
+
function aLibToggleElement(originalElement, switcher = void 0) {
|
|
281
|
+
const innerElement = aLibRequireElement(originalElement);
|
|
282
|
+
if (switcher === void 0) {
|
|
283
|
+
switcher = !innerElement.hidden;
|
|
284
|
+
}
|
|
285
|
+
if (switcher) {
|
|
286
|
+
return aLibShowElement(innerElement);
|
|
287
|
+
} else {
|
|
288
|
+
return aLibHideElement(innerElement);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
// src/AngelsFrontAnimationLibrary.ts
|
|
293
|
+
function aLibConcealElement(originalElement) {
|
|
294
|
+
return __async(this, null, function* () {
|
|
295
|
+
const innerElement = aLibRequireElement(originalElement);
|
|
296
|
+
const promise = new Promise((resolve) => {
|
|
297
|
+
if (innerElement.hidden) {
|
|
298
|
+
resolve();
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
let timeout;
|
|
302
|
+
const animationHandler = () => {
|
|
303
|
+
clearTimeout(timeout);
|
|
304
|
+
innerElement.removeEventListener("animationend", animationHandler);
|
|
305
|
+
innerElement.hidden = true;
|
|
306
|
+
innerElement.classList.remove("a-out-animation");
|
|
307
|
+
resolve();
|
|
308
|
+
};
|
|
309
|
+
innerElement.classList.add("a-out-animation");
|
|
310
|
+
const animations = innerElement.getAnimations();
|
|
311
|
+
if (animations.length > 0) {
|
|
312
|
+
timeout = setTimeout(() => {
|
|
313
|
+
innerElement.removeEventListener("animationend", animationHandler);
|
|
314
|
+
innerElement.hidden = true;
|
|
315
|
+
innerElement.classList.remove("a-out-animation");
|
|
316
|
+
console.warn("Animation timeout");
|
|
317
|
+
resolve();
|
|
318
|
+
}, 5e3);
|
|
319
|
+
innerElement.addEventListener("animationend", animationHandler);
|
|
320
|
+
} else {
|
|
321
|
+
innerElement.hidden = true;
|
|
322
|
+
resolve();
|
|
323
|
+
}
|
|
324
|
+
});
|
|
325
|
+
return promise;
|
|
326
|
+
});
|
|
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
|
+
}
|
|
341
|
+
function aLibRevealElement(originalElement) {
|
|
342
|
+
return __async(this, null, function* () {
|
|
343
|
+
const innerElement = aLibRequireElement(originalElement);
|
|
344
|
+
const promise = new Promise((resolve) => {
|
|
345
|
+
if (!innerElement.hidden) {
|
|
346
|
+
resolve();
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
let timeout;
|
|
350
|
+
const animationHandler = () => {
|
|
351
|
+
clearTimeout(timeout);
|
|
352
|
+
innerElement.removeEventListener("animationend", animationHandler);
|
|
353
|
+
resolve();
|
|
354
|
+
};
|
|
355
|
+
innerElement.hidden = false;
|
|
356
|
+
const animations = innerElement.getAnimations();
|
|
357
|
+
if (animations.length > 0) {
|
|
358
|
+
timeout = setTimeout(() => {
|
|
359
|
+
innerElement.removeEventListener("animationend", animationHandler);
|
|
360
|
+
console.warn("Animation timeout");
|
|
361
|
+
resolve();
|
|
362
|
+
}, 5e3);
|
|
363
|
+
innerElement.addEventListener("animationend", animationHandler);
|
|
364
|
+
} else {
|
|
365
|
+
resolve();
|
|
366
|
+
}
|
|
367
|
+
});
|
|
368
|
+
return promise;
|
|
369
|
+
});
|
|
370
|
+
}
|
|
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
|
+
|
|
609
|
+
// src/AngelsFrontLoader.ts
|
|
610
|
+
window.aEngageElement = aLibEngageElement;
|
|
611
|
+
window.aConcealElement = aLibConcealElement;
|
|
612
|
+
window.aRevealElement = aLibRevealElement;
|
|
613
|
+
window.aCreateWidget = aLibCreateWidget;
|
|
614
|
+
window.aFindElement = aLibFindElement;
|
|
615
|
+
window.aHideElement = aLibHideElement;
|
|
616
|
+
window.aRequireElement = aLibRequireElement;
|
|
617
|
+
window.aShowElement = aLibShowElement;
|
|
618
|
+
window.aToggleElement = aLibToggleElement;
|
|
619
|
+
angelsBoardDefine({
|
|
620
|
+
displayHandler: aEngageElement
|
|
621
|
+
});
|
|
622
|
+
angelsStateDefine();
|
|
623
|
+
//# sourceMappingURL=AngelsFrontLoader.js.map
|