@indice/ng-components 0.2.32 → 0.2.33
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 +4 -4
- package/_styles.css +3457 -3457
- package/bundles/indice-ng-components.umd.js +3204 -3198
- package/bundles/indice-ng-components.umd.js.map +1 -1
- package/esm2015/indice-ng-components.js +6 -6
- package/esm2015/lib/controls/avatar-initials/avatar-initials.component.js +47 -47
- package/esm2015/lib/controls/collapsible-panel/collapsible-panel.component.js +20 -20
- package/esm2015/lib/controls/date-picker/date-picker.component.js +217 -217
- package/esm2015/lib/controls/drop-down-menu/drop-down-menu.component.js +62 -62
- package/esm2015/lib/controls/kpi-tile/kpi-tile.component.js +32 -32
- package/esm2015/lib/controls/list-view/list-column.component.js +19 -19
- package/esm2015/lib/controls/list-view/list-details-section.component.js +14 -14
- package/esm2015/lib/controls/list-view/list-tile.component.js +14 -14
- package/esm2015/lib/controls/list-view/list-view-empty-state.component.js +25 -25
- package/esm2015/lib/controls/list-view/list-view.component.js +133 -133
- package/esm2015/lib/controls/pager/pager.component.js +114 -114
- package/esm2015/lib/controls/side-pane/side-pane.component.js +71 -71
- package/esm2015/lib/controls/skeleton-loader/skeleton-loader.component.js +25 -25
- package/esm2015/lib/controls/toaster/toaster-container.component.js +28 -28
- package/esm2015/lib/controls/toaster/toaster.component.js +29 -29
- package/esm2015/lib/controls/toggle/toggle.component.js +56 -56
- package/esm2015/lib/directives/click-outside.directive.js +181 -181
- package/esm2015/lib/directives/dynamic-component-host.directive.js +17 -17
- package/esm2015/lib/helpers/base-list.component.js +182 -182
- package/esm2015/lib/icons.js +30 -30
- package/esm2015/lib/layouts/shell/shell-footer/shell-footer.component.js +17 -17
- package/esm2015/lib/layouts/shell/shell-header/shell-header.component.js +98 -98
- package/esm2015/lib/layouts/shell/shell-layout/shell-layout.component.js +92 -92
- package/esm2015/lib/layouts/views/form-layout/form-layout.component.js +72 -72
- package/esm2015/lib/layouts/views/model-view-layout/model-view-layout.component.js +47 -47
- package/esm2015/lib/layouts/views/side-view-layout/side-view-layout.component.js +73 -73
- package/esm2015/lib/layouts/views/view-layout/view-layout.component.js +87 -87
- package/esm2015/lib/ng-components.module.js +133 -133
- package/esm2015/lib/pages/auth/auth-callback/auth-callback.component.js +74 -74
- package/esm2015/lib/pages/auth/auth-renew/auth-renew.component.js +25 -25
- package/esm2015/lib/pages/auth/logged-out/logged-out.component.js +26 -26
- package/esm2015/lib/pages/http-status/error/error.component.js +15 -15
- package/esm2015/lib/pages/http-status/page-not-found/page-not-found.component.js +14 -14
- package/esm2015/lib/pages/http-status/unauthorized/unauthorized.component.js +22 -22
- package/esm2015/lib/pipes/address.pipe.js +17 -17
- package/esm2015/lib/pipes/duration-format.pipe.js +60 -60
- package/esm2015/lib/services/component-loader/component-loader-options.class.js +8 -8
- package/esm2015/lib/services/component-loader/component-loader.class.js +192 -192
- package/esm2015/lib/services/component-loader/component-loader.factory.js +35 -35
- package/esm2015/lib/services/component-loader/content-ref.class.js +13 -13
- package/esm2015/lib/services/modal-service/modal-backdrop-component.js +44 -44
- package/esm2015/lib/services/modal-service/modal-container-component.js +117 -117
- package/esm2015/lib/services/modal-service/modal-options.class.js +31 -31
- package/esm2015/lib/services/modal-service/modal-service.js +214 -214
- package/esm2015/lib/services/modal-service/modal-styles.class.js +11 -11
- package/esm2015/lib/services/modal-service/modal.class.js +24 -24
- package/esm2015/lib/services/toaster.service.js +23 -23
- package/esm2015/lib/tokens.js +4 -4
- package/esm2015/lib/types.js +104 -104
- package/esm2015/public-api.js +53 -53
- package/fesm2015/indice-ng-components.js +2758 -2758
- package/fesm2015/indice-ng-components.js.map +1 -1
- package/indice-ng-components.d.ts +6 -6
- package/indice-ng-components.metadata.json +1 -1
- package/lib/controls/avatar-initials/avatar-initials.component.d.ts +11 -11
- package/lib/controls/collapsible-panel/collapsible-panel.component.d.ts +7 -7
- package/lib/controls/date-picker/date-picker.component.d.ts +43 -43
- package/lib/controls/drop-down-menu/drop-down-menu.component.d.ts +22 -22
- package/lib/controls/kpi-tile/kpi-tile.component.d.ts +10 -10
- package/lib/controls/list-view/list-column.component.d.ts +6 -6
- package/lib/controls/list-view/list-details-section.component.d.ts +4 -4
- package/lib/controls/list-view/list-tile.component.d.ts +4 -4
- package/lib/controls/list-view/list-view-empty-state.component.d.ts +8 -8
- package/lib/controls/list-view/list-view.component.d.ts +50 -50
- package/lib/controls/pager/pager.component.d.ts +32 -32
- package/lib/controls/side-pane/side-pane.component.d.ts +15 -15
- package/lib/controls/skeleton-loader/skeleton-loader.component.d.ts +8 -8
- package/lib/controls/toaster/toaster-container.component.d.ts +10 -10
- package/lib/controls/toaster/toaster.component.d.ts +12 -12
- package/lib/controls/toggle/toggle.component.d.ts +16 -16
- package/lib/directives/click-outside.directive.d.ts +37 -37
- package/lib/directives/dynamic-component-host.directive.d.ts +6 -6
- package/lib/helpers/base-list.component.d.ts +39 -39
- package/lib/icons.d.ts +28 -28
- package/lib/layouts/shell/shell-footer/shell-footer.component.d.ts +5 -5
- package/lib/layouts/shell/shell-header/shell-header.component.d.ts +33 -33
- package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +23 -23
- package/lib/layouts/views/form-layout/form-layout.component.d.ts +21 -21
- package/lib/layouts/views/model-view-layout/model-view-layout.component.d.ts +22 -22
- package/lib/layouts/views/side-view-layout/side-view-layout.component.d.ts +24 -24
- package/lib/layouts/views/view-layout/view-layout.component.d.ts +27 -27
- package/lib/ng-components.module.d.ts +7 -7
- package/lib/pages/auth/auth-callback/auth-callback.component.d.ts +11 -11
- package/lib/pages/auth/auth-renew/auth-renew.component.d.ts +9 -9
- package/lib/pages/auth/logged-out/logged-out.component.d.ts +9 -9
- package/lib/pages/http-status/error/error.component.d.ts +5 -5
- package/lib/pages/http-status/page-not-found/page-not-found.component.d.ts +5 -5
- package/lib/pages/http-status/unauthorized/unauthorized.component.d.ts +8 -8
- package/lib/pipes/address.pipe.d.ts +5 -5
- package/lib/pipes/duration-format.pipe.d.ts +5 -5
- package/lib/services/component-loader/component-loader-options.class.d.ts +30 -30
- package/lib/services/component-loader/component-loader.class.d.ts +92 -92
- package/lib/services/component-loader/component-loader.factory.d.ts +21 -21
- package/lib/services/component-loader/content-ref.class.d.ts +12 -12
- package/lib/services/modal-service/modal-backdrop-component.d.ts +17 -17
- package/lib/services/modal-service/modal-container-component.d.ts +30 -30
- package/lib/services/modal-service/modal-options.class.d.ts +77 -77
- package/lib/services/modal-service/modal-service.d.ts +55 -55
- package/lib/services/modal-service/modal-styles.class.d.ts +10 -10
- package/lib/services/modal-service/modal.class.d.ts +40 -40
- package/lib/services/toaster.service.d.ts +8 -8
- package/lib/tokens.d.ts +4 -4
- package/lib/types.d.ts +124 -124
- package/modal.css +157 -157
- package/package.json +1 -1
- package/public-api.d.ts +41 -41
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
import { SidePaneOverlayType, SidePaneSize } from './../../types';
|
|
2
|
-
import { Router } from '@angular/router';
|
|
3
|
-
import { Component, Input, Inject, EventEmitter, Output } from '@angular/core';
|
|
4
|
-
import { DOCUMENT } from '@angular/common';
|
|
5
|
-
export class SidePaneComponent {
|
|
6
|
-
constructor(router, document) {
|
|
7
|
-
this.router = router;
|
|
8
|
-
this.document = document;
|
|
9
|
-
// tslint:disable-next-line:no-input-rename
|
|
10
|
-
this.showPane = false;
|
|
11
|
-
this.sizeContainerStyle = 'side-pane-box-size';
|
|
12
|
-
this.overlayStyle = 'side-pane-overlay';
|
|
13
|
-
this.onComplete = new EventEmitter();
|
|
14
|
-
}
|
|
15
|
-
ngOnDestroy() {
|
|
16
|
-
}
|
|
17
|
-
ngOnInit() {
|
|
18
|
-
}
|
|
19
|
-
onSidePaneActivated(component) {
|
|
20
|
-
var _a;
|
|
21
|
-
this.document.body.classList.add('modal-active');
|
|
22
|
-
let sizeStyleSuffix = '';
|
|
23
|
-
const state = (_a = this.router.getCurrentNavigation()) === null || _a === void 0 ? void 0 : _a.extras.state;
|
|
24
|
-
if (state) {
|
|
25
|
-
if (state.paneSize) {
|
|
26
|
-
if (state.paneSize === SidePaneSize.Small25) {
|
|
27
|
-
sizeStyleSuffix = '-25';
|
|
28
|
-
}
|
|
29
|
-
else if (state.paneSize === SidePaneSize.Medium50) {
|
|
30
|
-
sizeStyleSuffix = '-50';
|
|
31
|
-
}
|
|
32
|
-
else if (state.paneSize === SidePaneSize.Large75) {
|
|
33
|
-
sizeStyleSuffix = '-75';
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
if (state.paneOverlay) {
|
|
37
|
-
if (state.paneOverlay === SidePaneOverlayType.None) {
|
|
38
|
-
this.overlayStyle = 'side-pane-overlay-opacity-0';
|
|
39
|
-
}
|
|
40
|
-
else if (state.paneOverlay === SidePaneOverlayType.Dark) {
|
|
41
|
-
this.overlayStyle = 'side-pane-overlay-opacity-50';
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
this.overlayStyle = 'side-pane-overlay';
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
this.sizeContainerStyle = `side-pane-box-size${sizeStyleSuffix}`;
|
|
49
|
-
this.showPane = true;
|
|
50
|
-
}
|
|
51
|
-
onSidePaneDeactivated($event) {
|
|
52
|
-
this.document.body.classList.remove('modal-active');
|
|
53
|
-
this.showPane = false;
|
|
54
|
-
this.onComplete.emit(true);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
SidePaneComponent.decorators = [
|
|
58
|
-
{ type: Component, args: [{
|
|
59
|
-
selector: 'lib-side-pane',
|
|
60
|
-
template: "<div *ngIf=\"showPane\" class=\"side-pane-outer-container\" aria-labelledby=\"slide-over\" role=\"dialog\" aria-modal=\"true\">\n <div [class]=\"showPane ? overlayStyle : 'hidden'\" aria-hidden=\"true\"></div>\n <div [class]=\"showPane ? 'side-pane-container' : 'hidden'\">\n <div [class]=\"sizeContainerStyle\">\n <div class=\"side-pane\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n"
|
|
61
|
-
},] }
|
|
62
|
-
];
|
|
63
|
-
SidePaneComponent.ctorParameters = () => [
|
|
64
|
-
{ type: Router },
|
|
65
|
-
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
|
|
66
|
-
];
|
|
67
|
-
SidePaneComponent.propDecorators = {
|
|
68
|
-
showPane: [{ type: Input, args: ['visible',] }],
|
|
69
|
-
onComplete: [{ type: Output }]
|
|
70
|
-
};
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { SidePaneOverlayType, SidePaneSize } from './../../types';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { Component, Input, Inject, EventEmitter, Output } from '@angular/core';
|
|
4
|
+
import { DOCUMENT } from '@angular/common';
|
|
5
|
+
export class SidePaneComponent {
|
|
6
|
+
constructor(router, document) {
|
|
7
|
+
this.router = router;
|
|
8
|
+
this.document = document;
|
|
9
|
+
// tslint:disable-next-line:no-input-rename
|
|
10
|
+
this.showPane = false;
|
|
11
|
+
this.sizeContainerStyle = 'side-pane-box-size';
|
|
12
|
+
this.overlayStyle = 'side-pane-overlay';
|
|
13
|
+
this.onComplete = new EventEmitter();
|
|
14
|
+
}
|
|
15
|
+
ngOnDestroy() {
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
}
|
|
19
|
+
onSidePaneActivated(component) {
|
|
20
|
+
var _a;
|
|
21
|
+
this.document.body.classList.add('modal-active');
|
|
22
|
+
let sizeStyleSuffix = '';
|
|
23
|
+
const state = (_a = this.router.getCurrentNavigation()) === null || _a === void 0 ? void 0 : _a.extras.state;
|
|
24
|
+
if (state) {
|
|
25
|
+
if (state.paneSize) {
|
|
26
|
+
if (state.paneSize === SidePaneSize.Small25) {
|
|
27
|
+
sizeStyleSuffix = '-25';
|
|
28
|
+
}
|
|
29
|
+
else if (state.paneSize === SidePaneSize.Medium50) {
|
|
30
|
+
sizeStyleSuffix = '-50';
|
|
31
|
+
}
|
|
32
|
+
else if (state.paneSize === SidePaneSize.Large75) {
|
|
33
|
+
sizeStyleSuffix = '-75';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (state.paneOverlay) {
|
|
37
|
+
if (state.paneOverlay === SidePaneOverlayType.None) {
|
|
38
|
+
this.overlayStyle = 'side-pane-overlay-opacity-0';
|
|
39
|
+
}
|
|
40
|
+
else if (state.paneOverlay === SidePaneOverlayType.Dark) {
|
|
41
|
+
this.overlayStyle = 'side-pane-overlay-opacity-50';
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.overlayStyle = 'side-pane-overlay';
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
this.sizeContainerStyle = `side-pane-box-size${sizeStyleSuffix}`;
|
|
49
|
+
this.showPane = true;
|
|
50
|
+
}
|
|
51
|
+
onSidePaneDeactivated($event) {
|
|
52
|
+
this.document.body.classList.remove('modal-active');
|
|
53
|
+
this.showPane = false;
|
|
54
|
+
this.onComplete.emit(true);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
SidePaneComponent.decorators = [
|
|
58
|
+
{ type: Component, args: [{
|
|
59
|
+
selector: 'lib-side-pane',
|
|
60
|
+
template: "<div *ngIf=\"showPane\" class=\"side-pane-outer-container\" aria-labelledby=\"slide-over\" role=\"dialog\" aria-modal=\"true\">\r\n <div [class]=\"showPane ? overlayStyle : 'hidden'\" aria-hidden=\"true\"></div>\r\n <div [class]=\"showPane ? 'side-pane-container' : 'hidden'\">\r\n <div [class]=\"sizeContainerStyle\">\r\n <div class=\"side-pane\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n"
|
|
61
|
+
},] }
|
|
62
|
+
];
|
|
63
|
+
SidePaneComponent.ctorParameters = () => [
|
|
64
|
+
{ type: Router },
|
|
65
|
+
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
|
|
66
|
+
];
|
|
67
|
+
SidePaneComponent.propDecorators = {
|
|
68
|
+
showPane: [{ type: Input, args: ['visible',] }],
|
|
69
|
+
onComplete: [{ type: Output }]
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1wYW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9zaWRlLXBhbmUvc2lkZS1wYW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTTNDLE1BQU0sT0FBTyxpQkFBaUI7SUFPNUIsWUFBb0IsTUFBYyxFQUE0QixRQUFhO1FBQXZELFdBQU0sR0FBTixNQUFNLENBQVE7UUFBNEIsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQU4zRSwyQ0FBMkM7UUFDekIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUM1Qix1QkFBa0IsR0FBRyxvQkFBb0IsQ0FBQztRQUMxQyxpQkFBWSxHQUFHLG1CQUFtQixDQUFDO1FBQ2hDLGVBQVUsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUVNLENBQUM7SUFFakYsV0FBVztJQUNYLENBQUM7SUFFRCxRQUFRO0lBQ1IsQ0FBQztJQUVNLG1CQUFtQixDQUFDLFNBQWM7O1FBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDakQsSUFBSSxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLE1BQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSwwQ0FBRSxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQy9ELElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO2dCQUNsQixJQUFJLEtBQUssQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLE9BQU8sRUFBRTtvQkFDM0MsZUFBZSxHQUFHLEtBQUssQ0FBQztpQkFDekI7cUJBQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLFlBQVksQ0FBQyxRQUFRLEVBQUU7b0JBQ25ELGVBQWUsR0FBRyxLQUFLLENBQUM7aUJBQ3pCO3FCQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxZQUFZLENBQUMsT0FBTyxFQUFFO29CQUNsRCxlQUFlLEdBQUcsS0FBSyxDQUFDO2lCQUN6QjthQUNGO1lBQ0QsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO2dCQUNyQixJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssbUJBQW1CLENBQUMsSUFBSSxFQUFHO29CQUNuRCxJQUFJLENBQUMsWUFBWSxHQUFHLDZCQUE2QixDQUFDO2lCQUNuRDtxQkFBTSxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssbUJBQW1CLENBQUMsSUFBSSxFQUFFO29CQUN6RCxJQUFJLENBQUMsWUFBWSxHQUFHLDhCQUE4QixDQUFDO2lCQUNwRDtxQkFBTTtvQkFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLG1CQUFtQixDQUFDO2lCQUN6QzthQUNGO1NBQ0Y7UUFDRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcscUJBQXFCLGVBQWUsRUFBRSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxNQUFXO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7O1lBbkRGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsK2NBQXlDO2FBQzFDOzs7WUFQUSxNQUFNOzRDQWV3QixNQUFNLFNBQUMsUUFBUTs7O3VCQUxuRCxLQUFLLFNBQUMsU0FBUzt5QkFHZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2lkZVBhbmVPdmVybGF5VHlwZSwgU2lkZVBhbmVTaXplIH0gZnJvbSAnLi8uLi8uLi90eXBlcyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95LCBJbmplY3QsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNpZGUtcGFuZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGUtcGFuZS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNpZGVQYW5lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3Zpc2libGUnKSBzaG93UGFuZSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaXplQ29udGFpbmVyU3R5bGUgPSAnc2lkZS1wYW5lLWJveC1zaXplJztcclxuICBwdWJsaWMgb3ZlcmxheVN0eWxlID0gJ3NpZGUtcGFuZS1vdmVybGF5JztcclxuICBAT3V0cHV0KCkgb25Db21wbGV0ZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueSwpIHsgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQgIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNpZGVQYW5lQWN0aXZhdGVkKGNvbXBvbmVudDogYW55KTogdm9pZCAge1xyXG4gICAgdGhpcy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ21vZGFsLWFjdGl2ZScpO1xyXG4gICAgbGV0IHNpemVTdHlsZVN1ZmZpeCA9ICcnO1xyXG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnJvdXRlci5nZXRDdXJyZW50TmF2aWdhdGlvbigpPy5leHRyYXMuc3RhdGU7XHJcbiAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgaWYgKHN0YXRlLnBhbmVTaXplKSB7XHJcbiAgICAgICAgaWYgKHN0YXRlLnBhbmVTaXplID09PSBTaWRlUGFuZVNpemUuU21hbGwyNSkge1xyXG4gICAgICAgICAgc2l6ZVN0eWxlU3VmZml4ID0gJy0yNSc7XHJcbiAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS5wYW5lU2l6ZSA9PT0gU2lkZVBhbmVTaXplLk1lZGl1bTUwKSB7XHJcbiAgICAgICAgICBzaXplU3R5bGVTdWZmaXggPSAnLTUwJztcclxuICAgICAgICB9IGVsc2UgaWYgKHN0YXRlLnBhbmVTaXplID09PSBTaWRlUGFuZVNpemUuTGFyZ2U3NSkge1xyXG4gICAgICAgICAgc2l6ZVN0eWxlU3VmZml4ID0gJy03NSc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChzdGF0ZS5wYW5lT3ZlcmxheSkge1xyXG4gICAgICAgIGlmIChzdGF0ZS5wYW5lT3ZlcmxheSA9PT0gU2lkZVBhbmVPdmVybGF5VHlwZS5Ob25lKSAge1xyXG4gICAgICAgICAgdGhpcy5vdmVybGF5U3R5bGUgPSAnc2lkZS1wYW5lLW92ZXJsYXktb3BhY2l0eS0wJztcclxuICAgICAgICB9IGVsc2UgaWYgKHN0YXRlLnBhbmVPdmVybGF5ID09PSBTaWRlUGFuZU92ZXJsYXlUeXBlLkRhcmspIHtcclxuICAgICAgICAgIHRoaXMub3ZlcmxheVN0eWxlID0gJ3NpZGUtcGFuZS1vdmVybGF5LW9wYWNpdHktNTAnO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLm92ZXJsYXlTdHlsZSA9ICdzaWRlLXBhbmUtb3ZlcmxheSc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnNpemVDb250YWluZXJTdHlsZSA9IGBzaWRlLXBhbmUtYm94LXNpemUke3NpemVTdHlsZVN1ZmZpeH1gO1xyXG4gICAgdGhpcy5zaG93UGFuZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TaWRlUGFuZURlYWN0aXZhdGVkKCRldmVudDogYW55KTogdm9pZCAgeyAgXHJcbiAgICB0aGlzLmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbW9kYWwtYWN0aXZlJyk7XHJcbiAgICB0aGlzLnNob3dQYW5lID0gZmFsc2U7XHJcbiAgICB0aGlzLm9uQ29tcGxldGUuZW1pdCh0cnVlKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
export class SkeletonLoaderComponent {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.count = 5;
|
|
5
|
-
this.type = 'tiles'; // 'large-tile', 'table'
|
|
6
|
-
}
|
|
7
|
-
ngOnInit() {
|
|
8
|
-
}
|
|
9
|
-
counter(i) {
|
|
10
|
-
return new Array(i);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
SkeletonLoaderComponent.decorators = [
|
|
14
|
-
{ type: Component, args: [{
|
|
15
|
-
// tslint:disable-next-line:component-selector
|
|
16
|
-
selector: 'lib-skeleton-loader',
|
|
17
|
-
template: "<ng-container *ngSwitch=\"type\">\n <div class=\"cards-deck-4\" *ngSwitchCase=\"'tiles'\">\n <ng-container *ngFor=\"let i of counter(count)\">\n <div class=\"border border-light-blue-300 shadow rounded-sm p-4 max-w-sm w-full mx-auto\">\n <div class=\"animate-pulse flex space-x-4\">\n <div class=\"rounded-full bg-light-blue-400 h-12 w-12\"> </div>\n <div class=\"flex-1 space-y-4 py-1\">\n <div class=\"h-4 bg-light-blue-400 rounded w-3/4\"> </div>\n <div class=\"space-y-2\">\n <div class=\"h-4 bg-light-blue-400 rounded\"> </div>\n <div class=\"h-4 bg-light-blue-400 rounded w-5/6\"> </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n <div class=\"cards-deck-3\" *ngSwitchCase=\"'large-tiles'\">\n <ng-container *ngFor=\"let i of counter(count)\">\n <div class=\"border border-light-blue-300 shadow rounded-sm p-4 max-w-sm w-full mx-auto\">\n <div class=\"animate-pulse flex space-x-4\">\n <div class=\"rounded-full bg-light-blue-400 h-12 w-12\"> </div>\n <div class=\"rounded-full bg-light-blue-400 h-12 w-12\"> </div>\n <div class=\"rounded-full bg-light-blue-400 h-12 w-12\"> </div>\n <div class=\"flex-1 space-y-4 py-1\">\n <div class=\"h-4 bg-light-blue-400 rounded w-3/4\"> </div>\n <div class=\"space-y-2\">\n <div class=\"h-4 bg-light-blue-400 rounded\"> </div>\n <div class=\"h-4 bg-light-blue-400 rounded w-5/6\"> </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n <div class=\"cards-deck-1\" *ngSwitchCase=\"'table'\">\n <ng-container *ngFor=\"let i of counter(count)\">\n <div class=\"border border-light-blue-300 shadow rounded-sm p-4 max-w-sm w-full mx-auto mb-4\">\n <div class=\"animate-pulse flex space-x-4\">\n <div class=\"rounded-full bg-light-blue-400 h-12 w-12\"> </div>\n <div class=\"flex-1 space-y-4 py-1\">\n <div class=\"h-4 bg-light-blue-400 rounded w-3/4\"> </div>\n <div class=\"space-y-2\">\n <div class=\"h-4 bg-light-blue-400 rounded\"> </div>\n <div class=\"h-4 bg-light-blue-400 rounded w-5/6\"> </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n</ng-container>\n"
|
|
18
|
-
},] }
|
|
19
|
-
];
|
|
20
|
-
SkeletonLoaderComponent.ctorParameters = () => [];
|
|
21
|
-
SkeletonLoaderComponent.propDecorators = {
|
|
22
|
-
count: [{ type: Input }],
|
|
23
|
-
type: [{ type: Input }]
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
export class SkeletonLoaderComponent {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.count = 5;
|
|
5
|
+
this.type = 'tiles'; // 'large-tile', 'table'
|
|
6
|
+
}
|
|
7
|
+
ngOnInit() {
|
|
8
|
+
}
|
|
9
|
+
counter(i) {
|
|
10
|
+
return new Array(i);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
SkeletonLoaderComponent.decorators = [
|
|
14
|
+
{ type: Component, args: [{
|
|
15
|
+
// tslint:disable-next-line:component-selector
|
|
16
|
+
selector: 'lib-skeleton-loader',
|
|
17
|
+
template: "<ng-container *ngSwitch=\"type\">\r\n <div class=\"cards-deck-4\" *ngSwitchCase=\"'tiles'\">\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"border border-light-blue-300 shadow rounded-sm p-4 max-w-sm w-full mx-auto\">\r\n <div class=\"animate-pulse flex space-x-4\">\r\n <div class=\"rounded-full bg-light-blue-400 h-12 w-12\"> </div>\r\n <div class=\"flex-1 space-y-4 py-1\">\r\n <div class=\"h-4 bg-light-blue-400 rounded w-3/4\"> </div>\r\n <div class=\"space-y-2\">\r\n <div class=\"h-4 bg-light-blue-400 rounded\"> </div>\r\n <div class=\"h-4 bg-light-blue-400 rounded w-5/6\"> </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"cards-deck-3\" *ngSwitchCase=\"'large-tiles'\">\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"border border-light-blue-300 shadow rounded-sm p-4 max-w-sm w-full mx-auto\">\r\n <div class=\"animate-pulse flex space-x-4\">\r\n <div class=\"rounded-full bg-light-blue-400 h-12 w-12\"> </div>\r\n <div class=\"rounded-full bg-light-blue-400 h-12 w-12\"> </div>\r\n <div class=\"rounded-full bg-light-blue-400 h-12 w-12\"> </div>\r\n <div class=\"flex-1 space-y-4 py-1\">\r\n <div class=\"h-4 bg-light-blue-400 rounded w-3/4\"> </div>\r\n <div class=\"space-y-2\">\r\n <div class=\"h-4 bg-light-blue-400 rounded\"> </div>\r\n <div class=\"h-4 bg-light-blue-400 rounded w-5/6\"> </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"cards-deck-1\" *ngSwitchCase=\"'table'\">\r\n <ng-container *ngFor=\"let i of counter(count)\">\r\n <div class=\"border border-light-blue-300 shadow rounded-sm p-4 max-w-sm w-full mx-auto mb-4\">\r\n <div class=\"animate-pulse flex space-x-4\">\r\n <div class=\"rounded-full bg-light-blue-400 h-12 w-12\"> </div>\r\n <div class=\"flex-1 space-y-4 py-1\">\r\n <div class=\"h-4 bg-light-blue-400 rounded w-3/4\"> </div>\r\n <div class=\"space-y-2\">\r\n <div class=\"h-4 bg-light-blue-400 rounded\"> </div>\r\n <div class=\"h-4 bg-light-blue-400 rounded w-5/6\"> </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n"
|
|
18
|
+
},] }
|
|
19
|
+
];
|
|
20
|
+
SkeletonLoaderComponent.ctorParameters = () => [];
|
|
21
|
+
SkeletonLoaderComponent.propDecorators = {
|
|
22
|
+
count: [{ type: Input }],
|
|
23
|
+
type: [{ type: Input }]
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9za2VsZXRvbi1sb2FkZXIvc2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQU96RCxNQUFNLE9BQU8sdUJBQXVCO0lBR2xDO1FBRlMsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNWLFNBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyx3QkFBd0I7SUFDakMsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQztJQUVNLE9BQU8sQ0FBQyxDQUFTO1FBQ3RCLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIsQ0FBQzs7O1lBZkYsU0FBUyxTQUFDO2dCQUNULDhDQUE4QztnQkFDOUMsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsOGpGQUErQzthQUNoRDs7OztvQkFFRSxLQUFLO21CQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ2xpYi1za2VsZXRvbi1sb2FkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9za2VsZXRvbi1sb2FkZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTa2VsZXRvbkxvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgY291bnQgPSA1O1xyXG4gIEBJbnB1dCgpIHR5cGUgPSAndGlsZXMnOyAvLyAnbGFyZ2UtdGlsZScsICd0YWJsZSdcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb3VudGVyKGk6IG51bWJlcik6IG51bWJlcltdIHtcclxuICAgIHJldHVybiBuZXcgQXJyYXkoaSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { ToasterService } from '../../services/toaster.service';
|
|
3
|
-
export class ToasterContainerComponent {
|
|
4
|
-
constructor(toaster) {
|
|
5
|
-
this.toaster = toaster;
|
|
6
|
-
this.toasts = [];
|
|
7
|
-
}
|
|
8
|
-
ngOnInit() {
|
|
9
|
-
this.toaster.toast$
|
|
10
|
-
.subscribe(toast => {
|
|
11
|
-
this.toasts = [toast, ...this.toasts];
|
|
12
|
-
setTimeout(() => this.toasts.pop(), toast.delay || 6000);
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
remove(index) {
|
|
16
|
-
this.toasts = this.toasts.slice(0, index).concat(this.toasts.slice(index + 1));
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
ToasterContainerComponent.decorators = [
|
|
20
|
-
{ type: Component, args: [{
|
|
21
|
-
selector: 'lib-toaster-container',
|
|
22
|
-
template: "<lib-toaster *ngFor=\"let toast of toasts; let i=index\" [toast]=\"toast\" [i]=\"i\" (remove)=\"remove($event)\"></lib-toaster>\n"
|
|
23
|
-
},] }
|
|
24
|
-
];
|
|
25
|
-
ToasterContainerComponent.ctorParameters = () => [
|
|
26
|
-
{ type: ToasterService }
|
|
27
|
-
];
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { ToasterService } from '../../services/toaster.service';
|
|
3
|
+
export class ToasterContainerComponent {
|
|
4
|
+
constructor(toaster) {
|
|
5
|
+
this.toaster = toaster;
|
|
6
|
+
this.toasts = [];
|
|
7
|
+
}
|
|
8
|
+
ngOnInit() {
|
|
9
|
+
this.toaster.toast$
|
|
10
|
+
.subscribe(toast => {
|
|
11
|
+
this.toasts = [toast, ...this.toasts];
|
|
12
|
+
setTimeout(() => this.toasts.pop(), toast.delay || 6000);
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
remove(index) {
|
|
16
|
+
this.toasts = this.toasts.slice(0, index).concat(this.toasts.slice(index + 1));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
ToasterContainerComponent.decorators = [
|
|
20
|
+
{ type: Component, args: [{
|
|
21
|
+
selector: 'lib-toaster-container',
|
|
22
|
+
template: "<lib-toaster *ngFor=\"let toast of toasts; let i=index\" [toast]=\"toast\" [i]=\"i\" (remove)=\"remove($event)\"></lib-toaster>\r\n"
|
|
23
|
+
},] }
|
|
24
|
+
];
|
|
25
|
+
ToasterContainerComponent.ctorParameters = () => [
|
|
26
|
+
{ type: ToasterService }
|
|
27
|
+
];
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL3RvYXN0ZXIvdG9hc3Rlci1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBT2hFLE1BQU0sT0FBTyx5QkFBeUI7SUFJcEMsWUFBb0IsT0FBdUI7UUFBdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFGM0MsV0FBTSxHQUFZLEVBQUUsQ0FBQztJQUUwQixDQUFDO0lBRWhELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07YUFDaEIsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBYTtRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQzs7O1lBcEJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQywrSUFBaUQ7YUFDbEQ7OztZQU5RLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUb2FzdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RvYXN0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFRvYXN0IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdG9hc3Rlci1jb250YWluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdGVyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvYXN0ZXJDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICB0b2FzdHM6IFRvYXN0W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0b2FzdGVyOiBUb2FzdGVyU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50b2FzdGVyLnRvYXN0JFxyXG4gICAgICAuc3Vic2NyaWJlKHRvYXN0ID0+IHtcclxuICAgICAgICB0aGlzLnRvYXN0cyA9IFt0b2FzdCwgLi4udGhpcy50b2FzdHNdO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy50b2FzdHMucG9wKCksIHRvYXN0LmRlbGF5IHx8IDYwMDApO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbW92ZShpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvYXN0cyA9IHRoaXMudG9hc3RzLnNsaWNlKDAsIGluZGV4KS5jb25jYXQodGhpcy50b2FzdHMuc2xpY2UoaW5kZXggKyAxKSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
export class ToasterComponent {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.i = 0;
|
|
5
|
-
this.remove = new EventEmitter();
|
|
6
|
-
this.isMobile = false;
|
|
7
|
-
this.closed = false;
|
|
8
|
-
}
|
|
9
|
-
ngOnInit() {
|
|
10
|
-
window.screen.width > 640 ? this.isMobile = false : this.isMobile = true;
|
|
11
|
-
}
|
|
12
|
-
closeToast(index) {
|
|
13
|
-
this.closed = true;
|
|
14
|
-
setTimeout(() => this.remove.emit(index), 100);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
ToasterComponent.decorators = [
|
|
18
|
-
{ type: Component, args: [{
|
|
19
|
-
selector: 'lib-toaster',
|
|
20
|
-
template: "<div aria-live=\"assertive\"\n [ngClass]=\"closed ? 'toast-closed': 'toast z-50'\"\n [ngStyle]=\"isMobile ? { 'margin-bottom.px': i * 85 } : {'margin-top.px': i * 85 }\">\n <div class=\"toast-container\">\n <div class=\"toast-pill\">\n <div class=\"toast-context-padding\">\n <div class=\"toast-context\"\n [ngSwitch]=\"toast?.type\">\n <div class=\"toast-icon\"\n *ngSwitchCase=\"'info'\">\n <svg class=\"h-5 w-5 text-blue-400\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path fill-rule=\"evenodd\"\n d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\"\n clip-rule=\"evenodd\" />\n </svg>\n </div>\n <div class=\"toast-icon\"\n *ngSwitchCase=\"'success'\">\n <svg class=\"h-5 w-5 text-green-400\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n aria-hidden=\"true\">\n <path stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\n </svg>\n </div>\n <div class=\"toast-icon\"\n *ngSwitchCase=\"'error'\">\n <svg class=\"h-5 w-5 text-red-400\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path fill-rule=\"evenodd\"\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\"\n clip-rule=\"evenodd\" />\n </svg>\n </div>\n <div class=\"toast-icon\"\n *ngSwitchCase=\"'warning'\">\n <svg class=\"h-5 w-5 text-yellow-400\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path fill-rule=\"evenodd\"\n d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\"\n clip-rule=\"evenodd\" />\n </svg>\n </div>\n <div class=\"toast-icon\"\n *ngSwitchDefault>\n <svg class=\"h-5 w-5 text-green-400\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n aria-hidden=\"true\">\n <path stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\n </svg>\n </div>\n\n <div class=\"ml-3 w-0 flex-1\">\n <p class=\"toast-title\"\n *ngIf=\"toast?.title\">\n {{toast?.title}}\n </p>\n <p class=\"toast-body\">\n {{toast?.body}}\n </p>\n </div>\n <div class=\"toast-close-icon\">\n <button class=\"toast-close-button\"\n (click)=\"closeToast(i)\">\n <span class=\"sr-only\">Close</span>\n <!-- Heroicon name: solid/x -->\n <svg class=\"h-5 w-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path fill-rule=\"evenodd\"\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\n clip-rule=\"evenodd\" />\n </svg>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>"
|
|
21
|
-
},] }
|
|
22
|
-
];
|
|
23
|
-
ToasterComponent.ctorParameters = () => [];
|
|
24
|
-
ToasterComponent.propDecorators = {
|
|
25
|
-
toast: [{ type: Input }],
|
|
26
|
-
i: [{ type: Input }],
|
|
27
|
-
remove: [{ type: Output }]
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
export class ToasterComponent {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.i = 0;
|
|
5
|
+
this.remove = new EventEmitter();
|
|
6
|
+
this.isMobile = false;
|
|
7
|
+
this.closed = false;
|
|
8
|
+
}
|
|
9
|
+
ngOnInit() {
|
|
10
|
+
window.screen.width > 640 ? this.isMobile = false : this.isMobile = true;
|
|
11
|
+
}
|
|
12
|
+
closeToast(index) {
|
|
13
|
+
this.closed = true;
|
|
14
|
+
setTimeout(() => this.remove.emit(index), 100);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
ToasterComponent.decorators = [
|
|
18
|
+
{ type: Component, args: [{
|
|
19
|
+
selector: 'lib-toaster',
|
|
20
|
+
template: "<div aria-live=\"assertive\"\r\n [ngClass]=\"closed ? 'toast-closed': 'toast z-50'\"\r\n [ngStyle]=\"isMobile ? { 'margin-bottom.px': i * 85 } : {'margin-top.px': i * 85 }\">\r\n <div class=\"toast-container\">\r\n <div class=\"toast-pill\">\r\n <div class=\"toast-context-padding\">\r\n <div class=\"toast-context\"\r\n [ngSwitch]=\"toast?.type\">\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'info'\">\r\n <svg class=\"h-5 w-5 text-blue-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'success'\">\r\n <svg class=\"h-5 w-5 text-green-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'error'\">\r\n <svg class=\"h-5 w-5 text-red-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchCase=\"'warning'\">\r\n <svg class=\"h-5 w-5 text-yellow-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <div class=\"toast-icon\"\r\n *ngSwitchDefault>\r\n <svg class=\"h-5 w-5 text-green-400\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"2\"\r\n d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\" />\r\n </svg>\r\n </div>\r\n\r\n <div class=\"ml-3 w-0 flex-1\">\r\n <p class=\"toast-title\"\r\n *ngIf=\"toast?.title\">\r\n {{toast?.title}}\r\n </p>\r\n <p class=\"toast-body\">\r\n {{toast?.body}}\r\n </p>\r\n </div>\r\n <div class=\"toast-close-icon\">\r\n <button class=\"toast-close-button\"\r\n (click)=\"closeToast(i)\">\r\n <span class=\"sr-only\">Close</span>\r\n <!-- Heroicon name: solid/x -->\r\n <svg class=\"h-5 w-5\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\"\r\n aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\"\r\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>"
|
|
21
|
+
},] }
|
|
22
|
+
];
|
|
23
|
+
ToasterComponent.ctorParameters = () => [];
|
|
24
|
+
ToasterComponent.propDecorators = {
|
|
25
|
+
toast: [{ type: Input }],
|
|
26
|
+
i: [{ type: Input }],
|
|
27
|
+
remove: [{ type: Output }]
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvdG9hc3Rlci90b2FzdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTy9FLE1BQU0sT0FBTyxnQkFBZ0I7SUFRM0I7UUFMUyxNQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ0wsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdkMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixXQUFNLEdBQUcsS0FBSyxDQUFDO0lBRU4sQ0FBQztJQUVqQixRQUFRO1FBQ04sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDM0UsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7WUFyQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2Qixtd0pBQXVDO2FBQ3hDOzs7O29CQUdFLEtBQUs7Z0JBQ0wsS0FBSztxQkFDTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUb2FzdCB9IGZyb20gJy4uLy4uL3R5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRvYXN0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdGVyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9hc3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIHRvYXN0OiBUb2FzdCB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBpID0gMDtcclxuICBAT3V0cHV0KCkgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgcHVibGljIGlzTW9iaWxlID0gZmFsc2U7XHJcbiAgcHVibGljIGNsb3NlZCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHdpbmRvdy5zY3JlZW4ud2lkdGggPiA2NDAgPyB0aGlzLmlzTW9iaWxlID0gZmFsc2UgOiB0aGlzLmlzTW9iaWxlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZVRvYXN0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VkID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZW1vdmUuZW1pdChpbmRleCksIDEwMCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
export class ToggleComponent {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.valueChange = new EventEmitter();
|
|
6
|
-
this.onChange$ = undefined;
|
|
7
|
-
this.onTouched$ = undefined;
|
|
8
|
-
}
|
|
9
|
-
writeValue(obj) {
|
|
10
|
-
if (obj) {
|
|
11
|
-
this.value = obj || false;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
registerOnChange(fn) {
|
|
15
|
-
this.onChange$ = fn;
|
|
16
|
-
}
|
|
17
|
-
registerOnTouched(fn) {
|
|
18
|
-
this.onTouched$ = fn;
|
|
19
|
-
}
|
|
20
|
-
onBlur(event) {
|
|
21
|
-
if (this.onTouched$) {
|
|
22
|
-
this.onTouched$();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
ngOnInit() {
|
|
26
|
-
}
|
|
27
|
-
changeValue() {
|
|
28
|
-
this.value = !this.value;
|
|
29
|
-
this.valueChange.emit(this.value);
|
|
30
|
-
if (this.onChange$) {
|
|
31
|
-
this.onChange$(this.value);
|
|
32
|
-
}
|
|
33
|
-
if (this.onTouched$) {
|
|
34
|
-
this.onTouched$();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
ToggleComponent.decorators = [
|
|
39
|
-
{ type: Component, args: [{
|
|
40
|
-
selector: 'lib-toggle',
|
|
41
|
-
template: "<button type=\"button\"\n [ngClass]=\"value ? 'enabled' : 'disabled'\"\n class=\"toggle-button\"\n role=\"switch\"\n aria-checked=\"false\"\n aria-labelledby=\"isPrivate\"\n (click)=\"changeValue()\"\n (blur)=\"onBlur($event)\"\n value=\"{{value}}\"\n [disabled]=\"disabled\"\n [title]=\"disabled ? '\u03A4\u03BF \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B9\u03B4\u03C9\u03C4\u03B9\u03BA\u03CC' : '\u0399\u03B4\u03B9\u03C9\u03C4\u03B9\u03BA\u03CC'\">\n <span aria-hidden=\"true\"\n [ngClass]=\"value ? 'enabled-anim' : 'disabled-anim'\"\n class=\"toggle-span\"></span>\n</button>",
|
|
42
|
-
providers: [
|
|
43
|
-
{
|
|
44
|
-
provide: NG_VALUE_ACCESSOR,
|
|
45
|
-
useExisting: forwardRef(() => ToggleComponent),
|
|
46
|
-
multi: true
|
|
47
|
-
}
|
|
48
|
-
]
|
|
49
|
-
},] }
|
|
50
|
-
];
|
|
51
|
-
ToggleComponent.ctorParameters = () => [];
|
|
52
|
-
ToggleComponent.propDecorators = {
|
|
53
|
-
value: [{ type: Input }],
|
|
54
|
-
disabled: [{ type: Input }],
|
|
55
|
-
valueChange: [{ type: Output }]
|
|
56
|
-
};
|
|
1
|
+
import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
export class ToggleComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.valueChange = new EventEmitter();
|
|
6
|
+
this.onChange$ = undefined;
|
|
7
|
+
this.onTouched$ = undefined;
|
|
8
|
+
}
|
|
9
|
+
writeValue(obj) {
|
|
10
|
+
if (obj) {
|
|
11
|
+
this.value = obj || false;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
registerOnChange(fn) {
|
|
15
|
+
this.onChange$ = fn;
|
|
16
|
+
}
|
|
17
|
+
registerOnTouched(fn) {
|
|
18
|
+
this.onTouched$ = fn;
|
|
19
|
+
}
|
|
20
|
+
onBlur(event) {
|
|
21
|
+
if (this.onTouched$) {
|
|
22
|
+
this.onTouched$();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
}
|
|
27
|
+
changeValue() {
|
|
28
|
+
this.value = !this.value;
|
|
29
|
+
this.valueChange.emit(this.value);
|
|
30
|
+
if (this.onChange$) {
|
|
31
|
+
this.onChange$(this.value);
|
|
32
|
+
}
|
|
33
|
+
if (this.onTouched$) {
|
|
34
|
+
this.onTouched$();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
ToggleComponent.decorators = [
|
|
39
|
+
{ type: Component, args: [{
|
|
40
|
+
selector: 'lib-toggle',
|
|
41
|
+
template: "<button type=\"button\"\n [ngClass]=\"value ? 'enabled' : 'disabled'\"\n class=\"toggle-button\"\n role=\"switch\"\n aria-checked=\"false\"\n aria-labelledby=\"isPrivate\"\n (click)=\"changeValue()\"\n (blur)=\"onBlur($event)\"\n value=\"{{value}}\"\n [disabled]=\"disabled\"\n [title]=\"disabled ? '\u03A4\u03BF \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B9\u03B4\u03C9\u03C4\u03B9\u03BA\u03CC' : '\u0399\u03B4\u03B9\u03C9\u03C4\u03B9\u03BA\u03CC'\">\n <span aria-hidden=\"true\"\n [ngClass]=\"value ? 'enabled-anim' : 'disabled-anim'\"\n class=\"toggle-span\"></span>\n</button>",
|
|
42
|
+
providers: [
|
|
43
|
+
{
|
|
44
|
+
provide: NG_VALUE_ACCESSOR,
|
|
45
|
+
useExisting: forwardRef(() => ToggleComponent),
|
|
46
|
+
multi: true
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
},] }
|
|
50
|
+
];
|
|
51
|
+
ToggleComponent.ctorParameters = () => [];
|
|
52
|
+
ToggleComponent.propDecorators = {
|
|
53
|
+
value: [{ type: Input }],
|
|
54
|
+
disabled: [{ type: Input }],
|
|
55
|
+
valueChange: [{ type: Output }]
|
|
56
|
+
};
|
|
57
57
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFhekUsTUFBTSxPQUFPLGVBQWU7SUFVMUI7UUFMVSxnQkFBVyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRW5FLGNBQVMsR0FBb0IsU0FBUyxDQUFDO1FBQ3ZDLGVBQVUsR0FBb0IsU0FBUyxDQUFDO0lBRWhDLENBQUM7SUFDakIsVUFBVSxDQUFDLEdBQVE7UUFDakIsSUFBRyxHQUFHLEVBQUU7WUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxLQUFLLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQ0QsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQVU7UUFDdEIsSUFBRyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFRCxRQUFRO0lBQ1IsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QjtRQUNELElBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNsQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDOzs7WUFwREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QiwwdkJBQXNDO2dCQUN0QyxTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUM7d0JBQzlDLEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGO2FBQ0Y7Ozs7b0JBRUUsS0FBSzt1QkFFTCxLQUFLOzBCQUVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi10b2dnbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9nZ2xlLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUb2dnbGVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVG9nZ2xlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YWx1ZTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZDpib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Qm9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPEJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZSQ6IGFueSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBvblRvdWNoZWQkOiBhbnkgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIGlmKG9iaikge1xuICAgICAgdGhpcy52YWx1ZSA9IG9iaiB8fCBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSQgPSBmbjtcbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQkID0gZm47XG4gIH1cblxuICBwdWJsaWMgb25CbHVyKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZih0aGlzLm9uVG91Y2hlZCQpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkJCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgcHVibGljIGNoYW5nZVZhbHVlKCl7XG4gICAgdGhpcy52YWx1ZSA9ICF0aGlzLnZhbHVlO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICBpZih0aGlzLm9uQ2hhbmdlJCkge1xuICAgICAgdGhpcy5vbkNoYW5nZSQodGhpcy52YWx1ZSk7XG4gICAgfVxuICAgIGlmKHRoaXMub25Ub3VjaGVkJCkge1xuICAgICAgdGhpcy5vblRvdWNoZWQkKCk7XG4gICAgfVxuICB9XG59Il19
|