@theseam/ui-common 1.0.0-beta.6 → 1.0.0-beta.7
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/breadcrumbs/index.d.ts +1 -2
- package/buttons/index.d.ts +20 -13
- package/datatable/index.d.ts +8 -8
- package/dynamic/index.d.ts +5 -5
- package/fesm2022/theseam-ui-common-asset-reader.mjs +28 -29
- package/fesm2022/theseam-ui-common-asset-reader.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-breadcrumbs.mjs +25 -31
- package/fesm2022/theseam-ui-common-breadcrumbs.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-buttons.mjs +108 -66
- package/fesm2022/theseam-ui-common-buttons.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-card.mjs +21 -21
- package/fesm2022/theseam-ui-common-card.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-carousel.mjs +28 -30
- package/fesm2022/theseam-ui-common-carousel.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-checkbox.mjs +27 -27
- package/fesm2022/theseam-ui-common-checkbox.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-confirm-dialog.mjs +23 -27
- package/fesm2022/theseam-ui-common-confirm-dialog.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-core.mjs +31 -11
- package/fesm2022/theseam-ui-common-core.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-data-exporter.mjs +18 -19
- package/fesm2022/theseam-ui-common-data-exporter.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-data-filters.mjs +80 -64
- package/fesm2022/theseam-ui-common-data-filters.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs +51 -49
- package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-datatable-dynamic.mjs +145 -112
- package/fesm2022/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-datatable.mjs +581 -385
- package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs +12 -14
- package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-dynamic.mjs +60 -48
- package/fesm2022/theseam-ui-common-dynamic.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-footer-bar.mjs +9 -15
- package/fesm2022/theseam-ui-common-footer-bar.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-form-field-error.mjs +60 -43
- package/fesm2022/theseam-ui-common-form-field-error.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-form-field.mjs +120 -74
- package/fesm2022/theseam-ui-common-form-field.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-framework.mjs +669 -543
- package/fesm2022/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-google-maps.mjs +206 -149
- package/fesm2022/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-graphql.mjs +252 -195
- package/fesm2022/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-icon.mjs +125 -89
- package/fesm2022/theseam-ui-common-icon.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-layout.mjs +18 -26
- package/fesm2022/theseam-ui-common-layout.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-loading.mjs +19 -28
- package/fesm2022/theseam-ui-common-loading.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-menu.mjs +124 -95
- package/fesm2022/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-modal.mjs +177 -129
- package/fesm2022/theseam-ui-common-modal.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-models.mjs +3 -3
- package/fesm2022/theseam-ui-common-models.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-navigation-reload.mjs +13 -11
- package/fesm2022/theseam-ui-common-navigation-reload.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-popover.mjs +81 -88
- package/fesm2022/theseam-ui-common-popover.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-progress.mjs +15 -19
- package/fesm2022/theseam-ui-common-progress.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-rich-text.mjs +65 -52
- package/fesm2022/theseam-ui-common-rich-text.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-scrollbar.mjs +12 -9
- package/fesm2022/theseam-ui-common-scrollbar.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-services.mjs +41 -26
- package/fesm2022/theseam-ui-common-services.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-shared.mjs +123 -67
- package/fesm2022/theseam-ui-common-shared.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-storage.mjs +9 -6
- package/fesm2022/theseam-ui-common-storage.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-story-helpers.mjs +148 -86
- package/fesm2022/theseam-ui-common-story-helpers.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-tabbed.mjs +43 -39
- package/fesm2022/theseam-ui-common-tabbed.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-table-cell-type.mjs +34 -38
- package/fesm2022/theseam-ui-common-table-cell-type.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-table-cell-types.mjs +182 -144
- package/fesm2022/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-table.mjs +50 -39
- package/fesm2022/theseam-ui-common-table.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-tel-input.mjs +98 -63
- package/fesm2022/theseam-ui-common-tel-input.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-testing.mjs +13 -10
- package/fesm2022/theseam-ui-common-testing.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-tiled-select.mjs +54 -50
- package/fesm2022/theseam-ui-common-tiled-select.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-toggle-edit.mjs +41 -37
- package/fesm2022/theseam-ui-common-toggle-edit.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-toggle-group.mjs +30 -31
- package/fesm2022/theseam-ui-common-toggle-group.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-tooltip.mjs +225 -66
- package/fesm2022/theseam-ui-common-tooltip.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs +14 -12
- package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-utils.mjs +113 -77
- package/fesm2022/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-validators.mjs +10 -9
- package/fesm2022/theseam-ui-common-validators.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-vertical-list-filter.mjs +39 -17
- package/fesm2022/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-viewers.mjs +79 -56
- package/fesm2022/theseam-ui-common-viewers.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-widget.mjs +288 -314
- package/fesm2022/theseam-ui-common-widget.mjs.map +1 -1
- package/framework/base-layout/base-layout.component.scss +9 -4
- package/framework/base-layout/styles/_variables.scss +4 -9
- package/framework/dashboard/dashboard-widgets/dashboard-widgets.component.scss +6 -4
- package/framework/index.d.ts +6 -6
- package/framework/nav/nav-item/nav-item.component.scss +7 -6
- package/framework/nav/styles/_themes/light/_variables.scss +21 -5
- package/framework/nav/styles/_themes/primary/_variables.scss +21 -5
- package/framework/side-nav/side-nav-item/side-nav-item.component.scss +5 -2
- package/framework/side-nav/styles/_themes/light/_variables.scss +5 -1
- package/framework/side-nav/styles/_themes/primary/_variables.scss +25 -5
- package/graphql/index.d.ts +5 -5
- package/modal/README.md +5 -5
- package/modal/index.d.ts +1 -1
- package/models/index.d.ts +1 -1
- package/package.json +59 -59
- package/popover/index.d.ts +0 -2
- package/progress/progress-circle/styles/_variables.scss +15 -3
- package/story-helpers/index.d.ts +11 -1
- package/styles/bootstrap/_bootstrap.scss +34 -34
- package/styles/bootstrap/_bs-styles.scss +4 -8
- package/styles/bootstrap/_bs-utilities.scss +4 -4
- package/styles/bootstrap/_bs-variables.scss +65 -70
- package/styles/common/_forms.scss +9 -10
- package/styles/common/_global.scss +0 -1
- package/styles/common/_hacks.scss +1 -1
- package/styles/common/_table.scss +0 -1
- package/styles/common/_text.scss +3 -1
- package/styles/theme.scss +1 -1
- package/styles/vendor/ng-select/_ng-select-bs4.scss +292 -294
- package/styles/vendor/ngx-datatable/_ngx-datatable.scss +63 -32
- package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +37 -10
- package/styles/vendor/ngx-datatable/_themes/material/_variables.scss +3 -1
- package/styles/vendor/quill/_quill.scss +15 -9
- package/tel-input/README.md +27 -27
- package/utils/index.d.ts +3 -3
- package/viewers/index.d.ts +9 -2
- package/widget/_widget-theme.scss +1 -1
- package/widget/styles/_variables.scss +2 -2
- package/widget/widget/widget.component.scss +0 -2
- package/widget/widget-content-components/widget-tile/widget-tile.component.scss +1 -3
- package/widget/widget-footer/widget-footer.component.scss +0 -1
|
@@ -11,17 +11,15 @@ class TheSeamCardActionComponent {
|
|
|
11
11
|
theme = 'lightgray';
|
|
12
12
|
title;
|
|
13
13
|
isLastAction = false;
|
|
14
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
15
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
14
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCardActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
15
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamCardActionComponent, isStandalone: true, selector: "seam-card-action", inputs: { theme: "theme", title: "title", isLastAction: "isLastAction" }, host: { properties: { "class.border-left": "this._cssClassBorderLeft" } }, ngImport: i0, template: "<button\n type=\"button\"\n class=\"btn border-0 h-100\"\n [seamHoverClassToggle]=\"{\n default: 'btn-outline-lightgray',\n hover: 'btn-outline-' + theme,\n }\"\n [attr.title]=\"title\"\n [attr.data-last-action]=\"isLastAction ? 'true' : 'false'\"\n>\n <ng-content></ng-content>\n</button>\n", styles: [":host{display:block}.btn{transition:.5s ease-in-out}.btn:not([data-last-action=true]){border-radius:0}.btn[data-last-action=true]{border-radius:.25rem;border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:0}\n"], dependencies: [{ kind: "directive", type: TheSeamHoverClassToggleDirective, selector: "[seamHoverClassToggle]", inputs: ["seamHoverClassToggle"], exportAs: ["seamHoverClassToggle"] }] });
|
|
16
16
|
}
|
|
17
17
|
__decorate([
|
|
18
18
|
InputBoolean()
|
|
19
19
|
], TheSeamCardActionComponent.prototype, "isLastAction", void 0);
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCardActionComponent, decorators: [{
|
|
21
21
|
type: Component,
|
|
22
|
-
args: [{ selector: 'seam-card-action', imports: [
|
|
23
|
-
TheSeamHoverClassToggleDirective,
|
|
24
|
-
], template: "<button type=\"button\"\n class=\"btn border-0 h-100\"\n [seamHoverClassToggle]=\"{ default: 'btn-outline-lightgray', hover: 'btn-outline-' + theme }\"\n [attr.title]=\"title\"\n [attr.data-last-action]=\"isLastAction ? 'true' : 'false'\">\n <ng-content></ng-content>\n</button>\n", styles: [":host{display:block}.btn{transition:.5s ease-in-out}.btn:not([data-last-action=true]){border-radius:0}.btn[data-last-action=true]{border-radius:.25rem;border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:0}\n"] }]
|
|
22
|
+
args: [{ selector: 'seam-card-action', imports: [TheSeamHoverClassToggleDirective], template: "<button\n type=\"button\"\n class=\"btn border-0 h-100\"\n [seamHoverClassToggle]=\"{\n default: 'btn-outline-lightgray',\n hover: 'btn-outline-' + theme,\n }\"\n [attr.title]=\"title\"\n [attr.data-last-action]=\"isLastAction ? 'true' : 'false'\"\n>\n <ng-content></ng-content>\n</button>\n", styles: [":host{display:block}.btn{transition:.5s ease-in-out}.btn:not([data-last-action=true]){border-radius:0}.btn[data-last-action=true]{border-radius:.25rem;border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:0}\n"] }]
|
|
25
23
|
}], propDecorators: { _cssClassBorderLeft: [{
|
|
26
24
|
type: HostBinding,
|
|
27
25
|
args: ['class.border-left']
|
|
@@ -42,12 +40,14 @@ class TheSeamCardBodyComponent {
|
|
|
42
40
|
this._changesSubscription?.unsubscribe();
|
|
43
41
|
}
|
|
44
42
|
ngAfterViewInit() {
|
|
45
|
-
this._changesSubscription = this.TheSeamCardActionComponents?.changes
|
|
43
|
+
this._changesSubscription = this.TheSeamCardActionComponents?.changes
|
|
44
|
+
.pipe(startWith(this.TheSeamCardActionComponents), filter((v) => !!v), map((v) => v.toArray()), filter((v) => v && v.length > 0), tap((v) => setTimeout(() => (v[v.length - 1].isLastAction = true))))
|
|
45
|
+
.subscribe();
|
|
46
46
|
}
|
|
47
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
48
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
47
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCardBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamCardBodyComponent, isStandalone: true, selector: "seam-card-body", host: { properties: { "class.card-body": "this._cssClassCardBody", "class.p-0": "this._cssClassP0" } }, queries: [{ propertyName: "TheSeamCardActionComponents", predicate: TheSeamCardActionComponent }], ngImport: i0, template: "<div class=\"card-content p-2\">\n <ng-content></ng-content>\n</div>\n<div class=\"card--actions\">\n <ng-content select=\"seam-card-action\"></ng-content>\n</div>\n", styles: [":host{display:flex;flex-direction:row}.card-content{flex:1 1 auto;display:flex;flex-direction:row}.card--actions{display:flex;flex-direction:row}\n"] });
|
|
49
49
|
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCardBodyComponent, decorators: [{
|
|
51
51
|
type: Component,
|
|
52
52
|
args: [{ selector: 'seam-card-body', template: "<div class=\"card-content p-2\">\n <ng-content></ng-content>\n</div>\n<div class=\"card--actions\">\n <ng-content select=\"seam-card-action\"></ng-content>\n</div>\n", styles: [":host{display:flex;flex-direction:row}.card-content{flex:1 1 auto;display:flex;flex-direction:row}.card--actions{display:flex;flex-direction:row}\n"] }]
|
|
53
53
|
}], propDecorators: { _cssClassCardBody: [{
|
|
@@ -64,10 +64,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
64
64
|
class TheSeamCardHeaderComponent {
|
|
65
65
|
_cssClassCardHeader = true;
|
|
66
66
|
_cssClassPY0 = true;
|
|
67
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
68
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
67
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamCardHeaderComponent, isStandalone: true, selector: "seam-card-header", host: { properties: { "class.card-header": "this._cssClassCardHeader", "class.py-0": "this._cssClassPY0" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] });
|
|
69
69
|
}
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCardHeaderComponent, decorators: [{
|
|
71
71
|
type: Component,
|
|
72
72
|
args: [{ selector: 'seam-card-header', template: "<ng-content></ng-content>\n" }]
|
|
73
73
|
}], propDecorators: { _cssClassCardHeader: [{
|
|
@@ -80,10 +80,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
80
80
|
|
|
81
81
|
class TheSeamCardComponent {
|
|
82
82
|
_cssClassCard = true;
|
|
83
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
84
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
83
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
84
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamCardComponent, isStandalone: true, selector: "seam-card", host: { properties: { "class.card": "this._cssClassCard" } }, ngImport: i0, template: "<ng-content select=\"seam-card-header\"></ng-content>\n<ng-content select=\"seam-card-body\"></ng-content>\n", styles: [""] });
|
|
85
85
|
}
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCardComponent, decorators: [{
|
|
87
87
|
type: Component,
|
|
88
88
|
args: [{ selector: 'seam-card', template: "<ng-content select=\"seam-card-header\"></ng-content>\n<ng-content select=\"seam-card-body\"></ng-content>\n" }]
|
|
89
89
|
}], propDecorators: { _cssClassCard: [{
|
|
@@ -92,17 +92,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
92
92
|
}] } });
|
|
93
93
|
|
|
94
94
|
class TheSeamCardModule {
|
|
95
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
96
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
95
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
96
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCardModule, imports: [TheSeamCardComponent,
|
|
97
97
|
TheSeamCardHeaderComponent,
|
|
98
98
|
TheSeamCardBodyComponent,
|
|
99
99
|
TheSeamCardActionComponent], exports: [TheSeamCardComponent,
|
|
100
100
|
TheSeamCardHeaderComponent,
|
|
101
101
|
TheSeamCardBodyComponent,
|
|
102
102
|
TheSeamCardActionComponent] });
|
|
103
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
103
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCardModule });
|
|
104
104
|
}
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCardModule, decorators: [{
|
|
106
106
|
type: NgModule,
|
|
107
107
|
args: [{
|
|
108
108
|
imports: [
|
|
@@ -116,7 +116,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
116
116
|
TheSeamCardHeaderComponent,
|
|
117
117
|
TheSeamCardBodyComponent,
|
|
118
118
|
TheSeamCardActionComponent,
|
|
119
|
-
]
|
|
119
|
+
],
|
|
120
120
|
}]
|
|
121
121
|
}] });
|
|
122
122
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theseam-ui-common-card.mjs","sources":["../../../projects/ui-common/card/card-action/card-action.component.ts","../../../projects/ui-common/card/card-action/card-action.component.html","../../../projects/ui-common/card/card-body/card-body.component.ts","../../../projects/ui-common/card/card-body/card-body.component.html","../../../projects/ui-common/card/card-header/card-header.component.ts","../../../projects/ui-common/card/card-header/card-header.component.html","../../../projects/ui-common/card/card.component.ts","../../../projects/ui-common/card/card.component.html","../../../projects/ui-common/card/card.module.ts","../../../projects/ui-common/card/theseam-ui-common-card.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion'\nimport { Component, HostBinding, Input } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { ThemeTypes } from '@theseam/ui-common/models'\nimport { TheSeamHoverClassToggleDirective } from '@theseam/ui-common/shared'\n\n@Component({\n selector: 'seam-card-action',\n templateUrl: './card-action.component.html',\n styleUrls: ['./card-action.component.scss'],\n imports: [
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-card.mjs","sources":["../../../projects/ui-common/card/card-action/card-action.component.ts","../../../projects/ui-common/card/card-action/card-action.component.html","../../../projects/ui-common/card/card-body/card-body.component.ts","../../../projects/ui-common/card/card-body/card-body.component.html","../../../projects/ui-common/card/card-header/card-header.component.ts","../../../projects/ui-common/card/card-header/card-header.component.html","../../../projects/ui-common/card/card.component.ts","../../../projects/ui-common/card/card.component.html","../../../projects/ui-common/card/card.module.ts","../../../projects/ui-common/card/theseam-ui-common-card.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion'\nimport { Component, HostBinding, Input } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { ThemeTypes } from '@theseam/ui-common/models'\nimport { TheSeamHoverClassToggleDirective } from '@theseam/ui-common/shared'\n\n@Component({\n selector: 'seam-card-action',\n templateUrl: './card-action.component.html',\n styleUrls: ['./card-action.component.scss'],\n imports: [TheSeamHoverClassToggleDirective],\n})\nexport class TheSeamCardActionComponent {\n static ngAcceptInputType_isLastAction: BooleanInput\n\n @HostBinding('class.border-left') _cssClassBorderLeft = true\n\n @Input() theme: ThemeTypes | undefined | null = 'lightgray'\n\n @Input() title: string | undefined | null\n\n @Input() @InputBoolean() isLastAction = false\n}\n","<button\n type=\"button\"\n class=\"btn border-0 h-100\"\n [seamHoverClassToggle]=\"{\n default: 'btn-outline-lightgray',\n hover: 'btn-outline-' + theme,\n }\"\n [attr.title]=\"title\"\n [attr.data-last-action]=\"isLastAction ? 'true' : 'false'\"\n>\n <ng-content></ng-content>\n</button>\n","import {\n AfterViewInit,\n Component,\n ContentChildren,\n HostBinding,\n OnDestroy,\n QueryList,\n} from '@angular/core'\nimport { Subscription } from 'rxjs'\nimport { filter, map, startWith, tap } from 'rxjs/operators'\n\nimport { TheSeamCardActionComponent } from './../card-action/card-action.component'\n\n@Component({\n selector: 'seam-card-body',\n templateUrl: './card-body.component.html',\n styleUrls: ['./card-body.component.scss'],\n})\nexport class TheSeamCardBodyComponent implements OnDestroy, AfterViewInit {\n @HostBinding('class.card-body') _cssClassCardBody = true\n @HostBinding('class.p-0') _cssClassP0 = true\n\n @ContentChildren(TheSeamCardActionComponent)\n TheSeamCardActionComponents?: QueryList<TheSeamCardActionComponent>\n\n private _changesSubscription: Subscription | undefined\n\n ngOnDestroy() {\n this._changesSubscription?.unsubscribe()\n }\n\n ngAfterViewInit() {\n this._changesSubscription = this.TheSeamCardActionComponents?.changes\n .pipe(\n startWith(this.TheSeamCardActionComponents),\n filter((v) => !!v),\n map((v) => v.toArray() as TheSeamCardActionComponent[]),\n filter((v) => v && v.length > 0),\n tap((v) => setTimeout(() => (v[v.length - 1].isLastAction = true))),\n )\n .subscribe()\n }\n}\n","<div class=\"card-content p-2\">\n <ng-content></ng-content>\n</div>\n<div class=\"card--actions\">\n <ng-content select=\"seam-card-action\"></ng-content>\n</div>\n","import { Component, HostBinding } from '@angular/core'\n\n@Component({\n selector: 'seam-card-header',\n templateUrl: './card-header.component.html',\n styleUrls: ['./card-header.component.scss'],\n})\nexport class TheSeamCardHeaderComponent {\n @HostBinding('class.card-header') _cssClassCardHeader = true\n @HostBinding('class.py-0') _cssClassPY0 = true\n}\n","<ng-content></ng-content>\n","import { Component, HostBinding } from '@angular/core'\n\n@Component({\n selector: 'seam-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n})\nexport class TheSeamCardComponent {\n @HostBinding('class.card') _cssClassCard = true\n}\n","<ng-content select=\"seam-card-header\"></ng-content>\n<ng-content select=\"seam-card-body\"></ng-content>\n","import { NgModule } from '@angular/core'\n\nimport { TheSeamCardActionComponent } from './card-action/card-action.component'\nimport { TheSeamCardBodyComponent } from './card-body/card-body.component'\nimport { TheSeamCardHeaderComponent } from './card-header/card-header.component'\nimport { TheSeamCardComponent } from './card.component'\n\n@NgModule({\n imports: [\n TheSeamCardComponent,\n TheSeamCardHeaderComponent,\n TheSeamCardBodyComponent,\n TheSeamCardActionComponent,\n ],\n exports: [\n TheSeamCardComponent,\n TheSeamCardHeaderComponent,\n TheSeamCardBodyComponent,\n TheSeamCardActionComponent,\n ],\n})\nexport class TheSeamCardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -15,10 +15,10 @@ import { TheSeamButtonsModule } from '@theseam/ui-common/buttons';
|
|
|
15
15
|
|
|
16
16
|
class TheSeamCarouselSlideDirective {
|
|
17
17
|
template = inject((TemplateRef));
|
|
18
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
19
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCarouselSlideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
19
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamCarouselSlideDirective, isStandalone: true, selector: "[seamCarouselSlide]", exportAs: ["seamCarouselSlide"], ngImport: i0 });
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCarouselSlideDirective, decorators: [{
|
|
22
22
|
type: Directive,
|
|
23
23
|
args: [{
|
|
24
24
|
selector: '[seamCarouselSlide]',
|
|
@@ -105,17 +105,19 @@ class TheSeamCarouselComponent {
|
|
|
105
105
|
carouselStopped$ = this._carouselStopped.asObservable();
|
|
106
106
|
_resetInterval = new Subject();
|
|
107
107
|
constructor() {
|
|
108
|
-
this.activeSlide$ = this._pollActiveIndex.pipe(startWith(0), switchMap(i => this.slides$.pipe(map(slides => slides?.get(i)))));
|
|
108
|
+
this.activeSlide$ = this._pollActiveIndex.pipe(startWith(0), switchMap((i) => this.slides$.pipe(map((slides) => slides?.get(i)))));
|
|
109
109
|
}
|
|
110
110
|
ngOnInit() {
|
|
111
|
-
combineLatest([this.carouselPaused$, this.carouselStopped$])
|
|
111
|
+
combineLatest([this.carouselPaused$, this.carouselStopped$])
|
|
112
|
+
.pipe(tap(([paused, stopped]) => {
|
|
112
113
|
if (paused || stopped) {
|
|
113
114
|
this._resetInterval.next(undefined);
|
|
114
115
|
}
|
|
115
116
|
else {
|
|
116
117
|
this._startInterval();
|
|
117
118
|
}
|
|
118
|
-
}))
|
|
119
|
+
}))
|
|
120
|
+
.subscribe();
|
|
119
121
|
}
|
|
120
122
|
ngOnDestroy() {
|
|
121
123
|
this._resetInterval.next(undefined);
|
|
@@ -124,9 +126,11 @@ class TheSeamCarouselComponent {
|
|
|
124
126
|
_startInterval() {
|
|
125
127
|
this._resetInterval.next(undefined);
|
|
126
128
|
if (this.autoPlay) {
|
|
127
|
-
interval(this.slideInterval)
|
|
129
|
+
interval(this.slideInterval)
|
|
130
|
+
.pipe(takeUntil(this._resetInterval), tap(() => {
|
|
128
131
|
this.pageCarousel(1);
|
|
129
|
-
}))
|
|
132
|
+
}))
|
|
133
|
+
.subscribe();
|
|
130
134
|
}
|
|
131
135
|
}
|
|
132
136
|
focusIn() {
|
|
@@ -161,26 +165,28 @@ class TheSeamCarouselComponent {
|
|
|
161
165
|
this._pollActiveIndex.next(i);
|
|
162
166
|
}
|
|
163
167
|
pageCarousel(step) {
|
|
164
|
-
this.slides
|
|
168
|
+
this.slides$
|
|
169
|
+
.pipe(take(1), filter((slides) => notNullOrUndefined(slides)), map((slides) => {
|
|
165
170
|
const slidesLen = slides?.length || 1;
|
|
166
171
|
let index = this._pollActiveIndex.value;
|
|
167
172
|
index = index + step;
|
|
168
173
|
index = index < 0 ? slidesLen + index : index % slidesLen;
|
|
169
174
|
this._pollActiveIndex.next(index);
|
|
170
|
-
}))
|
|
175
|
+
}))
|
|
176
|
+
.subscribe();
|
|
171
177
|
}
|
|
172
178
|
toggleCarouselStop() {
|
|
173
179
|
const carouselStopped = this._carouselStopped.value;
|
|
174
180
|
this._carouselStopped.next(!carouselStopped);
|
|
175
181
|
}
|
|
176
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
177
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
182
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
183
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamCarouselComponent, isStandalone: true, selector: "seam-carousel", inputs: { slideInterval: "slideInterval", autoPlay: "autoPlay", pauseOnHover: "pauseOnHover", pauseOnFocus: "pauseOnFocus", showPager: "showPager", showNavButtons: "showNavButtons", showPauseButton: "showPauseButton" }, queries: [{ propertyName: "slides", predicate: TheSeamCarouselSlideDirective }], exportAs: ["seamCarousel"], ngImport: i0, template: "<ng-container *ngIf=\"slides$ | async as slides\">\n <div\n class=\"position-relative\"\n *ngIf=\"slides.length\"\n (focusin)=\"focusIn()\"\n (mouseenter)=\"mouseEnter()\"\n (focusout)=\"focusOut()\"\n (mouseleave)=\"mouseLeave()\"\n >\n <div class=\"d-flex\" style=\"min-height: 150px\">\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(-1)\"\n title=\"Go to previous slide\"\n >\n <seam-icon [icon]=\"faAngleLeft\"></seam-icon>\n </button>\n\n <div\n *ngIf=\"activeSlide$ | async as slide\"\n [@fadeInOut]=\"slide.template\"\n class=\"flex-grow-1 d-flex align-items-center\"\n >\n <div\n class=\"carousel-content w-100 py-1 px-2\"\n [attr.data-slide-index]=\"activeIndex$ | async\"\n >\n <ng-template [ngTemplateOutlet]=\"$any(slide.template)\"></ng-template>\n </div>\n </div>\n\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(1)\"\n title=\"Go to next slide\"\n >\n <seam-icon [icon]=\"faAngleRight\"></seam-icon>\n </button>\n </div>\n\n <div\n class=\"carousel-pages d-flex flex-wrap justify-content-center mt-3 mx-auto\"\n *ngIf=\"showPager && slides.length > 1\"\n >\n <button\n *ngFor=\"let q of slides; let i = index\"\n seamButton\n theme=\"light\"\n class=\"carousel-page\"\n [class.active]=\"(activeIndex$ | async) === i\"\n (click)=\"setCarousel(i)\"\n [title]=\"'Go to slide ' + (i + 1)\"\n ></button>\n </div>\n\n <div class=\"carousel-controls\" *ngIf=\"showPauseButton && autoPlay\">\n <button\n *ngIf=\"slides.length > 1\"\n seamButton\n (click)=\"toggleCarouselStop()\"\n [title]=\"(carouselStopped$ | async) ? 'Play' : 'Pause'\"\n >\n <seam-icon\n [icon]=\"faPlay\"\n *ngIf=\"carouselStopped$ | async; else pauseButton\"\n ></seam-icon>\n <ng-template #pauseButton>\n <seam-icon [icon]=\"faPause\"></seam-icon>\n </ng-template>\n </button>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:block}:host .carousel-arrow{color:#adb5bd}:host .carousel-pages{max-width:calc(100% - 40px)}:host .carousel-pages .carousel-page{padding:4px;border-radius:50%;margin:1px 3px}:host .carousel-controls{position:absolute;right:-5px;bottom:5px;opacity:0;transition:.3s ease}:host .carousel-controls button{font-size:12px;color:#adb5bd;width:20px;height:20px;padding:2px!important}:host:hover .carousel-controls{opacity:1}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TheSeamIconModule }, { kind: "component", type: i1.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "ngmodule", type: TheSeamButtonsModule }, { kind: "component", type: i2.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], animations: [
|
|
178
184
|
trigger('fadeInOut', [
|
|
179
185
|
transition('* => *', [
|
|
180
186
|
style({ opacity: '0', height: '*' }),
|
|
181
187
|
animate(250, style({ opacity: '1', height: '*' })),
|
|
182
188
|
]),
|
|
183
|
-
])
|
|
189
|
+
]),
|
|
184
190
|
] });
|
|
185
191
|
}
|
|
186
192
|
__decorate([
|
|
@@ -204,7 +210,7 @@ __decorate([
|
|
|
204
210
|
__decorate([
|
|
205
211
|
InputBoolean()
|
|
206
212
|
], TheSeamCarouselComponent.prototype, "showPauseButton", void 0);
|
|
207
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
213
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCarouselComponent, decorators: [{
|
|
208
214
|
type: Component,
|
|
209
215
|
args: [{ selector: 'seam-carousel', animations: [
|
|
210
216
|
trigger('fadeInOut', [
|
|
@@ -212,7 +218,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
212
218
|
style({ opacity: '0', height: '*' }),
|
|
213
219
|
animate(250, style({ opacity: '1', height: '*' })),
|
|
214
220
|
]),
|
|
215
|
-
])
|
|
221
|
+
]),
|
|
216
222
|
], exportAs: 'seamCarousel', imports: [
|
|
217
223
|
NgIf,
|
|
218
224
|
NgFor,
|
|
@@ -220,7 +226,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
220
226
|
AsyncPipe,
|
|
221
227
|
TheSeamIconModule,
|
|
222
228
|
TheSeamButtonsModule,
|
|
223
|
-
], template: "<ng-container *ngIf=\"slides$ | async as slides\">\n <div
|
|
229
|
+
], template: "<ng-container *ngIf=\"slides$ | async as slides\">\n <div\n class=\"position-relative\"\n *ngIf=\"slides.length\"\n (focusin)=\"focusIn()\"\n (mouseenter)=\"mouseEnter()\"\n (focusout)=\"focusOut()\"\n (mouseleave)=\"mouseLeave()\"\n >\n <div class=\"d-flex\" style=\"min-height: 150px\">\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(-1)\"\n title=\"Go to previous slide\"\n >\n <seam-icon [icon]=\"faAngleLeft\"></seam-icon>\n </button>\n\n <div\n *ngIf=\"activeSlide$ | async as slide\"\n [@fadeInOut]=\"slide.template\"\n class=\"flex-grow-1 d-flex align-items-center\"\n >\n <div\n class=\"carousel-content w-100 py-1 px-2\"\n [attr.data-slide-index]=\"activeIndex$ | async\"\n >\n <ng-template [ngTemplateOutlet]=\"$any(slide.template)\"></ng-template>\n </div>\n </div>\n\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(1)\"\n title=\"Go to next slide\"\n >\n <seam-icon [icon]=\"faAngleRight\"></seam-icon>\n </button>\n </div>\n\n <div\n class=\"carousel-pages d-flex flex-wrap justify-content-center mt-3 mx-auto\"\n *ngIf=\"showPager && slides.length > 1\"\n >\n <button\n *ngFor=\"let q of slides; let i = index\"\n seamButton\n theme=\"light\"\n class=\"carousel-page\"\n [class.active]=\"(activeIndex$ | async) === i\"\n (click)=\"setCarousel(i)\"\n [title]=\"'Go to slide ' + (i + 1)\"\n ></button>\n </div>\n\n <div class=\"carousel-controls\" *ngIf=\"showPauseButton && autoPlay\">\n <button\n *ngIf=\"slides.length > 1\"\n seamButton\n (click)=\"toggleCarouselStop()\"\n [title]=\"(carouselStopped$ | async) ? 'Play' : 'Pause'\"\n >\n <seam-icon\n [icon]=\"faPlay\"\n *ngIf=\"carouselStopped$ | async; else pauseButton\"\n ></seam-icon>\n <ng-template #pauseButton>\n <seam-icon [icon]=\"faPause\"></seam-icon>\n </ng-template>\n </button>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:block}:host .carousel-arrow{color:#adb5bd}:host .carousel-pages{max-width:calc(100% - 40px)}:host .carousel-pages .carousel-page{padding:4px;border-radius:50%;margin:1px 3px}:host .carousel-controls{position:absolute;right:-5px;bottom:5px;opacity:0;transition:.3s ease}:host .carousel-controls button{font-size:12px;color:#adb5bd;width:20px;height:20px;padding:2px!important}:host:hover .carousel-controls{opacity:1}\n"] }]
|
|
224
230
|
}], ctorParameters: () => [], propDecorators: { slideInterval: [{
|
|
225
231
|
type: Input
|
|
226
232
|
}], autoPlay: [{
|
|
@@ -241,23 +247,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
241
247
|
}] } });
|
|
242
248
|
|
|
243
249
|
class TheSeamCarouselModule {
|
|
244
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
245
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
246
|
-
|
|
247
|
-
TheSeamCarouselSlideDirective] });
|
|
248
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamCarouselModule, imports: [TheSeamCarouselComponent] });
|
|
250
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
251
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCarouselModule, imports: [TheSeamCarouselComponent, TheSeamCarouselSlideDirective], exports: [TheSeamCarouselComponent, TheSeamCarouselSlideDirective] });
|
|
252
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCarouselModule, imports: [TheSeamCarouselComponent] });
|
|
249
253
|
}
|
|
250
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCarouselModule, decorators: [{
|
|
251
255
|
type: NgModule,
|
|
252
256
|
args: [{
|
|
253
|
-
imports: [
|
|
254
|
-
|
|
255
|
-
TheSeamCarouselSlideDirective,
|
|
256
|
-
],
|
|
257
|
-
exports: [
|
|
258
|
-
TheSeamCarouselComponent,
|
|
259
|
-
TheSeamCarouselSlideDirective,
|
|
260
|
-
],
|
|
257
|
+
imports: [TheSeamCarouselComponent, TheSeamCarouselSlideDirective],
|
|
258
|
+
exports: [TheSeamCarouselComponent, TheSeamCarouselSlideDirective],
|
|
261
259
|
}]
|
|
262
260
|
}] });
|
|
263
261
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theseam-ui-common-carousel.mjs","sources":["../../../projects/ui-common/carousel/carousel-slide.directive.ts","../../../projects/ui-common/carousel/carousel.component.ts","../../../projects/ui-common/carousel/carousel.component.html","../../../projects/ui-common/carousel/carousel.module.ts","../../../projects/ui-common/carousel/theseam-ui-common-carousel.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamCarouselSlide]',\n exportAs: 'seamCarouselSlide',\n})\nexport class TheSeamCarouselSlideDirective {\n private readonly template = inject(TemplateRef<any>)\n}\n","import { animate, style, transition, trigger } from '@angular/animations'\nimport { AsyncPipe, NgFor, NgIf, NgTemplateOutlet } from '@angular/common'\nimport { Component, ContentChildren, Input, OnDestroy, OnInit, QueryList } from '@angular/core'\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion'\nimport { BehaviorSubject, combineLatest, interval, Observable, Subject } from 'rxjs'\nimport { filter, map, startWith, switchMap, take, takeUntil, tap } from 'rxjs/operators'\n\nimport { faAngleLeft, faAngleRight, faPause, faPlay } from '@fortawesome/free-solid-svg-icons'\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\n\nimport { TheSeamCarouselSlideDirective } from './carousel-slide.directive'\n\n@Component({\n selector: 'seam-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.scss'],\n animations: [\n trigger('fadeInOut', [\n transition('* => *', [\n style({ opacity: '0', height: '*' }),\n animate(250, style({ opacity: '1', height: '*' })),\n ]),\n ])\n ],\n exportAs: 'seamCarousel',\n imports: [\n NgIf,\n NgFor,\n NgTemplateOutlet,\n AsyncPipe,\n TheSeamIconModule,\n TheSeamButtonsModule,\n ],\n})\nexport class TheSeamCarouselComponent implements OnInit, OnDestroy {\n static ngAcceptInputType_slideInterval: NumberInput\n static ngAcceptInputType_autoPlay: BooleanInput\n static ngAcceptInputType_pauseOnHover: BooleanInput\n static ngAcceptInputType_pauseOnFocus: BooleanInput\n static ngAcceptInputType_showPager: BooleanInput\n static ngAcceptInputType_showNavButtons: BooleanInput\n static ngAcceptInputType_showPauseButton: BooleanInput\n\n readonly faAngleRight = faAngleRight\n readonly faAngleLeft = faAngleLeft\n readonly faPause = faPause\n readonly faPlay = faPlay\n\n /**\n * Duration in ms that slide is displayed before paging.\n * Only applicable when `autoPlay === true`.\n * Defaults to 10000ms.\n */\n @Input() @InputNumber(10000) slideInterval = 10000\n\n /**\n * When `true`, carousel will page automatically.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() autoPlay = true\n\n /**\n * When `true`, will pause automatic paging when user mouses over carousel.\n * Timer will restart when user mouses out.\n * Only applicable when `autoPlay === true`.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() pauseOnHover = true\n\n /**\n * When `true`, will pause automatic paging when user focuses in on item in carousel.\n * Timer will restart when user focuses out.\n * Only applicable when `autoPlay === true`.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() pauseOnFocus = true\n\n /**\n * When `true`, will show pager row at the bottom of the carousel with clickable buttons to navigate directly to a page.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() showPager = true\n\n /**\n * When `true`, will show left and right nav button on either side of the carousel to navigate through pages.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() showNavButtons = true\n\n /**\n * When `true`, will show pause/play button to stop/restart automatic paging.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() showPauseButton = true\n\n @ContentChildren(TheSeamCarouselSlideDirective)\n get slides(): QueryList<TheSeamCarouselSlideDirective> | undefined {\n return this._slides.value\n }\n set slides(value: QueryList<TheSeamCarouselSlideDirective> | undefined) {\n // Check if slides were added or removed that would make the active index not exist.\n const count = value?.length || 0\n const maxIdx = count >= 0 ? count - 1 : 0\n const activeIdx = this._pollActiveIndex.value\n if (activeIdx > maxIdx) {\n this._pollActiveIndex.next(maxIdx)\n } else if (count > 0 && activeIdx < 0) {\n this._pollActiveIndex.next(0)\n }\n\n this._slides.next(value)\n }\n private readonly _slides = new BehaviorSubject<QueryList<TheSeamCarouselSlideDirective> | undefined>(undefined)\n public readonly slides$ = this._slides.asObservable()\n\n public readonly activeSlide$: Observable<any | undefined>\n\n private readonly _pollActiveIndex = new BehaviorSubject<number>(0)\n public readonly activeIndex$ = this._pollActiveIndex.asObservable()\n\n private readonly _carouselPaused = new BehaviorSubject<boolean>(false)\n public readonly carouselPaused$ = this._carouselPaused.asObservable()\n\n private readonly _carouselStopped = new BehaviorSubject<boolean>(false)\n public readonly carouselStopped$ = this._carouselStopped.asObservable()\n\n private readonly _resetInterval = new Subject<void>()\n\n constructor() {\n this.activeSlide$ = this._pollActiveIndex.pipe(\n startWith(0),\n switchMap(i => this.slides$.pipe(\n map(slides => slides?.get(i)),\n )),\n )\n }\n\n ngOnInit(): void {\n combineLatest([this.carouselPaused$, this.carouselStopped$]).pipe(\n tap(([paused, stopped]) => {\n if (paused || stopped) {\n this._resetInterval.next(undefined)\n } else {\n this._startInterval()\n }\n }),\n ).subscribe()\n }\n\n ngOnDestroy(): void {\n this._resetInterval.next(undefined)\n this._resetInterval.complete()\n }\n\n private _startInterval() {\n this._resetInterval.next(undefined)\n if (this.autoPlay) {\n interval(this.slideInterval).pipe(\n takeUntil(this._resetInterval),\n tap(() => {\n this.pageCarousel(1)\n }),\n ).subscribe()\n }\n }\n\n focusIn() {\n if (this.pauseOnFocus) {\n this.pauseTimer()\n }\n }\n\n focusOut() {\n if (this.pauseOnFocus) {\n this.startTimer()\n }\n }\n\n mouseEnter() {\n if (this.pauseOnHover) {\n this.pauseTimer()\n }\n }\n\n mouseLeave() {\n if (this.pauseOnHover) {\n this.startTimer()\n }\n }\n\n pauseTimer() {\n this._carouselPaused.next(true)\n }\n\n startTimer() {\n if (!this._carouselStopped.value) {\n this._carouselPaused.next(false)\n }\n }\n\n setCarousel(i: number) {\n this._pollActiveIndex.next(i)\n }\n\n pageCarousel(step: number) {\n this.slides$.pipe(\n take(1),\n filter(slides => notNullOrUndefined(slides)),\n map(slides => {\n const slidesLen = slides?.length || 1\n let index = this._pollActiveIndex.value\n index = index + step\n index = index < 0 ? slidesLen + index : index % slidesLen\n this._pollActiveIndex.next(index)\n }),\n ).subscribe()\n }\n\n toggleCarouselStop() {\n const carouselStopped = this._carouselStopped.value\n this._carouselStopped.next(!carouselStopped)\n }\n}\n","<ng-container *ngIf=\"slides$ | async as slides\">\n <div class=\"position-relative\"\n *ngIf=\"slides.length\"\n (focusin)=\"focusIn()\"\n (mouseenter)=\"mouseEnter()\"\n (focusout)=\"focusOut()\"\n (mouseleave)=\"mouseLeave()\">\n\n <div class=\"d-flex\" style=\"min-height: 150px;\">\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(-1)\"\n title=\"Go to previous slide\">\n <seam-icon [icon]=\"faAngleLeft\"></seam-icon>\n </button>\n\n <div *ngIf=\"activeSlide$ | async as slide\" [@fadeInOut]=\"slide.template\" class=\"flex-grow-1 d-flex align-items-center\">\n <div class=\"carousel-content w-100 py-1 px-2\" [attr.data-slide-index]=\"activeIndex$ | async\">\n <ng-template [ngTemplateOutlet]=\"$any(slide.template)\"></ng-template>\n </div>\n </div>\n\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(1)\"\n title=\"Go to next slide\">\n <seam-icon [icon]=\"faAngleRight\"></seam-icon>\n </button>\n </div>\n\n <div class=\"carousel-pages d-flex flex-wrap justify-content-center mt-3 mx-auto\" *ngIf=\"showPager && slides.length > 1\">\n <button\n *ngFor=\"let q of slides; let i = index\"\n seamButton\n theme=\"light\"\n class=\"carousel-page\"\n [class.active]=\"(activeIndex$ | async) == i\"\n (click)=\"setCarousel(i)\"\n [title]=\"'Go to slide ' + (i + 1)\"></button>\n </div>\n\n <div class=\"carousel-controls\" *ngIf=\"showPauseButton && autoPlay\">\n <button\n *ngIf=\"slides.length > 1\"\n seamButton\n (click)=\"toggleCarouselStop()\"\n [title]=\"(carouselStopped$ | async) ? 'Play' : 'Pause'\">\n <seam-icon [icon]=\"faPlay\" *ngIf=\"carouselStopped$ | async; else pauseButton\"></seam-icon>\n <ng-template #pauseButton>\n <seam-icon [icon]=\"faPause\"></seam-icon>\n </ng-template>\n </button>\n </div>\n\n </div>\n</ng-container>\n","import { NgModule } from '@angular/core'\n\nimport { TheSeamCarouselSlideDirective } from './carousel-slide.directive'\nimport { TheSeamCarouselComponent } from './carousel.component'\n\n@NgModule({\n imports: [\n TheSeamCarouselComponent,\n TheSeamCarouselSlideDirective,\n ],\n exports: [\n TheSeamCarouselComponent,\n TheSeamCarouselSlideDirective,\n ],\n})\nexport class TheSeamCarouselModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-carousel.mjs","sources":["../../../projects/ui-common/carousel/carousel-slide.directive.ts","../../../projects/ui-common/carousel/carousel.component.ts","../../../projects/ui-common/carousel/carousel.component.html","../../../projects/ui-common/carousel/carousel.module.ts","../../../projects/ui-common/carousel/theseam-ui-common-carousel.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamCarouselSlide]',\n exportAs: 'seamCarouselSlide',\n})\nexport class TheSeamCarouselSlideDirective {\n private readonly template = inject(TemplateRef<any>)\n}\n","import { animate, style, transition, trigger } from '@angular/animations'\nimport { AsyncPipe, NgFor, NgIf, NgTemplateOutlet } from '@angular/common'\nimport {\n Component,\n ContentChildren,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n} from '@angular/core'\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion'\nimport {\n BehaviorSubject,\n combineLatest,\n interval,\n Observable,\n Subject,\n} from 'rxjs'\nimport {\n filter,\n map,\n startWith,\n switchMap,\n take,\n takeUntil,\n tap,\n} from 'rxjs/operators'\n\nimport {\n faAngleLeft,\n faAngleRight,\n faPause,\n faPlay,\n} from '@fortawesome/free-solid-svg-icons'\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\n\nimport { TheSeamCarouselSlideDirective } from './carousel-slide.directive'\n\n@Component({\n selector: 'seam-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.scss'],\n animations: [\n trigger('fadeInOut', [\n transition('* => *', [\n style({ opacity: '0', height: '*' }),\n animate(250, style({ opacity: '1', height: '*' })),\n ]),\n ]),\n ],\n exportAs: 'seamCarousel',\n imports: [\n NgIf,\n NgFor,\n NgTemplateOutlet,\n AsyncPipe,\n TheSeamIconModule,\n TheSeamButtonsModule,\n ],\n})\nexport class TheSeamCarouselComponent implements OnInit, OnDestroy {\n static ngAcceptInputType_slideInterval: NumberInput\n static ngAcceptInputType_autoPlay: BooleanInput\n static ngAcceptInputType_pauseOnHover: BooleanInput\n static ngAcceptInputType_pauseOnFocus: BooleanInput\n static ngAcceptInputType_showPager: BooleanInput\n static ngAcceptInputType_showNavButtons: BooleanInput\n static ngAcceptInputType_showPauseButton: BooleanInput\n\n readonly faAngleRight = faAngleRight\n readonly faAngleLeft = faAngleLeft\n readonly faPause = faPause\n readonly faPlay = faPlay\n\n /**\n * Duration in ms that slide is displayed before paging.\n * Only applicable when `autoPlay === true`.\n * Defaults to 10000ms.\n */\n @Input() @InputNumber(10000) slideInterval = 10000\n\n /**\n * When `true`, carousel will page automatically.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() autoPlay = true\n\n /**\n * When `true`, will pause automatic paging when user mouses over carousel.\n * Timer will restart when user mouses out.\n * Only applicable when `autoPlay === true`.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() pauseOnHover = true\n\n /**\n * When `true`, will pause automatic paging when user focuses in on item in carousel.\n * Timer will restart when user focuses out.\n * Only applicable when `autoPlay === true`.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() pauseOnFocus = true\n\n /**\n * When `true`, will show pager row at the bottom of the carousel with clickable buttons to navigate directly to a page.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() showPager = true\n\n /**\n * When `true`, will show left and right nav button on either side of the carousel to navigate through pages.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() showNavButtons = true\n\n /**\n * When `true`, will show pause/play button to stop/restart automatic paging.\n * Defaults to `true`.\n */\n @Input() @InputBoolean() showPauseButton = true\n\n @ContentChildren(TheSeamCarouselSlideDirective)\n get slides(): QueryList<TheSeamCarouselSlideDirective> | undefined {\n return this._slides.value\n }\n set slides(value: QueryList<TheSeamCarouselSlideDirective> | undefined) {\n // Check if slides were added or removed that would make the active index not exist.\n const count = value?.length || 0\n const maxIdx = count >= 0 ? count - 1 : 0\n const activeIdx = this._pollActiveIndex.value\n if (activeIdx > maxIdx) {\n this._pollActiveIndex.next(maxIdx)\n } else if (count > 0 && activeIdx < 0) {\n this._pollActiveIndex.next(0)\n }\n\n this._slides.next(value)\n }\n private readonly _slides = new BehaviorSubject<\n QueryList<TheSeamCarouselSlideDirective> | undefined\n >(undefined)\n public readonly slides$ = this._slides.asObservable()\n\n public readonly activeSlide$: Observable<any | undefined>\n\n private readonly _pollActiveIndex = new BehaviorSubject<number>(0)\n public readonly activeIndex$ = this._pollActiveIndex.asObservable()\n\n private readonly _carouselPaused = new BehaviorSubject<boolean>(false)\n public readonly carouselPaused$ = this._carouselPaused.asObservable()\n\n private readonly _carouselStopped = new BehaviorSubject<boolean>(false)\n public readonly carouselStopped$ = this._carouselStopped.asObservable()\n\n private readonly _resetInterval = new Subject<void>()\n\n constructor() {\n this.activeSlide$ = this._pollActiveIndex.pipe(\n startWith(0),\n switchMap((i) => this.slides$.pipe(map((slides) => slides?.get(i)))),\n )\n }\n\n ngOnInit(): void {\n combineLatest([this.carouselPaused$, this.carouselStopped$])\n .pipe(\n tap(([paused, stopped]) => {\n if (paused || stopped) {\n this._resetInterval.next(undefined)\n } else {\n this._startInterval()\n }\n }),\n )\n .subscribe()\n }\n\n ngOnDestroy(): void {\n this._resetInterval.next(undefined)\n this._resetInterval.complete()\n }\n\n private _startInterval() {\n this._resetInterval.next(undefined)\n if (this.autoPlay) {\n interval(this.slideInterval)\n .pipe(\n takeUntil(this._resetInterval),\n tap(() => {\n this.pageCarousel(1)\n }),\n )\n .subscribe()\n }\n }\n\n focusIn() {\n if (this.pauseOnFocus) {\n this.pauseTimer()\n }\n }\n\n focusOut() {\n if (this.pauseOnFocus) {\n this.startTimer()\n }\n }\n\n mouseEnter() {\n if (this.pauseOnHover) {\n this.pauseTimer()\n }\n }\n\n mouseLeave() {\n if (this.pauseOnHover) {\n this.startTimer()\n }\n }\n\n pauseTimer() {\n this._carouselPaused.next(true)\n }\n\n startTimer() {\n if (!this._carouselStopped.value) {\n this._carouselPaused.next(false)\n }\n }\n\n setCarousel(i: number) {\n this._pollActiveIndex.next(i)\n }\n\n pageCarousel(step: number) {\n this.slides$\n .pipe(\n take(1),\n filter((slides) => notNullOrUndefined(slides)),\n map((slides) => {\n const slidesLen = slides?.length || 1\n let index = this._pollActiveIndex.value\n index = index + step\n index = index < 0 ? slidesLen + index : index % slidesLen\n this._pollActiveIndex.next(index)\n }),\n )\n .subscribe()\n }\n\n toggleCarouselStop() {\n const carouselStopped = this._carouselStopped.value\n this._carouselStopped.next(!carouselStopped)\n }\n}\n","<ng-container *ngIf=\"slides$ | async as slides\">\n <div\n class=\"position-relative\"\n *ngIf=\"slides.length\"\n (focusin)=\"focusIn()\"\n (mouseenter)=\"mouseEnter()\"\n (focusout)=\"focusOut()\"\n (mouseleave)=\"mouseLeave()\"\n >\n <div class=\"d-flex\" style=\"min-height: 150px\">\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(-1)\"\n title=\"Go to previous slide\"\n >\n <seam-icon [icon]=\"faAngleLeft\"></seam-icon>\n </button>\n\n <div\n *ngIf=\"activeSlide$ | async as slide\"\n [@fadeInOut]=\"slide.template\"\n class=\"flex-grow-1 d-flex align-items-center\"\n >\n <div\n class=\"carousel-content w-100 py-1 px-2\"\n [attr.data-slide-index]=\"activeIndex$ | async\"\n >\n <ng-template [ngTemplateOutlet]=\"$any(slide.template)\"></ng-template>\n </div>\n </div>\n\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(1)\"\n title=\"Go to next slide\"\n >\n <seam-icon [icon]=\"faAngleRight\"></seam-icon>\n </button>\n </div>\n\n <div\n class=\"carousel-pages d-flex flex-wrap justify-content-center mt-3 mx-auto\"\n *ngIf=\"showPager && slides.length > 1\"\n >\n <button\n *ngFor=\"let q of slides; let i = index\"\n seamButton\n theme=\"light\"\n class=\"carousel-page\"\n [class.active]=\"(activeIndex$ | async) === i\"\n (click)=\"setCarousel(i)\"\n [title]=\"'Go to slide ' + (i + 1)\"\n ></button>\n </div>\n\n <div class=\"carousel-controls\" *ngIf=\"showPauseButton && autoPlay\">\n <button\n *ngIf=\"slides.length > 1\"\n seamButton\n (click)=\"toggleCarouselStop()\"\n [title]=\"(carouselStopped$ | async) ? 'Play' : 'Pause'\"\n >\n <seam-icon\n [icon]=\"faPlay\"\n *ngIf=\"carouselStopped$ | async; else pauseButton\"\n ></seam-icon>\n <ng-template #pauseButton>\n <seam-icon [icon]=\"faPause\"></seam-icon>\n </ng-template>\n </button>\n </div>\n </div>\n</ng-container>\n","import { NgModule } from '@angular/core'\n\nimport { TheSeamCarouselSlideDirective } from './carousel-slide.directive'\nimport { TheSeamCarouselComponent } from './carousel.component'\n\n@NgModule({\n imports: [TheSeamCarouselComponent, TheSeamCarouselSlideDirective],\n exports: [TheSeamCarouselComponent, TheSeamCarouselSlideDirective],\n})\nexport class TheSeamCarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -90,9 +90,8 @@ class TheSeamCheckboxChange {
|
|
|
90
90
|
}
|
|
91
91
|
const THESEAM_CHECKBOX_CONTROL_VALUE_ACCESSOR = {
|
|
92
92
|
provide: NG_VALUE_ACCESSOR,
|
|
93
|
-
// tslint:disable-next-line: no-use-before-declare
|
|
94
93
|
useExisting: forwardRef(() => TheSeamCheckboxComponent),
|
|
95
|
-
multi: true
|
|
94
|
+
multi: true,
|
|
96
95
|
};
|
|
97
96
|
class TheSeamCheckboxComponentBase {
|
|
98
97
|
_elementRef;
|
|
@@ -117,7 +116,9 @@ class TheSeamCheckboxComponent extends _TheSeamCheckboxMixinBase {
|
|
|
117
116
|
/** A unique id for the checkbox input. If none is supplied, it will be auto-generated. */
|
|
118
117
|
id = this._uid;
|
|
119
118
|
/** Returns the unique id for the input. */
|
|
120
|
-
get inputId() {
|
|
119
|
+
get inputId() {
|
|
120
|
+
return `${this.id || this._uid}`;
|
|
121
|
+
}
|
|
121
122
|
/**
|
|
122
123
|
* Attached to the aria-label attribute of the host element. In most cases, aria-labelledby will
|
|
123
124
|
* take precedence so this may be omitted.
|
|
@@ -130,7 +131,9 @@ class TheSeamCheckboxComponent extends _TheSeamCheckboxMixinBase {
|
|
|
130
131
|
/** Whether the checkbox is required. */
|
|
131
132
|
required = false;
|
|
132
133
|
/** Whether the checkbox is checked. */
|
|
133
|
-
get checked() {
|
|
134
|
+
get checked() {
|
|
135
|
+
return this._checked;
|
|
136
|
+
}
|
|
134
137
|
set checked(value) {
|
|
135
138
|
const newValue = coerceBooleanProperty(value);
|
|
136
139
|
if (newValue !== this.checked) {
|
|
@@ -145,7 +148,9 @@ class TheSeamCheckboxComponent extends _TheSeamCheckboxMixinBase {
|
|
|
145
148
|
*/
|
|
146
149
|
// This fully overrides the implementation provided by mixinDisabled, but the
|
|
147
150
|
// mixin is still required because mixinTabIndex requires it.
|
|
148
|
-
get disabled() {
|
|
151
|
+
get disabled() {
|
|
152
|
+
return this._disabled;
|
|
153
|
+
}
|
|
149
154
|
set disabled(value) {
|
|
150
155
|
const newValue = coerceBooleanProperty(value);
|
|
151
156
|
if (newValue !== this.disabled) {
|
|
@@ -161,7 +166,9 @@ class TheSeamCheckboxComponent extends _TheSeamCheckboxMixinBase {
|
|
|
161
166
|
* checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately
|
|
162
167
|
* set to false.
|
|
163
168
|
*/
|
|
164
|
-
get indeterminate() {
|
|
169
|
+
get indeterminate() {
|
|
170
|
+
return this._indeterminate;
|
|
171
|
+
}
|
|
165
172
|
set indeterminate(value) {
|
|
166
173
|
const changed = value !== this._indeterminate;
|
|
167
174
|
this._indeterminate = coerceBooleanProperty(value);
|
|
@@ -199,7 +206,7 @@ class TheSeamCheckboxComponent extends _TheSeamCheckboxMixinBase {
|
|
|
199
206
|
this._focusMonitor = _focusMonitor;
|
|
200
207
|
this._ngZone = _ngZone;
|
|
201
208
|
this.tabIndex = parseInt(tabIndex, 10) || 0;
|
|
202
|
-
this._focusMonitor.monitor(elementRef, true).subscribe(focusOrigin => {
|
|
209
|
+
this._focusMonitor.monitor(elementRef, true).subscribe((focusOrigin) => {
|
|
203
210
|
if (!focusOrigin) {
|
|
204
211
|
// When a focused element becomes disabled, the browser *immediately* fires a blur event.
|
|
205
212
|
// Angular does not expect events to be raised during change detection, so any state change
|
|
@@ -255,7 +262,7 @@ class TheSeamCheckboxComponent extends _TheSeamCheckboxMixinBase {
|
|
|
255
262
|
}
|
|
256
263
|
/** @ignore */
|
|
257
264
|
_getAriaChecked() {
|
|
258
|
-
return this.checked ? 'true' :
|
|
265
|
+
return this.checked ? 'true' : this.indeterminate ? 'mixed' : 'false';
|
|
259
266
|
}
|
|
260
267
|
/** @ignore */
|
|
261
268
|
_emitChangeEvent() {
|
|
@@ -320,21 +327,18 @@ class TheSeamCheckboxComponent extends _TheSeamCheckboxMixinBase {
|
|
|
320
327
|
nativeCheckbox.nativeElement.indeterminate = value;
|
|
321
328
|
}
|
|
322
329
|
}
|
|
323
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
324
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
330
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCheckboxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i0.NgZone }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
331
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamCheckboxComponent, isStandalone: true, selector: "seam-checkbox", inputs: { tabIndex: "tabIndex", id: "id", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], required: "required", checked: "checked", disabled: "disabled", indeterminate: "indeterminate", name: "name", value: "value" }, outputs: { change: "change", indeterminateChange: "indeterminateChange" }, host: { properties: { "attr.tabindex": "null" }, classAttribute: "custom-control custom-checkbox" }, providers: [THESEAM_CHECKBOX_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["input"], descendants: true, static: true }], exportAs: ["seamCheckbox"], usesInheritance: true, ngImport: i0, template: "<input\n #input\n type=\"checkbox\"\n class=\"custom-control-input\"\n [id]=\"inputId\"\n [required]=\"required\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-checked]=\"_getAriaChecked()\"\n (change)=\"_onInteractionEvent($event)\"\n (click)=\"_onInputClick($event)\"\n/>\n<label\n #checkboxLabel\n class=\"custom-control-label\"\n [attr.for]=\"inputId\"\n (cdkObserveContent)=\"_onLabelTextChange()\"\n>\n <ng-content></ng-content>\n</label>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ObserversModule }, { kind: "directive", type: i2.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
325
332
|
}
|
|
326
333
|
__decorate([
|
|
327
334
|
InputBoolean()
|
|
328
335
|
], TheSeamCheckboxComponent.prototype, "required", void 0);
|
|
329
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
336
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCheckboxComponent, decorators: [{
|
|
330
337
|
type: Component,
|
|
331
|
-
args: [{ selector: 'seam-checkbox', imports: [
|
|
332
|
-
CommonModule,
|
|
333
|
-
ObserversModule,
|
|
334
|
-
], exportAs: 'seamCheckbox', host: {
|
|
338
|
+
args: [{ selector: 'seam-checkbox', imports: [CommonModule, ObserversModule], exportAs: 'seamCheckbox', host: {
|
|
335
339
|
'[attr.tabindex]': 'null',
|
|
336
|
-
|
|
337
|
-
}, providers: [THESEAM_CHECKBOX_CONTROL_VALUE_ACCESSOR], inputs: ['tabIndex'], changeDetection: ChangeDetectionStrategy.OnPush, template: "<input
|
|
340
|
+
class: 'custom-control custom-checkbox',
|
|
341
|
+
}, providers: [THESEAM_CHECKBOX_CONTROL_VALUE_ACCESSOR], inputs: ['tabIndex'], changeDetection: ChangeDetectionStrategy.OnPush, template: "<input\n #input\n type=\"checkbox\"\n class=\"custom-control-input\"\n [id]=\"inputId\"\n [required]=\"required\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-checked]=\"_getAriaChecked()\"\n (change)=\"_onInteractionEvent($event)\"\n (click)=\"_onInputClick($event)\"\n/>\n<label\n #checkboxLabel\n class=\"custom-control-label\"\n [attr.for]=\"inputId\"\n (cdkObserveContent)=\"_onLabelTextChange()\"\n>\n <ng-content></ng-content>\n</label>\n" }]
|
|
338
342
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
339
343
|
type: Attribute,
|
|
340
344
|
args: ['tabindex']
|
|
@@ -369,19 +373,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
369
373
|
|
|
370
374
|
/** @deprecated */
|
|
371
375
|
class TheSeamCheckboxModule {
|
|
372
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
373
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
374
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
376
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
377
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCheckboxModule, imports: [TheSeamCheckboxComponent], exports: [TheSeamCheckboxComponent] });
|
|
378
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCheckboxModule, imports: [TheSeamCheckboxComponent] });
|
|
375
379
|
}
|
|
376
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
380
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamCheckboxModule, decorators: [{
|
|
377
381
|
type: NgModule,
|
|
378
382
|
args: [{
|
|
379
|
-
imports: [
|
|
380
|
-
|
|
381
|
-
],
|
|
382
|
-
exports: [
|
|
383
|
-
TheSeamCheckboxComponent
|
|
384
|
-
]
|
|
383
|
+
imports: [TheSeamCheckboxComponent],
|
|
384
|
+
exports: [TheSeamCheckboxComponent],
|
|
385
385
|
}]
|
|
386
386
|
}] });
|
|
387
387
|
|