@theseam/ui-common 1.0.0-beta.7 → 1.0.0-beta.9
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/datatable/index.d.ts +49 -30
- package/fesm2022/theseam-ui-common-asset-reader.mjs +10 -10
- package/fesm2022/theseam-ui-common-breadcrumbs.mjs +6 -6
- package/fesm2022/theseam-ui-common-buttons.mjs +25 -25
- package/fesm2022/theseam-ui-common-card.mjs +16 -16
- package/fesm2022/theseam-ui-common-carousel.mjs +10 -10
- package/fesm2022/theseam-ui-common-checkbox.mjs +7 -7
- package/fesm2022/theseam-ui-common-confirm-dialog.mjs +13 -13
- package/fesm2022/theseam-ui-common-data-exporter.mjs +10 -10
- package/fesm2022/theseam-ui-common-data-filters.mjs +13 -13
- package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs +12 -12
- package/fesm2022/theseam-ui-common-datatable-dynamic.mjs +25 -25
- package/fesm2022/theseam-ui-common-datatable.mjs +215 -145
- package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs +7 -7
- package/fesm2022/theseam-ui-common-dynamic.mjs +21 -21
- package/fesm2022/theseam-ui-common-footer-bar.mjs +7 -7
- package/fesm2022/theseam-ui-common-form-field-error.mjs +16 -16
- package/fesm2022/theseam-ui-common-form-field.mjs +22 -22
- package/fesm2022/theseam-ui-common-framework.mjs +157 -157
- package/fesm2022/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-google-maps.mjs +40 -40
- package/fesm2022/theseam-ui-common-graphql.mjs +3 -3
- package/fesm2022/theseam-ui-common-icon.mjs +13 -13
- package/fesm2022/theseam-ui-common-layout.mjs +7 -7
- package/fesm2022/theseam-ui-common-loading.mjs +10 -10
- package/fesm2022/theseam-ui-common-menu.mjs +25 -25
- package/fesm2022/theseam-ui-common-modal.mjs +43 -43
- package/fesm2022/theseam-ui-common-navigation-reload.mjs +3 -3
- package/fesm2022/theseam-ui-common-popover.mjs +10 -10
- package/fesm2022/theseam-ui-common-progress.mjs +7 -7
- package/fesm2022/theseam-ui-common-rich-text.mjs +7 -7
- package/fesm2022/theseam-ui-common-scrollbar.mjs +6 -6
- package/fesm2022/theseam-ui-common-services.mjs +12 -12
- package/fesm2022/theseam-ui-common-shared.mjs +37 -37
- package/fesm2022/theseam-ui-common-storage.mjs +3 -3
- package/fesm2022/theseam-ui-common-story-helpers.mjs +26 -26
- package/fesm2022/theseam-ui-common-tabbed.mjs +22 -22
- package/fesm2022/theseam-ui-common-table-cell-type.mjs +39 -11
- package/fesm2022/theseam-ui-common-table-cell-type.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-table-cell-types.mjs +31 -31
- package/fesm2022/theseam-ui-common-table.mjs +28 -18
- package/fesm2022/theseam-ui-common-table.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-tel-input.mjs +13 -13
- package/fesm2022/theseam-ui-common-tiled-select.mjs +22 -22
- package/fesm2022/theseam-ui-common-toggle-edit.mjs +16 -16
- package/fesm2022/theseam-ui-common-toggle-group.mjs +10 -10
- package/fesm2022/theseam-ui-common-tooltip.mjs +10 -10
- package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs +10 -10
- package/fesm2022/theseam-ui-common-vertical-list-filter.mjs +3 -3
- package/fesm2022/theseam-ui-common-viewers.mjs +12 -12
- package/fesm2022/theseam-ui-common-widget.mjs +135 -135
- package/package.json +69 -69
- package/table/index.d.ts +4 -1
- package/table-cell-type/index.d.ts +27 -2
|
@@ -15,10 +15,10 @@ import { TheSeamButtonsModule } from '@theseam/ui-common/buttons';
|
|
|
15
15
|
|
|
16
16
|
class TheSeamCarouselSlideDirective {
|
|
17
17
|
template = inject((TemplateRef));
|
|
18
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
19
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamCarouselSlideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
19
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.7", type: TheSeamCarouselSlideDirective, isStandalone: true, selector: "[seamCarouselSlide]", exportAs: ["seamCarouselSlide"], ngImport: i0 });
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamCarouselSlideDirective, decorators: [{
|
|
22
22
|
type: Directive,
|
|
23
23
|
args: [{
|
|
24
24
|
selector: '[seamCarouselSlide]',
|
|
@@ -179,8 +179,8 @@ class TheSeamCarouselComponent {
|
|
|
179
179
|
const carouselStopped = this._carouselStopped.value;
|
|
180
180
|
this._carouselStopped.next(!carouselStopped);
|
|
181
181
|
}
|
|
182
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
183
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
182
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
183
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: TheSeamCarouselComponent, isStandalone: true, selector: "seam-carousel", inputs: { slideInterval: "slideInterval", autoPlay: "autoPlay", pauseOnHover: "pauseOnHover", pauseOnFocus: "pauseOnFocus", showPager: "showPager", showNavButtons: "showNavButtons", showPauseButton: "showPauseButton" }, queries: [{ propertyName: "slides", predicate: TheSeamCarouselSlideDirective }], exportAs: ["seamCarousel"], ngImport: i0, template: "<ng-container *ngIf=\"slides$ | async as slides\">\n <div\n class=\"position-relative\"\n *ngIf=\"slides.length\"\n (focusin)=\"focusIn()\"\n (mouseenter)=\"mouseEnter()\"\n (focusout)=\"focusOut()\"\n (mouseleave)=\"mouseLeave()\"\n >\n <div class=\"d-flex\" style=\"min-height: 150px\">\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(-1)\"\n title=\"Go to previous slide\"\n >\n <seam-icon [icon]=\"faAngleLeft\"></seam-icon>\n </button>\n\n <div\n *ngIf=\"activeSlide$ | async as slide\"\n [@fadeInOut]=\"slide.template\"\n class=\"flex-grow-1 d-flex align-items-center\"\n >\n <div\n class=\"carousel-content w-100 py-1 px-2\"\n [attr.data-slide-index]=\"activeIndex$ | async\"\n >\n <ng-template [ngTemplateOutlet]=\"$any(slide.template)\"></ng-template>\n </div>\n </div>\n\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(1)\"\n title=\"Go to next slide\"\n >\n <seam-icon [icon]=\"faAngleRight\"></seam-icon>\n </button>\n </div>\n\n <div\n class=\"carousel-pages d-flex flex-wrap justify-content-center mt-3 mx-auto\"\n *ngIf=\"showPager && slides.length > 1\"\n >\n <button\n *ngFor=\"let q of slides; let i = index\"\n seamButton\n theme=\"light\"\n class=\"carousel-page\"\n [class.active]=\"(activeIndex$ | async) === i\"\n (click)=\"setCarousel(i)\"\n [title]=\"'Go to slide ' + (i + 1)\"\n ></button>\n </div>\n\n <div class=\"carousel-controls\" *ngIf=\"showPauseButton && autoPlay\">\n <button\n *ngIf=\"slides.length > 1\"\n seamButton\n (click)=\"toggleCarouselStop()\"\n [title]=\"(carouselStopped$ | async) ? 'Play' : 'Pause'\"\n >\n <seam-icon\n [icon]=\"faPlay\"\n *ngIf=\"carouselStopped$ | async; else pauseButton\"\n ></seam-icon>\n <ng-template #pauseButton>\n <seam-icon [icon]=\"faPause\"></seam-icon>\n </ng-template>\n </button>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:block}:host .carousel-arrow{color:#adb5bd}:host .carousel-pages{max-width:calc(100% - 40px)}:host .carousel-pages .carousel-page{padding:4px;border-radius:50%;margin:1px 3px}:host .carousel-controls{position:absolute;right:-5px;bottom:5px;opacity:0;transition:.3s ease}:host .carousel-controls button{font-size:12px;color:#adb5bd;width:20px;height:20px;padding:2px!important}:host:hover .carousel-controls{opacity:1}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TheSeamIconModule }, { kind: "component", type: i1.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "ngmodule", type: TheSeamButtonsModule }, { kind: "component", type: i2.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], animations: [
|
|
184
184
|
trigger('fadeInOut', [
|
|
185
185
|
transition('* => *', [
|
|
186
186
|
style({ opacity: '0', height: '*' }),
|
|
@@ -210,7 +210,7 @@ __decorate([
|
|
|
210
210
|
__decorate([
|
|
211
211
|
InputBoolean()
|
|
212
212
|
], TheSeamCarouselComponent.prototype, "showPauseButton", void 0);
|
|
213
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
213
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamCarouselComponent, decorators: [{
|
|
214
214
|
type: Component,
|
|
215
215
|
args: [{ selector: 'seam-carousel', animations: [
|
|
216
216
|
trigger('fadeInOut', [
|
|
@@ -247,11 +247,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
247
247
|
}] } });
|
|
248
248
|
|
|
249
249
|
class TheSeamCarouselModule {
|
|
250
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
251
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
252
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
250
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamCarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
251
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.7", ngImport: i0, type: TheSeamCarouselModule, imports: [TheSeamCarouselComponent, TheSeamCarouselSlideDirective], exports: [TheSeamCarouselComponent, TheSeamCarouselSlideDirective] });
|
|
252
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamCarouselModule, imports: [TheSeamCarouselComponent] });
|
|
253
253
|
}
|
|
254
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamCarouselModule, decorators: [{
|
|
255
255
|
type: NgModule,
|
|
256
256
|
args: [{
|
|
257
257
|
imports: [TheSeamCarouselComponent, TheSeamCarouselSlideDirective],
|
|
@@ -327,13 +327,13 @@ class TheSeamCheckboxComponent extends _TheSeamCheckboxMixinBase {
|
|
|
327
327
|
nativeCheckbox.nativeElement.indeterminate = value;
|
|
328
328
|
}
|
|
329
329
|
}
|
|
330
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
331
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
330
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamCheckboxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i0.NgZone }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
331
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: TheSeamCheckboxComponent, isStandalone: true, selector: "seam-checkbox", inputs: { tabIndex: "tabIndex", id: "id", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], required: "required", checked: "checked", disabled: "disabled", indeterminate: "indeterminate", name: "name", value: "value" }, outputs: { change: "change", indeterminateChange: "indeterminateChange" }, host: { properties: { "attr.tabindex": "null" }, classAttribute: "custom-control custom-checkbox" }, providers: [THESEAM_CHECKBOX_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["input"], descendants: true, static: true }], exportAs: ["seamCheckbox"], usesInheritance: true, ngImport: i0, template: "<input\n #input\n type=\"checkbox\"\n class=\"custom-control-input\"\n [id]=\"inputId\"\n [required]=\"required\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-checked]=\"_getAriaChecked()\"\n (change)=\"_onInteractionEvent($event)\"\n (click)=\"_onInputClick($event)\"\n/>\n<label\n #checkboxLabel\n class=\"custom-control-label\"\n [attr.for]=\"inputId\"\n (cdkObserveContent)=\"_onLabelTextChange()\"\n>\n <ng-content></ng-content>\n</label>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ObserversModule }, { kind: "directive", type: i2.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
332
332
|
}
|
|
333
333
|
__decorate([
|
|
334
334
|
InputBoolean()
|
|
335
335
|
], TheSeamCheckboxComponent.prototype, "required", void 0);
|
|
336
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
336
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamCheckboxComponent, decorators: [{
|
|
337
337
|
type: Component,
|
|
338
338
|
args: [{ selector: 'seam-checkbox', imports: [CommonModule, ObserversModule], exportAs: 'seamCheckbox', host: {
|
|
339
339
|
'[attr.tabindex]': 'null',
|
|
@@ -373,11 +373,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
373
373
|
|
|
374
374
|
/** @deprecated */
|
|
375
375
|
class TheSeamCheckboxModule {
|
|
376
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
377
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
378
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
376
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
377
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.7", ngImport: i0, type: TheSeamCheckboxModule, imports: [TheSeamCheckboxComponent], exports: [TheSeamCheckboxComponent] });
|
|
378
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamCheckboxModule, imports: [TheSeamCheckboxComponent] });
|
|
379
379
|
}
|
|
380
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
380
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamCheckboxModule, decorators: [{
|
|
381
381
|
type: NgModule,
|
|
382
382
|
args: [{
|
|
383
383
|
imports: [TheSeamCheckboxComponent],
|
|
@@ -24,10 +24,10 @@ class ConfirmDialogComponent {
|
|
|
24
24
|
}
|
|
25
25
|
return undefined;
|
|
26
26
|
}
|
|
27
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
28
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
27
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: ConfirmDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: ConfirmDialogComponent, isStandalone: true, selector: "seam-confirm-dialog", inputs: { message: "message", alertMessage: "alertMessage", alertType: "alertType", template: "template" }, ngImport: i0, template: "<seam-modal-body>\n <ng-container *ngIf=\"tpl; else messageTpl\">\n <ng-container\n [ngTemplateOutlet]=\"tpl\"\n [ngTemplateOutletContext]=\"{ $implicit: tplContext }\"\n ></ng-container>\n </ng-container>\n\n <ng-template #messageTpl>\n <h5>{{ message }}</h5>\n\n <div\n *ngIf=\"alertMessage\"\n class=\"alert {{ alertType ? 'alert-' + alertType : '' }} mb-0\"\n >\n {{ alertMessage }}\n </div>\n </ng-template>\n</seam-modal-body>\n<seam-modal-footer>\n <button class=\"btn btn-primary\" seamModalClose=\"confirm\">Yes</button>\n <button\n class=\"btn btn-lightgray\"\n data-dismiss=\"modal\"\n seamModalClose=\"cancel\"\n seamAutoFocus\n >\n No\n </button>\n</seam-modal-footer>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TheSeamModalModule }, { kind: "component", type: i1.ModalBodyComponent, selector: "seam-modal-body" }, { kind: "component", type: i1.ModalFooterComponent, selector: "seam-modal-footer" }, { kind: "directive", type: i1.ModalCloseDirective, selector: "button[seamModalClose]", inputs: ["type", "aria-label", "seamModalClose", "seamModalNext", "seamModalNextConfig"], exportAs: ["seamModalClose"] }, { kind: "directive", type: TheSeamAutoFocusDirective, selector: "[seamAutoFocus]", inputs: ["seamAutoFocus"], exportAs: ["seamAutoFocus"] }] });
|
|
29
29
|
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
|
|
31
31
|
type: Component,
|
|
32
32
|
args: [{ selector: 'seam-confirm-dialog', imports: [
|
|
33
33
|
NgIf,
|
|
@@ -77,10 +77,10 @@ class SeamConfirmDialogService {
|
|
|
77
77
|
}
|
|
78
78
|
return modalRef;
|
|
79
79
|
}
|
|
80
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
81
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
80
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: SeamConfirmDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
81
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: SeamConfirmDialogService, providedIn: 'root' });
|
|
82
82
|
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: SeamConfirmDialogService, decorators: [{
|
|
84
84
|
type: Injectable,
|
|
85
85
|
args: [{ providedIn: 'root' }]
|
|
86
86
|
}] });
|
|
@@ -128,13 +128,13 @@ class ConfirmClickDirective {
|
|
|
128
128
|
this._modalRef.close();
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
132
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
131
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: ConfirmClickDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
132
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.7", type: ConfirmClickDirective, isStandalone: true, selector: "[seamConfirmClick]", inputs: { seamConfirmMsg: "seamConfirmMsg", seamConfirmAlert: "seamConfirmAlert", seamConfirmTpl: "seamConfirmTpl", seamConfirmDisabled: "seamConfirmDisabled" }, outputs: { seamConfirmClick: "seamConfirmClick" }, host: { listeners: { "click": "_onClick($event)" }, properties: { "class.lib-confirm-click-active": "this._confirmClickActiveCss" } }, exportAs: ["seamConfirmClick"], ngImport: i0 });
|
|
133
133
|
}
|
|
134
134
|
__decorate([
|
|
135
135
|
InputBoolean()
|
|
136
136
|
], ConfirmClickDirective.prototype, "seamConfirmDisabled", void 0);
|
|
137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: ConfirmClickDirective, decorators: [{
|
|
138
138
|
type: Directive,
|
|
139
139
|
args: [{
|
|
140
140
|
selector: '[seamConfirmClick]',
|
|
@@ -159,11 +159,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
|
|
|
159
159
|
}] } });
|
|
160
160
|
|
|
161
161
|
class TheSeamConfirmDialogModule {
|
|
162
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
163
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
164
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
162
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamConfirmDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
163
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.7", ngImport: i0, type: TheSeamConfirmDialogModule, imports: [ConfirmDialogComponent, ConfirmClickDirective], exports: [ConfirmDialogComponent, ConfirmClickDirective] });
|
|
164
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamConfirmDialogModule, imports: [ConfirmDialogComponent] });
|
|
165
165
|
}
|
|
166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamConfirmDialogModule, decorators: [{
|
|
167
167
|
type: NgModule,
|
|
168
168
|
args: [{
|
|
169
169
|
imports: [ConfirmDialogComponent, ConfirmClickDirective],
|
|
@@ -31,10 +31,10 @@ class CSVDataExporter {
|
|
|
31
31
|
}), mapTo(true)));
|
|
32
32
|
}));
|
|
33
33
|
}
|
|
34
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
35
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
34
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: CSVDataExporter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
35
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: CSVDataExporter });
|
|
36
36
|
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: CSVDataExporter, decorators: [{
|
|
38
38
|
type: Injectable
|
|
39
39
|
}] });
|
|
40
40
|
|
|
@@ -53,22 +53,22 @@ class XLSXDataExporter {
|
|
|
53
53
|
}), mapTo(true));
|
|
54
54
|
}));
|
|
55
55
|
}
|
|
56
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
57
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
56
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: XLSXDataExporter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
57
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: XLSXDataExporter });
|
|
58
58
|
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: XLSXDataExporter, decorators: [{
|
|
60
60
|
type: Injectable
|
|
61
61
|
}] });
|
|
62
62
|
|
|
63
63
|
class TheSeamDataExporterModule {
|
|
64
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
65
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
66
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
64
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamDataExporterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
65
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.7", ngImport: i0, type: TheSeamDataExporterModule });
|
|
66
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamDataExporterModule, providers: [
|
|
67
67
|
{ provide: THESEAM_DATA_EXPORTER, useClass: CSVDataExporter, multi: true },
|
|
68
68
|
{ provide: THESEAM_DATA_EXPORTER, useClass: XLSXDataExporter, multi: true },
|
|
69
69
|
] });
|
|
70
70
|
}
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamDataExporterModule, decorators: [{
|
|
72
72
|
type: NgModule,
|
|
73
73
|
args: [{
|
|
74
74
|
declarations: [],
|
|
@@ -154,8 +154,8 @@ class DataFilterTextComponent {
|
|
|
154
154
|
},
|
|
155
155
|
};
|
|
156
156
|
}
|
|
157
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
158
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
157
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DataFilterTextComponent, deps: [{ token: THESEAM_DATA_FILTER_CONTAINER }, { token: THESEAM_DATA_FILTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
158
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: DataFilterTextComponent, isStandalone: false, selector: "seam-data-filter-text", inputs: { properties: "properties", omitProperties: "omitProperties", exact: "exact", caseSensitive: "caseSensitive", placeholder: "placeholder", iconTpl: "iconTpl", value: "value" }, providers: [DATA_FILTER_TEXT], ngImport: i0, template: "<div\n class=\"position-relative\"\n [class.data-filter-text-has-icon]=\"iconTpl\"\n (click)=\"inp.focus()\"\n>\n <label [attr.for]=\"inp.id\" class=\"sr-only\">Text filter</label>\n <input\n seamInput\n #inp=\"seamInput\"\n seamInputSize=\"sm\"\n [formControl]=\"_control\"\n [placeholder]=\"placeholder\"\n />\n <ng-container *ngIf=\"iconTpl\">\n <ng-container *ngTemplateOutlet=\"iconTpl\"></ng-container>\n </ng-container>\n</div>\n", styles: [":host{display:block}.data-filter-text-has-icon>input{padding-left:30px}.data-filter-text-has-icon ::ng-deep fa-icon{position:absolute;top:3px;left:10px;bottom:0}.data-filter-text-has-icon ::ng-deep fa-icon .svg-inline--fa{vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }] });
|
|
159
159
|
}
|
|
160
160
|
__decorate([
|
|
161
161
|
InputBoolean()
|
|
@@ -163,7 +163,7 @@ __decorate([
|
|
|
163
163
|
__decorate([
|
|
164
164
|
InputBoolean()
|
|
165
165
|
], DataFilterTextComponent.prototype, "caseSensitive", void 0);
|
|
166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DataFilterTextComponent, decorators: [{
|
|
167
167
|
type: Component,
|
|
168
168
|
args: [{ selector: 'seam-data-filter-text', providers: [DATA_FILTER_TEXT], standalone: false, template: "<div\n class=\"position-relative\"\n [class.data-filter-text-has-icon]=\"iconTpl\"\n (click)=\"inp.focus()\"\n>\n <label [attr.for]=\"inp.id\" class=\"sr-only\">Text filter</label>\n <input\n seamInput\n #inp=\"seamInput\"\n seamInputSize=\"sm\"\n [formControl]=\"_control\"\n [placeholder]=\"placeholder\"\n />\n <ng-container *ngIf=\"iconTpl\">\n <ng-container *ngTemplateOutlet=\"iconTpl\"></ng-container>\n </ng-container>\n</div>\n", styles: [":host{display:block}.data-filter-text-has-icon>input{padding-left:30px}.data-filter-text-has-icon ::ng-deep fa-icon{position:absolute;top:3px;left:10px;bottom:0}.data-filter-text-has-icon ::ng-deep fa-icon .svg-inline--fa{vertical-align:middle}\n"] }]
|
|
169
169
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
@@ -266,8 +266,8 @@ class DataFilterSearchComponent {
|
|
|
266
266
|
},
|
|
267
267
|
};
|
|
268
268
|
}
|
|
269
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
270
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
269
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DataFilterSearchComponent, deps: [{ token: THESEAM_DATA_FILTER_CONTAINER }, { token: THESEAM_DATA_FILTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
270
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: DataFilterSearchComponent, isStandalone: false, selector: "seam-data-filter-search", inputs: { properties: "properties", omitProperties: "omitProperties", exact: "exact", caseSensitive: "caseSensitive", placeholder: "placeholder", icon: "icon", iconTpl: "iconTpl", value: "value" }, providers: [DATA_FILTER_SEARCH], ngImport: i0, template: "<div\n class=\"position-relative\"\n [class.data-filter-search-has-icon]=\"iconTpl || icon\"\n (click)=\"inp.focus()\"\n>\n <label [attr.for]=\"inp.id\" class=\"sr-only\">Search filter</label>\n <input\n seamInput\n #inp=\"seamInput\"\n seamInputSize=\"sm\"\n [formControl]=\"_control\"\n [placeholder]=\"placeholder\"\n />\n <ng-container *ngIf=\"iconTpl; else searchIconTpl\">\n <div class=\"data-filter-search--icon-wrapper\">\n <ng-container *ngTemplateOutlet=\"iconTpl\"></ng-container>\n </div>\n </ng-container>\n <ng-template #searchIconTpl>\n <ng-container *ngIf=\"icon\">\n <div class=\"data-filter-search--icon-wrapper\">\n <seam-icon [icon]=\"icon\" class=\"text-muted\"></seam-icon>\n </div>\n </ng-container>\n </ng-template>\n</div>\n", styles: [":host{display:flex;flex:0 1 300px}.data-filter-search-has-icon{width:100%}.data-filter-search-has-icon>input{padding-left:30px}.data-filter-search-has-icon .data-filter-search--icon-wrapper{position:absolute;top:3px;left:10px;bottom:0}.data-filter-search-has-icon .data-filter-search--icon-wrapper ::ng-deep .svg-inline--fa{vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.InputDirective, selector: "input[seamInput], textarea[seamInput], ng-select[seamInput], seam-tel-input[seamInput], quill-editor[seamInput], seam-google-maps[seamInput], seam-rich-text[seamInput]", inputs: ["seamInputSize", "id", "type", "placeholder", "required", "disabled", "readonly"], exportAs: ["seamInput"] }, { kind: "component", type: i4.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
271
271
|
}
|
|
272
272
|
__decorate([
|
|
273
273
|
InputBoolean()
|
|
@@ -275,7 +275,7 @@ __decorate([
|
|
|
275
275
|
__decorate([
|
|
276
276
|
InputBoolean()
|
|
277
277
|
], DataFilterSearchComponent.prototype, "caseSensitive", void 0);
|
|
278
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
278
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DataFilterSearchComponent, decorators: [{
|
|
279
279
|
type: Component,
|
|
280
280
|
args: [{ selector: 'seam-data-filter-search', providers: [DATA_FILTER_SEARCH], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div\n class=\"position-relative\"\n [class.data-filter-search-has-icon]=\"iconTpl || icon\"\n (click)=\"inp.focus()\"\n>\n <label [attr.for]=\"inp.id\" class=\"sr-only\">Search filter</label>\n <input\n seamInput\n #inp=\"seamInput\"\n seamInputSize=\"sm\"\n [formControl]=\"_control\"\n [placeholder]=\"placeholder\"\n />\n <ng-container *ngIf=\"iconTpl; else searchIconTpl\">\n <div class=\"data-filter-search--icon-wrapper\">\n <ng-container *ngTemplateOutlet=\"iconTpl\"></ng-container>\n </div>\n </ng-container>\n <ng-template #searchIconTpl>\n <ng-container *ngIf=\"icon\">\n <div class=\"data-filter-search--icon-wrapper\">\n <seam-icon [icon]=\"icon\" class=\"text-muted\"></seam-icon>\n </div>\n </ng-container>\n </ng-template>\n</div>\n", styles: [":host{display:flex;flex:0 1 300px}.data-filter-search-has-icon{width:100%}.data-filter-search-has-icon>input{padding-left:30px}.data-filter-search-has-icon .data-filter-search--icon-wrapper{position:absolute;top:3px;left:10px;bottom:0}.data-filter-search-has-icon .data-filter-search--icon-wrapper ::ng-deep .svg-inline--fa{vertical-align:middle}\n"] }]
|
|
281
281
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
@@ -431,10 +431,10 @@ class DataFilterToggleButtonsComponent {
|
|
|
431
431
|
},
|
|
432
432
|
};
|
|
433
433
|
}
|
|
434
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
435
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
434
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DataFilterToggleButtonsComponent, deps: [{ token: THESEAM_DATA_FILTER_CONTAINER }, { token: THESEAM_DATA_FILTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
435
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: DataFilterToggleButtonsComponent, isStandalone: false, selector: "seam-data-filter-toggle-buttons", inputs: { properties: "properties", omitProperties: "omitProperties", multiple: "multiple", selectionToggleable: "selectionToggleable", buttons: "buttons", exact: "exact", caseSensitive: "caseSensitive", value: "value" }, providers: [DATA_FILTER_TOGGLE_BUTTON], ngImport: i0, template: "<div\n class=\"btn-group\"\n role=\"group\"\n aria-label=\"Progress Filter\"\n *ngIf=\"options as opts\"\n [formControl]=\"_control\"\n seamToggleGroup\n [multiple]=\"opts.multiple\"\n [selectionToggleable]=\"opts.selectionToggleable\"\n>\n <ng-container *ngFor=\"let btn of buttons\">\n <button\n type=\"button\"\n class=\"btn btn-sm px-4\"\n [seamToggleGroupOption]=\"btn.value\"\n #opt=\"seamToggleGroupOption\"\n [class.btn-lightgray]=\"!opt.selected\"\n [class.btn-primary]=\"opt.selected\"\n (click)=\"opt.selected = !opt.selected\"\n >\n {{ btn.name || btn.value }}\n </button>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.ToggleGroupDirective, selector: "[seamToggleGroup]", inputs: ["value", "disabled", "multiple", "selectionToggleable"], outputs: ["change"], exportAs: ["seamToggleGroup"] }, { kind: "directive", type: i3$1.ToggleGroupOptionDirective, selector: "[seamToggleGroupOption]", inputs: ["seamToggleGroupOption", "selected"], outputs: ["selectionChange"], exportAs: ["seamToggleGroupOption"] }] });
|
|
436
436
|
}
|
|
437
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
437
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DataFilterToggleButtonsComponent, decorators: [{
|
|
438
438
|
type: Component,
|
|
439
439
|
args: [{ selector: 'seam-data-filter-toggle-buttons', providers: [DATA_FILTER_TOGGLE_BUTTON], standalone: false, template: "<div\n class=\"btn-group\"\n role=\"group\"\n aria-label=\"Progress Filter\"\n *ngIf=\"options as opts\"\n [formControl]=\"_control\"\n seamToggleGroup\n [multiple]=\"opts.multiple\"\n [selectionToggleable]=\"opts.selectionToggleable\"\n>\n <ng-container *ngFor=\"let btn of buttons\">\n <button\n type=\"button\"\n class=\"btn btn-sm px-4\"\n [seamToggleGroupOption]=\"btn.value\"\n #opt=\"seamToggleGroupOption\"\n [class.btn-lightgray]=\"!opt.selected\"\n [class.btn-primary]=\"opt.selected\"\n (click)=\"opt.selected = !opt.selected\"\n >\n {{ btn.name || btn.value }}\n </button>\n </ng-container>\n</div>\n" }]
|
|
440
440
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
@@ -489,8 +489,8 @@ const filterDefProviders = [
|
|
|
489
489
|
},
|
|
490
490
|
];
|
|
491
491
|
class TheSeamDataFiltersModule {
|
|
492
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
493
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
492
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamDataFiltersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
493
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.7", ngImport: i0, type: TheSeamDataFiltersModule, declarations: [DataFilterSearchComponent,
|
|
494
494
|
DataFilterTextComponent,
|
|
495
495
|
DataFilterToggleButtonsComponent], imports: [CommonModule,
|
|
496
496
|
ReactiveFormsModule,
|
|
@@ -500,14 +500,14 @@ class TheSeamDataFiltersModule {
|
|
|
500
500
|
TheSeamIconModule], exports: [DataFilterSearchComponent,
|
|
501
501
|
DataFilterTextComponent,
|
|
502
502
|
DataFilterToggleButtonsComponent] });
|
|
503
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
503
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamDataFiltersModule, providers: [...filterDefProviders], imports: [CommonModule,
|
|
504
504
|
ReactiveFormsModule,
|
|
505
505
|
TheSeamFormFieldModule,
|
|
506
506
|
FontAwesomeModule,
|
|
507
507
|
TheSeamToggleGroupModule,
|
|
508
508
|
TheSeamIconModule] });
|
|
509
509
|
}
|
|
510
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
510
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamDataFiltersModule, decorators: [{
|
|
511
511
|
type: NgModule,
|
|
512
512
|
args: [{
|
|
513
513
|
declarations: [...filterComponents],
|
|
@@ -106,10 +106,10 @@ class AlterationDisplayService {
|
|
|
106
106
|
}
|
|
107
107
|
return arr1.every((item, index) => item === arr2[index]);
|
|
108
108
|
}
|
|
109
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
110
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
109
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: AlterationDisplayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
110
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: AlterationDisplayService, providedIn: 'root' });
|
|
111
111
|
}
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: AlterationDisplayService, decorators: [{
|
|
113
113
|
type: Injectable,
|
|
114
114
|
args: [{
|
|
115
115
|
providedIn: 'root',
|
|
@@ -167,10 +167,10 @@ class AlterationItemComponent {
|
|
|
167
167
|
return 'badge-secondary';
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
171
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
170
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: AlterationItemComponent, deps: [{ token: AlterationDisplayService }], target: i0.ɵɵFactoryTarget.Component });
|
|
171
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: AlterationItemComponent, isStandalone: true, selector: "seam-alteration-item", inputs: { item: "item", compact: "compact" }, ngImport: i0, template: "<div\n class=\"card card-body py-2 px-3 mb-2\"\n [class]=\"borderClass\"\n [attr.data-testid]=\"'alteration-item-' + item.id\"\n>\n <div class=\"d-flex align-items-center\">\n <!-- Type badge -->\n <span\n class=\"badge mr-2\"\n [class]=\"badgeClass\"\n [attr.data-testid]=\"'alteration-type-' + item.type\"\n >\n {{ typeDisplayName }}\n </span>\n\n <!-- Type icon -->\n <seam-icon\n [icon]=\"typeIcon\"\n class=\"mr-2 text-muted\"\n [attr.data-testid]=\"'alteration-icon-' + item.type\"\n >\n </seam-icon>\n\n <!-- Summary text -->\n <span class=\"flex-grow-1\" [attr.data-testid]=\"'alteration-summary'\">\n {{ item.summary }}\n </span>\n\n <!-- Diff state indicator (optional visual indicator) -->\n <span\n *ngIf=\"item.diffState\"\n class=\"ml-2 small text-muted\"\n [attr.data-testid]=\"'alteration-diff-state'\"\n >\n <ng-container [ngSwitch]=\"item.diffState\">\n <span *ngSwitchCase=\"'added'\" class=\"text-success\">+</span>\n <span *ngSwitchCase=\"'removed'\" class=\"text-danger\">-</span>\n <span *ngSwitchCase=\"'changed'\" class=\"text-warning\">~</span>\n </ng-container>\n </span>\n </div>\n\n <!-- Expanded details (for future enhancement) -->\n <div\n *ngIf=\"!compact && item.details && item.details.length > 0\"\n class=\"mt-2 pt-2 border-top\"\n >\n <ul class=\"list-unstyled mb-0 small text-muted\">\n <li\n *ngFor=\"let detail of item.details\"\n [attr.data-testid]=\"'alteration-detail'\"\n >\n {{ detail }}\n </li>\n </ul>\n </div>\n</div>\n", styles: [".card{transition:border-color .15s ease-in-out}.card.compact .card-body{padding:.5rem .75rem}.card.border-success,.card.border-danger,.card.border-warning{border-width:2px}.badge{font-size:.75rem;font-weight:500}.badge.badge-warning{color:#212529}seam-icon{font-size:.875rem;width:1rem;height:1rem}.flex-grow-1{font-size:.875rem;line-height:1.25}.list-unstyled li{padding:.125rem 0;font-size:.8125rem}[data-testid=alteration-diff-state]{font-weight:700;font-size:1rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: TheSeamIconModule }, { kind: "component", type: i3.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }] });
|
|
172
172
|
}
|
|
173
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
173
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: AlterationItemComponent, decorators: [{
|
|
174
174
|
type: Component,
|
|
175
175
|
args: [{ selector: 'seam-alteration-item', standalone: true, imports: [CommonModule, TheSeamIconModule], template: "<div\n class=\"card card-body py-2 px-3 mb-2\"\n [class]=\"borderClass\"\n [attr.data-testid]=\"'alteration-item-' + item.id\"\n>\n <div class=\"d-flex align-items-center\">\n <!-- Type badge -->\n <span\n class=\"badge mr-2\"\n [class]=\"badgeClass\"\n [attr.data-testid]=\"'alteration-type-' + item.type\"\n >\n {{ typeDisplayName }}\n </span>\n\n <!-- Type icon -->\n <seam-icon\n [icon]=\"typeIcon\"\n class=\"mr-2 text-muted\"\n [attr.data-testid]=\"'alteration-icon-' + item.type\"\n >\n </seam-icon>\n\n <!-- Summary text -->\n <span class=\"flex-grow-1\" [attr.data-testid]=\"'alteration-summary'\">\n {{ item.summary }}\n </span>\n\n <!-- Diff state indicator (optional visual indicator) -->\n <span\n *ngIf=\"item.diffState\"\n class=\"ml-2 small text-muted\"\n [attr.data-testid]=\"'alteration-diff-state'\"\n >\n <ng-container [ngSwitch]=\"item.diffState\">\n <span *ngSwitchCase=\"'added'\" class=\"text-success\">+</span>\n <span *ngSwitchCase=\"'removed'\" class=\"text-danger\">-</span>\n <span *ngSwitchCase=\"'changed'\" class=\"text-warning\">~</span>\n </ng-container>\n </span>\n </div>\n\n <!-- Expanded details (for future enhancement) -->\n <div\n *ngIf=\"!compact && item.details && item.details.length > 0\"\n class=\"mt-2 pt-2 border-top\"\n >\n <ul class=\"list-unstyled mb-0 small text-muted\">\n <li\n *ngFor=\"let detail of item.details\"\n [attr.data-testid]=\"'alteration-detail'\"\n >\n {{ detail }}\n </li>\n </ul>\n </div>\n</div>\n", styles: [".card{transition:border-color .15s ease-in-out}.card.compact .card-body{padding:.5rem .75rem}.card.border-success,.card.border-danger,.card.border-warning{border-width:2px}.badge{font-size:.75rem;font-weight:500}.badge.badge-warning{color:#212529}seam-icon{font-size:.875rem;width:1rem;height:1rem}.flex-grow-1{font-size:.875rem;line-height:1.25}.list-unstyled li{padding:.125rem 0;font-size:.8125rem}[data-testid=alteration-diff-state]{font-weight:700;font-size:1rem}\n"] }]
|
|
176
176
|
}], ctorParameters: () => [{ type: AlterationDisplayService }], propDecorators: { item: [{
|
|
@@ -202,10 +202,10 @@ class AlterationsListComponent {
|
|
|
202
202
|
trackByItemId(index, item) {
|
|
203
203
|
return item.id;
|
|
204
204
|
}
|
|
205
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
206
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
205
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: AlterationsListComponent, deps: [{ token: AlterationDisplayService }], target: i0.ɵɵFactoryTarget.Component });
|
|
206
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: AlterationsListComponent, isStandalone: true, selector: "seam-alterations-list", inputs: { items: "items", title: "title", diffState: "diffState", groupByType: "groupByType", sortWithinType: "sortWithinType", compact: "compact" }, ngImport: i0, template: "<div\n class=\"alterations-list\"\n [attr.data-testid]=\"'alterations-list-' + (diffState || 'default')\"\n>\n <!-- Title header -->\n <div *ngIf=\"title\" class=\"mb-3\">\n <h6\n class=\"mb-1 text-muted font-weight-bold\"\n [attr.data-testid]=\"'alterations-list-title'\"\n >\n {{ title }}\n </h6>\n <small class=\"text-muted\" [attr.data-testid]=\"'alterations-list-count'\">\n {{ items.length }} alteration{{ items.length === 1 ? '' : 's' }}\n </small>\n </div>\n\n <!-- Items list -->\n <div *ngIf=\"hasItems; else emptyState\" class=\"alterations-items\">\n <seam-alteration-item\n *ngFor=\"let item of sortedItems; trackBy: trackByItemId\"\n [item]=\"item\"\n [compact]=\"compact\"\n [attr.data-testid]=\"'list-item-' + item.id\"\n >\n </seam-alteration-item>\n </div>\n\n <!-- Empty state -->\n <ng-template #emptyState>\n <div\n class=\"text-center py-4 text-muted\"\n [attr.data-testid]=\"'alterations-list-empty'\"\n >\n <p class=\"mb-0\">No alterations</p>\n <small>No changes have been made to the table configuration.</small>\n </div>\n </ng-template>\n</div>\n", styles: [".alterations-list{width:100%}.alterations-list h6{font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.alterations-list .alterations-items seam-alteration-item:last-child .card{margin-bottom:0}.alterations-list .text-center{border:1px dashed #dee2e6;border-radius:.25rem;background-color:#f8f9fa}.alterations-list .text-center p{font-size:.875rem;font-weight:500}.alterations-list .text-center small{font-size:.8125rem}@media(max-width:575.98px){.alterations-list h6{font-size:.8125rem}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AlterationItemComponent, selector: "seam-alteration-item", inputs: ["item", "compact"] }] });
|
|
207
207
|
}
|
|
208
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: AlterationsListComponent, decorators: [{
|
|
209
209
|
type: Component,
|
|
210
210
|
args: [{ selector: 'seam-alterations-list', standalone: true, imports: [CommonModule, AlterationItemComponent], template: "<div\n class=\"alterations-list\"\n [attr.data-testid]=\"'alterations-list-' + (diffState || 'default')\"\n>\n <!-- Title header -->\n <div *ngIf=\"title\" class=\"mb-3\">\n <h6\n class=\"mb-1 text-muted font-weight-bold\"\n [attr.data-testid]=\"'alterations-list-title'\"\n >\n {{ title }}\n </h6>\n <small class=\"text-muted\" [attr.data-testid]=\"'alterations-list-count'\">\n {{ items.length }} alteration{{ items.length === 1 ? '' : 's' }}\n </small>\n </div>\n\n <!-- Items list -->\n <div *ngIf=\"hasItems; else emptyState\" class=\"alterations-items\">\n <seam-alteration-item\n *ngFor=\"let item of sortedItems; trackBy: trackByItemId\"\n [item]=\"item\"\n [compact]=\"compact\"\n [attr.data-testid]=\"'list-item-' + item.id\"\n >\n </seam-alteration-item>\n </div>\n\n <!-- Empty state -->\n <ng-template #emptyState>\n <div\n class=\"text-center py-4 text-muted\"\n [attr.data-testid]=\"'alterations-list-empty'\"\n >\n <p class=\"mb-0\">No alterations</p>\n <small>No changes have been made to the table configuration.</small>\n </div>\n </ng-template>\n</div>\n", styles: [".alterations-list{width:100%}.alterations-list h6{font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.alterations-list .alterations-items seam-alteration-item:last-child .card{margin-bottom:0}.alterations-list .text-center{border:1px dashed #dee2e6;border-radius:.25rem;background-color:#f8f9fa}.alterations-list .text-center p{font-size:.875rem;font-weight:500}.alterations-list .text-center small{font-size:.8125rem}@media(max-width:575.98px){.alterations-list h6{font-size:.8125rem}}\n"] }]
|
|
211
211
|
}], ctorParameters: () => [{ type: AlterationDisplayService }], propDecorators: { items: [{
|
|
@@ -321,10 +321,10 @@ class AlterationsDiffComponent {
|
|
|
321
321
|
}
|
|
322
322
|
return 'unchanged';
|
|
323
323
|
}
|
|
324
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
325
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
324
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: AlterationsDiffComponent, deps: [{ token: i1.TheSeamLayoutService }, { token: AlterationDisplayService }], target: i0.ɵɵFactoryTarget.Component });
|
|
325
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: AlterationsDiffComponent, isStandalone: true, selector: "seam-alterations-diff", inputs: { currentItems: "currentItems", pendingItems: "pendingItems", diffMode: "diffMode", initialDiffState: "initialDiffState", compact: "compact" }, ngImport: i0, template: "<div class=\"alterations-diff\" [attr.data-testid]=\"'alterations-diff'\">\n <!-- Diff summary header -->\n <div\n *ngIf=\"hasDifferences\"\n class=\"mb-3 p-2 bg-light border rounded\"\n [attr.data-testid]=\"'diff-summary'\"\n >\n <small class=\"text-muted font-weight-bold\">\n Changes: {{ differenceSummary }}\n </small>\n </div>\n\n <!-- Desktop layout: Side-by-side -->\n <div\n *ngIf=\"!isMobile; else mobileLayout\"\n class=\"row\"\n [attr.data-testid]=\"'desktop-layout'\"\n >\n <!-- Current alterations column -->\n <div class=\"col-md-6 pr-md-2\">\n <seam-alterations-list\n [items]=\"currentItems\"\n [title]=\"'Current Alterations'\"\n [diffState]=\"'current'\"\n [compact]=\"compact\"\n [attr.data-testid]=\"'current-alterations-list'\"\n >\n </seam-alterations-list>\n </div>\n\n <!-- Pending alterations column -->\n <div class=\"col-md-6 pl-md-2\">\n <seam-alterations-list\n [items]=\"pendingItems\"\n [title]=\"'Pending Alterations'\"\n [diffState]=\"'pending'\"\n [compact]=\"compact\"\n [attr.data-testid]=\"'pending-alterations-list'\"\n >\n </seam-alterations-list>\n </div>\n </div>\n\n <!-- Mobile layout: Stacked -->\n <ng-template #mobileLayout>\n <div class=\"mobile-layout\" [attr.data-testid]=\"'mobile-layout'\">\n <!-- Current alterations -->\n <div class=\"mb-4\">\n <seam-alterations-list\n [items]=\"currentItems\"\n [title]=\"'Current Alterations'\"\n [diffState]=\"'current'\"\n [compact]=\"compact\"\n [attr.data-testid]=\"'current-alterations-list-mobile'\"\n >\n </seam-alterations-list>\n </div>\n\n <!-- Pending alterations -->\n <div>\n <seam-alterations-list\n [items]=\"pendingItems\"\n [title]=\"'Pending Alterations'\"\n [diffState]=\"'pending'\"\n [compact]=\"compact\"\n [attr.data-testid]=\"'pending-alterations-list-mobile'\"\n >\n </seam-alterations-list>\n </div>\n </div>\n </ng-template>\n</div>\n", styles: [".alterations-diff{width:100%}.alterations-diff .bg-light{background-color:#f8f9fa!important}.alterations-diff .bg-light small{font-size:.8125rem;text-transform:uppercase;letter-spacing:.5px}.alterations-diff .row{margin-left:-.5rem;margin-right:-.5rem}.alterations-diff .row .col-md-6.pr-md-2{padding-right:.5rem}.alterations-diff .row .col-md-6.pl-md-2{padding-left:.5rem}.alterations-diff .mobile-layout>div:not(:last-child){border-bottom:1px solid #dee2e6;padding-bottom:1rem}@media(min-width:768px){.alterations-diff .row .col-md-6:first-child:after{content:\"\";position:absolute;top:0;right:0;bottom:0;width:1px;background-color:#dee2e6;z-index:1}}@media(max-width:767.98px){.alterations-diff .bg-light{margin-left:-.25rem;margin-right:-.25rem;padding-left:.75rem!important;padding-right:.75rem!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AlterationsListComponent, selector: "seam-alterations-list", inputs: ["items", "title", "diffState", "groupByType", "sortWithinType", "compact"] }] });
|
|
326
326
|
}
|
|
327
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
327
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: AlterationsDiffComponent, decorators: [{
|
|
328
328
|
type: Component,
|
|
329
329
|
args: [{ selector: 'seam-alterations-diff', standalone: true, imports: [CommonModule, AlterationsListComponent], template: "<div class=\"alterations-diff\" [attr.data-testid]=\"'alterations-diff'\">\n <!-- Diff summary header -->\n <div\n *ngIf=\"hasDifferences\"\n class=\"mb-3 p-2 bg-light border rounded\"\n [attr.data-testid]=\"'diff-summary'\"\n >\n <small class=\"text-muted font-weight-bold\">\n Changes: {{ differenceSummary }}\n </small>\n </div>\n\n <!-- Desktop layout: Side-by-side -->\n <div\n *ngIf=\"!isMobile; else mobileLayout\"\n class=\"row\"\n [attr.data-testid]=\"'desktop-layout'\"\n >\n <!-- Current alterations column -->\n <div class=\"col-md-6 pr-md-2\">\n <seam-alterations-list\n [items]=\"currentItems\"\n [title]=\"'Current Alterations'\"\n [diffState]=\"'current'\"\n [compact]=\"compact\"\n [attr.data-testid]=\"'current-alterations-list'\"\n >\n </seam-alterations-list>\n </div>\n\n <!-- Pending alterations column -->\n <div class=\"col-md-6 pl-md-2\">\n <seam-alterations-list\n [items]=\"pendingItems\"\n [title]=\"'Pending Alterations'\"\n [diffState]=\"'pending'\"\n [compact]=\"compact\"\n [attr.data-testid]=\"'pending-alterations-list'\"\n >\n </seam-alterations-list>\n </div>\n </div>\n\n <!-- Mobile layout: Stacked -->\n <ng-template #mobileLayout>\n <div class=\"mobile-layout\" [attr.data-testid]=\"'mobile-layout'\">\n <!-- Current alterations -->\n <div class=\"mb-4\">\n <seam-alterations-list\n [items]=\"currentItems\"\n [title]=\"'Current Alterations'\"\n [diffState]=\"'current'\"\n [compact]=\"compact\"\n [attr.data-testid]=\"'current-alterations-list-mobile'\"\n >\n </seam-alterations-list>\n </div>\n\n <!-- Pending alterations -->\n <div>\n <seam-alterations-list\n [items]=\"pendingItems\"\n [title]=\"'Pending Alterations'\"\n [diffState]=\"'pending'\"\n [compact]=\"compact\"\n [attr.data-testid]=\"'pending-alterations-list-mobile'\"\n >\n </seam-alterations-list>\n </div>\n </div>\n </ng-template>\n</div>\n", styles: [".alterations-diff{width:100%}.alterations-diff .bg-light{background-color:#f8f9fa!important}.alterations-diff .bg-light small{font-size:.8125rem;text-transform:uppercase;letter-spacing:.5px}.alterations-diff .row{margin-left:-.5rem;margin-right:-.5rem}.alterations-diff .row .col-md-6.pr-md-2{padding-right:.5rem}.alterations-diff .row .col-md-6.pl-md-2{padding-left:.5rem}.alterations-diff .mobile-layout>div:not(:last-child){border-bottom:1px solid #dee2e6;padding-bottom:1rem}@media(min-width:768px){.alterations-diff .row .col-md-6:first-child:after{content:\"\";position:absolute;top:0;right:0;bottom:0;width:1px;background-color:#dee2e6;z-index:1}}@media(max-width:767.98px){.alterations-diff .bg-light{margin-left:-.25rem;margin-right:-.25rem;padding-left:.75rem!important;padding-right:.75rem!important}}\n"] }]
|
|
330
330
|
}], ctorParameters: () => [{ type: i1.TheSeamLayoutService }, { type: AlterationDisplayService }], propDecorators: { currentItems: [{
|