@angelscmf/front 1.0.29 → 1.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AngelsFrontAnimationLibrary.d.ts +1 -1
- package/dist/AngelsFrontAnimationLibrary.js +77 -30
- package/dist/AngelsFrontAnimationLibrary.js.map +1 -1
- package/dist/{AngelsFrontLoader.cjs → AngelsFrontAnimationLibrary.mjs} +53 -61
- 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 +10 -7
- package/dist/AngelsFrontDOMLibrary.js +327 -17
- 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} +79 -68
- package/dist/AngelsFrontElement.js.map +1 -0
- package/dist/AngelsFrontElement.mjs +194 -0
- package/dist/AngelsFrontElement.mjs.map +1 -0
- package/dist/AngelsFrontLoader.js +448 -28
- package/dist/AngelsFrontLoader.js.map +1 -1
- 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/_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 +3 -2
- package/sass/angelsMessages/_AngelsDebug.scss +3 -2
- package/sass/angelsMessages/_AngelsDone.scss +3 -2
- package/sass/angelsMessages/_AngelsError.scss +3 -2
- package/sass/angelsMessages/_AngelsInfo.scss +3 -2
- package/sass/angelsMessages/_AngelsTip.scss +3 -2
- package/sass/angelsMessages/_AngelsWarn.scss +3 -2
- package/sass/angelsTags/_a-page.scss +13 -4
- package/sass/angelsTags/_a-state.scss +2 -1
- package/sass/angelsTags/_a-table.scss +9 -35
- package/dist/AngelsCore.cjs +0 -246
- package/dist/AngelsCore.cjs.map +0 -1
- package/dist/AngelsCore.js +0 -245
- package/dist/AngelsCore.js.map +0 -1
- package/dist/AngelsElement.cjs +0 -67
- package/dist/AngelsElement.cjs.map +0 -1
- package/dist/AngelsElement.d.cts +0 -11
- package/dist/AngelsElement.d.ts +0 -11
- package/dist/AngelsElement.js +0 -42
- package/dist/AngelsElement.js.map +0 -1
- package/dist/AngelsFrontAnimationLibrary.cjs.map +0 -1
- 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 -130
- package/dist/AngelsFrontDOMLibrary.cjs.map +0 -1
- package/dist/AngelsFrontDOMLibrary.d.cts +0 -9
- package/dist/AngelsFrontLoader.cjs.map +0 -1
- package/dist/AngelsFrontLoader.d.cts +0 -2
- 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/{AngelsFrontAnimationLibrary.d.cts → AngelsFrontAnimationLibrary.d.mts} +1 -1
- /package/dist/{AngelsCore.d.cts → AngelsFrontLoader.d.mts} +0 -0
- /package/dist/{AngelsCore.d.ts → index.d.mts} +0 -0
- /package/dist/{index.cjs.map → index.mjs.map} +0 -0
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
var __async = (__this, __arguments, generator) => {
|
|
2
|
+
return new Promise((resolve, reject) => {
|
|
3
|
+
var fulfilled = (value) => {
|
|
4
|
+
try {
|
|
5
|
+
step(generator.next(value));
|
|
6
|
+
} catch (e) {
|
|
7
|
+
reject(e);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
var rejected = (value) => {
|
|
11
|
+
try {
|
|
12
|
+
step(generator.throw(value));
|
|
13
|
+
} catch (e) {
|
|
14
|
+
reject(e);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
18
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// src/AngelsFrontAnimationLibrary.ts
|
|
23
|
+
function aLibConcealElement(originalElement) {
|
|
24
|
+
return __async(this, null, function* () {
|
|
25
|
+
const innerElement = aLibRequireElement(originalElement);
|
|
26
|
+
const promise = new Promise((resolve) => {
|
|
27
|
+
if (innerElement.hidden) {
|
|
28
|
+
resolve();
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
let timeout;
|
|
32
|
+
const animationHandler = () => {
|
|
33
|
+
clearTimeout(timeout);
|
|
34
|
+
innerElement.removeEventListener("animationend", animationHandler);
|
|
35
|
+
innerElement.hidden = true;
|
|
36
|
+
innerElement.classList.remove("a-out-animation");
|
|
37
|
+
resolve();
|
|
38
|
+
};
|
|
39
|
+
innerElement.classList.add("a-out-animation");
|
|
40
|
+
const animations = innerElement.getAnimations();
|
|
41
|
+
if (animations.length > 0) {
|
|
42
|
+
timeout = setTimeout(() => {
|
|
43
|
+
innerElement.removeEventListener("animationend", animationHandler);
|
|
44
|
+
innerElement.hidden = true;
|
|
45
|
+
innerElement.classList.remove("a-out-animation");
|
|
46
|
+
console.warn("Animation timeout");
|
|
47
|
+
resolve();
|
|
48
|
+
}, 5e3);
|
|
49
|
+
innerElement.addEventListener("animationend", animationHandler);
|
|
50
|
+
} else {
|
|
51
|
+
innerElement.hidden = true;
|
|
52
|
+
resolve();
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
return promise;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
function aLibEngageElement(originalElement, switcher = void 0) {
|
|
59
|
+
return __async(this, null, function* () {
|
|
60
|
+
const innerElement = aLibRequireElement(originalElement);
|
|
61
|
+
if (switcher === void 0) {
|
|
62
|
+
switcher = innerElement.hidden;
|
|
63
|
+
}
|
|
64
|
+
if (switcher) {
|
|
65
|
+
return yield aLibRevealElement(innerElement);
|
|
66
|
+
} else {
|
|
67
|
+
return yield aLibConcealElement(innerElement);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
function aLibRevealElement(originalElement) {
|
|
72
|
+
return __async(this, null, function* () {
|
|
73
|
+
const innerElement = aLibRequireElement(originalElement);
|
|
74
|
+
const promise = new Promise((resolve) => {
|
|
75
|
+
if (!innerElement.hidden) {
|
|
76
|
+
resolve();
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
let timeout;
|
|
80
|
+
const animationHandler = () => {
|
|
81
|
+
clearTimeout(timeout);
|
|
82
|
+
innerElement.removeEventListener("animationend", animationHandler);
|
|
83
|
+
resolve();
|
|
84
|
+
};
|
|
85
|
+
innerElement.hidden = false;
|
|
86
|
+
const animations = innerElement.getAnimations();
|
|
87
|
+
if (animations.length > 0) {
|
|
88
|
+
timeout = setTimeout(() => {
|
|
89
|
+
innerElement.removeEventListener("animationend", animationHandler);
|
|
90
|
+
console.warn("Animation timeout");
|
|
91
|
+
resolve();
|
|
92
|
+
}, 5e3);
|
|
93
|
+
innerElement.addEventListener("animationend", animationHandler);
|
|
94
|
+
} else {
|
|
95
|
+
resolve();
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
return promise;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// src/AngelsFrontElement.ts
|
|
103
|
+
var AngelsFrontElementClass = class {
|
|
104
|
+
constructor(element) {
|
|
105
|
+
this.originalElement = element;
|
|
106
|
+
return new Proxy(this, {
|
|
107
|
+
get(target, prop, receiver) {
|
|
108
|
+
if (prop in target) {
|
|
109
|
+
return Reflect.get(target, prop);
|
|
110
|
+
}
|
|
111
|
+
const valueOfProperty = Reflect.get(target.originalElement, prop);
|
|
112
|
+
if (typeof valueOfProperty === "function") {
|
|
113
|
+
return valueOfProperty.bind(target.originalElement);
|
|
114
|
+
}
|
|
115
|
+
return valueOfProperty;
|
|
116
|
+
},
|
|
117
|
+
set(target, prop, newValue, receiver) {
|
|
118
|
+
if (prop in target.originalElement) {
|
|
119
|
+
target.originalElement[prop] = newValue;
|
|
120
|
+
} else {
|
|
121
|
+
target[prop] = newValue;
|
|
122
|
+
}
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
aConcealElement() {
|
|
128
|
+
aLibConcealElement(this.originalElement);
|
|
129
|
+
return this;
|
|
130
|
+
}
|
|
131
|
+
aEngageElement(switcher = void 0) {
|
|
132
|
+
aLibEngageElement(this.originalElement, switcher);
|
|
133
|
+
return this;
|
|
134
|
+
}
|
|
135
|
+
aHideElement() {
|
|
136
|
+
this.originalElement.hidden = true;
|
|
137
|
+
return this;
|
|
138
|
+
}
|
|
139
|
+
aRevealElement() {
|
|
140
|
+
aLibRevealElement(this.originalElement);
|
|
141
|
+
return this;
|
|
142
|
+
}
|
|
143
|
+
aShowElement() {
|
|
144
|
+
this.originalElement.hidden = false;
|
|
145
|
+
return this;
|
|
146
|
+
}
|
|
147
|
+
aSetTextContent(content) {
|
|
148
|
+
const contentToSet = content.toString();
|
|
149
|
+
this.originalElement.textContent = contentToSet;
|
|
150
|
+
return this;
|
|
151
|
+
}
|
|
152
|
+
aTextContent() {
|
|
153
|
+
if (this.originalElement.textContent === null) {
|
|
154
|
+
return ``;
|
|
155
|
+
}
|
|
156
|
+
return this.originalElement.textContent;
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
// src/AngelsFrontMod.ts
|
|
161
|
+
var AngelsFrontMod = class {
|
|
162
|
+
constructor() {
|
|
163
|
+
this.modWaitStartTimeout = 1e3;
|
|
164
|
+
this.modSubMods = new Array();
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Starts AngelsFrontMod.
|
|
168
|
+
*/
|
|
169
|
+
modStart() {
|
|
170
|
+
this.modInit();
|
|
171
|
+
this.modBind();
|
|
172
|
+
this.modLink();
|
|
173
|
+
this.modRun();
|
|
174
|
+
setTimeout(() => {
|
|
175
|
+
this.modWait();
|
|
176
|
+
}, this.modWaitStartTimeout);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Finishes AngelsFrontMod.
|
|
180
|
+
*/
|
|
181
|
+
modFinish() {
|
|
182
|
+
this.modDeWait();
|
|
183
|
+
this.modDeRun();
|
|
184
|
+
this.modDeLink();
|
|
185
|
+
this.modDeBind();
|
|
186
|
+
this.modDeInit();
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Inits AngelsFrontMod and its sub-modules AngelsFrontMod.
|
|
190
|
+
*/
|
|
191
|
+
modInit() {
|
|
192
|
+
this.modSubMods.forEach((mod) => mod.modInit());
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Binds AngelsFrontMod and its sub-modules AngelsFrontMod.
|
|
196
|
+
*/
|
|
197
|
+
modBind() {
|
|
198
|
+
this.modSubMods.forEach((mod) => mod.modBind());
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Links AngelsFrontMod and its sub-modules AngelsFrontMod.
|
|
202
|
+
*/
|
|
203
|
+
modLink() {
|
|
204
|
+
this.modSubMods.forEach((mod) => mod.modLink());
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Runs AngelsFrontMod and its sub-modules AngelsFrontMod.
|
|
208
|
+
*/
|
|
209
|
+
modRun() {
|
|
210
|
+
this.modSubMods.forEach((mod) => mod.modRun());
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Waits AngelsFrontMod and its sub-modules AngelsFrontMod.
|
|
214
|
+
*/
|
|
215
|
+
modWait() {
|
|
216
|
+
this.modSubMods.forEach((mod) => mod.modWait());
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* DeInits AngelsFrontMod and its sub-modules AngelsFrontMod.
|
|
220
|
+
*/
|
|
221
|
+
modDeInit() {
|
|
222
|
+
this.modSubMods.forEach((mod) => mod.modDeInit());
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* DeBinds AngelsFrontMod and its sub-modules AngelsFrontMod.
|
|
226
|
+
*/
|
|
227
|
+
modDeBind() {
|
|
228
|
+
this.modSubMods.forEach((mod) => mod.modDeBind());
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* DeLinks AngelsFrontMod and its sub-modules AngelsFrontMod.
|
|
232
|
+
*/
|
|
233
|
+
modDeLink() {
|
|
234
|
+
this.modSubMods.forEach((mod) => mod.modDeLink());
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* DeRuns AngelsFrontMod and its sub-modules AngelsFrontMod.
|
|
238
|
+
*/
|
|
239
|
+
modDeRun() {
|
|
240
|
+
this.modSubMods.forEach((mod) => mod.modDeRun());
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* DeWaits AngelsFrontMod and its sub-modules AngelsFrontMod.
|
|
244
|
+
*/
|
|
245
|
+
modDeWait() {
|
|
246
|
+
this.modSubMods.forEach((mod) => mod.modDeWait());
|
|
247
|
+
}
|
|
248
|
+
modDestructor() {
|
|
249
|
+
this.modSubMods.forEach((mod) => mod.modDestructor());
|
|
250
|
+
}
|
|
251
|
+
modAddSubMod(mod) {
|
|
252
|
+
if (mod) {
|
|
253
|
+
this.modSubMods.push(mod);
|
|
254
|
+
mod.modInit();
|
|
255
|
+
return mod;
|
|
256
|
+
}
|
|
257
|
+
return null;
|
|
258
|
+
}
|
|
259
|
+
modRequireSubMod(mod) {
|
|
260
|
+
this.modSubMods.push(mod);
|
|
261
|
+
mod.modInit();
|
|
262
|
+
return mod;
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
|
|
266
|
+
// src/AngelsFrontWidgetClass.ts
|
|
267
|
+
var AngelsFrontWidgetClass = class extends AngelsFrontMod {
|
|
268
|
+
constructor(element) {
|
|
269
|
+
super();
|
|
270
|
+
this.widElement = new AngelsFrontElementClass(element);
|
|
271
|
+
return new Proxy(this, {
|
|
272
|
+
get(target, prop, receiver) {
|
|
273
|
+
if (prop in target) {
|
|
274
|
+
const valueOfProperty2 = target[prop];
|
|
275
|
+
if (typeof valueOfProperty2 === "function") {
|
|
276
|
+
return Reflect.get(target, prop);
|
|
277
|
+
}
|
|
278
|
+
return valueOfProperty2;
|
|
279
|
+
}
|
|
280
|
+
const valueOfProperty = target.widElement[prop];
|
|
281
|
+
if (typeof valueOfProperty === "function") {
|
|
282
|
+
return valueOfProperty.bind(target.widElement);
|
|
283
|
+
}
|
|
284
|
+
return valueOfProperty;
|
|
285
|
+
},
|
|
286
|
+
set(target, prop, newValue, receiver) {
|
|
287
|
+
if (prop in target) {
|
|
288
|
+
target[prop] = newValue;
|
|
289
|
+
} else {
|
|
290
|
+
target.widElement[prop] = newValue;
|
|
291
|
+
}
|
|
292
|
+
return true;
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
widFindElement(selector) {
|
|
297
|
+
const findElement = this.widElement.querySelector(selector);
|
|
298
|
+
if (findElement) {
|
|
299
|
+
return aFindElement(findElement);
|
|
300
|
+
}
|
|
301
|
+
return null;
|
|
302
|
+
}
|
|
303
|
+
widFindElements(selector) {
|
|
304
|
+
return Array.from(this.widElement.querySelectorAll(selector)).map(aFindElement);
|
|
305
|
+
}
|
|
306
|
+
widRequireElement(selector) {
|
|
307
|
+
const element = this.widElement.querySelector(selector);
|
|
308
|
+
if (element) {
|
|
309
|
+
return aFindElement(element);
|
|
310
|
+
}
|
|
311
|
+
throw Error(`Element '${selector}' is not found.`);
|
|
312
|
+
}
|
|
313
|
+
};
|
|
314
|
+
|
|
315
|
+
// src/AngelsFrontDOMLibrary.ts
|
|
316
|
+
function aLibCreateWidget(element) {
|
|
317
|
+
return new AngelsFrontWidgetClass(element);
|
|
318
|
+
}
|
|
319
|
+
function aLibFindElement(selector) {
|
|
320
|
+
let element;
|
|
321
|
+
if (typeof selector === "undefined") {
|
|
322
|
+
return null;
|
|
323
|
+
} else if (selector === null) {
|
|
324
|
+
return null;
|
|
325
|
+
} else if (typeof selector === "string") {
|
|
326
|
+
const findElement = document.querySelector(selector);
|
|
327
|
+
if (!findElement) {
|
|
328
|
+
return null;
|
|
329
|
+
}
|
|
330
|
+
element = findElement;
|
|
331
|
+
} else if (selector instanceof HTMLElement) {
|
|
332
|
+
element = selector;
|
|
333
|
+
} else if (selector instanceof Element) {
|
|
334
|
+
element = selector;
|
|
335
|
+
} else if (selector instanceof AngelsFrontElementClass) {
|
|
336
|
+
return selector;
|
|
337
|
+
} else {
|
|
338
|
+
element = selector;
|
|
339
|
+
}
|
|
340
|
+
return new AngelsFrontElementClass(element);
|
|
341
|
+
}
|
|
342
|
+
function aLibRequireElement(selector) {
|
|
343
|
+
const element = aLibFindElement(selector);
|
|
344
|
+
if (element) {
|
|
345
|
+
return element;
|
|
346
|
+
}
|
|
347
|
+
throw Error(`Element not found by '${selector}' selector.`);
|
|
348
|
+
}
|
|
349
|
+
function aLibHideElement(selector) {
|
|
350
|
+
const element = aLibRequireElement(selector);
|
|
351
|
+
element.hidden = true;
|
|
352
|
+
return element;
|
|
353
|
+
}
|
|
354
|
+
function aLibShowElement(selector) {
|
|
355
|
+
const element = aLibRequireElement(selector);
|
|
356
|
+
element.hidden = false;
|
|
357
|
+
return element;
|
|
358
|
+
}
|
|
359
|
+
function aLibToggleElement(originalElement, switcher = void 0) {
|
|
360
|
+
const innerElement = aLibRequireElement(originalElement);
|
|
361
|
+
if (switcher === void 0) {
|
|
362
|
+
switcher = !innerElement.hidden;
|
|
363
|
+
}
|
|
364
|
+
if (switcher) {
|
|
365
|
+
return aLibShowElement(innerElement);
|
|
366
|
+
} else {
|
|
367
|
+
return aLibHideElement(innerElement);
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
export {
|
|
371
|
+
aLibCreateWidget,
|
|
372
|
+
aLibFindElement,
|
|
373
|
+
aLibHideElement,
|
|
374
|
+
aLibRequireElement,
|
|
375
|
+
aLibShowElement,
|
|
376
|
+
aLibToggleElement
|
|
377
|
+
};
|
|
378
|
+
//# sourceMappingURL=AngelsFrontDOMLibrary.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/AngelsFrontAnimationLibrary.ts","../src/AngelsFrontElement.ts","../src/AngelsFrontMod.ts","../src/AngelsFrontWidgetClass.ts","../src/AngelsFrontDOMLibrary.ts"],"sourcesContent":["import { aLibRequireElement } from \"./AngelsFrontDOMLibrary\";\n\nexport async function aLibConcealElement(originalElement: AngelsSelectorType) {\n const innerElement = aLibRequireElement(originalElement);\n const promise = new Promise<void>((resolve) => {\n\n if (innerElement.hidden) {\n resolve();\n return;\n }\n\n let timeout: NodeJS.Timeout | undefined;\n\n const animationHandler = () => {\n clearTimeout(timeout);\n innerElement.removeEventListener('animationend', animationHandler);\n innerElement.hidden = true;\n innerElement.classList.remove('a-out-animation');\n resolve();\n }\n\n innerElement.classList.add('a-out-animation');\n\n const animations = innerElement.getAnimations();\n if (animations.length > 0) {\n timeout = setTimeout(() => {\n innerElement.removeEventListener('animationend', animationHandler);\n innerElement.hidden = true;\n innerElement.classList.remove('a-out-animation');\n console.warn('Animation timeout');\n resolve();\n }, 5000); // 5 seconds timeout\n innerElement.addEventListener('animationend', animationHandler);\n } else {\n innerElement.hidden = true;\n resolve();\n }\n });\n\n return promise;\n}\n\nexport async function aLibEngageElement(originalElement: AngelsSelectorType, switcher: boolean | undefined = undefined) {\n const innerElement = aLibRequireElement(originalElement);\n if (switcher === undefined) {\n switcher = innerElement.hidden;\n }\n\n if (switcher) {\n return await aLibRevealElement(innerElement);\n } else {\n return await aLibConcealElement(innerElement);\n }\n}\n\nexport async function aLibRevealElement(originalElement: AngelsSelectorType) {\n const innerElement = aLibRequireElement(originalElement);\n const promise = new Promise<void>((resolve) => {\n\n if (!innerElement.hidden) {\n resolve();\n return;\n }\n\n let timeout: NodeJS.Timeout | undefined;\n\n const animationHandler = () => {\n clearTimeout(timeout);\n innerElement.removeEventListener('animationend', animationHandler);\n resolve();\n }\n\n innerElement.hidden = false;\n\n const animations = innerElement.getAnimations();\n if (animations.length > 0) {\n timeout = setTimeout(() => {\n innerElement.removeEventListener('animationend', animationHandler);\n console.warn('Animation timeout');\n resolve();\n }, 5000); // 5 seconds timeout\n innerElement.addEventListener('animationend', animationHandler);\n } else {\n resolve();\n }\n });\n\n return promise;\n}\n","import { aLibConcealElement, aLibEngageElement, aLibRevealElement } from \"./AngelsFrontAnimationLibrary\";\n\nexport type AngelsFrontElement<THTMLElement extends HTMLElement = HTMLElement> = AngelsFrontElementClass<THTMLElement> & THTMLElement;\n\nexport default class AngelsFrontElementClass<THTMLElement extends HTMLElement = HTMLElement> {\n\n public 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"],"mappings":"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","names":["valueOfProperty"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type AngelsFrontElement<THTMLElement extends HTMLElement = HTMLElement> = AngelsFrontElementClass<THTMLElement> & THTMLElement;
|
|
2
|
+
declare class AngelsFrontElementClass<THTMLElement extends HTMLElement = HTMLElement> {
|
|
3
|
+
originalElement: THTMLElement;
|
|
4
|
+
constructor(element: THTMLElement);
|
|
5
|
+
aConcealElement(): this;
|
|
6
|
+
aEngageElement(switcher?: boolean | undefined): this;
|
|
7
|
+
aHideElement(): this;
|
|
8
|
+
aRevealElement(): this;
|
|
9
|
+
aShowElement(): this;
|
|
10
|
+
aSetTextContent(content: string): this;
|
|
11
|
+
aTextContent(): string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { type AngelsFrontElement, AngelsFrontElementClass as default };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type AngelsFrontElement<THTMLElement extends HTMLElement = HTMLElement> = AngelsFrontElementClass<THTMLElement> & THTMLElement;
|
|
2
|
+
declare class AngelsFrontElementClass<THTMLElement extends HTMLElement = HTMLElement> {
|
|
3
|
+
originalElement: THTMLElement;
|
|
4
|
+
constructor(element: THTMLElement);
|
|
5
|
+
aConcealElement(): this;
|
|
6
|
+
aEngageElement(switcher?: boolean | undefined): this;
|
|
7
|
+
aHideElement(): this;
|
|
8
|
+
aRevealElement(): this;
|
|
9
|
+
aShowElement(): this;
|
|
10
|
+
aSetTextContent(content: string): this;
|
|
11
|
+
aTextContent(): string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { type AngelsFrontElement, AngelsFrontElementClass as default };
|
|
@@ -37,53 +37,12 @@ var __async = (__this, __arguments, generator) => {
|
|
|
37
37
|
});
|
|
38
38
|
};
|
|
39
39
|
|
|
40
|
-
// src/
|
|
41
|
-
var
|
|
42
|
-
__export(
|
|
43
|
-
|
|
44
|
-
aLibEngageElement: () => aLibEngageElement,
|
|
45
|
-
aLibRevealElement: () => aLibRevealElement
|
|
40
|
+
// src/AngelsFrontElement.ts
|
|
41
|
+
var AngelsFrontElement_exports = {};
|
|
42
|
+
__export(AngelsFrontElement_exports, {
|
|
43
|
+
default: () => AngelsFrontElementClass
|
|
46
44
|
});
|
|
47
|
-
module.exports = __toCommonJS(
|
|
48
|
-
|
|
49
|
-
// src/AngelsElement.ts
|
|
50
|
-
var AngelsElementClass = class {
|
|
51
|
-
constructor(element) {
|
|
52
|
-
this.originalElement = element;
|
|
53
|
-
return new Proxy(this, {
|
|
54
|
-
get(target, prop, receiver) {
|
|
55
|
-
if (prop in target) {
|
|
56
|
-
return target[prop];
|
|
57
|
-
}
|
|
58
|
-
return target.originalElement[prop];
|
|
59
|
-
},
|
|
60
|
-
set(target, prop, newValue, receiver) {
|
|
61
|
-
if (prop in target) {
|
|
62
|
-
target[prop] = newValue;
|
|
63
|
-
} else {
|
|
64
|
-
target.originalElement[prop] = newValue;
|
|
65
|
-
}
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
aHideElement() {
|
|
71
|
-
this.originalElement.hidden = true;
|
|
72
|
-
return this;
|
|
73
|
-
}
|
|
74
|
-
aShowElement() {
|
|
75
|
-
this.originalElement.hidden = false;
|
|
76
|
-
return this;
|
|
77
|
-
}
|
|
78
|
-
aTextContent(content = void 0) {
|
|
79
|
-
var _a;
|
|
80
|
-
if (content === void 0) {
|
|
81
|
-
return (_a = this.originalElement.textContent) != null ? _a : ``;
|
|
82
|
-
}
|
|
83
|
-
this.originalElement.textContent = content.toString();
|
|
84
|
-
return this;
|
|
85
|
-
}
|
|
86
|
-
};
|
|
45
|
+
module.exports = __toCommonJS(AngelsFrontElement_exports);
|
|
87
46
|
|
|
88
47
|
// src/AngelsFrontDOMLibrary.ts
|
|
89
48
|
function aLibFindElement(selector) {
|
|
@@ -102,12 +61,12 @@ function aLibFindElement(selector) {
|
|
|
102
61
|
element = selector;
|
|
103
62
|
} else if (selector instanceof Element) {
|
|
104
63
|
element = selector;
|
|
105
|
-
} else if (selector instanceof
|
|
64
|
+
} else if (selector instanceof AngelsFrontElementClass) {
|
|
106
65
|
return selector;
|
|
107
66
|
} else {
|
|
108
67
|
element = selector;
|
|
109
68
|
}
|
|
110
|
-
return new
|
|
69
|
+
return new AngelsFrontElementClass(element);
|
|
111
70
|
}
|
|
112
71
|
function aLibRequireElement(selector) {
|
|
113
72
|
const element = aLibFindElement(selector);
|
|
@@ -118,19 +77,6 @@ function aLibRequireElement(selector) {
|
|
|
118
77
|
}
|
|
119
78
|
|
|
120
79
|
// src/AngelsFrontAnimationLibrary.ts
|
|
121
|
-
function aLibEngageElement(originalElement, switcher = void 0) {
|
|
122
|
-
return __async(this, null, function* () {
|
|
123
|
-
const innerElement = aLibRequireElement(originalElement);
|
|
124
|
-
if (switcher === void 0) {
|
|
125
|
-
switcher = !innerElement.hidden;
|
|
126
|
-
}
|
|
127
|
-
if (switcher) {
|
|
128
|
-
return yield aLibRevealElement(innerElement);
|
|
129
|
-
} else {
|
|
130
|
-
return yield aLibConcealElement(innerElement);
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
80
|
function aLibConcealElement(originalElement) {
|
|
135
81
|
return __async(this, null, function* () {
|
|
136
82
|
const innerElement = aLibRequireElement(originalElement);
|
|
@@ -166,6 +112,19 @@ function aLibConcealElement(originalElement) {
|
|
|
166
112
|
return promise;
|
|
167
113
|
});
|
|
168
114
|
}
|
|
115
|
+
function aLibEngageElement(originalElement, switcher = void 0) {
|
|
116
|
+
return __async(this, null, function* () {
|
|
117
|
+
const innerElement = aLibRequireElement(originalElement);
|
|
118
|
+
if (switcher === void 0) {
|
|
119
|
+
switcher = innerElement.hidden;
|
|
120
|
+
}
|
|
121
|
+
if (switcher) {
|
|
122
|
+
return yield aLibRevealElement(innerElement);
|
|
123
|
+
} else {
|
|
124
|
+
return yield aLibConcealElement(innerElement);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
}
|
|
169
128
|
function aLibRevealElement(originalElement) {
|
|
170
129
|
return __async(this, null, function* () {
|
|
171
130
|
const innerElement = aLibRequireElement(originalElement);
|
|
@@ -196,10 +155,62 @@ function aLibRevealElement(originalElement) {
|
|
|
196
155
|
return promise;
|
|
197
156
|
});
|
|
198
157
|
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
158
|
+
|
|
159
|
+
// src/AngelsFrontElement.ts
|
|
160
|
+
var AngelsFrontElementClass = class {
|
|
161
|
+
constructor(element) {
|
|
162
|
+
this.originalElement = element;
|
|
163
|
+
return new Proxy(this, {
|
|
164
|
+
get(target, prop, receiver) {
|
|
165
|
+
if (prop in target) {
|
|
166
|
+
return Reflect.get(target, prop);
|
|
167
|
+
}
|
|
168
|
+
const valueOfProperty = Reflect.get(target.originalElement, prop);
|
|
169
|
+
if (typeof valueOfProperty === "function") {
|
|
170
|
+
return valueOfProperty.bind(target.originalElement);
|
|
171
|
+
}
|
|
172
|
+
return valueOfProperty;
|
|
173
|
+
},
|
|
174
|
+
set(target, prop, newValue, receiver) {
|
|
175
|
+
if (prop in target.originalElement) {
|
|
176
|
+
target.originalElement[prop] = newValue;
|
|
177
|
+
} else {
|
|
178
|
+
target[prop] = newValue;
|
|
179
|
+
}
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
aConcealElement() {
|
|
185
|
+
aLibConcealElement(this.originalElement);
|
|
186
|
+
return this;
|
|
187
|
+
}
|
|
188
|
+
aEngageElement(switcher = void 0) {
|
|
189
|
+
aLibEngageElement(this.originalElement, switcher);
|
|
190
|
+
return this;
|
|
191
|
+
}
|
|
192
|
+
aHideElement() {
|
|
193
|
+
this.originalElement.hidden = true;
|
|
194
|
+
return this;
|
|
195
|
+
}
|
|
196
|
+
aRevealElement() {
|
|
197
|
+
aLibRevealElement(this.originalElement);
|
|
198
|
+
return this;
|
|
199
|
+
}
|
|
200
|
+
aShowElement() {
|
|
201
|
+
this.originalElement.hidden = false;
|
|
202
|
+
return this;
|
|
203
|
+
}
|
|
204
|
+
aSetTextContent(content) {
|
|
205
|
+
const contentToSet = content.toString();
|
|
206
|
+
this.originalElement.textContent = contentToSet;
|
|
207
|
+
return this;
|
|
208
|
+
}
|
|
209
|
+
aTextContent() {
|
|
210
|
+
if (this.originalElement.textContent === null) {
|
|
211
|
+
return ``;
|
|
212
|
+
}
|
|
213
|
+
return this.originalElement.textContent;
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
//# sourceMappingURL=AngelsFrontElement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/AngelsFrontElement.ts","../src/AngelsFrontDOMLibrary.ts","../src/AngelsFrontAnimationLibrary.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","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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACQO,SAAS,gBAAkD,UAAqF;AAEnJ,MAAI;AACJ,MAAI,OAAO,aAAa,aAAa;AACjC,WAAO;AAAA,EACX,WAAW,aAAa,MAAM;AAC1B,WAAO;AAAA,EACX,WAAW,OAAO,aAAa,UAAU;AACrC,UAAM,cAAc,SAAS,cAA4B,QAAQ;AACjE,QAAI,CAAC,aAAa;AACd,aAAO;AAAA,IACX;AACA,cAAU;AAAA,EACd,WAAW,oBAAoB,aAAa;AACxC,cAAU;AAAA,EACd,WAAW,oBAAoB,SAAS;AACpC,cAAU;AAAA,EACd,WAAW,oBAAoB,yBAAyB;AACpD,WAAO;AAAA,EACX,OAAO;AACH,cAAU;AAAA,EACd;AACA,SAAO,IAAI,wBAAwB,OAAO;AAC9C;AAEO,SAAS,mBAAqD,UAAgE;AACjI,QAAM,UAAU,gBAA8B,QAAQ;AACtD,MAAI,SAAS;AACT,WAAO;AAAA,EACX;AACA,QAAM,MAAM,yBAAyB,QAAQ,aAAa;AAC9D;;;ACrCA,SAAsB,mBAAmB,iBAAqC;AAAA;AAC1E,UAAM,eAAe,mBAAmB,eAAe;AACvD,UAAM,UAAU,IAAI,QAAc,CAAC,YAAY;AAE3C,UAAI,aAAa,QAAQ;AACrB,gBAAQ;AACR;AAAA,MACJ;AAEA,UAAI;AAEJ,YAAM,mBAAmB,MAAM;AAC3B,qBAAa,OAAO;AACpB,qBAAa,oBAAoB,gBAAgB,gBAAgB;AACjE,qBAAa,SAAS;AACtB,qBAAa,UAAU,OAAO,iBAAiB;AAC/C,gBAAQ;AAAA,MACZ;AAEA,mBAAa,UAAU,IAAI,iBAAiB;AAE5C,YAAM,aAAa,aAAa,cAAc;AAC9C,UAAI,WAAW,SAAS,GAAG;AACvB,kBAAU,WAAW,MAAM;AACvB,uBAAa,oBAAoB,gBAAgB,gBAAgB;AACjE,uBAAa,SAAS;AACtB,uBAAa,UAAU,OAAO,iBAAiB;AAC/C,kBAAQ,KAAK,mBAAmB;AAChC,kBAAQ;AAAA,QACZ,GAAG,GAAI;AACP,qBAAa,iBAAiB,gBAAgB,gBAAgB;AAAA,MAClE,OAAO;AACH,qBAAa,SAAS;AACtB,gBAAQ;AAAA,MACZ;AAAA,IACJ,CAAC;AAED,WAAO;AAAA,EACX;AAAA;AAEA,SAAsB,kBAAkB,iBAAqC,WAAgC,QAAW;AAAA;AACpH,UAAM,eAAe,mBAAmB,eAAe;AACvD,QAAI,aAAa,QAAW;AACxB,iBAAW,aAAa;AAAA,IAC5B;AAEA,QAAI,UAAU;AACV,aAAO,MAAM,kBAAkB,YAAY;AAAA,IAC/C,OAAO;AACH,aAAO,MAAM,mBAAmB,YAAY;AAAA,IAChD;AAAA,EACJ;AAAA;AAEA,SAAsB,kBAAkB,iBAAqC;AAAA;AACzE,UAAM,eAAe,mBAAmB,eAAe;AACvD,UAAM,UAAU,IAAI,QAAc,CAAC,YAAY;AAE3C,UAAI,CAAC,aAAa,QAAQ;AACtB,gBAAQ;AACR;AAAA,MACJ;AAEA,UAAI;AAEJ,YAAM,mBAAmB,MAAM;AAC3B,qBAAa,OAAO;AACpB,qBAAa,oBAAoB,gBAAgB,gBAAgB;AACjE,gBAAQ;AAAA,MACZ;AAEA,mBAAa,SAAS;AAEtB,YAAM,aAAa,aAAa,cAAc;AAC9C,UAAI,WAAW,SAAS,GAAG;AACvB,kBAAU,WAAW,MAAM;AACvB,uBAAa,oBAAoB,gBAAgB,gBAAgB;AACjE,kBAAQ,KAAK,mBAAmB;AAChC,kBAAQ;AAAA,QACZ,GAAG,GAAI;AACP,qBAAa,iBAAiB,gBAAgB,gBAAgB;AAAA,MAClE,OAAO;AACH,gBAAQ;AAAA,MACZ;AAAA,IACJ,CAAC;AAED,WAAO;AAAA,EACX;AAAA;;;AFpFA,IAAqB,0BAArB,MAA6F;AAAA,EAIzF,YAAY,SAAuB;AAE/B,SAAK,kBAAkB;AAEvB,WAAO,IAAI,MAAM,MAAM;AAAA,MAEnB,IAAI,QAAa,MAAuB,UAAe;AACnD,YAAI,QAAQ,QAAQ;AAEhB,iBAAO,QAAQ,IAAI,QAAQ,IAAI;AAAA,QACnC;AAEA,cAAM,kBAAkB,QAAQ,IAAI,OAAO,iBAAiB,IAAI;AAChE,YAAI,OAAO,oBAAoB,YAAY;AACvC,iBAAO,gBAAgB,KAAK,OAAO,eAAe;AAAA,QACtD;AACA,eAAO;AAAA,MACX;AAAA,MAEA,IAAI,QAAa,MAAuB,UAAe,UAAe;AAClE,YAAI,QAAQ,OAAO,iBAAiB;AAEhC,iBAAO,gBAAgB,IAAI,IAAI;AAAA,QACnC,OAAO;AAEH,iBAAO,IAAI,IAAI;AAAA,QACnB;AACA,eAAO;AAAA,MACX;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,kBAAwB;AAGpB,uBAAmB,KAAK,eAAe;AAGvC,WAAO;AAAA,EACX;AAAA,EAEA,eAAe,WAAgC,QAAiB;AAG5D,sBAAkB,KAAK,iBAAiB,QAAQ;AAGhD,WAAO;AAAA,EACX;AAAA,EAEA,eAAqB;AAGjB,SAAK,gBAAgB,SAAS;AAG9B,WAAO;AAAA,EACX;AAAA,EAEA,iBAAuB;AAGnB,sBAAkB,KAAK,eAAe;AAGtC,WAAO;AAAA,EACX;AAAA,EAEA,eAAqB;AAGjB,SAAK,gBAAgB,SAAS;AAG9B,WAAO;AAAA,EACX;AAAA,EAEA,gBAAgB,SAAuB;AAGnC,UAAM,eAAe,QAAQ,SAAS;AAGtC,SAAK,gBAAgB,cAAc;AAGnC,WAAO;AAAA,EACX;AAAA,EAEA,eAAuB;AACnB,QAAI,KAAK,gBAAgB,gBAAgB,MAAM;AAE3C,aAAO;AAAA,IACX;AAGA,WAAO,KAAK,gBAAgB;AAAA,EAChC;AACJ;","names":[]}
|