@cedx/base 0.19.0 → 0.21.0
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/ReadMe.md +1 -1
- package/lib/{DateExtensions.d.ts → Date.d.ts} +9 -9
- package/lib/Date.d.ts.map +1 -0
- package/lib/{DateExtensions.js → Date.js} +12 -10
- package/lib/{FileExtensions.d.ts → File.d.ts} +1 -1
- package/lib/File.d.ts.map +1 -0
- package/lib/{NumberExtensions.d.ts → Number.d.ts} +1 -1
- package/lib/Number.d.ts.map +1 -0
- package/lib/{StringExtensions.d.ts → String.d.ts} +1 -19
- package/lib/String.d.ts.map +1 -0
- package/lib/{StringExtensions.js → String.js} +0 -40
- package/lib/UI/Components/{MessageBox.d.ts → DialogBox.d.ts} +18 -48
- package/lib/UI/Components/DialogBox.d.ts.map +1 -0
- package/lib/UI/Components/{MessageBox.js → DialogBox.js} +49 -79
- package/lib/UI/Components/LoadingIndicator.d.ts +27 -2
- package/lib/UI/Components/LoadingIndicator.d.ts.map +1 -1
- package/lib/UI/Components/LoadingIndicator.js +55 -2
- package/lib/UI/Components/OfflineIndicator.d.ts +29 -0
- package/lib/UI/Components/OfflineIndicator.d.ts.map +1 -1
- package/lib/UI/Components/OfflineIndicator.js +70 -7
- package/lib/UI/Components/Toast.d.ts +11 -11
- package/lib/UI/Components/Toast.d.ts.map +1 -1
- package/lib/UI/Components/Toast.js +21 -21
- package/lib/UI/Components/Toaster.d.ts +6 -6
- package/lib/UI/Components/Toaster.d.ts.map +1 -1
- package/lib/UI/Components/Toaster.js +12 -13
- package/lib/UI/{FormExtensions.d.ts → Form.d.ts} +1 -1
- package/lib/UI/Form.d.ts.map +1 -0
- package/lib/UI/Tag.d.ts +15 -0
- package/lib/UI/Tag.d.ts.map +1 -0
- package/lib/UI/Tag.js +44 -0
- package/package.json +1 -1
- package/src/Client/{DateExtensions.ts → Date.ts} +13 -10
- package/src/Client/{StringExtensions.ts → String.ts} +0 -40
- package/src/Client/UI/Components/{MessageBox.ts → DialogBox.ts} +51 -106
- package/src/Client/UI/Components/LoadingIndicator.ts +57 -2
- package/src/Client/UI/Components/OfflineIndicator.ts +70 -7
- package/src/Client/UI/Components/Toast.ts +27 -27
- package/src/Client/UI/Components/Toaster.ts +14 -15
- package/src/Client/UI/Tag.ts +52 -0
- package/src/Client/tsconfig.json +0 -2
- package/lib/DateExtensions.d.ts.map +0 -1
- package/lib/FileExtensions.d.ts.map +0 -1
- package/lib/Hosting/Environment.d.ts +0 -22
- package/lib/Hosting/Environment.d.ts.map +0 -1
- package/lib/Hosting/Environment.js +0 -17
- package/lib/Hosting/HostEnvironment.d.ts +0 -61
- package/lib/Hosting/HostEnvironment.d.ts.map +0 -1
- package/lib/Hosting/HostEnvironment.js +0 -56
- package/lib/Net/Http/HttpMethod.d.ts +0 -46
- package/lib/Net/Http/HttpMethod.d.ts.map +0 -1
- package/lib/Net/Http/HttpMethod.js +0 -41
- package/lib/Net/Http/StatusCode.d.ts +0 -122
- package/lib/Net/Http/StatusCode.d.ts.map +0 -1
- package/lib/Net/Http/StatusCode.js +0 -117
- package/lib/Net/Mime/DispositionType.d.ts +0 -18
- package/lib/Net/Mime/DispositionType.d.ts.map +0 -1
- package/lib/Net/Mime/DispositionType.js +0 -13
- package/lib/Net/Mime/MediaType.d.ts +0 -151
- package/lib/Net/Mime/MediaType.d.ts.map +0 -1
- package/lib/Net/Mime/MediaType.js +0 -150
- package/lib/NumberExtensions.d.ts.map +0 -1
- package/lib/StringExtensions.d.ts.map +0 -1
- package/lib/UI/Components/MessageBox.d.ts.map +0 -1
- package/lib/UI/ElementExtensions.d.ts +0 -13
- package/lib/UI/ElementExtensions.d.ts.map +0 -1
- package/lib/UI/ElementExtensions.js +0 -18
- package/lib/UI/FormExtensions.d.ts.map +0 -1
- package/src/Client/Hosting/Environment.ts +0 -25
- package/src/Client/Hosting/HostEnvironment.ts +0 -86
- package/src/Client/Hosting/tsconfig.json +0 -13
- package/src/Client/Net/Http/HttpMethod.ts +0 -55
- package/src/Client/Net/Http/StatusCode.ts +0 -150
- package/src/Client/Net/Mime/DispositionType.ts +0 -20
- package/src/Client/Net/Mime/MediaType.ts +0 -185
- package/src/Client/Net/tsconfig.json +0 -13
- package/src/Client/UI/ElementExtensions.ts +0 -19
- /package/lib/{FileExtensions.js → File.js} +0 -0
- /package/lib/{NumberExtensions.js → Number.js} +0 -0
- /package/lib/UI/{FormExtensions.js → Form.js} +0 -0
- /package/src/Client/{FileExtensions.ts → File.ts} +0 -0
- /package/src/Client/{NumberExtensions.ts → Number.ts} +0 -0
- /package/src/Client/UI/{FormExtensions.ts → Form.ts} +0 -0
|
@@ -4,14 +4,39 @@
|
|
|
4
4
|
export declare class LoadingIndicator extends HTMLElement {
|
|
5
5
|
#private;
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* The list of observed attributes.
|
|
8
|
+
*/
|
|
9
|
+
static readonly observedAttributes: string[];
|
|
10
|
+
/**
|
|
11
|
+
* Value indicating whether to apply a transition.
|
|
12
|
+
*/
|
|
13
|
+
get fade(): boolean;
|
|
14
|
+
set fade(value: boolean);
|
|
15
|
+
/**
|
|
16
|
+
* Value indicating whether to initially show this component.
|
|
17
|
+
*/
|
|
18
|
+
get open(): boolean;
|
|
19
|
+
set open(value: boolean);
|
|
20
|
+
/**
|
|
21
|
+
* Method invoked when an attribute has been changed.
|
|
22
|
+
* @param attribute The attribute name.
|
|
23
|
+
* @param oldValue The previous attribute value.
|
|
24
|
+
* @param newValue The new attribute value.
|
|
25
|
+
*/
|
|
26
|
+
attributeChangedCallback(attribute: string, oldValue: string | null, newValue: string | null): void;
|
|
27
|
+
/**
|
|
28
|
+
* Method invoked when this component is connected.
|
|
29
|
+
*/
|
|
30
|
+
connectedCallback(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Hides this loading indicator.
|
|
8
33
|
* @param options Value indicating whether to force the loading indicator to hide.
|
|
9
34
|
*/
|
|
10
35
|
hide(options?: {
|
|
11
36
|
force?: boolean;
|
|
12
37
|
}): void;
|
|
13
38
|
/**
|
|
14
|
-
* Shows
|
|
39
|
+
* Shows this loading indicator.
|
|
15
40
|
*/
|
|
16
41
|
show(): void;
|
|
17
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingIndicator.d.ts","sourceRoot":"","sources":["../../../src/Client/UI/Components/LoadingIndicator.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;;
|
|
1
|
+
{"version":3,"file":"LoadingIndicator.d.ts","sourceRoot":"","sources":["../../../src/Client/UI/Components/LoadingIndicator.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;;IAEhD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,kBAAkB,WAAY;IAc9C;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CAElB;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAEtB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CAElB;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAEtB;IAED;;;;;OAKG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAC,IAAI,GAAG,IAAI;IAO/F;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;;OAGG;IACH,IAAI,CAAC,OAAO,GAAE;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAM,GAAG,IAAI;IAU3C;;OAEG;IACH,IAAI,IAAI,IAAI;CAcZ;AAED;;GAEG;AACH,OAAO,CAAC,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,qBAAqB;QAC9B,mBAAmB,EAAE,gBAAgB,CAAC;KACtC;CACD"}
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
* A component that shows up when an HTTP request starts, and hides when all concurrent HTTP requests are completed.
|
|
3
3
|
*/
|
|
4
4
|
export class LoadingIndicator extends HTMLElement {
|
|
5
|
+
/**
|
|
6
|
+
* The list of observed attributes.
|
|
7
|
+
*/
|
|
8
|
+
static observedAttributes = ["fade"];
|
|
5
9
|
/**
|
|
6
10
|
* The number of concurrent HTTP requests.
|
|
7
11
|
*/
|
|
@@ -13,7 +17,47 @@ export class LoadingIndicator extends HTMLElement {
|
|
|
13
17
|
customElements.define("loading-indicator", this);
|
|
14
18
|
}
|
|
15
19
|
/**
|
|
16
|
-
*
|
|
20
|
+
* Value indicating whether to apply a transition.
|
|
21
|
+
*/
|
|
22
|
+
get fade() {
|
|
23
|
+
return this.hasAttribute("fade");
|
|
24
|
+
}
|
|
25
|
+
set fade(value) {
|
|
26
|
+
this.toggleAttribute("fade", value);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Value indicating whether to initially show this component.
|
|
30
|
+
*/
|
|
31
|
+
get open() {
|
|
32
|
+
return this.hasAttribute("open");
|
|
33
|
+
}
|
|
34
|
+
set open(value) {
|
|
35
|
+
this.toggleAttribute("open", value);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Method invoked when an attribute has been changed.
|
|
39
|
+
* @param attribute The attribute name.
|
|
40
|
+
* @param oldValue The previous attribute value.
|
|
41
|
+
* @param newValue The new attribute value.
|
|
42
|
+
*/
|
|
43
|
+
attributeChangedCallback(attribute, oldValue, newValue) {
|
|
44
|
+
if (newValue != oldValue)
|
|
45
|
+
switch (attribute) {
|
|
46
|
+
case "fade":
|
|
47
|
+
this.#updateFade(newValue != null);
|
|
48
|
+
break;
|
|
49
|
+
// No default
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Method invoked when this component is connected.
|
|
54
|
+
*/
|
|
55
|
+
connectedCallback() {
|
|
56
|
+
if (this.open)
|
|
57
|
+
this.show();
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Hides this loading indicator.
|
|
17
61
|
* @param options Value indicating whether to force the loading indicator to hide.
|
|
18
62
|
*/
|
|
19
63
|
hide(options = {}) {
|
|
@@ -22,14 +66,23 @@ export class LoadingIndicator extends HTMLElement {
|
|
|
22
66
|
this.#requestCount = 0;
|
|
23
67
|
this.classList.add("hide");
|
|
24
68
|
this.classList.remove("show");
|
|
69
|
+
document.body.classList.remove("loading");
|
|
25
70
|
}
|
|
26
71
|
}
|
|
27
72
|
/**
|
|
28
|
-
* Shows
|
|
73
|
+
* Shows this loading indicator.
|
|
29
74
|
*/
|
|
30
75
|
show() {
|
|
31
76
|
this.#requestCount++;
|
|
32
77
|
this.classList.remove("hide");
|
|
33
78
|
this.classList.add("show");
|
|
79
|
+
document.body.classList.add("loading");
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Updates the value indicating whether to apply a transition.
|
|
83
|
+
* @param value The new value.
|
|
84
|
+
*/
|
|
85
|
+
#updateFade(value) {
|
|
86
|
+
this.classList.toggle("fade", value);
|
|
34
87
|
}
|
|
35
88
|
}
|
|
@@ -3,6 +3,27 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export declare class OfflineIndicator extends HTMLElement {
|
|
5
5
|
#private;
|
|
6
|
+
/**
|
|
7
|
+
* The list of observed attributes.
|
|
8
|
+
*/
|
|
9
|
+
static readonly observedAttributes: string[];
|
|
10
|
+
/**
|
|
11
|
+
* Value indicating whether to apply a transition.
|
|
12
|
+
*/
|
|
13
|
+
get fade(): boolean;
|
|
14
|
+
set fade(value: boolean);
|
|
15
|
+
/**
|
|
16
|
+
* Value indicating whether to initially show this component.
|
|
17
|
+
*/
|
|
18
|
+
get open(): boolean;
|
|
19
|
+
set open(value: boolean);
|
|
20
|
+
/**
|
|
21
|
+
* Method invoked when an attribute has been changed.
|
|
22
|
+
* @param attribute The attribute name.
|
|
23
|
+
* @param oldValue The previous attribute value.
|
|
24
|
+
* @param newValue The new attribute value.
|
|
25
|
+
*/
|
|
26
|
+
attributeChangedCallback(attribute: string, oldValue: string | null, newValue: string | null): void;
|
|
6
27
|
/**
|
|
7
28
|
* Method invoked when this component is connected.
|
|
8
29
|
*/
|
|
@@ -11,6 +32,14 @@ export declare class OfflineIndicator extends HTMLElement {
|
|
|
11
32
|
* Method invoked when this component is disconnected.
|
|
12
33
|
*/
|
|
13
34
|
disconnectedCallback(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Hides this offline indicator.
|
|
37
|
+
*/
|
|
38
|
+
hide(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Shows this offline indicator.
|
|
41
|
+
*/
|
|
42
|
+
show(): void;
|
|
14
43
|
}
|
|
15
44
|
/**
|
|
16
45
|
* Declaration merging.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OfflineIndicator.d.ts","sourceRoot":"","sources":["../../../src/Client/UI/Components/OfflineIndicator.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;;
|
|
1
|
+
{"version":3,"file":"OfflineIndicator.d.ts","sourceRoot":"","sources":["../../../src/Client/UI/Components/OfflineIndicator.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;;IAEhD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,kBAAkB,WAAY;IAS9C;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CAElB;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAEtB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CAElB;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAEtB;IAED;;;;;OAKG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAC,IAAI,GAAG,IAAI;IAO/F;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAMzB;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAI5B;;OAEG;IACH,IAAI,IAAI,IAAI;IAKZ;;OAEG;IACH,IAAI,IAAI,IAAI;CAoBZ;AAED;;GAEG;AACH,OAAO,CAAC,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,qBAAqB;QAC9B,mBAAmB,EAAE,gBAAgB,CAAC;KACtC;CACD"}
|
|
@@ -2,32 +2,95 @@
|
|
|
2
2
|
* A component that shows up when the network is unavailable, and hides when connectivity is restored.
|
|
3
3
|
*/
|
|
4
4
|
export class OfflineIndicator extends HTMLElement {
|
|
5
|
+
/**
|
|
6
|
+
* The list of observed attributes.
|
|
7
|
+
*/
|
|
8
|
+
static observedAttributes = ["fade"];
|
|
5
9
|
/**
|
|
6
10
|
* Registers the component.
|
|
7
11
|
*/
|
|
8
12
|
static {
|
|
9
13
|
customElements.define("offline-indicator", this);
|
|
10
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Value indicating whether to apply a transition.
|
|
17
|
+
*/
|
|
18
|
+
get fade() {
|
|
19
|
+
return this.hasAttribute("fade");
|
|
20
|
+
}
|
|
21
|
+
set fade(value) {
|
|
22
|
+
this.toggleAttribute("fade", value);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Value indicating whether to initially show this component.
|
|
26
|
+
*/
|
|
27
|
+
get open() {
|
|
28
|
+
return this.hasAttribute("open");
|
|
29
|
+
}
|
|
30
|
+
set open(value) {
|
|
31
|
+
this.toggleAttribute("open", value);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Method invoked when an attribute has been changed.
|
|
35
|
+
* @param attribute The attribute name.
|
|
36
|
+
* @param oldValue The previous attribute value.
|
|
37
|
+
* @param newValue The new attribute value.
|
|
38
|
+
*/
|
|
39
|
+
attributeChangedCallback(attribute, oldValue, newValue) {
|
|
40
|
+
if (newValue != oldValue)
|
|
41
|
+
switch (attribute) {
|
|
42
|
+
case "fade":
|
|
43
|
+
this.#updateFade(newValue != null);
|
|
44
|
+
break;
|
|
45
|
+
// No default
|
|
46
|
+
}
|
|
47
|
+
}
|
|
11
48
|
/**
|
|
12
49
|
* Method invoked when this component is connected.
|
|
13
50
|
*/
|
|
14
51
|
connectedCallback() {
|
|
15
|
-
this.#update();
|
|
16
52
|
for (const event of ["online", "offline"])
|
|
17
|
-
addEventListener(event, this.#
|
|
53
|
+
addEventListener(event, this.#updateVisibility);
|
|
54
|
+
if (this.open)
|
|
55
|
+
this.show();
|
|
56
|
+
else
|
|
57
|
+
this.#updateVisibility();
|
|
18
58
|
}
|
|
19
59
|
/**
|
|
20
60
|
* Method invoked when this component is disconnected.
|
|
21
61
|
*/
|
|
22
62
|
disconnectedCallback() {
|
|
23
63
|
for (const event of ["online", "offline"])
|
|
24
|
-
removeEventListener(event, this.#
|
|
64
|
+
removeEventListener(event, this.#updateVisibility);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Hides this offline indicator.
|
|
68
|
+
*/
|
|
69
|
+
hide() {
|
|
70
|
+
this.classList.remove("show");
|
|
71
|
+
this.classList.add("hide");
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Shows this offline indicator.
|
|
75
|
+
*/
|
|
76
|
+
show() {
|
|
77
|
+
this.classList.remove("hide");
|
|
78
|
+
this.classList.add("show");
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Updates the value indicating whether to apply a transition.
|
|
82
|
+
* @param value The new value.
|
|
83
|
+
*/
|
|
84
|
+
#updateFade(value) {
|
|
85
|
+
this.classList.toggle("fade", value);
|
|
25
86
|
}
|
|
26
87
|
/**
|
|
27
|
-
* Updates this component.
|
|
88
|
+
* Updates the visibility of this component.
|
|
28
89
|
*/
|
|
29
|
-
#
|
|
30
|
-
|
|
31
|
-
|
|
90
|
+
#updateVisibility = () => {
|
|
91
|
+
if (navigator.onLine)
|
|
92
|
+
this.hide();
|
|
93
|
+
else
|
|
94
|
+
this.show();
|
|
32
95
|
};
|
|
33
96
|
}
|
|
@@ -3,10 +3,6 @@ import { Context } from "../Context.js";
|
|
|
3
3
|
* Represents a notification.
|
|
4
4
|
*/
|
|
5
5
|
export interface IToast {
|
|
6
|
-
/**
|
|
7
|
-
* Value indicating whether to apply a fade transition.
|
|
8
|
-
*/
|
|
9
|
-
animation?: boolean;
|
|
10
6
|
/**
|
|
11
7
|
* Value indicating whether to automatically hide the toast.
|
|
12
8
|
*/
|
|
@@ -14,7 +10,7 @@ export interface IToast {
|
|
|
14
10
|
/**
|
|
15
11
|
* The child content displayed in the body.
|
|
16
12
|
*/
|
|
17
|
-
body: DocumentFragment
|
|
13
|
+
body: DocumentFragment;
|
|
18
14
|
/**
|
|
19
15
|
* The title displayed in the header.
|
|
20
16
|
*/
|
|
@@ -31,6 +27,10 @@ export interface IToast {
|
|
|
31
27
|
* The delay, in milliseconds, to hide the toast.
|
|
32
28
|
*/
|
|
33
29
|
delay?: number;
|
|
30
|
+
/**
|
|
31
|
+
* Value indicating whether to apply a transition.
|
|
32
|
+
*/
|
|
33
|
+
fade?: boolean;
|
|
34
34
|
/**
|
|
35
35
|
* The icon displayed next to the caption.
|
|
36
36
|
*/
|
|
@@ -45,11 +45,6 @@ export declare class Toast extends HTMLElement {
|
|
|
45
45
|
* The list of observed attributes.
|
|
46
46
|
*/
|
|
47
47
|
static readonly observedAttributes: string[];
|
|
48
|
-
/**
|
|
49
|
-
* Value indicating whether to apply a fade transition.
|
|
50
|
-
*/
|
|
51
|
-
get animation(): boolean;
|
|
52
|
-
set animation(value: boolean);
|
|
53
48
|
/**
|
|
54
49
|
* Value indicating whether to automatically hide this toast.
|
|
55
50
|
*/
|
|
@@ -83,13 +78,18 @@ export declare class Toast extends HTMLElement {
|
|
|
83
78
|
* The time elapsed since this component was initially shown, in milliseconds.
|
|
84
79
|
*/
|
|
85
80
|
get elapsedTime(): number;
|
|
81
|
+
/**
|
|
82
|
+
* Value indicating whether to apply a transition.
|
|
83
|
+
*/
|
|
84
|
+
get fade(): boolean;
|
|
85
|
+
set fade(value: boolean);
|
|
86
86
|
/**
|
|
87
87
|
* The icon displayed next to the caption.
|
|
88
88
|
*/
|
|
89
89
|
get icon(): string | null;
|
|
90
90
|
set icon(value: string | null);
|
|
91
91
|
/**
|
|
92
|
-
* Value indicating whether to initially show this
|
|
92
|
+
* Value indicating whether to initially show this component.
|
|
93
93
|
*/
|
|
94
94
|
get open(): boolean;
|
|
95
95
|
set open(value: boolean);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/Client/UI/Components/Toast.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAiB,MAAM,eAAe,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,MAAM;IAEtB;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/Client/UI/Components/Toast.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAiB,MAAM,eAAe,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,MAAM;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,gBAAgB,CAAC;IAEvB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAC,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,KAAM,SAAQ,WAAW;;IAErC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,kBAAkB,WAA0E;IAkC5G;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAE1B;IAED;;OAEG;IACH,IAAI,IAAI,CAAC,KAAK,EAAE,gBAAgB,EAE/B;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAExB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAGrB;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAEzB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,CAGzB;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAE7B;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAGlB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CAElB;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAEtB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,GAAC,IAAI,CAGtB;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,GAAC,IAAI,EAG1B;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CAElB;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAEtB;IAED;;;;;OAKG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAC,IAAI,GAAG,IAAI;IAa/F;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,iBAAiB,IAAI,IAAI;IASzB;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAK5B;;OAEG;IACH,IAAI,IAAI,IAAI;CAwFZ;AAED;;GAEG;AACH,OAAO,CAAC,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,qBAAqB;QAC9B,cAAc,EAAE,KAAK,CAAC;KACtB;CACD"}
|
|
@@ -7,7 +7,7 @@ export class Toast extends HTMLElement {
|
|
|
7
7
|
/**
|
|
8
8
|
* The list of observed attributes.
|
|
9
9
|
*/
|
|
10
|
-
static observedAttributes = ["
|
|
10
|
+
static observedAttributes = ["autohide", "caption", "context", "culture", "delay", "fade", "icon"];
|
|
11
11
|
/**
|
|
12
12
|
* The time units.
|
|
13
13
|
*/
|
|
@@ -34,15 +34,6 @@ export class Toast extends HTMLElement {
|
|
|
34
34
|
static {
|
|
35
35
|
customElements.define("toaster-item", this);
|
|
36
36
|
}
|
|
37
|
-
/**
|
|
38
|
-
* Value indicating whether to apply a fade transition.
|
|
39
|
-
*/
|
|
40
|
-
get animation() {
|
|
41
|
-
return this.hasAttribute("animation");
|
|
42
|
-
}
|
|
43
|
-
set animation(value) {
|
|
44
|
-
this.toggleAttribute("animation", value);
|
|
45
|
-
}
|
|
46
37
|
/**
|
|
47
38
|
* Value indicating whether to automatically hide this toast.
|
|
48
39
|
*/
|
|
@@ -103,6 +94,15 @@ export class Toast extends HTMLElement {
|
|
|
103
94
|
get elapsedTime() {
|
|
104
95
|
return Date.now() - this.#initialTime;
|
|
105
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Value indicating whether to apply a transition.
|
|
99
|
+
*/
|
|
100
|
+
get fade() {
|
|
101
|
+
return this.hasAttribute("fade");
|
|
102
|
+
}
|
|
103
|
+
set fade(value) {
|
|
104
|
+
this.toggleAttribute("fade", value);
|
|
105
|
+
}
|
|
106
106
|
/**
|
|
107
107
|
* The icon displayed next to the caption.
|
|
108
108
|
*/
|
|
@@ -117,7 +117,7 @@ export class Toast extends HTMLElement {
|
|
|
117
117
|
this.removeAttribute("icon");
|
|
118
118
|
}
|
|
119
119
|
/**
|
|
120
|
-
* Value indicating whether to initially show this
|
|
120
|
+
* Value indicating whether to initially show this component.
|
|
121
121
|
*/
|
|
122
122
|
get open() {
|
|
123
123
|
return this.hasAttribute("open");
|
|
@@ -134,9 +134,6 @@ export class Toast extends HTMLElement {
|
|
|
134
134
|
attributeChangedCallback(attribute, oldValue, newValue) {
|
|
135
135
|
if (newValue != oldValue)
|
|
136
136
|
switch (attribute) {
|
|
137
|
-
case "animation":
|
|
138
|
-
this.#updateAnimation(newValue != null);
|
|
139
|
-
break;
|
|
140
137
|
case "autohide":
|
|
141
138
|
this.#updateAutoHide(newValue != null);
|
|
142
139
|
break;
|
|
@@ -152,6 +149,9 @@ export class Toast extends HTMLElement {
|
|
|
152
149
|
case "delay":
|
|
153
150
|
this.#updateDelay(Number(newValue));
|
|
154
151
|
break;
|
|
152
|
+
case "fade":
|
|
153
|
+
this.#updateFade(newValue != null);
|
|
154
|
+
break;
|
|
155
155
|
case "icon":
|
|
156
156
|
this.#updateIcon(newValue);
|
|
157
157
|
break;
|
|
@@ -205,13 +205,6 @@ export class Toast extends HTMLElement {
|
|
|
205
205
|
}
|
|
206
206
|
return this.#formatter.format(Math.ceil(-elapsed), Toast.#timeUnits[index]);
|
|
207
207
|
}
|
|
208
|
-
/**
|
|
209
|
-
* Updates the value indicating whether to apply a fade transition.
|
|
210
|
-
* @param value The new value.
|
|
211
|
-
*/
|
|
212
|
-
#updateAnimation(value) {
|
|
213
|
-
this.firstElementChild.dataset.bsAnimation = value ? "true" : "false";
|
|
214
|
-
}
|
|
215
208
|
/**
|
|
216
209
|
* Updates the value indicating whether to automatically hide this toast.
|
|
217
210
|
* @param value The new value.
|
|
@@ -254,6 +247,13 @@ export class Toast extends HTMLElement {
|
|
|
254
247
|
const { elapsedTime } = this;
|
|
255
248
|
this.querySelector(".toast-header small").textContent = elapsedTime > 0 ? this.#formatTime(elapsedTime / 1_000) : "";
|
|
256
249
|
};
|
|
250
|
+
/**
|
|
251
|
+
* Updates the value indicating whether to apply a transition.
|
|
252
|
+
* @param value The new value.
|
|
253
|
+
*/
|
|
254
|
+
#updateFade(value) {
|
|
255
|
+
this.firstElementChild.dataset.bsAnimation = value ? "true" : "false";
|
|
256
|
+
}
|
|
257
257
|
/**
|
|
258
258
|
* Updates the icon displayed next to the caption.
|
|
259
259
|
* @param value The new value.
|
|
@@ -14,11 +14,6 @@ export declare class Toaster extends HTMLElement {
|
|
|
14
14
|
* Creates a new toaster.
|
|
15
15
|
*/
|
|
16
16
|
constructor();
|
|
17
|
-
/**
|
|
18
|
-
* Value indicating whether to apply a fade transition.
|
|
19
|
-
*/
|
|
20
|
-
get animation(): boolean;
|
|
21
|
-
set animation(value: boolean);
|
|
22
17
|
/**
|
|
23
18
|
* Value indicating whether to automatically hide the toasts.
|
|
24
19
|
*/
|
|
@@ -39,6 +34,11 @@ export declare class Toaster extends HTMLElement {
|
|
|
39
34
|
*/
|
|
40
35
|
get delay(): number;
|
|
41
36
|
set delay(value: number);
|
|
37
|
+
/**
|
|
38
|
+
* Value indicating whether to apply a transition.
|
|
39
|
+
*/
|
|
40
|
+
get fade(): boolean;
|
|
41
|
+
set fade(value: boolean);
|
|
42
42
|
/**
|
|
43
43
|
* The default icon displayed next to the captions.
|
|
44
44
|
*/
|
|
@@ -62,7 +62,7 @@ export declare class Toaster extends HTMLElement {
|
|
|
62
62
|
* @param caption The title displayed in the toast header.
|
|
63
63
|
* @param body The child content displayed in the toast body.
|
|
64
64
|
*/
|
|
65
|
-
show(context: Context, caption: string, body: DocumentFragment
|
|
65
|
+
show(context: Context, caption: string, body: DocumentFragment): void;
|
|
66
66
|
/**
|
|
67
67
|
* Shows a toast.
|
|
68
68
|
* @param toast The toast to show.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toaster.d.ts","sourceRoot":"","sources":["../../../src/Client/UI/Components/Toaster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Toaster.d.ts","sourceRoot":"","sources":["../../../src/Client/UI/Components/Toaster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,QAAQ,EAAQ,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,YAAY,CAAC;AAEvC;;GAEG;AACH,qBAAa,OAAQ,SAAQ,WAAW;;IAEvC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,kBAAkB,WAAgB;IAOlD;;OAEG;;IAaH;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAE1B;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAGrB;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAEzB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,CAGzB;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAE7B;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAGlB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CAElB;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAEtB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,GAAC,IAAI,CAGtB;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,GAAC,IAAI,EAG1B;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,QAAQ,CAGvB;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAE3B;IAED;;;;;OAKG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAC,IAAI,GAAG,IAAI;IAO/F;;;;;OAKG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAErE;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAsCzB;AAED;;GAEG;AACH,OAAO,CAAC,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,qBAAqB;QAC9B,mBAAmB,EAAE,OAAO,CAAC;KAC7B;CACD"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Context } from "../Context.js";
|
|
2
|
-
import { createDocumentFragment } from "../ElementExtensions.js";
|
|
3
2
|
import { Position, toCss } from "../Position.js";
|
|
4
3
|
/**
|
|
5
4
|
* Manages the notifications.
|
|
@@ -27,15 +26,6 @@ export class Toaster extends HTMLElement {
|
|
|
27
26
|
static {
|
|
28
27
|
customElements.define("toaster-container", this);
|
|
29
28
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Value indicating whether to apply a fade transition.
|
|
32
|
-
*/
|
|
33
|
-
get animation() {
|
|
34
|
-
return this.hasAttribute("animation");
|
|
35
|
-
}
|
|
36
|
-
set animation(value) {
|
|
37
|
-
this.toggleAttribute("animation", value);
|
|
38
|
-
}
|
|
39
29
|
/**
|
|
40
30
|
* Value indicating whether to automatically hide the toasts.
|
|
41
31
|
*/
|
|
@@ -75,6 +65,15 @@ export class Toaster extends HTMLElement {
|
|
|
75
65
|
set delay(value) {
|
|
76
66
|
this.setAttribute("delay", value.toString());
|
|
77
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Value indicating whether to apply a transition.
|
|
70
|
+
*/
|
|
71
|
+
get fade() {
|
|
72
|
+
return this.hasAttribute("fade");
|
|
73
|
+
}
|
|
74
|
+
set fade(value) {
|
|
75
|
+
this.toggleAttribute("fade", value);
|
|
76
|
+
}
|
|
78
77
|
/**
|
|
79
78
|
* The default icon displayed next to the captions.
|
|
80
79
|
*/
|
|
@@ -119,20 +118,20 @@ export class Toaster extends HTMLElement {
|
|
|
119
118
|
* @param caption The title displayed in the toast header.
|
|
120
119
|
* @param body The child content displayed in the toast body.
|
|
121
120
|
*/
|
|
122
|
-
show(toast, caption = "", body =
|
|
121
|
+
show(toast, caption = "", body = document.createDocumentFragment()) {
|
|
123
122
|
if (typeof toast == "string")
|
|
124
123
|
toast = { context: toast, caption, body };
|
|
125
124
|
const item = document.createElement("toaster-item");
|
|
126
125
|
const childContent = this.#toastTemplate.cloneNode(true).querySelector(".toast");
|
|
127
126
|
childContent.addEventListener("hidden.bs.toast", () => item.remove());
|
|
128
127
|
item.appendChild(childContent);
|
|
129
|
-
item.animation = toast.animation ?? this.animation;
|
|
130
128
|
item.autoHide = toast.autoHide ?? this.autoHide;
|
|
131
|
-
item.body =
|
|
129
|
+
item.body = toast.body;
|
|
132
130
|
item.caption = toast.caption;
|
|
133
131
|
item.context = toast.context ?? this.context;
|
|
134
132
|
item.culture = toast.culture ?? this.culture;
|
|
135
133
|
item.delay = toast.delay ?? this.delay;
|
|
134
|
+
item.fade = toast.fade ?? this.fade;
|
|
136
135
|
item.icon = toast.icon ?? this.icon;
|
|
137
136
|
this.firstElementChild.appendChild(item);
|
|
138
137
|
item.show();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../src/Client/UI/Form.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAC,iBAAiB,GAAC,mBAAmB,CAAC;AAEjF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,EAAE,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,GAAC,IAAI,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,WAAW,CAEtE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAGpD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAIlD"}
|
package/lib/UI/Tag.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a CSS stylesheet from the specified template literal.
|
|
3
|
+
* @param fragments The string fragments.
|
|
4
|
+
* @param values The interpolated values.
|
|
5
|
+
* @returns The CSS stylesheet corresponding to the specified template literal.
|
|
6
|
+
*/
|
|
7
|
+
export declare function css(fragments: TemplateStringsArray, ...values: unknown[]): CSSStyleSheet;
|
|
8
|
+
/**
|
|
9
|
+
* Creates a document fragment from the specified template literal.
|
|
10
|
+
* @param fragments The string fragments.
|
|
11
|
+
* @param values The interpolated values.
|
|
12
|
+
* @returns The document fragment corresponding to the specified template literal.
|
|
13
|
+
*/
|
|
14
|
+
export declare function html(fragments: TemplateStringsArray, ...values: unknown[]): DocumentFragment;
|
|
15
|
+
//# sourceMappingURL=Tag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tag.d.ts","sourceRoot":"","sources":["../../src/Client/UI/Tag.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,SAAS,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAQxF;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,SAAS,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAK5F"}
|
package/lib/UI/Tag.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a CSS stylesheet from the specified template literal.
|
|
3
|
+
* @param fragments The string fragments.
|
|
4
|
+
* @param values The interpolated values.
|
|
5
|
+
* @returns The CSS stylesheet corresponding to the specified template literal.
|
|
6
|
+
*/
|
|
7
|
+
export function css(fragments, ...values) {
|
|
8
|
+
const styleSheet = new CSSStyleSheet;
|
|
9
|
+
styleSheet.replaceSync(fragments.length == 1 ? fragments[0] : values.reduce((fragment, value, index) => fragment + stringFromCss(value) + fragments[index + 1], fragments[0]));
|
|
10
|
+
return styleSheet;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Creates a document fragment from the specified template literal.
|
|
14
|
+
* @param fragments The string fragments.
|
|
15
|
+
* @param values The interpolated values.
|
|
16
|
+
* @returns The document fragment corresponding to the specified template literal.
|
|
17
|
+
*/
|
|
18
|
+
export function html(fragments, ...values) {
|
|
19
|
+
return document.createRange().createContextualFragment(fragments.length == 1 ? fragments[0] : values.reduce((fragment, value, index) => fragment + stringFromHtml(value) + fragments[index + 1], fragments[0]));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Converts the specified value to a CSS string.
|
|
23
|
+
* @param value A value representing a CSS fragment.
|
|
24
|
+
* @returns The CSS string corresponding to the specified value.
|
|
25
|
+
*/
|
|
26
|
+
function stringFromCss(value) {
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
28
|
+
if (!(value instanceof CSSStyleSheet))
|
|
29
|
+
return value === null || typeof value == "undefined" ? "" : String(value);
|
|
30
|
+
return Array.from(value.cssRules).map(cssRule => cssRule.cssText).join("\n");
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Converts the specified value to an HTML string.
|
|
34
|
+
* @param value A value representing an HTML fragment.
|
|
35
|
+
* @returns The HTML string corresponding to the specified value.
|
|
36
|
+
*/
|
|
37
|
+
function stringFromHtml(value) {
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
39
|
+
if (!(value instanceof DocumentFragment))
|
|
40
|
+
return value === null || typeof value == "undefined" ? "" : String(value);
|
|
41
|
+
const element = document.createElement("div");
|
|
42
|
+
element.appendChild(value);
|
|
43
|
+
return element.innerHTML;
|
|
44
|
+
}
|