@theseam/ui-common 1.0.0-beta.6 → 1.0.0-beta.8
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 +592 -388
- 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 +41 -41
- 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
|
@@ -56,10 +56,10 @@ class TheSeamTiledSelectHarness extends ComponentHarness {
|
|
|
56
56
|
class TheSeamTiledSelectTileOverlayDirective {
|
|
57
57
|
template = inject((TemplateRef));
|
|
58
58
|
record;
|
|
59
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
60
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
59
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTiledSelectTileOverlayDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
60
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamTiledSelectTileOverlayDirective, isStandalone: true, selector: "[seamTiledSelectTileOverlay]", inputs: { record: "record" }, exportAs: ["seamTiledSelectTileOverlay"], ngImport: i0 });
|
|
61
61
|
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTiledSelectTileOverlayDirective, decorators: [{
|
|
63
63
|
type: Directive,
|
|
64
64
|
args: [{
|
|
65
65
|
selector: '[seamTiledSelectTileOverlay]',
|
|
@@ -71,10 +71,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
71
71
|
|
|
72
72
|
class TheSeamTiledSelectTileLabelTplDirective {
|
|
73
73
|
template = inject((TemplateRef));
|
|
74
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
75
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
74
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTiledSelectTileLabelTplDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
75
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamTiledSelectTileLabelTplDirective, isStandalone: true, selector: "[seamTiledSelectTileLabelTpl]", exportAs: ["seamTiledSelectTileLabelTpl"], ngImport: i0 });
|
|
76
76
|
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTiledSelectTileLabelTplDirective, decorators: [{
|
|
78
78
|
type: Directive,
|
|
79
79
|
args: [{
|
|
80
80
|
selector: '[seamTiledSelectTileLabelTpl]',
|
|
@@ -84,10 +84,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
84
84
|
|
|
85
85
|
class TheSeamTiledSelectTileIconTplDirective {
|
|
86
86
|
template = inject((TemplateRef));
|
|
87
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
88
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
87
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTiledSelectTileIconTplDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
88
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamTiledSelectTileIconTplDirective, isStandalone: true, selector: "[seamTiledSelectTileIconTpl]", exportAs: ["seamTiledSelectTileIconTpl"], ngImport: i0 });
|
|
89
89
|
}
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTiledSelectTileIconTplDirective, decorators: [{
|
|
91
91
|
type: Directive,
|
|
92
92
|
args: [{
|
|
93
93
|
selector: '[seamTiledSelectTileIconTpl]',
|
|
@@ -100,15 +100,25 @@ class TheSeamTiledSelectTileIconComponent {
|
|
|
100
100
|
static ngAcceptInputType_grayscaleOnDisable;
|
|
101
101
|
static ngAcceptInputType_disabled;
|
|
102
102
|
needToFix = needToFix;
|
|
103
|
-
get _cssClassGrid() {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
get
|
|
103
|
+
get _cssClassGrid() {
|
|
104
|
+
return this.layout === 'grid';
|
|
105
|
+
}
|
|
106
|
+
get _cssClassList() {
|
|
107
|
+
return this.layout === 'list';
|
|
108
|
+
}
|
|
109
|
+
set layout(value) {
|
|
110
|
+
this._layout = value || 'grid';
|
|
111
|
+
}
|
|
112
|
+
get layout() {
|
|
113
|
+
return this._layout;
|
|
114
|
+
}
|
|
107
115
|
_layout = 'grid';
|
|
108
116
|
grayscaleOnDisable = false;
|
|
109
117
|
disabled = false;
|
|
110
118
|
iconClass;
|
|
111
|
-
get icon() {
|
|
119
|
+
get icon() {
|
|
120
|
+
return this._iconUrl || this._iconObj;
|
|
121
|
+
}
|
|
112
122
|
set icon(value) {
|
|
113
123
|
if (typeof value === 'string') {
|
|
114
124
|
this._iconUrl = value;
|
|
@@ -122,8 +132,8 @@ class TheSeamTiledSelectTileIconComponent {
|
|
|
122
132
|
_iconUrl;
|
|
123
133
|
_iconObj;
|
|
124
134
|
iconTpl;
|
|
125
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
126
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
135
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTiledSelectTileIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
136
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamTiledSelectTileIconComponent, isStandalone: true, selector: "seam-tiled-select-tile-icon", inputs: { layout: "layout", grayscaleOnDisable: "grayscaleOnDisable", disabled: "disabled", iconClass: "iconClass", icon: "icon" }, host: { properties: { "class.grid": "this._cssClassGrid", "class.list": "this._cssClassList" } }, queries: [{ propertyName: "iconTpl", first: true, predicate: TheSeamTiledSelectTileIconTplDirective, descendants: true, static: true }], ngImport: i0, template: "<ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon }\"\n >\n </ng-template>\n</ng-container>\n<ng-template #noIconTpl>\n <fa-icon\n *ngIf=\"_iconObj\"\n class=\"tiled-select-tile-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"\n ></fa-icon>\n\n <ng-container *ngIf=\"_iconUrl\">\n <!-- Partial fix for IE greyscale -->\n <ng-container *ngIf=\"needToFix\">\n <ng-container *ngIf=\"disabled && grayscaleOnDisable\">\n <span\n class=\"grayscale-fix\"\n style=\"display: inline-block; position: relative\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n id=\"svgroot\"\n style=\"position: absolute; left: 0; right: 0\"\n viewBox=\"0 0 48 48\"\n width=\"100%\"\n height=\"100%\"\n >\n <defs>\n <filter id=\"gray\">\n <feColorMatrix\n type=\"matrix\"\n values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"\n />\n </filter>\n </defs>\n <image\n filter='url(\"#gray\")'\n preserveAspectRatio=\"none meet\"\n x=\"0\"\n y=\"0\"\n width=\"48\"\n height=\"48\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n [attr.xlink:href]=\"_iconUrl\"\n />\n </svg>\n <img\n class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\"\n style=\"display: block; visibility: hidden\"\n alt=\"Icon\"\n [src]=\"_iconUrl\"\n />\n </span>\n </ng-container>\n <ng-container *ngIf=\"!disabled\">\n <img\n class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\"\n [src]=\"_iconUrl\"\n alt=\"Icon\"\n />\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!needToFix\">\n <img\n class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\"\n [src]=\"_iconUrl\"\n alt=\"Icon\"\n />\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none;overflow:hidden}:host.grid{flex:1 1 auto;margin:0 auto;display:flex;align-items:center;width:100%}:host.grid .tiled-select-tile-panel--icon-img{width:100%;max-width:75px;max-height:75px;margin:0 auto}:host.grid .tiled-select-tile-panel--icon-img[src$=\".svg\"]{height:100%}:host.grid>.grayscale-fix{max-width:75px;max-height:75px;margin:0 auto}:host.list{border:1px solid rgb(230,230,230);border-radius:8px;min-width:39px;width:39px;min-height:39px;height:39px;padding:1px;align-items:center;display:flex}:host.list img{max-width:100%;max-height:100%;margin:0 auto}.grey-fix{visibility:hidden;display:block}.tiled-select-tile-icon--fa{height:100%;display:flex;flex-direction:row;justify-content:center;text-align:center;width:100%;padding:2px}.tiled-select-tile-icon--fa ::ng-deep .svg-inline--fa{max-width:100%;height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] });
|
|
127
137
|
}
|
|
128
138
|
__decorate([
|
|
129
139
|
InputBoolean()
|
|
@@ -131,13 +141,9 @@ __decorate([
|
|
|
131
141
|
__decorate([
|
|
132
142
|
InputBoolean()
|
|
133
143
|
], TheSeamTiledSelectTileIconComponent.prototype, "disabled", void 0);
|
|
134
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTiledSelectTileIconComponent, decorators: [{
|
|
135
145
|
type: Component,
|
|
136
|
-
args: [{ selector: 'seam-tiled-select-tile-icon', imports: [
|
|
137
|
-
NgIf,
|
|
138
|
-
NgTemplateOutlet,
|
|
139
|
-
FontAwesomeModule,
|
|
140
|
-
], template: "<ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon }\">\n </ng-template>\n</ng-container>\n<ng-template #noIconTpl>\n\n <fa-icon *ngIf=\"_iconObj\"\n class=\"tiled-select-tile-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"></fa-icon>\n\n <ng-container *ngIf=\"_iconUrl\">\n <!-- Partial fix for IE greyscale -->\n <ng-container *ngIf=\"needToFix\">\n <ng-container *ngIf=\"disabled && grayscaleOnDisable\">\n <span class=\"grayscale-fix\" style=\"display: inline-block; position: relative;\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" id=\"svgroot\" style=\"position: absolute; left: 0; right: 0;\" viewBox=\"0 0 48 48\" width=\"100%\" height=\"100%\">\n <defs><filter id=\"gray\"><feColorMatrix type=\"matrix\" values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\" /></filter></defs>\n <image filter=\"url("#gray")\" preserveAspectRatio=\"none meet\" x=\"0\" y=\"0\" width=\"48\" height=\"48\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n [attr.xlink:href]=\"_iconUrl\" />\n </svg>\n <img class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\" style=\"display: block; visibility: hidden;\" alt=\"Icon\" [src]=\"_iconUrl\">\n </span>\n </ng-container>\n <ng-container *ngIf=\"!disabled\">\n <img class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!needToFix\">\n <img class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\">\n </ng-container>\n </ng-container>\n\n</ng-template>\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none;overflow:hidden}:host.grid{flex:1 1 auto;margin:0 auto;display:flex;align-items:center;width:100%}:host.grid .tiled-select-tile-panel--icon-img{width:100%;max-width:75px;max-height:75px;margin:0 auto}:host.grid .tiled-select-tile-panel--icon-img[src$=\".svg\"]{height:100%}:host.grid>.grayscale-fix{max-width:75px;max-height:75px;margin:0 auto}:host.list{border:1px solid rgb(230,230,230);border-radius:8px;min-width:39px;width:39px;min-height:39px;height:39px;padding:1px;align-items:center;display:flex}:host.list img{max-width:100%;max-height:100%;margin:0 auto}.grey-fix{visibility:hidden;display:block}.tiled-select-tile-icon--fa{height:100%;display:flex;flex-direction:row;justify-content:center;text-align:center;width:100%;padding:2px}.tiled-select-tile-icon--fa ::ng-deep .svg-inline--fa{max-width:100%;height:100%;width:100%}\n"] }]
|
|
146
|
+
args: [{ selector: 'seam-tiled-select-tile-icon', imports: [NgIf, NgTemplateOutlet, FontAwesomeModule], template: "<ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon }\"\n >\n </ng-template>\n</ng-container>\n<ng-template #noIconTpl>\n <fa-icon\n *ngIf=\"_iconObj\"\n class=\"tiled-select-tile-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"\n ></fa-icon>\n\n <ng-container *ngIf=\"_iconUrl\">\n <!-- Partial fix for IE greyscale -->\n <ng-container *ngIf=\"needToFix\">\n <ng-container *ngIf=\"disabled && grayscaleOnDisable\">\n <span\n class=\"grayscale-fix\"\n style=\"display: inline-block; position: relative\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n id=\"svgroot\"\n style=\"position: absolute; left: 0; right: 0\"\n viewBox=\"0 0 48 48\"\n width=\"100%\"\n height=\"100%\"\n >\n <defs>\n <filter id=\"gray\">\n <feColorMatrix\n type=\"matrix\"\n values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"\n />\n </filter>\n </defs>\n <image\n filter='url(\"#gray\")'\n preserveAspectRatio=\"none meet\"\n x=\"0\"\n y=\"0\"\n width=\"48\"\n height=\"48\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n [attr.xlink:href]=\"_iconUrl\"\n />\n </svg>\n <img\n class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\"\n style=\"display: block; visibility: hidden\"\n alt=\"Icon\"\n [src]=\"_iconUrl\"\n />\n </span>\n </ng-container>\n <ng-container *ngIf=\"!disabled\">\n <img\n class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\"\n [src]=\"_iconUrl\"\n alt=\"Icon\"\n />\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!needToFix\">\n <img\n class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\"\n [src]=\"_iconUrl\"\n alt=\"Icon\"\n />\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none;overflow:hidden}:host.grid{flex:1 1 auto;margin:0 auto;display:flex;align-items:center;width:100%}:host.grid .tiled-select-tile-panel--icon-img{width:100%;max-width:75px;max-height:75px;margin:0 auto}:host.grid .tiled-select-tile-panel--icon-img[src$=\".svg\"]{height:100%}:host.grid>.grayscale-fix{max-width:75px;max-height:75px;margin:0 auto}:host.list{border:1px solid rgb(230,230,230);border-radius:8px;min-width:39px;width:39px;min-height:39px;height:39px;padding:1px;align-items:center;display:flex}:host.list img{max-width:100%;max-height:100%;margin:0 auto}.grey-fix{visibility:hidden;display:block}.tiled-select-tile-icon--fa{height:100%;display:flex;flex-direction:row;justify-content:center;text-align:center;width:100%;padding:2px}.tiled-select-tile-icon--fa ::ng-deep .svg-inline--fa{max-width:100%;height:100%;width:100%}\n"] }]
|
|
141
147
|
}], propDecorators: { _cssClassGrid: [{
|
|
142
148
|
type: HostBinding,
|
|
143
149
|
args: ['class.grid']
|
|
@@ -167,9 +173,7 @@ const tilePulse = animation(animate('{{ timing }}s {{ delay }}s', keyframes([
|
|
|
167
173
|
const tileScaleUp = animation(animate('{{ timing }}s {{ delay }}s', keyframes([
|
|
168
174
|
style({ transform: 'scale3d({{ scale }}, {{ scale }}, {{ scale }})' }),
|
|
169
175
|
])), { params: { scale: 1.05, timing: 0.75, delay: 0 } });
|
|
170
|
-
const tileScaleDown = animation(animate('{{ timing }}s {{ delay }}s', keyframes([
|
|
171
|
-
style({ transform: 'scale3d(1, 1, 1)' }),
|
|
172
|
-
])), { params: { scale: 1.05, timing: 0.75, delay: 0 } });
|
|
176
|
+
const tileScaleDown = animation(animate('{{ timing }}s {{ delay }}s', keyframes([style({ transform: 'scale3d(1, 1, 1)' })])), { params: { scale: 1.05, timing: 0.75, delay: 0 } });
|
|
173
177
|
class TheSeamTiledSelectTileComponent {
|
|
174
178
|
static ngAcceptInputType_disabled;
|
|
175
179
|
static ngAcceptInputType_selected;
|
|
@@ -181,7 +185,9 @@ class TheSeamTiledSelectTileComponent {
|
|
|
181
185
|
_cdr = inject(ChangeDetectorRef);
|
|
182
186
|
faCheckCircle = faCheckCircle;
|
|
183
187
|
pulseAnimationState = true;
|
|
184
|
-
get _tileNameAttr() {
|
|
188
|
+
get _tileNameAttr() {
|
|
189
|
+
return this.name;
|
|
190
|
+
}
|
|
185
191
|
layout = 'grid';
|
|
186
192
|
name;
|
|
187
193
|
label;
|
|
@@ -224,11 +230,11 @@ class TheSeamTiledSelectTileComponent {
|
|
|
224
230
|
this.pulsingTimeout = undefined;
|
|
225
231
|
}, 750);
|
|
226
232
|
}
|
|
227
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
228
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
233
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTiledSelectTileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
234
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamTiledSelectTileComponent, isStandalone: true, selector: "seam-tiled-select-tile", inputs: { layout: "layout", name: "name", label: "label", icon: "icon", disabled: "disabled", selected: "selected", tileBackdrop: "tileBackdrop", selectable: "selectable", grayscaleOnDisable: "grayscaleOnDisable", showLabel: "showLabel", showSelectedIcon: "showSelectedIcon", iconClass: "iconClass", overlayTpl: "overlayTpl" }, outputs: { activated: "activated" }, host: { properties: { "@pulse": "this.pulseAnimationState", "attr.data-tile-name": "this._tileNameAttr" } }, queries: [{ propertyName: "labelTpl", first: true, predicate: TheSeamTiledSelectTileLabelTplDirective, descendants: true, static: true }], ngImport: i0, template: "<button\n class=\"btn tiled-select-tile-panel\"\n [disabled]=\"disabled\"\n [class.grid]=\"layout === 'grid'\"\n [class.list]=\"layout === 'list'\"\n [class.selected]=\"selectable && selected\"\n [class.selectable]=\"selectable\"\n [class.no-grayscale]=\"!grayscaleOnDisable\"\n (click)=\"onTileClick($event)\"\n [@pulse]=\"pulsing ? true : false\"\n [attr.data-category]=\"name\"\n [attr.title]=\"showLabel ? '' : label\"\n type=\"button\"\n>\n <div class=\"tiled-select-tile-panel--content\">\n <seam-tiled-select-tile-icon\n class=\"tiled-select-tile-panel--icon\"\n [class.invisible]=\"!icon\"\n [icon]=\"icon\"\n [iconClass]=\"iconClass\"\n [layout]=\"layout\"\n [grayscaleOnDisable]=\"grayscaleOnDisable\"\n [disabled]=\"disabled\"\n >\n </seam-tiled-select-tile-icon>\n <div class=\"tiled-select-tile-panel--label-container\" *ngIf=\"showLabel\">\n <span *ngIf=\"!labelTpl\" class=\"tiled-select-tile-panel--label\">{{\n label\n }}</span>\n <ng-template\n *ngIf=\"labelTpl\"\n [ngTemplateOutlet]=\"labelTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: label, label: label }\"\n >\n </ng-template>\n </div>\n <div\n *ngIf=\"tileBackdrop\"\n class=\"selected-backdrop\"\n [class.bg-success]=\"selected\"\n ></div>\n <fa-icon\n *ngIf=\"selected && showSelectedIcon\"\n class=\"tiled-select-tile-panel--selected text-success\"\n [icon]=\"faCheckCircle\"\n size=\"3x\"\n >\n </fa-icon>\n </div>\n <div class=\"tiled-select-tile-panel--overlay\" *ngIf=\"overlayTpl\">\n <ng-template [ngTemplateOutlet]=\"overlayTpl.template\"></ng-template>\n </div>\n</button>\n", styles: [":host{display:block}.tiled-select-tile-panel{width:100%;height:100%;box-sizing:border-box;border:1px solid rgb(230,230,230);background-color:#fff;color:#505050;position:relative;overflow:hidden}.tiled-select-tile-panel:disabled:not(.no-grayscale){filter:grayscale(1)}.tiled-select-tile-panel .grey-fix{visibility:hidden;display:block}.tiled-select-tile-panel.selected{border:1px solid rgb(60,150,200)}.tiled-select-tile-panel.selectable:hover:not(:disabled){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;cursor:pointer}.tiled-select-tile-panel.selectable:focus:not(:disabled){outline:none}.tiled-select-tile-panel:not(.selectable){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.tiled-select-tile-panel .tiled-select-tile-panel--content{display:flex;height:100%;width:100%}.tiled-select-tile-panel .tiled-select-tile-panel--content .tiled-select-tile-panel--selected{position:absolute;top:4px;right:4px}.tiled-select-tile-panel .tiled-select-tile-panel--content .selected-backdrop{opacity:.2;position:absolute;inset:0;border-radius:15px;transition:ease-in-out .2s background-color;pointer-events:none}.tiled-select-tile-panel .tiled-select-tile-panel--overlay{position:absolute;inset:0}.tiled-select-tile-panel.grid{border-radius:15px;padding:0;margin:0}.tiled-select-tile-panel.grid .tiled-select-tile-panel--content{flex-direction:column}.tiled-select-tile-panel.grid .tiled-select-tile-panel--content .selected-backdrop{border-radius:15px}.tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container{flex:0 0 auto;height:2.5em;line-height:1em}.tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container .tiled-select-tile-panel--label{display:block;font-size:90%;padding:0 1em;white-space:initial}@media screen and (max-width:600px){.tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container{height:2rem;line-height:.9em}.tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container .tiled-select-tile-panel--label{font-size:13px;padding:0 .7em}}.tiled-select-tile-panel.list{border-radius:10px;padding:4px}.tiled-select-tile-panel.list .tiled-select-tile-panel--content{flex-direction:row}.tiled-select-tile-panel.list .tiled-select-tile-panel--content .selected-backdrop{border-radius:10px}.tiled-select-tile-panel.list .tiled-select-tile-panel--label-container{display:flex;max-height:100%;flex-direction:column;padding-right:40px}.tiled-select-tile-panel.list .tiled-select-tile-panel--label-container .tiled-select-tile-panel--label{padding:0 6px;text-align:left;margin:auto 0;font-size:80%;white-space:initial}.tiled-select-tile-panel.list .tiled-select-tile-panel--selected ::ng-deep .svg-inline--fa{height:39px}:host(.other-org) .tiled-select-tile-panel.grid{border:0}:host(.other-org) .tiled-select-tile-panel.grid.selectable:hover:not(:disabled){box-shadow:0 0}:host(.other-org) .tiled-select-tile-panel.grid.selectable:hover:not(:disabled) .tiled-select-tile-panel--label-container{text-decoration:underline}:host(.other-org) .tiled-select-tile-panel.grid .tiled-select-tile-panel--icon,:host(.other-org) .tiled-select-tile-panel.grid .tiled-select-tile-panel--selected.text-success{display:none}:host(.other-org) .tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container{height:auto;color:#357ebd}:host(.other-org) .tiled-select-tile-panel.grid .tiled-select-tile-panel--label{padding:.5rem 1rem}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: TheSeamTiledSelectTileIconComponent, selector: "seam-tiled-select-tile-icon", inputs: ["layout", "grayscaleOnDisable", "disabled", "iconClass", "icon"] }], animations: [
|
|
229
235
|
trigger('pulse', [
|
|
230
236
|
transition('false => true', [
|
|
231
|
-
useAnimation(tilePulse)
|
|
237
|
+
useAnimation(tilePulse),
|
|
232
238
|
// useAnimation(tileScaleUp)
|
|
233
239
|
]),
|
|
234
240
|
// transition('true => false', [
|
|
@@ -263,12 +269,12 @@ __decorate([
|
|
|
263
269
|
__decorate([
|
|
264
270
|
InputBoolean()
|
|
265
271
|
], TheSeamTiledSelectTileComponent.prototype, "showSelectedIcon", void 0);
|
|
266
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
272
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTiledSelectTileComponent, decorators: [{
|
|
267
273
|
type: Component,
|
|
268
274
|
args: [{ selector: 'seam-tiled-select-tile', animations: [
|
|
269
275
|
trigger('pulse', [
|
|
270
276
|
transition('false => true', [
|
|
271
|
-
useAnimation(tilePulse)
|
|
277
|
+
useAnimation(tilePulse),
|
|
272
278
|
// useAnimation(tileScaleUp)
|
|
273
279
|
]),
|
|
274
280
|
// transition('true => false', [
|
|
@@ -285,7 +291,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
285
291
|
NgTemplateOutlet,
|
|
286
292
|
FontAwesomeModule,
|
|
287
293
|
TheSeamTiledSelectTileIconComponent,
|
|
288
|
-
], template: "<button\n class=\"btn tiled-select-tile-panel\"\n [disabled]=\"disabled\"\n [class.grid]=\"layout === 'grid'\"\n [class.list]=\"layout === 'list'\"\n [class.selected]=\"selectable && selected\"\n [class.selectable]=\"selectable\"\n [class.no-grayscale]=\"!grayscaleOnDisable\"\n (click)=\"onTileClick($event)\"\n [@pulse]=\"pulsing ? true : false\"\n [attr.data-category]=\"name\"\n [attr.title]=\"showLabel ? '' : label\"\n type=\"button\">\n <div class=\"tiled-select-tile-panel--content\">\n <seam-tiled-select-tile-icon\n class=\"tiled-select-tile-panel--icon\"\n [class.invisible]=\"!icon\"\n [icon]=\"icon\"\n [iconClass]=\"iconClass\"\n [layout]=\"layout\"\n [grayscaleOnDisable]=\"grayscaleOnDisable\"\n [disabled]=\"disabled\">\n </seam-tiled-select-tile-icon>\n <div class=\"tiled-select-tile-panel--label-container\" *ngIf=\"showLabel\">\n <span *ngIf=\"!labelTpl\" class=\"tiled-select-tile-panel--label\">{{
|
|
294
|
+
], template: "<button\n class=\"btn tiled-select-tile-panel\"\n [disabled]=\"disabled\"\n [class.grid]=\"layout === 'grid'\"\n [class.list]=\"layout === 'list'\"\n [class.selected]=\"selectable && selected\"\n [class.selectable]=\"selectable\"\n [class.no-grayscale]=\"!grayscaleOnDisable\"\n (click)=\"onTileClick($event)\"\n [@pulse]=\"pulsing ? true : false\"\n [attr.data-category]=\"name\"\n [attr.title]=\"showLabel ? '' : label\"\n type=\"button\"\n>\n <div class=\"tiled-select-tile-panel--content\">\n <seam-tiled-select-tile-icon\n class=\"tiled-select-tile-panel--icon\"\n [class.invisible]=\"!icon\"\n [icon]=\"icon\"\n [iconClass]=\"iconClass\"\n [layout]=\"layout\"\n [grayscaleOnDisable]=\"grayscaleOnDisable\"\n [disabled]=\"disabled\"\n >\n </seam-tiled-select-tile-icon>\n <div class=\"tiled-select-tile-panel--label-container\" *ngIf=\"showLabel\">\n <span *ngIf=\"!labelTpl\" class=\"tiled-select-tile-panel--label\">{{\n label\n }}</span>\n <ng-template\n *ngIf=\"labelTpl\"\n [ngTemplateOutlet]=\"labelTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: label, label: label }\"\n >\n </ng-template>\n </div>\n <div\n *ngIf=\"tileBackdrop\"\n class=\"selected-backdrop\"\n [class.bg-success]=\"selected\"\n ></div>\n <fa-icon\n *ngIf=\"selected && showSelectedIcon\"\n class=\"tiled-select-tile-panel--selected text-success\"\n [icon]=\"faCheckCircle\"\n size=\"3x\"\n >\n </fa-icon>\n </div>\n <div class=\"tiled-select-tile-panel--overlay\" *ngIf=\"overlayTpl\">\n <ng-template [ngTemplateOutlet]=\"overlayTpl.template\"></ng-template>\n </div>\n</button>\n", styles: [":host{display:block}.tiled-select-tile-panel{width:100%;height:100%;box-sizing:border-box;border:1px solid rgb(230,230,230);background-color:#fff;color:#505050;position:relative;overflow:hidden}.tiled-select-tile-panel:disabled:not(.no-grayscale){filter:grayscale(1)}.tiled-select-tile-panel .grey-fix{visibility:hidden;display:block}.tiled-select-tile-panel.selected{border:1px solid rgb(60,150,200)}.tiled-select-tile-panel.selectable:hover:not(:disabled){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;cursor:pointer}.tiled-select-tile-panel.selectable:focus:not(:disabled){outline:none}.tiled-select-tile-panel:not(.selectable){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.tiled-select-tile-panel .tiled-select-tile-panel--content{display:flex;height:100%;width:100%}.tiled-select-tile-panel .tiled-select-tile-panel--content .tiled-select-tile-panel--selected{position:absolute;top:4px;right:4px}.tiled-select-tile-panel .tiled-select-tile-panel--content .selected-backdrop{opacity:.2;position:absolute;inset:0;border-radius:15px;transition:ease-in-out .2s background-color;pointer-events:none}.tiled-select-tile-panel .tiled-select-tile-panel--overlay{position:absolute;inset:0}.tiled-select-tile-panel.grid{border-radius:15px;padding:0;margin:0}.tiled-select-tile-panel.grid .tiled-select-tile-panel--content{flex-direction:column}.tiled-select-tile-panel.grid .tiled-select-tile-panel--content .selected-backdrop{border-radius:15px}.tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container{flex:0 0 auto;height:2.5em;line-height:1em}.tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container .tiled-select-tile-panel--label{display:block;font-size:90%;padding:0 1em;white-space:initial}@media screen and (max-width:600px){.tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container{height:2rem;line-height:.9em}.tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container .tiled-select-tile-panel--label{font-size:13px;padding:0 .7em}}.tiled-select-tile-panel.list{border-radius:10px;padding:4px}.tiled-select-tile-panel.list .tiled-select-tile-panel--content{flex-direction:row}.tiled-select-tile-panel.list .tiled-select-tile-panel--content .selected-backdrop{border-radius:10px}.tiled-select-tile-panel.list .tiled-select-tile-panel--label-container{display:flex;max-height:100%;flex-direction:column;padding-right:40px}.tiled-select-tile-panel.list .tiled-select-tile-panel--label-container .tiled-select-tile-panel--label{padding:0 6px;text-align:left;margin:auto 0;font-size:80%;white-space:initial}.tiled-select-tile-panel.list .tiled-select-tile-panel--selected ::ng-deep .svg-inline--fa{height:39px}:host(.other-org) .tiled-select-tile-panel.grid{border:0}:host(.other-org) .tiled-select-tile-panel.grid.selectable:hover:not(:disabled){box-shadow:0 0}:host(.other-org) .tiled-select-tile-panel.grid.selectable:hover:not(:disabled) .tiled-select-tile-panel--label-container{text-decoration:underline}:host(.other-org) .tiled-select-tile-panel.grid .tiled-select-tile-panel--icon,:host(.other-org) .tiled-select-tile-panel.grid .tiled-select-tile-panel--selected.text-success{display:none}:host(.other-org) .tiled-select-tile-panel.grid .tiled-select-tile-panel--label-container{height:auto;color:#357ebd}:host(.other-org) .tiled-select-tile-panel.grid .tiled-select-tile-panel--label{padding:.5rem 1rem}\n"] }]
|
|
289
295
|
}], propDecorators: { pulseAnimationState: [{
|
|
290
296
|
type: HostBinding,
|
|
291
297
|
args: ['@pulse']
|
|
@@ -349,7 +355,9 @@ class TheSeamTiledSelectComponent {
|
|
|
349
355
|
_renderer = inject(Renderer2);
|
|
350
356
|
_elementRef = inject(ElementRef);
|
|
351
357
|
layout = 'grid';
|
|
352
|
-
get tiles() {
|
|
358
|
+
get tiles() {
|
|
359
|
+
return this._tiles;
|
|
360
|
+
}
|
|
353
361
|
set tiles(value) {
|
|
354
362
|
const _value = [...(value || [])];
|
|
355
363
|
for (const v of _value) {
|
|
@@ -366,7 +374,7 @@ class TheSeamTiledSelectComponent {
|
|
|
366
374
|
}
|
|
367
375
|
else {
|
|
368
376
|
for (const t of _value) {
|
|
369
|
-
if (!prev.find(p => p.name === t.name)) {
|
|
377
|
+
if (!prev.find((p) => p.name === t.name)) {
|
|
370
378
|
this.tilesAnimationState = !this.tilesAnimationState;
|
|
371
379
|
break;
|
|
372
380
|
}
|
|
@@ -393,7 +401,7 @@ class TheSeamTiledSelectComponent {
|
|
|
393
401
|
return this.val;
|
|
394
402
|
}
|
|
395
403
|
set value(value) {
|
|
396
|
-
this.val =
|
|
404
|
+
this.val = this.multiple ? [...(value || [])] : value || '';
|
|
397
405
|
this._renderer.setProperty(this._elementRef.nativeElement, 'value', this.val);
|
|
398
406
|
if (this.onChange) {
|
|
399
407
|
this.onChange(this.val);
|
|
@@ -461,21 +469,21 @@ class TheSeamTiledSelectComponent {
|
|
|
461
469
|
unselectTile(tile) {
|
|
462
470
|
if (this.multiple) {
|
|
463
471
|
const value = this.value || [];
|
|
464
|
-
this.value = value.filter(v => v !== tile.value);
|
|
472
|
+
this.value = value.filter((v) => v !== tile.value);
|
|
465
473
|
}
|
|
466
474
|
else {
|
|
467
475
|
this.value = undefined;
|
|
468
476
|
}
|
|
469
477
|
}
|
|
470
478
|
getSelectedTiles() {
|
|
471
|
-
return this.tiles.filter(t => this.isSelected(t));
|
|
479
|
+
return this.tiles.filter((t) => this.isSelected(t));
|
|
472
480
|
}
|
|
473
481
|
getOverlayTpl(tile) {
|
|
474
482
|
// console.log('overlayTpls', this.overlayTpls)
|
|
475
|
-
return (this.overlayTpls || []).find(t => t.record?.name === tile.name);
|
|
483
|
+
return (this.overlayTpls || []).find((t) => t.record?.name === tile.name);
|
|
476
484
|
}
|
|
477
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
478
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
485
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTiledSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
486
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamTiledSelectComponent, isStandalone: true, selector: "seam-tiled-select", inputs: { layout: "layout", tiles: "tiles", val: ["value", "val"], disabled: "disabled", multiple: "multiple", selectionToggleable: "selectionToggleable", tileBackdrop: "tileBackdrop", showSelectedIcon: "showSelectedIcon", animationsDisabled: "animationsDisabled" }, outputs: { change: "change" }, host: { properties: { "attr.data-testid": "\"tiled-select\"" } }, providers: [TILED_SELECT_VALUE_ACCESSOR], queries: [{ propertyName: "overlayTpls", predicate: TheSeamTiledSelectTileOverlayDirective }], ngImport: i0, template: "<div\n class=\"tiled-select--container\"\n [class.grid]=\"layout === 'grid'\"\n [class.list]=\"layout === 'list'\"\n [@tiles]=\"tilesAnimationState\"\n [@.disabled]=\"animationsDisabled\"\n>\n <ng-container *ngFor=\"let tile of tiles; let index = index\">\n <div class=\"tile-wrapper\" [ngClass]=\"tile.customClass || ''\">\n <seam-tiled-select-tile\n class=\"tiled-select-tile\"\n [ngClass]=\"tile.customClass || ''\"\n [name]=\"tile.name\"\n [label]=\"tile.label\"\n [icon]=\"tile.icon\"\n [disabled]=\"disabled || tile.disabled\"\n [attr.hidden]=\"tile.hidden\"\n [layout]=\"layout\"\n [selected]=\"isSelected(tile)\"\n [selectable]=\"true\"\n [tileBackdrop]=\"tileBackdrop\"\n [showSelectedIcon]=\"showSelectedIcon\"\n [overlayTpl]=\"getOverlayTpl(tile)\"\n (activated)=\"onTileSelected($event, tile)\"\n [attr.data-tile-index]=\"index\"\n [attr.data-testid]=\"tile.name\"\n >\n </seam-tiled-select-tile>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:block;width:100%}.tiled-select--container{display:flex;flex-wrap:wrap;justify-content:center}.tiled-select--container.grid{flex-direction:row}.tiled-select--container.grid .tile-wrapper{padding:12px;width:200px;height:180px}.tiled-select--container.grid .tile-wrapper .tiled-select-tile{height:100%}.tiled-select--container.grid .tile-wrapper.other-org{width:auto;height:auto}@media screen and (max-width:600px){.tiled-select--container.grid .tile-wrapper{padding:6px;width:150px;height:135px}}.tiled-select--container.list{flex-direction:column}.tiled-select--container.list .tile-wrapper{width:100%;height:50px}.tiled-select--container.list .tile-wrapper:not(:last-child){margin-bottom:4px}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: TheSeamTiledSelectTileComponent, selector: "seam-tiled-select-tile", inputs: ["layout", "name", "label", "icon", "disabled", "selected", "tileBackdrop", "selectable", "grayscaleOnDisable", "showLabel", "showSelectedIcon", "iconClass", "overlayTpl"], outputs: ["activated"] }], animations: [
|
|
479
487
|
trigger('tiles', [
|
|
480
488
|
transition('* => *', [
|
|
481
489
|
query(':enter', useAnimation(slideEnterAnimation), { optional: true }),
|
|
@@ -501,7 +509,7 @@ __decorate([
|
|
|
501
509
|
__decorate([
|
|
502
510
|
InputBoolean()
|
|
503
511
|
], TheSeamTiledSelectComponent.prototype, "animationsDisabled", void 0);
|
|
504
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
512
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTiledSelectComponent, decorators: [{
|
|
505
513
|
type: Component,
|
|
506
514
|
args: [{ selector: 'seam-tiled-select', providers: [TILED_SELECT_VALUE_ACCESSOR], host: {
|
|
507
515
|
'[attr.data-testid]': '"tiled-select"',
|
|
@@ -511,11 +519,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
511
519
|
query(':enter', useAnimation(slideEnterAnimation), { optional: true }),
|
|
512
520
|
]),
|
|
513
521
|
]),
|
|
514
|
-
], imports: [
|
|
515
|
-
NgFor,
|
|
516
|
-
NgClass,
|
|
517
|
-
TheSeamTiledSelectTileComponent,
|
|
518
|
-
], template: "<div class=\"tiled-select--container\"\n [class.grid]=\"layout === 'grid'\"\n [class.list]=\"layout === 'list'\"\n [@tiles]=\"tilesAnimationState\"\n [@.disabled]=\"animationsDisabled\">\n <ng-container *ngFor=\"let tile of tiles; let index = index\">\n <div class=\"tile-wrapper\" [ngClass]=\"tile.customClass || ''\">\n <seam-tiled-select-tile\n class=\"tiled-select-tile\"\n [ngClass]=\"tile.customClass || ''\"\n [name]=\"tile.name\"\n [label]=\"tile.label\"\n [icon]=\"tile.icon\"\n [disabled]=\"disabled || tile.disabled\"\n [attr.hidden]=\"tile.hidden\"\n [layout]=\"layout\"\n [selected]=\"isSelected(tile)\"\n [selectable]=\"true\"\n [tileBackdrop]=\"tileBackdrop\"\n [showSelectedIcon]=\"showSelectedIcon\"\n [overlayTpl]=\"getOverlayTpl(tile)\"\n (activated)=\"onTileSelected($event, tile)\"\n [attr.data-tile-index]=\"index\"\n [attr.data-testid]=\"tile.name\">\n </seam-tiled-select-tile>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:block;width:100%}.tiled-select--container{display:flex;flex-wrap:wrap;justify-content:center}.tiled-select--container.grid{flex-direction:row}.tiled-select--container.grid .tile-wrapper{padding:12px;width:200px;height:180px}.tiled-select--container.grid .tile-wrapper .tiled-select-tile{height:100%}.tiled-select--container.grid .tile-wrapper.other-org{width:auto;height:auto}@media screen and (max-width: 600px){.tiled-select--container.grid .tile-wrapper{padding:6px;width:150px;height:135px}}.tiled-select--container.list{flex-direction:column}.tiled-select--container.list .tile-wrapper{width:100%;height:50px}.tiled-select--container.list .tile-wrapper:not(:last-child){margin-bottom:4px}\n"] }]
|
|
522
|
+
], imports: [NgFor, NgClass, TheSeamTiledSelectTileComponent], template: "<div\n class=\"tiled-select--container\"\n [class.grid]=\"layout === 'grid'\"\n [class.list]=\"layout === 'list'\"\n [@tiles]=\"tilesAnimationState\"\n [@.disabled]=\"animationsDisabled\"\n>\n <ng-container *ngFor=\"let tile of tiles; let index = index\">\n <div class=\"tile-wrapper\" [ngClass]=\"tile.customClass || ''\">\n <seam-tiled-select-tile\n class=\"tiled-select-tile\"\n [ngClass]=\"tile.customClass || ''\"\n [name]=\"tile.name\"\n [label]=\"tile.label\"\n [icon]=\"tile.icon\"\n [disabled]=\"disabled || tile.disabled\"\n [attr.hidden]=\"tile.hidden\"\n [layout]=\"layout\"\n [selected]=\"isSelected(tile)\"\n [selectable]=\"true\"\n [tileBackdrop]=\"tileBackdrop\"\n [showSelectedIcon]=\"showSelectedIcon\"\n [overlayTpl]=\"getOverlayTpl(tile)\"\n (activated)=\"onTileSelected($event, tile)\"\n [attr.data-tile-index]=\"index\"\n [attr.data-testid]=\"tile.name\"\n >\n </seam-tiled-select-tile>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:block;width:100%}.tiled-select--container{display:flex;flex-wrap:wrap;justify-content:center}.tiled-select--container.grid{flex-direction:row}.tiled-select--container.grid .tile-wrapper{padding:12px;width:200px;height:180px}.tiled-select--container.grid .tile-wrapper .tiled-select-tile{height:100%}.tiled-select--container.grid .tile-wrapper.other-org{width:auto;height:auto}@media screen and (max-width:600px){.tiled-select--container.grid .tile-wrapper{padding:6px;width:150px;height:135px}}.tiled-select--container.list{flex-direction:column}.tiled-select--container.list .tile-wrapper{width:100%;height:50px}.tiled-select--container.list .tile-wrapper:not(:last-child){margin-bottom:4px}\n"] }]
|
|
519
523
|
}], propDecorators: { layout: [{
|
|
520
524
|
type: Input
|
|
521
525
|
}], tiles: [{
|
|
@@ -543,8 +547,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
543
547
|
}] } });
|
|
544
548
|
|
|
545
549
|
class TheSeamTiledSelectModule {
|
|
546
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
547
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
550
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTiledSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
551
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTiledSelectModule, imports: [TheSeamTiledSelectComponent,
|
|
548
552
|
TheSeamTiledSelectTileComponent,
|
|
549
553
|
TheSeamTiledSelectTileOverlayDirective,
|
|
550
554
|
TheSeamTiledSelectTileIconTplDirective,
|
|
@@ -553,10 +557,10 @@ class TheSeamTiledSelectModule {
|
|
|
553
557
|
TheSeamTiledSelectTileOverlayDirective,
|
|
554
558
|
TheSeamTiledSelectTileIconTplDirective,
|
|
555
559
|
TheSeamTiledSelectTileLabelTplDirective] });
|
|
556
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
560
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTiledSelectModule, imports: [TheSeamTiledSelectComponent,
|
|
557
561
|
TheSeamTiledSelectTileComponent] });
|
|
558
562
|
}
|
|
559
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
563
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamTiledSelectModule, decorators: [{
|
|
560
564
|
type: NgModule,
|
|
561
565
|
args: [{
|
|
562
566
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theseam-ui-common-tiled-select.mjs","sources":["../../../projects/ui-common/tiled-select/testing/tiled-select-tile-harness.ts","../../../projects/ui-common/tiled-select/testing/tiled-select-harness.ts","../../../projects/ui-common/tiled-select/directives/tiled-select-tile-overlay.directive.ts","../../../projects/ui-common/tiled-select/directives/tiled-select-tile-label-tpl.directive.ts","../../../projects/ui-common/tiled-select/directives/tiled-select-tile-icon-tpl.directive.ts","../../../projects/ui-common/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.ts","../../../projects/ui-common/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.html","../../../projects/ui-common/tiled-select/components/tiled-select-tile/tiled-select-tile.component.ts","../../../projects/ui-common/tiled-select/components/tiled-select-tile/tiled-select-tile.component.html","../../../projects/ui-common/tiled-select/components/tiled-select/tiled-select.component.ts","../../../projects/ui-common/tiled-select/components/tiled-select/tiled-select.component.html","../../../projects/ui-common/tiled-select/tiled-select.module.ts","../../../projects/ui-common/tiled-select/theseam-ui-common-tiled-select.ts"],"sourcesContent":["import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nimport { TheSeamTiledSelectItem } from '../tiled-select.models'\n\ninterface TheSeamTiledSelectTileHarnessFilters extends BaseHarnessFilters {\n /** Filters based on the tile index of the tile. */\n tileIndex?: number | string | RegExp\n\n /** Filters based on the tile name of the tile. */\n tileName?: string | RegExp\n}\n\nexport class TheSeamTiledSelectTileHarness extends ComponentHarness {\n static hostSelector = 'seam-tiled-select-tile'\n\n /** Creates a `HarnessPredicate` used to locate a particular `MyMenuHarness`. */\n static with(options: TheSeamTiledSelectTileHarnessFilters): HarnessPredicate<TheSeamTiledSelectTileHarness> {\n return new HarnessPredicate(TheSeamTiledSelectTileHarness, options)\n .addOption('tile index', options.tileIndex,\n (harness, index) => HarnessPredicate.stringMatches(harness.getTileIndex(), `${index}`))\n .addOption('tile name', options.tileName,\n (harness, name) => HarnessPredicate.stringMatches(harness.getTileName(), name))\n }\n\n public async getTileIndex() {\n return (await this.host()).getAttribute('data-tile-index')\n }\n\n public async getTileName(): Promise<string | null> {\n return (await this.host()).getAttribute('data-tile-name')\n }\n\n public async getValue(): Promise<any> {\n return (await this.host()).getProperty('value')\n }\n\n public async getButtonElement() {\n return this.locatorFor('button')()\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\n\nimport { TheSeamTiledSelectTileHarness } from './tiled-select-tile-harness'\n\nexport class TheSeamTiledSelectHarness extends ComponentHarness {\n static hostSelector = 'seam-tiled-select'\n\n public async getTiles() {\n return this.locatorForAll(TheSeamTiledSelectTileHarness)\n }\n\n public getTileAtIndex(index: number) {\n const getTileAtIndex = this.locatorFor(TheSeamTiledSelectTileHarness.with({ tileIndex: index }))\n return getTileAtIndex()\n // return this.locatorFor(TheSeamTiledSelectTileHarness.with({ tileIndex: index }))\n }\n\n public async getTileByName(name: string) {\n const getTileByName = this.locatorFor(TheSeamTiledSelectTileHarness.with({ tileName: name }))\n return getTileByName()\n }\n\n public async getValue() {\n return (await this.host()).getProperty('value')\n }\n}\n","import { Directive, inject, Input, TemplateRef } from '@angular/core'\n\nimport { TheSeamTiledSelectItem } from '../tiled-select.models'\n\n@Directive({\n selector: '[seamTiledSelectTileOverlay]',\n exportAs: 'seamTiledSelectTileOverlay',\n})\nexport class TheSeamTiledSelectTileOverlayDirective {\n public readonly template = inject(TemplateRef<any>)\n\n @Input() record: TheSeamTiledSelectItem | undefined | null\n}\n","import { Directive, inject, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamTiledSelectTileLabelTpl]',\n exportAs: 'seamTiledSelectTileLabelTpl',\n})\nexport class TheSeamTiledSelectTileLabelTplDirective {\n public readonly template = inject(TemplateRef<any>)\n}\n","import { Directive, inject, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamTiledSelectTileIconTpl]',\n exportAs: 'seamTiledSelectTileIconTpl',\n})\nexport class TheSeamTiledSelectTileIconTplDirective {\n public readonly template = inject(TemplateRef<any>)\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { Component, ContentChild, HostBinding, Input } from '@angular/core'\nimport { NgIf, NgTemplateOutlet } from '@angular/common'\n\nimport { IconProp } from '@fortawesome/fontawesome-svg-core'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { SeamIcon } from '@theseam/ui-common/icon'\n\nimport { TheSeamTiledSelectTileIconTplDirective } from '../../directives/tiled-select-tile-icon-tpl.directive'\nimport { TheSeamTiledSelectLayout } from '../../tiled-select.models'\n\nconst needToFix = /(MSIE 10)|(Trident.*rv:11\\.0)|( Edge\\/[\\d.]+$)/.test(navigator.userAgent)\n\n@Component({\n selector: 'seam-tiled-select-tile-icon',\n templateUrl: './tiled-select-tile-icon.component.html',\n styleUrls: ['./tiled-select-tile-icon.component.scss'],\n imports: [\n NgIf,\n NgTemplateOutlet,\n FontAwesomeModule,\n ],\n})\nexport class TheSeamTiledSelectTileIconComponent {\n static ngAcceptInputType_grayscaleOnDisable: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n\n readonly needToFix = needToFix\n\n @HostBinding('class.grid') get _cssClassGrid() { return this.layout === 'grid' }\n @HostBinding('class.list') get _cssClassList() { return this.layout === 'list' }\n\n @Input()\n set layout(value: TheSeamTiledSelectLayout) { this._layout = value || 'grid' }\n get layout(): TheSeamTiledSelectLayout { return this._layout }\n private _layout: TheSeamTiledSelectLayout = 'grid'\n\n @Input() @InputBoolean() grayscaleOnDisable = false\n @Input() @InputBoolean() disabled = false\n\n @Input() iconClass: string | undefined | null\n\n @Input()\n get icon(): SeamIcon | undefined | null { return this._iconUrl || this._iconObj }\n set icon(value: SeamIcon | undefined | null) {\n if (typeof value === 'string') {\n this._iconUrl = value\n this._iconObj = undefined\n } else {\n this._iconUrl = undefined\n this._iconObj = value\n }\n }\n\n public _iconUrl: string | undefined | null\n public _iconObj: IconProp | undefined | null\n\n @ContentChild(TheSeamTiledSelectTileIconTplDirective, { static: true }) iconTpl?: TheSeamTiledSelectTileIconTplDirective\n\n}\n","<ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon }\">\n </ng-template>\n</ng-container>\n<ng-template #noIconTpl>\n\n <fa-icon *ngIf=\"_iconObj\"\n class=\"tiled-select-tile-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"></fa-icon>\n\n <ng-container *ngIf=\"_iconUrl\">\n <!-- Partial fix for IE greyscale -->\n <ng-container *ngIf=\"needToFix\">\n <ng-container *ngIf=\"disabled && grayscaleOnDisable\">\n <span class=\"grayscale-fix\" style=\"display: inline-block; position: relative;\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" id=\"svgroot\" style=\"position: absolute; left: 0; right: 0;\" viewBox=\"0 0 48 48\" width=\"100%\" height=\"100%\">\n <defs><filter id=\"gray\"><feColorMatrix type=\"matrix\" values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\" /></filter></defs>\n <image filter=\"url("#gray")\" preserveAspectRatio=\"none meet\" x=\"0\" y=\"0\" width=\"48\" height=\"48\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n [attr.xlink:href]=\"_iconUrl\" />\n </svg>\n <img class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\" style=\"display: block; visibility: hidden;\" alt=\"Icon\" [src]=\"_iconUrl\">\n </span>\n </ng-container>\n <ng-container *ngIf=\"!disabled\">\n <img class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!needToFix\">\n <img class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\" [src]=\"_iconUrl\" alt=\"Icon\">\n </ng-container>\n </ng-container>\n\n</ng-template>\n","import { animate, animation, keyframes, style, transition, trigger, useAnimation } from '@angular/animations'\nimport { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectorRef, Component, ContentChild, EventEmitter, HostBinding, inject, Input, Output } from '@angular/core'\nimport { NgIf, NgTemplateOutlet } from '@angular/common'\n\nimport { faCheckCircle } from '@fortawesome/free-regular-svg-icons'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { SeamIcon } from '@theseam/ui-common/icon'\n\nimport { TheSeamTiledSelectTileLabelTplDirective } from '../../directives/tiled-select-tile-label-tpl.directive'\nimport { TheSeamTiledSelectTileOverlayDirective } from '../../directives/tiled-select-tile-overlay.directive'\nimport { TheSeamTiledSelectLayout } from '../../tiled-select.models'\nimport { TheSeamTiledSelectTileIconComponent } from '../tiled-select-tile-icon/tiled-select-tile-icon.component'\n\nexport const tilePulse = animation(\n animate(\n '{{ timing }}s {{ delay }}s',\n keyframes([\n style({ transform: 'scale3d(1, 1, 1)' }),\n style({ transform: 'scale3d({{ scale }}, {{ scale }}, {{ scale }})' }),\n style({ transform: 'scale3d(1, 1, 1)' }),\n ])\n ),\n { params: { scale: 1.05, timing: 0.75, delay: 0 } }\n)\n\nexport const tileScaleUp = animation(\n animate(\n '{{ timing }}s {{ delay }}s',\n keyframes([\n style({ transform: 'scale3d({{ scale }}, {{ scale }}, {{ scale }})' }),\n ])\n ),\n { params: { scale: 1.05, timing: 0.75, delay: 0 } }\n)\n\nexport const tileScaleDown = animation(\n animate(\n '{{ timing }}s {{ delay }}s',\n keyframes([\n style({ transform: 'scale3d(1, 1, 1)' }),\n ])\n ),\n { params: { scale: 1.05, timing: 0.75, delay: 0 } }\n)\n\n@Component({\n selector: 'seam-tiled-select-tile',\n templateUrl: './tiled-select-tile.component.html',\n styleUrls: ['./tiled-select-tile.component.scss'],\n animations: [\n trigger('pulse', [\n transition('false => true', [\n useAnimation(tilePulse)\n // useAnimation(tileScaleUp)\n ]),\n // transition('true => false', [\n // useAnimation(tileScaleDown)\n // ]),\n ]),\n // trigger('openClose', [\n // state('true', style({ height: '*' })),\n // state('false', style({ height: '0px' })),\n // transition('false <=> true', animate(500))\n // ]),\n ],\n // changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n NgTemplateOutlet,\n FontAwesomeModule,\n TheSeamTiledSelectTileIconComponent,\n ],\n})\nexport class TheSeamTiledSelectTileComponent {\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_selected: BooleanInput\n static ngAcceptInputType_tileBackdrop: BooleanInput\n static ngAcceptInputType_selectable: BooleanInput\n static ngAcceptInputType_grayscaleOnDisable: BooleanInput\n static ngAcceptInputType_showLabel: BooleanInput\n static ngAcceptInputType_showSelectedIcon: BooleanInput\n\n private readonly _cdr = inject(ChangeDetectorRef)\n\n readonly faCheckCircle = faCheckCircle\n\n @HostBinding('@pulse') pulseAnimationState = true\n @HostBinding('attr.data-tile-name') get _tileNameAttr() { return this.name }\n\n @Input() layout: TheSeamTiledSelectLayout = 'grid'\n\n @Input() name: string | undefined | null\n @Input() label: string | undefined | null\n @Input() icon: SeamIcon | undefined | null\n @Input() @InputBoolean() disabled = false\n @Input() @InputBoolean() selected = false\n\n @Input() @InputBoolean() tileBackdrop = false\n @Input() @InputBoolean() selectable = false\n @Input() @InputBoolean() grayscaleOnDisable = true\n @Input() @InputBoolean() showLabel = true\n @Input() @InputBoolean() showSelectedIcon = true\n\n @Input() iconClass: string | undefined | null\n\n @Input() overlayTpl: TheSeamTiledSelectTileOverlayDirective | undefined | null\n\n @Output() readonly activated = new EventEmitter<any>()\n\n @ContentChild(TheSeamTiledSelectTileLabelTplDirective, { static: true }) labelTpl?: TheSeamTiledSelectTileLabelTplDirective\n\n pulsing = false\n pulsingTimeout: number | undefined\n\n onTileClick(event: any) {\n if (!this.selectable) { return }\n this.activated.emit(event)\n\n // this.pulsing = true\n // setTimeout(() => {\n // this.pulsing = false\n // }, 750)\n }\n\n mDown() {\n if (this.pulsingTimeout) {\n clearTimeout(this.pulsingTimeout)\n }\n\n if (!this.pulsing) {\n this.pulsing = true\n // this._cdr.detectChanges()\n }\n\n // console.log('start')\n this.pulsingTimeout = window.setTimeout(() => {\n this.pulsing = false\n // this._cdr.detectChanges()\n this.pulsingTimeout = undefined\n }, 750)\n }\n\n}\n","<button\n class=\"btn tiled-select-tile-panel\"\n [disabled]=\"disabled\"\n [class.grid]=\"layout === 'grid'\"\n [class.list]=\"layout === 'list'\"\n [class.selected]=\"selectable && selected\"\n [class.selectable]=\"selectable\"\n [class.no-grayscale]=\"!grayscaleOnDisable\"\n (click)=\"onTileClick($event)\"\n [@pulse]=\"pulsing ? true : false\"\n [attr.data-category]=\"name\"\n [attr.title]=\"showLabel ? '' : label\"\n type=\"button\">\n <div class=\"tiled-select-tile-panel--content\">\n <seam-tiled-select-tile-icon\n class=\"tiled-select-tile-panel--icon\"\n [class.invisible]=\"!icon\"\n [icon]=\"icon\"\n [iconClass]=\"iconClass\"\n [layout]=\"layout\"\n [grayscaleOnDisable]=\"grayscaleOnDisable\"\n [disabled]=\"disabled\">\n </seam-tiled-select-tile-icon>\n <div class=\"tiled-select-tile-panel--label-container\" *ngIf=\"showLabel\">\n <span *ngIf=\"!labelTpl\" class=\"tiled-select-tile-panel--label\">{{ label }}</span>\n <ng-template *ngIf=\"labelTpl\"\n [ngTemplateOutlet]=\"labelTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: label, label: label }\">\n </ng-template>\n </div>\n <div *ngIf=\"tileBackdrop\" class=\"selected-backdrop\"\n [class.bg-success]=\"selected\"></div>\n <fa-icon\n *ngIf=\"selected && showSelectedIcon\"\n class=\"tiled-select-tile-panel--selected text-success\"\n [icon]=\"faCheckCircle\"\n size=\"3x\">\n </fa-icon>\n </div>\n <div class=\"tiled-select-tile-panel--overlay\" *ngIf=\"overlayTpl\">\n <ng-template [ngTemplateOutlet]=\"overlayTpl.template\"></ng-template>\n </div>\n</button>\n","import { animate, animation, query, stagger, style, transition, trigger, useAnimation } from '@angular/animations'\nimport { BooleanInput, coerceArray } from '@angular/cdk/coercion'\nimport { Platform } from '@angular/cdk/platform'\nimport { ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, inject, Input, Output, QueryList, Renderer2 } from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { TheSeamTiledSelectTileOverlayDirective } from './../../directives/tiled-select-tile-overlay.directive'\nimport { TheSeamTiledSelectItem, TheSeamTiledSelectLayout } from '../../tiled-select.models'\nimport { TheSeamTiledSelectTileComponent } from '../tiled-select-tile/tiled-select-tile.component'\nimport { NgClass, NgFor } from '@angular/common'\n\nexport const slideEnterAnimation = animation([\n style({ opacity: 0, transform: 'translateX(-15px)' }),\n stagger(100, [\n animate('0.5s', style({ opacity: 1, transform: 'translateX(0)' })),\n ]),\n])\n\nexport const TILED_SELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TheSeamTiledSelectComponent),\n multi: true,\n}\n\n@Component({\n selector: 'seam-tiled-select',\n templateUrl: './tiled-select.component.html',\n styleUrls: ['./tiled-select.component.scss'],\n providers: [ TILED_SELECT_VALUE_ACCESSOR ],\n host: {\n '[attr.data-testid]': '\"tiled-select\"',\n },\n animations: [\n trigger('tiles', [\n transition('* => *', [\n query(':enter', useAnimation(slideEnterAnimation), { optional: true }),\n ]),\n ]),\n ],\n imports: [\n NgFor,\n NgClass,\n TheSeamTiledSelectTileComponent,\n ],\n})\nexport class TheSeamTiledSelectComponent implements ControlValueAccessor {\n static ngAcceptInputType_val: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_multiple: BooleanInput\n static ngAcceptInputType_selectionToggleable: BooleanInput\n static ngAcceptInputType_tileBackdrop: BooleanInput\n static ngAcceptInputType_showSelectedIcon: BooleanInput\n static ngAcceptInputType_animationsDisabled: BooleanInput\n\n private readonly _platform = inject(Platform)\n private readonly _cdr = inject(ChangeDetectorRef)\n private readonly _renderer = inject(Renderer2)\n private readonly _elementRef = inject(ElementRef)\n\n @Input() layout: TheSeamTiledSelectLayout = 'grid'\n @Input()\n get tiles() { return this._tiles }\n set tiles(value: TheSeamTiledSelectItem[]) {\n const _value = [ ...(value || []) ]\n for (const v of _value) {\n if (v.value === undefined) {\n if (v.name === undefined) {\n throw new Error('If value is undefined then name must be defined.')\n }\n v.value = v.name\n }\n }\n\n const prev = this._tiles\n if (prev.length !== _value.length) {\n this.tilesAnimationState = !this.tilesAnimationState\n } else {\n for (const t of _value) {\n if (!prev.find(p => p.name === t.name)) {\n this.tilesAnimationState = !this.tilesAnimationState\n break\n }\n }\n }\n\n this._tiles = _value\n }\n private _tiles: TheSeamTiledSelectItem[] = []\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('value') val: string | string[] | undefined\n\n @Input() @InputBoolean() disabled = false\n @Input() @InputBoolean() multiple = false\n @Input() @InputBoolean() selectionToggleable = true\n @Input() @InputBoolean() tileBackdrop = false\n @Input() @InputBoolean() showSelectedIcon = true\n @Input() @InputBoolean() animationsDisabled: boolean = this._platform.IOS\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<string | string[] | undefined>()\n\n tilesAnimationState = false\n\n onChange: any\n onTouched: any\n\n @ContentChildren(TheSeamTiledSelectTileOverlayDirective)\n public overlayTpls?: QueryList<TheSeamTiledSelectTileOverlayDirective>\n\n get value(): string | string[] | undefined {\n return this.val\n }\n\n set value(value: string | string[] | undefined) {\n this.val = (this.multiple) ? [ ...(value as string[] || []) ] : value || ''\n\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', this.val)\n\n if (this.onChange) {\n this.onChange(this.val)\n this.change.emit(this.val)\n this._cdr.markForCheck()\n }\n if (this.onTouched) { this.onTouched() }\n }\n\n writeValue(value: any): void {\n this.value = value\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n onTileSelected(event: MouseEvent, tile: TheSeamTiledSelectItem) {\n this.toggleTileSelected(tile)\n }\n\n public isSelected(tile: TheSeamTiledSelectItem) {\n if (!this.multiple) {\n if (this.value === tile.value) {\n return true\n }\n } else {\n if (this.value) {\n for (const v of this.value) {\n if (v === tile.value) {\n return true\n }\n }\n }\n }\n\n return false\n }\n\n public toggleTileSelected(tile: TheSeamTiledSelectItem): void {\n if (!this.selectionToggleable && this.isSelected(tile)) {\n return\n }\n\n if (this.isSelected(tile)) {\n this.unselectTile(tile)\n } else {\n this.selectTile(tile)\n }\n }\n\n public selectTile(tile: TheSeamTiledSelectItem): void {\n if (this.multiple) {\n if (!this.isSelected(tile)) {\n const value: string[] = this.value as string[] || []\n this.value = [ ...coerceArray(value), tile.value ]\n }\n } else {\n this.value = tile.value\n }\n }\n\n public unselectTile(tile: TheSeamTiledSelectItem): void {\n if (this.multiple) {\n const value: string[] = this.value as string[] || []\n this.value = value.filter(v => v !== tile.value)\n } else {\n this.value = undefined\n }\n }\n\n public getSelectedTiles(): TheSeamTiledSelectItem[] {\n return this.tiles.filter(t => this.isSelected(t))\n }\n\n getOverlayTpl(tile: TheSeamTiledSelectItem): TheSeamTiledSelectTileOverlayDirective | undefined {\n // console.log('overlayTpls', this.overlayTpls)\n return (this.overlayTpls || []).find(t => t.record?.name === tile.name)\n }\n\n}\n","<div class=\"tiled-select--container\"\n [class.grid]=\"layout === 'grid'\"\n [class.list]=\"layout === 'list'\"\n [@tiles]=\"tilesAnimationState\"\n [@.disabled]=\"animationsDisabled\">\n <ng-container *ngFor=\"let tile of tiles; let index = index\">\n <div class=\"tile-wrapper\" [ngClass]=\"tile.customClass || ''\">\n <seam-tiled-select-tile\n class=\"tiled-select-tile\"\n [ngClass]=\"tile.customClass || ''\"\n [name]=\"tile.name\"\n [label]=\"tile.label\"\n [icon]=\"tile.icon\"\n [disabled]=\"disabled || tile.disabled\"\n [attr.hidden]=\"tile.hidden\"\n [layout]=\"layout\"\n [selected]=\"isSelected(tile)\"\n [selectable]=\"true\"\n [tileBackdrop]=\"tileBackdrop\"\n [showSelectedIcon]=\"showSelectedIcon\"\n [overlayTpl]=\"getOverlayTpl(tile)\"\n (activated)=\"onTileSelected($event, tile)\"\n [attr.data-tile-index]=\"index\"\n [attr.data-testid]=\"tile.name\">\n </seam-tiled-select-tile>\n </div>\n </ng-container>\n</div>\n","import { NgModule } from '@angular/core'\n\nimport { TheSeamTiledSelectTileComponent } from './components/tiled-select-tile/tiled-select-tile.component'\nimport { TheSeamTiledSelectComponent } from './components/tiled-select/tiled-select.component'\nimport { TheSeamTiledSelectTileIconTplDirective } from './directives/tiled-select-tile-icon-tpl.directive'\nimport { TheSeamTiledSelectTileLabelTplDirective } from './directives/tiled-select-tile-label-tpl.directive'\nimport { TheSeamTiledSelectTileOverlayDirective } from './directives/tiled-select-tile-overlay.directive'\n\n@NgModule({\n imports: [\n TheSeamTiledSelectComponent,\n TheSeamTiledSelectTileComponent,\n TheSeamTiledSelectTileOverlayDirective,\n TheSeamTiledSelectTileIconTplDirective,\n TheSeamTiledSelectTileLabelTplDirective,\n ],\n exports: [\n TheSeamTiledSelectComponent,\n TheSeamTiledSelectTileComponent,\n TheSeamTiledSelectTileOverlayDirective,\n TheSeamTiledSelectTileIconTplDirective,\n TheSeamTiledSelectTileLabelTplDirective,\n ],\n})\nexport class TheSeamTiledSelectModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAYM,MAAO,6BAA8B,SAAQ,gBAAgB,CAAA;AACjE,IAAA,OAAO,YAAY,GAAG,wBAAwB;;IAG9C,OAAO,IAAI,CAAC,OAA6C,EAAA;AACvD,QAAA,OAAO,IAAI,gBAAgB,CAAC,6BAA6B,EAAE,OAAO;aAC7D,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,EACtC,CAAC,OAAO,EAAE,KAAK,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAA,EAAG,KAAK,CAAA,CAAE,CAAC;aACzF,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,EACpC,CAAC,OAAO,EAAE,IAAI,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;IACzF;AAEO,IAAA,MAAM,YAAY,GAAA;AACvB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,iBAAiB,CAAC;IAC5D;AAEO,IAAA,MAAM,WAAW,GAAA;AACtB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,gBAAgB,CAAC;IAC3D;AAEO,IAAA,MAAM,QAAQ,GAAA;AACnB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC;IACjD;AAEO,IAAA,MAAM,gBAAgB,GAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;IACpC;;;AClCI,MAAO,yBAA0B,SAAQ,gBAAgB,CAAA;AAC7D,IAAA,OAAO,YAAY,GAAG,mBAAmB;AAElC,IAAA,MAAM,QAAQ,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC;IAC1D;AAEO,IAAA,cAAc,CAAC,KAAa,EAAA;AACjC,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAChG,OAAO,cAAc,EAAE;;IAEzB;IAEO,MAAM,aAAa,CAAC,IAAY,EAAA;AACrC,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7F,OAAO,aAAa,EAAE;IACxB;AAEO,IAAA,MAAM,QAAQ,GAAA;AACnB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC;IACjD;;;MChBW,sCAAsC,CAAA;AACjC,IAAA,QAAQ,GAAG,MAAM,EAAC,WAAgB,EAAC;AAE1C,IAAA,MAAM;uGAHJ,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAtC,sCAAsC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,CAAA,4BAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAtC,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBAJlD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,QAAQ,EAAE,4BAA4B;AACvC,iBAAA;8BAIU,MAAM,EAAA,CAAA;sBAAd;;;MCLU,uCAAuC,CAAA;AAClC,IAAA,QAAQ,GAAG,MAAM,EAAC,WAAgB,EAAC;uGADxC,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAvC,uCAAuC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,QAAA,EAAA,CAAA,6BAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAvC,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBAJnD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+BAA+B;AACzC,oBAAA,QAAQ,EAAE,6BAA6B;AACxC,iBAAA;;;MCCY,sCAAsC,CAAA;AACjC,IAAA,QAAQ,GAAG,MAAM,EAAC,WAAgB,EAAC;uGADxC,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAtC,sCAAsC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,QAAA,EAAA,CAAA,4BAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAtC,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBAJlD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,QAAQ,EAAE,4BAA4B;AACvC,iBAAA;;;ACOD,MAAM,SAAS,GAAG,gDAAgD,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;MAY/E,mCAAmC,CAAA;IAC9C,OAAO,oCAAoC;IAC3C,OAAO,0BAA0B;IAExB,SAAS,GAAG,SAAS;IAE9B,IAA+B,aAAa,GAAA,EAAK,OAAO,IAAI,CAAC,MAAM,KAAK,MAAM,CAAA,CAAC;IAC/E,IAA+B,aAAa,GAAA,EAAK,OAAO,IAAI,CAAC,MAAM,KAAK,MAAM,CAAA,CAAC;AAE/E,IAAA,IACI,MAAM,CAAC,KAA+B,EAAA,EAAI,IAAI,CAAC,OAAO,GAAG,KAAK,IAAI,MAAM,CAAA,CAAC;IAC7E,IAAI,MAAM,KAA+B,OAAO,IAAI,CAAC,OAAO,CAAA,CAAC;IACrD,OAAO,GAA6B,MAAM;IAEzB,kBAAkB,GAAG,KAAK;IAC1B,QAAQ,GAAG,KAAK;AAEhC,IAAA,SAAS;AAElB,IAAA,IACI,IAAI,GAAA,EAAkC,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAA,CAAC;IAChF,IAAI,IAAI,CAAC,KAAkC,EAAA;AACzC,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;QAC3B;aAAO;AACL,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;AACzB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;QACvB;IACF;AAEO,IAAA,QAAQ;AACR,IAAA,QAAQ;AAEyD,IAAA,OAAO;uGAlCpE,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAnC,mCAAmC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAkChC,sCAAsC,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1DtD,8yDAmCA,67BDhBI,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACJ,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAChB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;AAiBM,UAAA,CAAA;AAAf,IAAA,YAAY;AAA6B,CAAA,EAAA,mCAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,KAAA,CAAA,CAAA;AAC1B,UAAA,CAAA;AAAf,IAAA,YAAY;AAAmB,CAAA,EAAA,mCAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;2FAf9B,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAV/C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,EAAA,OAAA,EAG9B;wBACP,IAAI;wBACJ,gBAAgB;wBAChB,iBAAiB;AAClB,qBAAA,EAAA,QAAA,EAAA,8yDAAA,EAAA,MAAA,EAAA,CAAA,q4BAAA,CAAA,EAAA;8BAQ8B,aAAa,EAAA,CAAA;sBAA3C,WAAW;uBAAC,YAAY;gBACM,aAAa,EAAA,CAAA;sBAA3C,WAAW;uBAAC,YAAY;gBAGrB,MAAM,EAAA,CAAA;sBADT;gBAKwB,kBAAkB,EAAA,CAAA;sBAA1C;gBACwB,QAAQ,EAAA,CAAA;sBAAhC;gBAEQ,SAAS,EAAA,CAAA;sBAAjB;gBAGG,IAAI,EAAA,CAAA;sBADP;gBAeuE,OAAO,EAAA,CAAA;sBAA9E,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,sCAAsC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;AE1CjE,MAAM,SAAS,GAAG,SAAS,CAChC,OAAO,CACL,4BAA4B,EAC5B,SAAS,CAAC;AACR,IAAA,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;AACxC,IAAA,KAAK,CAAC,EAAE,SAAS,EAAE,gDAAgD,EAAE,CAAC;AACtE,IAAA,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;CACzC,CAAC,CACH,EACD,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;AAG9C,MAAM,WAAW,GAAG,SAAS,CAClC,OAAO,CACL,4BAA4B,EAC5B,SAAS,CAAC;AACR,IAAA,KAAK,CAAC,EAAE,SAAS,EAAE,gDAAgD,EAAE,CAAC;CACvE,CAAC,CACH,EACD,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;AAG9C,MAAM,aAAa,GAAG,SAAS,CACpC,OAAO,CACL,4BAA4B,EAC5B,SAAS,CAAC;AACR,IAAA,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;CACzC,CAAC,CACH,EACD,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;MA+BxC,+BAA+B,CAAA;IAC1C,OAAO,0BAA0B;IACjC,OAAO,0BAA0B;IACjC,OAAO,8BAA8B;IACrC,OAAO,4BAA4B;IACnC,OAAO,oCAAoC;IAC3C,OAAO,2BAA2B;IAClC,OAAO,kCAAkC;AAExB,IAAA,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAExC,aAAa,GAAG,aAAa;IAEf,mBAAmB,GAAG,IAAI;IACjD,IAAwC,aAAa,KAAK,OAAO,IAAI,CAAC,IAAI,CAAA,CAAC;IAElE,MAAM,GAA6B,MAAM;AAEzC,IAAA,IAAI;AACJ,IAAA,KAAK;AACL,IAAA,IAAI;IACY,QAAQ,GAAG,KAAK;IAChB,QAAQ,GAAG,KAAK;IAEhB,YAAY,GAAG,KAAK;IACpB,UAAU,GAAG,KAAK;IAClB,kBAAkB,GAAG,IAAI;IACzB,SAAS,GAAG,IAAI;IAChB,gBAAgB,GAAG,IAAI;AAEvC,IAAA,SAAS;AAET,IAAA,UAAU;AAEA,IAAA,SAAS,GAAG,IAAI,YAAY,EAAO;AAEmB,IAAA,QAAQ;IAEjF,OAAO,GAAG,KAAK;AACf,IAAA,cAAc;AAEd,IAAA,WAAW,CAAC,KAAU,EAAA;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAAE;QAAO;AAC/B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;;;;;IAM5B;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;QACnC;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;;QAErB;;QAGA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,MAAK;AAC3C,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;;AAEpB,YAAA,IAAI,CAAC,cAAc,GAAG,SAAS;QACjC,CAAC,EAAE,GAAG,CAAC;IACT;uGAnEW,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA/B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAoC5B,uCAAuC,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChHvD,+oDA2CA,EAAA,MAAA,EAAA,CAAA,m2GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED2BI,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACJ,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAChB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,mCAAmC,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EArBzB;YACV,OAAO,CAAC,OAAO,EAAE;gBACf,UAAU,CAAC,eAAe,EAAE;oBAC1B,YAAY,CAAC,SAAS;;iBAEvB,CAAC;;;;aAIH,CAAC;;;;;;AAMH,SAAA,EAAA,CAAA;;AA8BwB,UAAA,CAAA;AAAf,IAAA,YAAY;AAAmB,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAChB,UAAA,CAAA;AAAf,IAAA,YAAY;AAAmB,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAEhB,UAAA,CAAA;AAAf,IAAA,YAAY;AAAuB,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA;AACpB,UAAA,CAAA;AAAf,IAAA,YAAY;AAAqB,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA;AAClB,UAAA,CAAA;AAAf,IAAA,YAAY;AAA4B,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,KAAA,CAAA,CAAA;AACzB,UAAA,CAAA;AAAf,IAAA,YAAY;AAAmB,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAChB,UAAA,CAAA;AAAf,IAAA,YAAY;AAA0B,CAAA,EAAA,+BAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,KAAA,CAAA,CAAA;2FA5BrC,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBA5B3C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAAA,UAAA,EAGtB;wBACV,OAAO,CAAC,OAAO,EAAE;4BACf,UAAU,CAAC,eAAe,EAAE;gCAC1B,YAAY,CAAC,SAAS;;6BAEvB,CAAC;;;;yBAIH,CAAC;;;;;;qBAMH,EAAA,OAAA,EAEQ;wBACP,IAAI;wBACJ,gBAAgB;wBAChB,iBAAiB;wBACjB,mCAAmC;AACpC,qBAAA,EAAA,QAAA,EAAA,+oDAAA,EAAA,MAAA,EAAA,CAAA,m2GAAA,CAAA,EAAA;8BAesB,mBAAmB,EAAA,CAAA;sBAAzC,WAAW;uBAAC,QAAQ;gBACmB,aAAa,EAAA,CAAA;sBAApD,WAAW;uBAAC,qBAAqB;gBAEzB,MAAM,EAAA,CAAA;sBAAd;gBAEQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACwB,QAAQ,EAAA,CAAA;sBAAhC;gBACwB,QAAQ,EAAA,CAAA;sBAAhC;gBAEwB,YAAY,EAAA,CAAA;sBAApC;gBACwB,UAAU,EAAA,CAAA;sBAAlC;gBACwB,kBAAkB,EAAA,CAAA;sBAA1C;gBACwB,SAAS,EAAA,CAAA;sBAAjC;gBACwB,gBAAgB,EAAA,CAAA;sBAAxC;gBAEQ,SAAS,EAAA,CAAA;sBAAjB;gBAEQ,UAAU,EAAA,CAAA;sBAAlB;gBAEkB,SAAS,EAAA,CAAA;sBAA3B;gBAEwE,QAAQ,EAAA,CAAA;sBAAhF,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,uCAAuC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;AEnGlE,MAAM,mBAAmB,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACrD,OAAO,CAAC,GAAG,EAAE;AACX,QAAA,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;KACnE,CAAC;AACH,CAAA;AAEM,MAAM,2BAA2B,GAAQ;AAC9C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC1D,IAAA,KAAK,EAAE,IAAI;;MAwBA,2BAA2B,CAAA;IACtC,OAAO,qBAAqB;IAC5B,OAAO,0BAA0B;IACjC,OAAO,0BAA0B;IACjC,OAAO,qCAAqC;IAC5C,OAAO,8BAA8B;IACrC,OAAO,kCAAkC;IACzC,OAAO,oCAAoC;AAE1B,IAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC5B,IAAA,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAChC,IAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAC7B,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IAExC,MAAM,GAA6B,MAAM;IAClD,IACI,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAA,CAAC;IACjC,IAAI,KAAK,CAAC,KAA+B,EAAA;QACvC,MAAM,MAAM,GAAG,CAAE,IAAI,KAAK,IAAI,EAAE,CAAC,CAAE;AACnC,QAAA,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;AACtB,YAAA,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE;AACzB,gBAAA,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;AACxB,oBAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC;gBACrE;AACA,gBAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI;YAClB;QACF;AAEA,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM;QACxB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE;AACjC,YAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB;QACtD;aAAO;AACL,YAAA,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;AACtB,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE;AACtC,oBAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB;oBACpD;gBACF;YACF;QACF;AAEA,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;IACtB;IACQ,MAAM,GAA6B,EAAE;;AAG7B,IAAA,GAAG;IAEM,QAAQ,GAAG,KAAK;IAChB,QAAQ,GAAG,KAAK;IAChB,mBAAmB,GAAG,IAAI;IAC1B,YAAY,GAAG,KAAK;IACpB,gBAAgB,GAAG,IAAI;AACvB,IAAA,kBAAkB,GAAY,IAAI,CAAC,SAAS,CAAC,GAAG;;AAGtD,IAAA,MAAM,GAAG,IAAI,YAAY,EAAiC;IAE7E,mBAAmB,GAAG,KAAK;AAE3B,IAAA,QAAQ;AACR,IAAA,SAAS;AAGF,IAAA,WAAW;AAElB,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,GAAG;IACjB;IAEA,IAAI,KAAK,CAAC,KAAoC,EAAA;QAC5C,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAE,IAAI,KAAiB,IAAI,EAAE,CAAC,CAAE,GAAG,KAAK,IAAI,EAAE;AAE3E,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC;AAE7E,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC1B,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;QAC1B;AACA,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAAE,IAAI,CAAC,SAAS,EAAE;QAAC;IACzC;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACpB;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;IAEA,cAAc,CAAC,KAAiB,EAAE,IAA4B,EAAA;AAC5D,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;IAC/B;AAEO,IAAA,UAAU,CAAC,IAA4B,EAAA;AAC5C,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;AAC7B,gBAAA,OAAO,IAAI;YACb;QACF;aAAO;AACL,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,gBAAA,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;AAC1B,oBAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;AACpB,wBAAA,OAAO,IAAI;oBACb;gBACF;YACF;QACF;AAEA,QAAA,OAAO,KAAK;IACd;AAEO,IAAA,kBAAkB,CAAC,IAA4B,EAAA;AACpD,QAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACtD;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACzB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QACzB;aAAO;AACL,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACvB;IACF;AAEO,IAAA,UAAU,CAAC,IAA4B,EAAA;AAC5C,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC1B,gBAAA,MAAM,KAAK,GAAa,IAAI,CAAC,KAAiB,IAAI,EAAE;AACpD,gBAAA,IAAI,CAAC,KAAK,GAAG,CAAE,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAE;YACpD;QACF;aAAO;AACL,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;QACzB;IACF;AAEO,IAAA,YAAY,CAAC,IAA4B,EAAA;AAC9C,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,MAAM,KAAK,GAAa,IAAI,CAAC,KAAiB,IAAI,EAAE;AACpD,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC;QAClD;aAAO;AACL,YAAA,IAAI,CAAC,KAAK,GAAG,SAAS;QACxB;IACF;IAEO,gBAAgB,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACnD;AAEA,IAAA,aAAa,CAAC,IAA4B,EAAA;;QAExC,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;IACzE;uGA/JW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,GAAA,EAAA,CAAA,OAAA,EAAA,KAAA,CAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAjB3B,CAAE,2BAA2B,CAAE,sDA+EzB,sCAAsC,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7GzD,kjCA4BA,EAAA,MAAA,EAAA,CAAA,usBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDcI,KAAK,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACL,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACP,+BAA+B,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAVrB;YACV,OAAO,CAAC,OAAO,EAAE;gBACf,UAAU,CAAC,QAAQ,EAAE;AACnB,oBAAA,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;iBACvE,CAAC;aACH,CAAC;AACH,SAAA,EAAA,CAAA;;AAsDwB,UAAA,CAAA;AAAf,IAAA,YAAY;AAAmB,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAChB,UAAA,CAAA;AAAf,IAAA,YAAY;AAAmB,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAChB,UAAA,CAAA;AAAf,IAAA,YAAY;AAA6B,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,qBAAA,EAAA,KAAA,CAAA,CAAA;AAC1B,UAAA,CAAA;AAAf,IAAA,YAAY;AAAuB,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA;AACpB,UAAA,CAAA;AAAf,IAAA,YAAY;AAA0B,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,KAAA,CAAA,CAAA;AACvB,UAAA,CAAA;AAAf,IAAA,YAAY;AAAmD,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,KAAA,CAAA,CAAA;2FApD9D,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBArBvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAAA,SAAA,EAGlB,CAAE,2BAA2B,CAAE,EAAA,IAAA,EACpC;AACJ,wBAAA,oBAAoB,EAAE,gBAAgB;qBACvC,EAAA,UAAA,EACW;wBACV,OAAO,CAAC,OAAO,EAAE;4BACf,UAAU,CAAC,QAAQ,EAAE;AACnB,gCAAA,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;6BACvE,CAAC;yBACH,CAAC;qBACH,EAAA,OAAA,EACQ;wBACP,KAAK;wBACL,OAAO;wBACP,+BAA+B;AAChC,qBAAA,EAAA,QAAA,EAAA,kjCAAA,EAAA,MAAA,EAAA,CAAA,usBAAA,CAAA,EAAA;8BAgBQ,MAAM,EAAA,CAAA;sBAAd;gBAEG,KAAK,EAAA,CAAA;sBADR;gBA8Be,GAAG,EAAA,CAAA;sBAAlB,KAAK;uBAAC,OAAO;gBAEW,QAAQ,EAAA,CAAA;sBAAhC;gBACwB,QAAQ,EAAA,CAAA;sBAAhC;gBACwB,mBAAmB,EAAA,CAAA;sBAA3C;gBACwB,YAAY,EAAA,CAAA;sBAApC;gBACwB,gBAAgB,EAAA,CAAA;sBAAxC;gBACwB,kBAAkB,EAAA,CAAA;sBAA1C;gBAGkB,MAAM,EAAA,CAAA;sBAAxB;gBAQM,WAAW,EAAA,CAAA;sBADjB,eAAe;uBAAC,sCAAsC;;;MErF5C,wBAAwB,CAAA;uGAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAdjC,2BAA2B;YAC3B,+BAA+B;YAC/B,sCAAsC;YACtC,sCAAsC;AACtC,YAAA,uCAAuC,aAGvC,2BAA2B;YAC3B,+BAA+B;YAC/B,sCAAsC;YACtC,sCAAsC;YACtC,uCAAuC,CAAA,EAAA,CAAA;AAG9B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAdjC,2BAA2B;YAC3B,+BAA+B,CAAA,EAAA,CAAA;;2FAatB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAhBpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,2BAA2B;wBAC3B,+BAA+B;wBAC/B,sCAAsC;wBACtC,sCAAsC;wBACtC,uCAAuC;AACxC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,2BAA2B;wBAC3B,+BAA+B;wBAC/B,sCAAsC;wBACtC,sCAAsC;wBACtC,uCAAuC;AACxC,qBAAA;AACF,iBAAA;;;ACvBD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-tiled-select.mjs","sources":["../../../projects/ui-common/tiled-select/testing/tiled-select-tile-harness.ts","../../../projects/ui-common/tiled-select/testing/tiled-select-harness.ts","../../../projects/ui-common/tiled-select/directives/tiled-select-tile-overlay.directive.ts","../../../projects/ui-common/tiled-select/directives/tiled-select-tile-label-tpl.directive.ts","../../../projects/ui-common/tiled-select/directives/tiled-select-tile-icon-tpl.directive.ts","../../../projects/ui-common/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.ts","../../../projects/ui-common/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.html","../../../projects/ui-common/tiled-select/components/tiled-select-tile/tiled-select-tile.component.ts","../../../projects/ui-common/tiled-select/components/tiled-select-tile/tiled-select-tile.component.html","../../../projects/ui-common/tiled-select/components/tiled-select/tiled-select.component.ts","../../../projects/ui-common/tiled-select/components/tiled-select/tiled-select.component.html","../../../projects/ui-common/tiled-select/tiled-select.module.ts","../../../projects/ui-common/tiled-select/theseam-ui-common-tiled-select.ts"],"sourcesContent":["import {\n BaseHarnessFilters,\n ComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing'\n\nimport { TheSeamTiledSelectItem } from '../tiled-select.models'\n\ninterface TheSeamTiledSelectTileHarnessFilters extends BaseHarnessFilters {\n /** Filters based on the tile index of the tile. */\n tileIndex?: number | string | RegExp\n\n /** Filters based on the tile name of the tile. */\n tileName?: string | RegExp\n}\n\nexport class TheSeamTiledSelectTileHarness extends ComponentHarness {\n static hostSelector = 'seam-tiled-select-tile'\n\n /** Creates a `HarnessPredicate` used to locate a particular `MyMenuHarness`. */\n static with(\n options: TheSeamTiledSelectTileHarnessFilters,\n ): HarnessPredicate<TheSeamTiledSelectTileHarness> {\n return new HarnessPredicate(TheSeamTiledSelectTileHarness, options)\n .addOption('tile index', options.tileIndex, (harness, index) =>\n HarnessPredicate.stringMatches(harness.getTileIndex(), `${index}`),\n )\n .addOption('tile name', options.tileName, (harness, name) =>\n HarnessPredicate.stringMatches(harness.getTileName(), name),\n )\n }\n\n public async getTileIndex() {\n return (await this.host()).getAttribute('data-tile-index')\n }\n\n public async getTileName(): Promise<string | null> {\n return (await this.host()).getAttribute('data-tile-name')\n }\n\n public async getValue(): Promise<any> {\n return (await this.host()).getProperty('value')\n }\n\n public async getButtonElement() {\n return this.locatorFor('button')()\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\n\nimport { TheSeamTiledSelectTileHarness } from './tiled-select-tile-harness'\n\nexport class TheSeamTiledSelectHarness extends ComponentHarness {\n static hostSelector = 'seam-tiled-select'\n\n public async getTiles() {\n return this.locatorForAll(TheSeamTiledSelectTileHarness)\n }\n\n public getTileAtIndex(index: number) {\n const getTileAtIndex = this.locatorFor(\n TheSeamTiledSelectTileHarness.with({ tileIndex: index }),\n )\n return getTileAtIndex()\n // return this.locatorFor(TheSeamTiledSelectTileHarness.with({ tileIndex: index }))\n }\n\n public async getTileByName(name: string) {\n const getTileByName = this.locatorFor(\n TheSeamTiledSelectTileHarness.with({ tileName: name }),\n )\n return getTileByName()\n }\n\n public async getValue() {\n return (await this.host()).getProperty('value')\n }\n}\n","import { Directive, inject, Input, TemplateRef } from '@angular/core'\n\nimport { TheSeamTiledSelectItem } from '../tiled-select.models'\n\n@Directive({\n selector: '[seamTiledSelectTileOverlay]',\n exportAs: 'seamTiledSelectTileOverlay',\n})\nexport class TheSeamTiledSelectTileOverlayDirective {\n public readonly template = inject(TemplateRef<any>)\n\n @Input() record: TheSeamTiledSelectItem | undefined | null\n}\n","import { Directive, inject, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamTiledSelectTileLabelTpl]',\n exportAs: 'seamTiledSelectTileLabelTpl',\n})\nexport class TheSeamTiledSelectTileLabelTplDirective {\n public readonly template = inject(TemplateRef<any>)\n}\n","import { Directive, inject, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamTiledSelectTileIconTpl]',\n exportAs: 'seamTiledSelectTileIconTpl',\n})\nexport class TheSeamTiledSelectTileIconTplDirective {\n public readonly template = inject(TemplateRef<any>)\n}\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { Component, ContentChild, HostBinding, Input } from '@angular/core'\nimport { NgIf, NgTemplateOutlet } from '@angular/common'\n\nimport { IconProp } from '@fortawesome/fontawesome-svg-core'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { SeamIcon } from '@theseam/ui-common/icon'\n\nimport { TheSeamTiledSelectTileIconTplDirective } from '../../directives/tiled-select-tile-icon-tpl.directive'\nimport { TheSeamTiledSelectLayout } from '../../tiled-select.models'\n\nconst needToFix = /(MSIE 10)|(Trident.*rv:11\\.0)|( Edge\\/[\\d.]+$)/.test(\n navigator.userAgent,\n)\n\n@Component({\n selector: 'seam-tiled-select-tile-icon',\n templateUrl: './tiled-select-tile-icon.component.html',\n styleUrls: ['./tiled-select-tile-icon.component.scss'],\n imports: [NgIf, NgTemplateOutlet, FontAwesomeModule],\n})\nexport class TheSeamTiledSelectTileIconComponent {\n static ngAcceptInputType_grayscaleOnDisable: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n\n readonly needToFix = needToFix\n\n @HostBinding('class.grid') get _cssClassGrid() {\n return this.layout === 'grid'\n }\n @HostBinding('class.list') get _cssClassList() {\n return this.layout === 'list'\n }\n\n @Input()\n set layout(value: TheSeamTiledSelectLayout) {\n this._layout = value || 'grid'\n }\n get layout(): TheSeamTiledSelectLayout {\n return this._layout\n }\n private _layout: TheSeamTiledSelectLayout = 'grid'\n\n @Input() @InputBoolean() grayscaleOnDisable = false\n @Input() @InputBoolean() disabled = false\n\n @Input() iconClass: string | undefined | null\n\n @Input()\n get icon(): SeamIcon | undefined | null {\n return this._iconUrl || this._iconObj\n }\n set icon(value: SeamIcon | undefined | null) {\n if (typeof value === 'string') {\n this._iconUrl = value\n this._iconObj = undefined\n } else {\n this._iconUrl = undefined\n this._iconObj = value\n }\n }\n\n public _iconUrl: string | undefined | null\n public _iconObj: IconProp | undefined | null\n\n @ContentChild(TheSeamTiledSelectTileIconTplDirective, { static: true })\n iconTpl?: TheSeamTiledSelectTileIconTplDirective\n}\n","<ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon }\"\n >\n </ng-template>\n</ng-container>\n<ng-template #noIconTpl>\n <fa-icon\n *ngIf=\"_iconObj\"\n class=\"tiled-select-tile-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"\n ></fa-icon>\n\n <ng-container *ngIf=\"_iconUrl\">\n <!-- Partial fix for IE greyscale -->\n <ng-container *ngIf=\"needToFix\">\n <ng-container *ngIf=\"disabled && grayscaleOnDisable\">\n <span\n class=\"grayscale-fix\"\n style=\"display: inline-block; position: relative\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n id=\"svgroot\"\n style=\"position: absolute; left: 0; right: 0\"\n viewBox=\"0 0 48 48\"\n width=\"100%\"\n height=\"100%\"\n >\n <defs>\n <filter id=\"gray\">\n <feColorMatrix\n type=\"matrix\"\n values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"\n />\n </filter>\n </defs>\n <image\n filter='url(\"#gray\")'\n preserveAspectRatio=\"none meet\"\n x=\"0\"\n y=\"0\"\n width=\"48\"\n height=\"48\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n [attr.xlink:href]=\"_iconUrl\"\n />\n </svg>\n <img\n class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\"\n style=\"display: block; visibility: hidden\"\n alt=\"Icon\"\n [src]=\"_iconUrl\"\n />\n </span>\n </ng-container>\n <ng-container *ngIf=\"!disabled\">\n <img\n class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\"\n [src]=\"_iconUrl\"\n alt=\"Icon\"\n />\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!needToFix\">\n <img\n class=\"tiled-select-tile-panel--icon-img {{ iconClass }}\"\n [src]=\"_iconUrl\"\n alt=\"Icon\"\n />\n </ng-container>\n </ng-container>\n</ng-template>\n","import {\n animate,\n animation,\n keyframes,\n style,\n transition,\n trigger,\n useAnimation,\n} from '@angular/animations'\nimport { BooleanInput } from '@angular/cdk/coercion'\nimport {\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n Output,\n} from '@angular/core'\nimport { NgIf, NgTemplateOutlet } from '@angular/common'\n\nimport { faCheckCircle } from '@fortawesome/free-regular-svg-icons'\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { SeamIcon } from '@theseam/ui-common/icon'\n\nimport { TheSeamTiledSelectTileLabelTplDirective } from '../../directives/tiled-select-tile-label-tpl.directive'\nimport { TheSeamTiledSelectTileOverlayDirective } from '../../directives/tiled-select-tile-overlay.directive'\nimport { TheSeamTiledSelectLayout } from '../../tiled-select.models'\nimport { TheSeamTiledSelectTileIconComponent } from '../tiled-select-tile-icon/tiled-select-tile-icon.component'\n\nexport const tilePulse = animation(\n animate(\n '{{ timing }}s {{ delay }}s',\n keyframes([\n style({ transform: 'scale3d(1, 1, 1)' }),\n style({ transform: 'scale3d({{ scale }}, {{ scale }}, {{ scale }})' }),\n style({ transform: 'scale3d(1, 1, 1)' }),\n ]),\n ),\n { params: { scale: 1.05, timing: 0.75, delay: 0 } },\n)\n\nexport const tileScaleUp = animation(\n animate(\n '{{ timing }}s {{ delay }}s',\n keyframes([\n style({ transform: 'scale3d({{ scale }}, {{ scale }}, {{ scale }})' }),\n ]),\n ),\n { params: { scale: 1.05, timing: 0.75, delay: 0 } },\n)\n\nexport const tileScaleDown = animation(\n animate(\n '{{ timing }}s {{ delay }}s',\n keyframes([style({ transform: 'scale3d(1, 1, 1)' })]),\n ),\n { params: { scale: 1.05, timing: 0.75, delay: 0 } },\n)\n\n@Component({\n selector: 'seam-tiled-select-tile',\n templateUrl: './tiled-select-tile.component.html',\n styleUrls: ['./tiled-select-tile.component.scss'],\n animations: [\n trigger('pulse', [\n transition('false => true', [\n useAnimation(tilePulse),\n // useAnimation(tileScaleUp)\n ]),\n // transition('true => false', [\n // useAnimation(tileScaleDown)\n // ]),\n ]),\n // trigger('openClose', [\n // state('true', style({ height: '*' })),\n // state('false', style({ height: '0px' })),\n // transition('false <=> true', animate(500))\n // ]),\n ],\n // changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n NgTemplateOutlet,\n FontAwesomeModule,\n TheSeamTiledSelectTileIconComponent,\n ],\n})\nexport class TheSeamTiledSelectTileComponent {\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_selected: BooleanInput\n static ngAcceptInputType_tileBackdrop: BooleanInput\n static ngAcceptInputType_selectable: BooleanInput\n static ngAcceptInputType_grayscaleOnDisable: BooleanInput\n static ngAcceptInputType_showLabel: BooleanInput\n static ngAcceptInputType_showSelectedIcon: BooleanInput\n\n private readonly _cdr = inject(ChangeDetectorRef)\n\n readonly faCheckCircle = faCheckCircle\n\n @HostBinding('@pulse') pulseAnimationState = true\n @HostBinding('attr.data-tile-name') get _tileNameAttr() {\n return this.name\n }\n\n @Input() layout: TheSeamTiledSelectLayout = 'grid'\n\n @Input() name: string | undefined | null\n @Input() label: string | undefined | null\n @Input() icon: SeamIcon | undefined | null\n @Input() @InputBoolean() disabled = false\n @Input() @InputBoolean() selected = false\n\n @Input() @InputBoolean() tileBackdrop = false\n @Input() @InputBoolean() selectable = false\n @Input() @InputBoolean() grayscaleOnDisable = true\n @Input() @InputBoolean() showLabel = true\n @Input() @InputBoolean() showSelectedIcon = true\n\n @Input() iconClass: string | undefined | null\n\n @Input() overlayTpl: TheSeamTiledSelectTileOverlayDirective | undefined | null\n\n @Output() readonly activated = new EventEmitter<any>()\n\n @ContentChild(TheSeamTiledSelectTileLabelTplDirective, { static: true })\n labelTpl?: TheSeamTiledSelectTileLabelTplDirective\n\n pulsing = false\n pulsingTimeout: number | undefined\n\n onTileClick(event: any) {\n if (!this.selectable) {\n return\n }\n this.activated.emit(event)\n\n // this.pulsing = true\n // setTimeout(() => {\n // this.pulsing = false\n // }, 750)\n }\n\n mDown() {\n if (this.pulsingTimeout) {\n clearTimeout(this.pulsingTimeout)\n }\n\n if (!this.pulsing) {\n this.pulsing = true\n // this._cdr.detectChanges()\n }\n\n // console.log('start')\n this.pulsingTimeout = window.setTimeout(() => {\n this.pulsing = false\n // this._cdr.detectChanges()\n this.pulsingTimeout = undefined\n }, 750)\n }\n}\n","<button\n class=\"btn tiled-select-tile-panel\"\n [disabled]=\"disabled\"\n [class.grid]=\"layout === 'grid'\"\n [class.list]=\"layout === 'list'\"\n [class.selected]=\"selectable && selected\"\n [class.selectable]=\"selectable\"\n [class.no-grayscale]=\"!grayscaleOnDisable\"\n (click)=\"onTileClick($event)\"\n [@pulse]=\"pulsing ? true : false\"\n [attr.data-category]=\"name\"\n [attr.title]=\"showLabel ? '' : label\"\n type=\"button\"\n>\n <div class=\"tiled-select-tile-panel--content\">\n <seam-tiled-select-tile-icon\n class=\"tiled-select-tile-panel--icon\"\n [class.invisible]=\"!icon\"\n [icon]=\"icon\"\n [iconClass]=\"iconClass\"\n [layout]=\"layout\"\n [grayscaleOnDisable]=\"grayscaleOnDisable\"\n [disabled]=\"disabled\"\n >\n </seam-tiled-select-tile-icon>\n <div class=\"tiled-select-tile-panel--label-container\" *ngIf=\"showLabel\">\n <span *ngIf=\"!labelTpl\" class=\"tiled-select-tile-panel--label\">{{\n label\n }}</span>\n <ng-template\n *ngIf=\"labelTpl\"\n [ngTemplateOutlet]=\"labelTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: label, label: label }\"\n >\n </ng-template>\n </div>\n <div\n *ngIf=\"tileBackdrop\"\n class=\"selected-backdrop\"\n [class.bg-success]=\"selected\"\n ></div>\n <fa-icon\n *ngIf=\"selected && showSelectedIcon\"\n class=\"tiled-select-tile-panel--selected text-success\"\n [icon]=\"faCheckCircle\"\n size=\"3x\"\n >\n </fa-icon>\n </div>\n <div class=\"tiled-select-tile-panel--overlay\" *ngIf=\"overlayTpl\">\n <ng-template [ngTemplateOutlet]=\"overlayTpl.template\"></ng-template>\n </div>\n</button>\n","import {\n animate,\n animation,\n query,\n stagger,\n style,\n transition,\n trigger,\n useAnimation,\n} from '@angular/animations'\nimport { BooleanInput, coerceArray } from '@angular/cdk/coercion'\nimport { Platform } from '@angular/cdk/platform'\nimport {\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n Output,\n QueryList,\n Renderer2,\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { TheSeamTiledSelectTileOverlayDirective } from './../../directives/tiled-select-tile-overlay.directive'\nimport {\n TheSeamTiledSelectItem,\n TheSeamTiledSelectLayout,\n} from '../../tiled-select.models'\nimport { TheSeamTiledSelectTileComponent } from '../tiled-select-tile/tiled-select-tile.component'\nimport { NgClass, NgFor } from '@angular/common'\n\nexport const slideEnterAnimation = animation([\n style({ opacity: 0, transform: 'translateX(-15px)' }),\n stagger(100, [\n animate('0.5s', style({ opacity: 1, transform: 'translateX(0)' })),\n ]),\n])\n\nexport const TILED_SELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TheSeamTiledSelectComponent),\n multi: true,\n}\n\n@Component({\n selector: 'seam-tiled-select',\n templateUrl: './tiled-select.component.html',\n styleUrls: ['./tiled-select.component.scss'],\n providers: [TILED_SELECT_VALUE_ACCESSOR],\n host: {\n '[attr.data-testid]': '\"tiled-select\"',\n },\n animations: [\n trigger('tiles', [\n transition('* => *', [\n query(':enter', useAnimation(slideEnterAnimation), { optional: true }),\n ]),\n ]),\n ],\n imports: [NgFor, NgClass, TheSeamTiledSelectTileComponent],\n})\nexport class TheSeamTiledSelectComponent implements ControlValueAccessor {\n static ngAcceptInputType_val: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_multiple: BooleanInput\n static ngAcceptInputType_selectionToggleable: BooleanInput\n static ngAcceptInputType_tileBackdrop: BooleanInput\n static ngAcceptInputType_showSelectedIcon: BooleanInput\n static ngAcceptInputType_animationsDisabled: BooleanInput\n\n private readonly _platform = inject(Platform)\n private readonly _cdr = inject(ChangeDetectorRef)\n private readonly _renderer = inject(Renderer2)\n private readonly _elementRef = inject(ElementRef)\n\n @Input() layout: TheSeamTiledSelectLayout = 'grid'\n @Input()\n get tiles() {\n return this._tiles\n }\n set tiles(value: TheSeamTiledSelectItem[]) {\n const _value = [...(value || [])]\n for (const v of _value) {\n if (v.value === undefined) {\n if (v.name === undefined) {\n throw new Error('If value is undefined then name must be defined.')\n }\n v.value = v.name\n }\n }\n\n const prev = this._tiles\n if (prev.length !== _value.length) {\n this.tilesAnimationState = !this.tilesAnimationState\n } else {\n for (const t of _value) {\n if (!prev.find((p) => p.name === t.name)) {\n this.tilesAnimationState = !this.tilesAnimationState\n break\n }\n }\n }\n\n this._tiles = _value\n }\n private _tiles: TheSeamTiledSelectItem[] = []\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('value') val: string | string[] | undefined\n\n @Input() @InputBoolean() disabled = false\n @Input() @InputBoolean() multiple = false\n @Input() @InputBoolean() selectionToggleable = true\n @Input() @InputBoolean() tileBackdrop = false\n @Input() @InputBoolean() showSelectedIcon = true\n @Input() @InputBoolean() animationsDisabled: boolean = this._platform.IOS\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<string | string[] | undefined>()\n\n tilesAnimationState = false\n\n onChange: any\n onTouched: any\n\n @ContentChildren(TheSeamTiledSelectTileOverlayDirective)\n public overlayTpls?: QueryList<TheSeamTiledSelectTileOverlayDirective>\n\n get value(): string | string[] | undefined {\n return this.val\n }\n\n set value(value: string | string[] | undefined) {\n this.val = this.multiple ? [...((value as string[]) || [])] : value || ''\n\n this._renderer.setProperty(\n this._elementRef.nativeElement,\n 'value',\n this.val,\n )\n\n if (this.onChange) {\n this.onChange(this.val)\n this.change.emit(this.val)\n this._cdr.markForCheck()\n }\n if (this.onTouched) {\n this.onTouched()\n }\n }\n\n writeValue(value: any): void {\n this.value = value\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n onTileSelected(event: MouseEvent, tile: TheSeamTiledSelectItem) {\n this.toggleTileSelected(tile)\n }\n\n public isSelected(tile: TheSeamTiledSelectItem) {\n if (!this.multiple) {\n if (this.value === tile.value) {\n return true\n }\n } else {\n if (this.value) {\n for (const v of this.value) {\n if (v === tile.value) {\n return true\n }\n }\n }\n }\n\n return false\n }\n\n public toggleTileSelected(tile: TheSeamTiledSelectItem): void {\n if (!this.selectionToggleable && this.isSelected(tile)) {\n return\n }\n\n if (this.isSelected(tile)) {\n this.unselectTile(tile)\n } else {\n this.selectTile(tile)\n }\n }\n\n public selectTile(tile: TheSeamTiledSelectItem): void {\n if (this.multiple) {\n if (!this.isSelected(tile)) {\n const value: string[] = (this.value as string[]) || []\n this.value = [...coerceArray(value), tile.value]\n }\n } else {\n this.value = tile.value\n }\n }\n\n public unselectTile(tile: TheSeamTiledSelectItem): void {\n if (this.multiple) {\n const value: string[] = (this.value as string[]) || []\n this.value = value.filter((v) => v !== tile.value)\n } else {\n this.value = undefined\n }\n }\n\n public getSelectedTiles(): TheSeamTiledSelectItem[] {\n return this.tiles.filter((t) => this.isSelected(t))\n }\n\n getOverlayTpl(\n tile: TheSeamTiledSelectItem,\n ): TheSeamTiledSelectTileOverlayDirective | undefined {\n // console.log('overlayTpls', this.overlayTpls)\n return (this.overlayTpls || []).find((t) => t.record?.name === tile.name)\n }\n}\n","<div\n class=\"tiled-select--container\"\n [class.grid]=\"layout === 'grid'\"\n [class.list]=\"layout === 'list'\"\n [@tiles]=\"tilesAnimationState\"\n [@.disabled]=\"animationsDisabled\"\n>\n <ng-container *ngFor=\"let tile of tiles; let index = index\">\n <div class=\"tile-wrapper\" [ngClass]=\"tile.customClass || ''\">\n <seam-tiled-select-tile\n class=\"tiled-select-tile\"\n [ngClass]=\"tile.customClass || ''\"\n [name]=\"tile.name\"\n [label]=\"tile.label\"\n [icon]=\"tile.icon\"\n [disabled]=\"disabled || tile.disabled\"\n [attr.hidden]=\"tile.hidden\"\n [layout]=\"layout\"\n [selected]=\"isSelected(tile)\"\n [selectable]=\"true\"\n [tileBackdrop]=\"tileBackdrop\"\n [showSelectedIcon]=\"showSelectedIcon\"\n [overlayTpl]=\"getOverlayTpl(tile)\"\n (activated)=\"onTileSelected($event, tile)\"\n [attr.data-tile-index]=\"index\"\n [attr.data-testid]=\"tile.name\"\n >\n </seam-tiled-select-tile>\n </div>\n </ng-container>\n</div>\n","import { NgModule } from '@angular/core'\n\nimport { TheSeamTiledSelectTileComponent } from './components/tiled-select-tile/tiled-select-tile.component'\nimport { TheSeamTiledSelectComponent } from './components/tiled-select/tiled-select.component'\nimport { TheSeamTiledSelectTileIconTplDirective } from './directives/tiled-select-tile-icon-tpl.directive'\nimport { TheSeamTiledSelectTileLabelTplDirective } from './directives/tiled-select-tile-label-tpl.directive'\nimport { TheSeamTiledSelectTileOverlayDirective } from './directives/tiled-select-tile-overlay.directive'\n\n@NgModule({\n imports: [\n TheSeamTiledSelectComponent,\n TheSeamTiledSelectTileComponent,\n TheSeamTiledSelectTileOverlayDirective,\n TheSeamTiledSelectTileIconTplDirective,\n TheSeamTiledSelectTileLabelTplDirective,\n ],\n exports: [\n TheSeamTiledSelectComponent,\n TheSeamTiledSelectTileComponent,\n TheSeamTiledSelectTileOverlayDirective,\n TheSeamTiledSelectTileIconTplDirective,\n TheSeamTiledSelectTileLabelTplDirective,\n ],\n})\nexport class TheSeamTiledSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|