@theseam/ui-common 0.4.10 → 0.4.12-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/breadcrumbs/breadcrumbs/breadcrumbs.component.scss +1 -1
- package/buttons/badge-button/badge-button.component.d.ts +7 -7
- package/buttons/button/button.component.d.ts +6 -6
- package/buttons/buttons.module.d.ts +1 -1
- package/buttons/progress-circle-button/progress-circle-button.component.d.ts +4 -4
- package/buttons/toggle-button/toggle-button.component.d.ts +4 -4
- package/datatable/datatable/datatable.component.d.ts +10 -1
- package/datatable/models/action-item-column-position.d.ts +13 -0
- package/datatable/services/columns-manager.service.d.ts +7 -0
- package/datatable/utils/create-action-menu-column.d.ts +1 -1
- package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +2 -2
- package/esm2020/buttons/badge-button/badge-button.component.mjs +10 -10
- package/esm2020/buttons/button/button.component.mjs +9 -9
- package/esm2020/buttons/buttons.module.mjs +29 -29
- package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +10 -10
- package/esm2020/buttons/toggle-button/toggle-button.component.mjs +8 -8
- package/esm2020/carousel/carousel.component.mjs +3 -2
- package/esm2020/datatable/datatable/datatable.component.mjs +20 -4
- package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +2 -2
- package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +1 -1
- package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +1 -1
- package/esm2020/datatable/models/action-item-column-position.mjs +5 -0
- package/esm2020/datatable/services/columns-manager.service.mjs +27 -2
- package/esm2020/datatable/utils/create-action-menu-column.mjs +4 -3
- package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +1 -1
- package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +1 -1
- package/esm2020/framework/base-layout/base-layout.component.mjs +14 -4
- package/esm2020/framework/base-layout/base-layout.module.mjs +6 -1
- package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +21 -5
- package/esm2020/framework/base-layout/directives/base-layout-side-bar-header.directive.mjs +16 -0
- package/esm2020/framework/base-layout/index.mjs +2 -1
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +1 -1
- package/esm2020/framework/nav/horizontal-nav/horizontal-nav.component.mjs +55 -0
- package/esm2020/framework/nav/index.mjs +6 -0
- package/esm2020/framework/nav/nav-item/nav-item.component.mjs +227 -0
- package/esm2020/framework/nav/nav-utils.mjs +107 -0
- package/esm2020/framework/nav/nav.models.mjs +2 -0
- package/esm2020/framework/nav/nav.module.mjs +67 -0
- package/esm2020/framework/nav/nav.service.mjs +204 -0
- package/esm2020/framework/public-api.mjs +2 -1
- package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +1 -1
- package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +36 -67
- package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +12 -5
- package/esm2020/framework/side-nav/side-nav.component.mjs +141 -38
- package/esm2020/framework/side-nav/side-nav.models.mjs +1 -1
- package/esm2020/framework/side-nav/side-nav.module.mjs +9 -39
- package/esm2020/framework/side-nav/side-nav.service.mjs +1 -1
- package/esm2020/framework/top-bar/index.mjs +3 -1
- package/esm2020/framework/top-bar/top-bar-compact-menu-btn-detail.directive.mjs +16 -0
- package/esm2020/framework/top-bar/top-bar-item.directive.mjs +10 -4
- package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +6 -4
- package/esm2020/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.mjs +16 -0
- package/esm2020/framework/top-bar/top-bar.component.mjs +55 -11
- package/esm2020/framework/top-bar/top-bar.module.mjs +15 -5
- package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +3 -3
- package/esm2020/layout/layout.service.mjs +12 -2
- package/esm2020/loading/loading/loading.component.mjs +5 -5
- package/esm2020/loading/loading-overlay.service.mjs +3 -3
- package/esm2020/loading/loading.module.mjs +6 -6
- package/esm2020/menu/menu-toggle.directive.mjs +7 -2
- package/esm2020/services/preferences/preferences-accessor.mjs +1 -1
- package/esm2020/services/preferences/preferences-manager.service.mjs +1 -1
- package/esm2020/services/preferences/preferences-record.mjs +1 -1
- package/esm2020/services/preferences/preferences.models.mjs +1 -1
- package/esm2020/story-helpers/arg-type-helpers.mjs +5 -9
- package/esm2020/story-helpers/story-preferences-accessor.service.mjs +1 -1
- package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +4 -2
- package/esm2020/testing/get-harness.mjs +8 -2
- package/esm2020/testing/story-expect.mjs +3 -2
- package/esm2020/toggle-edit/toggle-edit.component.mjs +1 -1
- package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
- package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
- package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
- package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
- package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
- package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
- package/esm2020/widget/preferences/widget-preferences.models.mjs +1 -1
- package/esm2020/widget/preferences/widget-preferences.service.mjs +1 -1
- package/esm2020/widget/preferences/widget-preferences.token.mjs +1 -1
- package/esm2020/widget/widget/widget.component.mjs +3 -3
- package/esm2020/widget/widget.models.mjs +1 -1
- package/fesm2015/theseam-ui-common-breadcrumbs.mjs +2 -2
- package/fesm2015/theseam-ui-common-breadcrumbs.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-buttons.mjs +55 -55
- package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-carousel.mjs +2 -1
- package/fesm2015/theseam-ui-common-carousel.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +2 -2
- package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-datatable.mjs +56 -10
- package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-framework.mjs +940 -158
- package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-google-maps.mjs +2 -2
- package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-layout.mjs +11 -2
- package/fesm2015/theseam-ui-common-layout.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-loading.mjs +10 -10
- package/fesm2015/theseam-ui-common-loading.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-menu.mjs +6 -1
- package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-services.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-story-helpers.mjs +4 -8
- package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-table-cell-types.mjs +3 -1
- package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-testing.mjs +9 -2
- package/fesm2015/theseam-ui-common-testing.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-toggle-edit.mjs +1 -1
- package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-widget.mjs +2 -2
- package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-breadcrumbs.mjs +2 -2
- package/fesm2020/theseam-ui-common-breadcrumbs.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-buttons.mjs +55 -55
- package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-carousel.mjs +2 -1
- package/fesm2020/theseam-ui-common-carousel.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +2 -2
- package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-datatable.mjs +56 -10
- package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-framework.mjs +941 -157
- package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-google-maps.mjs +2 -2
- package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-layout.mjs +11 -2
- package/fesm2020/theseam-ui-common-layout.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-loading.mjs +10 -10
- package/fesm2020/theseam-ui-common-loading.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-menu.mjs +6 -1
- package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-services.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-story-helpers.mjs +4 -8
- package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-table-cell-types.mjs +3 -1
- package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-testing.mjs +9 -2
- package/fesm2020/theseam-ui-common-testing.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-toggle-edit.mjs +1 -1
- package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-widget.mjs +2 -2
- package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
- package/framework/base-layout/base-layout.component.d.ts +4 -2
- package/framework/base-layout/base-layout.component.scss +18 -10
- package/framework/base-layout/base-layout.module.d.ts +11 -10
- package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +8 -3
- package/framework/base-layout/directives/base-layout-side-bar-header.directive.d.ts +9 -0
- package/framework/base-layout/index.d.ts +1 -0
- package/framework/base-layout/styles/_variables.scss +21 -0
- package/framework/nav/_nav-theme.scss +4 -0
- package/framework/nav/horizontal-nav/horizontal-nav.component.d.ts +25 -0
- package/framework/nav/horizontal-nav/horizontal-nav.component.scss +50 -0
- package/framework/nav/index.d.ts +5 -0
- package/framework/nav/nav-item/nav-item.component.d.ts +74 -0
- package/framework/nav/nav-item/nav-item.component.scss +203 -0
- package/framework/nav/nav-utils.d.ts +20 -0
- package/framework/nav/nav.models.d.ts +77 -0
- package/framework/nav/nav.module.d.ts +17 -0
- package/framework/nav/nav.service.d.ts +27 -0
- package/framework/nav/styles/_themes/light/_variables.scss +56 -0
- package/framework/nav/styles/_themes/primary/_variables.scss +56 -0
- package/framework/nav/styles/_utilities.scss +3 -0
- package/framework/nav/styles/_variables.scss +2 -0
- package/framework/public-api.d.ts +1 -0
- package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +10 -14
- package/framework/side-nav/side-nav-item/side-nav-item.component.scss +7 -5
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +5 -3
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.scss +3 -6
- package/framework/side-nav/side-nav.component.d.ts +18 -2
- package/framework/side-nav/side-nav.component.scss +0 -1
- package/framework/side-nav/side-nav.models.d.ts +19 -1
- package/framework/side-nav/side-nav.module.d.ts +1 -9
- package/framework/side-nav/styles/_themes/light/_variables.scss +24 -14
- package/framework/side-nav/styles/_themes/primary/_variables.scss +8 -0
- package/framework/top-bar/index.d.ts +2 -0
- package/framework/top-bar/top-bar-compact-menu-btn-detail.directive.d.ts +8 -0
- package/framework/top-bar/top-bar-item.directive.d.ts +4 -1
- package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +5 -2
- package/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.d.ts +8 -0
- package/framework/top-bar/top-bar.component.d.ts +25 -3
- package/framework/top-bar/top-bar.component.scss +7 -2
- package/framework/top-bar/top-bar.module.d.ts +10 -8
- package/layout/layout.service.d.ts +9 -1
- package/loading/loading/loading.component.d.ts +3 -3
- package/loading/loading.module.d.ts +1 -1
- package/menu/menu-toggle.directive.d.ts +2 -1
- package/package.json +2 -2
- package/styles/vendor/ngx-datatable/_ngx-datatable.scss +57 -14
- package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +33 -5
- package/testing/get-harness.d.ts +2 -2
- package/testing/story-expect.d.ts +1 -0
|
@@ -164,10 +164,10 @@ class BreadcrumbsComponent {
|
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
BreadcrumbsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BreadcrumbsComponent, deps: [{ token: TheSeamBreadcrumbsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
167
|
-
BreadcrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BreadcrumbsComponent, selector: "seam-breadcrumbs", ngImport: i0, template: "<nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb mb-0\">\n <li *ngFor=\"let crumb of crumbs$ | async; last as isLast\"\n class=\"breadcrumb-item\"\n [ngClass]=\"{ 'active': isLast }\"\n [attr.aria-current]=\"isLast ? 'page' : undefined\">\n <a *ngIf=\"!isLast; else notLink\" [routerLink]=\"crumb.path\">{{ crumb.value }}</a>\n <ng-template #notLink>{{ crumb.value }}</ng-template>\n </li>\n </ol>\n</nav>\n", styles: ["seam-breadcrumbs li{color:#fff}seam-breadcrumbs li a{color
|
|
167
|
+
BreadcrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BreadcrumbsComponent, selector: "seam-breadcrumbs", ngImport: i0, template: "<nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb mb-0\">\n <li *ngFor=\"let crumb of crumbs$ | async; last as isLast\"\n class=\"breadcrumb-item\"\n [ngClass]=\"{ 'active': isLast }\"\n [attr.aria-current]=\"isLast ? 'page' : undefined\">\n <a *ngIf=\"!isLast; else notLink\" [routerLink]=\"crumb.path\">{{ crumb.value }}</a>\n <ng-template #notLink>{{ crumb.value }}</ng-template>\n </li>\n </ol>\n</nav>\n", styles: ["seam-breadcrumbs li{color:#fff}seam-breadcrumbs li a{color:#fff}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
168
168
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BreadcrumbsComponent, decorators: [{
|
|
169
169
|
type: Component,
|
|
170
|
-
args: [{ selector: 'seam-breadcrumbs', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb mb-0\">\n <li *ngFor=\"let crumb of crumbs$ | async; last as isLast\"\n class=\"breadcrumb-item\"\n [ngClass]=\"{ 'active': isLast }\"\n [attr.aria-current]=\"isLast ? 'page' : undefined\">\n <a *ngIf=\"!isLast; else notLink\" [routerLink]=\"crumb.path\">{{ crumb.value }}</a>\n <ng-template #notLink>{{ crumb.value }}</ng-template>\n </li>\n </ol>\n</nav>\n", styles: ["seam-breadcrumbs li{color:#fff}seam-breadcrumbs li a{color
|
|
170
|
+
args: [{ selector: 'seam-breadcrumbs', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb mb-0\">\n <li *ngFor=\"let crumb of crumbs$ | async; last as isLast\"\n class=\"breadcrumb-item\"\n [ngClass]=\"{ 'active': isLast }\"\n [attr.aria-current]=\"isLast ? 'page' : undefined\">\n <a *ngIf=\"!isLast; else notLink\" [routerLink]=\"crumb.path\">{{ crumb.value }}</a>\n <ng-template #notLink>{{ crumb.value }}</ng-template>\n </li>\n </ol>\n</nav>\n", styles: ["seam-breadcrumbs li{color:#fff}seam-breadcrumbs li a{color:#fff}\n"] }]
|
|
171
171
|
}], ctorParameters: function () { return [{ type: TheSeamBreadcrumbsService }]; } });
|
|
172
172
|
|
|
173
173
|
class TheSeamBreadcrumbsModule {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theseam-ui-common-breadcrumbs.mjs","sources":["../../../projects/ui-common/breadcrumbs/breadcrumbs.service.ts","../../../projects/ui-common/breadcrumbs/breadcrumbs/breadcrumbs.component.ts","../../../projects/ui-common/breadcrumbs/breadcrumbs/breadcrumbs.component.html","../../../projects/ui-common/breadcrumbs/breadcrumbs.module.ts","../../../projects/ui-common/breadcrumbs/theseam-ui-common-breadcrumbs.ts"],"sourcesContent":["import { Injectable, isDevMode } from '@angular/core'\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router'\nimport { combineLatest, Observable, of } from 'rxjs'\nimport { filter, map, startWith, switchMap } from 'rxjs/operators'\n\nimport {\n activatedRoutesWithDataProperty,\n hasProperty,\n IActivatedRouteWithData,\n isEmptyUrlRoute,\n leafChildRoute,\n notNullOrUndefined,\n routeSnapshotPathFull,\n willHaveDataProp\n} from '@theseam/ui-common/utils'\n\nimport { TheSeamBreadcrumb } from './breadcrumb'\n\ninterface BreadcrumbDataExtras {\n dataProps?: string[]\n}\n\ninterface ExtrasPropRef {\n prop: string\n value: Observable<string>\n}\n\ninterface BreadcrumbData {\n breadcrumb?: string\n breadcrumbExtras?: BreadcrumbDataExtras\n\n activatedRoute: ActivatedRoute\n extrasPropRefs: ExtrasPropRef[]\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TheSeamBreadcrumbsService {\n\n // public readonly breadcrumbDataKey = 'breadcrumb'\n\n private readonly dataProps: (keyof Omit<BreadcrumbData, 'activatedRoute'>)[] = [\n 'breadcrumb',\n 'breadcrumbExtras',\n ]\n\n public readonly crumbs$: Observable<TheSeamBreadcrumb[]>\n\n constructor(\n private readonly _router: Router,\n private readonly _activatedRoute: ActivatedRoute\n ) {\n // this.crumbs$ = this._router.events.pipe(\n // filter(event => event instanceof NavigationEnd),\n // map(_ => this._activatedRoute),\n // startWith(this._activatedRoute),\n // activatedRoutesWithDataProperty(this.breadcrumbDataKey, true),\n // switchMap(rwdArr => combineLatest(rwdArr.map(rwd => this._parseBreadcrumbData(rwd))))\n // )\n\n this.crumbs$ = this._crumbsFromRoute()\n }\n\n private _crumbsFromRoute(): Observable<TheSeamBreadcrumb[]> {\n return this._router.events.pipe(\n filter((event): event is NavigationEnd => event instanceof NavigationEnd),\n map(() => this._activatedRoute),\n startWith(this._activatedRoute),\n switchMap(activatedRoute => this._crumbsFromActivatedRoute(activatedRoute))\n )\n }\n\n private _crumbsFromActivatedRoute(activatedRoute: ActivatedRoute): Observable<TheSeamBreadcrumb[]> {\n return this._breadcrumbDatasFromRoot(activatedRoute).pipe(\n map(bcDatas => this._breadcrumbsFromData(bcDatas))\n )\n }\n\n private _breadcrumbDatasFromRoot(activatedRoute: ActivatedRoute): Observable<BreadcrumbData[]> {\n const bcDataObs = leafChildRoute(activatedRoute).pathFromRoot.map(r => this._breadcrumbData(r))\n return combineLatest(bcDataObs).pipe(\n map(v => v.filter(notNullOrUndefined)),\n switchMap(v => this._applyBreadcrumbExtras(v)),\n )\n }\n\n private _breadcrumbData(activatedRoute: ActivatedRoute): Observable<BreadcrumbData | null> {\n return activatedRoute.data.pipe(\n map(data => {\n const bcData: BreadcrumbData = {\n activatedRoute,\n extrasPropRefs: []\n }\n\n let found = false\n for (const prop of this.dataProps) {\n if (prop === 'breadcrumb' && !willHaveDataProp(activatedRoute, prop)) {\n // Need to skip if the 'breadcrumb' data prop is not in the config,\n // because we will get duplicates if the data 'breadcrumb' prop is\n // inheritted from a parent route.\n continue\n }\n\n if (hasProperty(data, prop)) {\n bcData[prop] = data[prop]\n found = true\n }\n }\n\n if (!found) {\n return null\n }\n\n bcData.extrasPropRefs = this._getBreadcrumbExtrasDataProps(bcData)\n\n return bcData\n })\n )\n }\n\n private _applyBreadcrumbExtras(datas: BreadcrumbData[]): Observable<BreadcrumbData[]> {\n const newDatas: BreadcrumbData[] = []\n\n let pending: BreadcrumbData[] = []\n for (const data of datas) {\n if (!hasProperty(data, 'breadcrumb')) {\n pending.push(data)\n continue\n }\n\n newDatas.push(data)\n\n pending = []\n }\n\n if (newDatas.length === 0) {\n return of([])\n }\n\n if (pending.length > 0) {\n // add extras\n newDatas[newDatas.length - 1].extrasPropRefs = this._filterExtrasPropRefs([\n ...newDatas[newDatas.length - 1].extrasPropRefs,\n ...pending.map(p => p.extrasPropRefs).reduce((prev, curr) => [ ...prev, ...curr ], [])\n ])\n }\n\n return combineLatest(newDatas.map(data => {\n if (data.extrasPropRefs.length === 0) {\n return of(data)\n }\n\n return this._observeExtrasPropRefs(data.extrasPropRefs).pipe(\n map(extrasStr => {\n data.breadcrumb = `${data.breadcrumb} ${extrasStr}`\n return data\n })\n )\n }))\n }\n\n private _observeExtrasPropRefs(propRefs: ExtrasPropRef[]): Observable<string> {\n return combineLatest(propRefs.map(pf => pf.value)).pipe(\n map(values => values.map(v => `(${v})`).join(' '))\n )\n }\n\n private _getBreadcrumbExtrasDataProps(data: BreadcrumbData): ExtrasPropRef[] {\n if (!hasProperty(data, 'breadcrumbExtras')) {\n return []\n }\n\n if (!hasProperty(data.breadcrumbExtras, 'dataProps')) {\n return []\n }\n\n const propRefs = data.breadcrumbExtras.dataProps.map(prop => {\n return { prop, value: this._getDataProp(data.activatedRoute, prop) }\n })\n\n return this._filterExtrasPropRefs(propRefs)\n }\n\n private _filterExtrasPropRefs(propRefs: ExtrasPropRef[]): ExtrasPropRef[] {\n const seen: { [key: string]: boolean } = { }\n return propRefs.filter(propRef => {\n if (seen[propRef.prop]) {\n return false\n }\n seen[propRef.prop] = true\n return true\n })\n }\n\n private _getDataProp(activatedRoute: ActivatedRoute, prop: string): Observable<string> {\n if (activatedRoute.routeConfig !== null) {\n if (willHaveDataProp(activatedRoute, prop)) {\n return activatedRoute.data.pipe(map(d => d[prop]))\n }\n }\n\n let r = activatedRoute.parent\n while (r !== null) {\n if (willHaveDataProp(r, prop)) {\n return r.data.pipe(map(d => d[prop]))\n }\n\n r = r.parent\n }\n\n throw Error(`DataProp '${prop}' not found.`)\n }\n\n private _breadcrumbsFromData(datas: BreadcrumbData[]): TheSeamBreadcrumb[] {\n const breadcrumbs: TheSeamBreadcrumb[] = []\n\n for (const data of datas) {\n if (hasProperty(data, 'breadcrumb')) {\n const breadcrumb: TheSeamBreadcrumb = {\n value: data.breadcrumb,\n path: routeSnapshotPathFull(data.activatedRoute.snapshot),\n route: data.activatedRoute\n }\n breadcrumbs.push(breadcrumb)\n }\n }\n\n return breadcrumbs\n }\n\n // private _parseBreadcrumbData(routeWithData: IActivatedRouteWithData): Observable<TheSeamBreadcrumb> {\n // const crumbValue = routeWithData.data[this.breadcrumbDataKey]\n // const route = routeWithData.route\n // const path = routeSnapshotPathFull(route.snapshot)\n // let value = ''\n\n // if (typeof crumbValue === 'string') {\n // value = crumbValue\n // } else {\n // if (isDevMode()) {\n // console.warn(\n // '[TheSeamBreadcrumbsService] Only string breadcrumbs are supported currently. '\n // + 'Use a resolver if the value needs to be dynamically calculated.'\n // )\n // }\n // }\n\n // return of({ value, path, route })\n // }\n\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'\nimport { Observable } from 'rxjs'\n\nimport { TheSeamBreadcrumb } from '../breadcrumb'\nimport { TheSeamBreadcrumbsService } from '../breadcrumbs.service'\n\n@Component({\n selector: 'seam-breadcrumbs',\n templateUrl: './breadcrumbs.component.html',\n styleUrls: ['./breadcrumbs.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BreadcrumbsComponent {\n\n public crumbs$: Observable<TheSeamBreadcrumb[]>\n\n constructor(\n private _breadcrumbs: TheSeamBreadcrumbsService\n ) {\n this.crumbs$ = this._breadcrumbs.crumbs$\n }\n\n}\n","<nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb mb-0\">\n <li *ngFor=\"let crumb of crumbs$ | async; last as isLast\"\n class=\"breadcrumb-item\"\n [ngClass]=\"{ 'active': isLast }\"\n [attr.aria-current]=\"isLast ? 'page' : undefined\">\n <a *ngIf=\"!isLast; else notLink\" [routerLink]=\"crumb.path\">{{ crumb.value }}</a>\n <ng-template #notLink>{{ crumb.value }}</ng-template>\n </li>\n </ol>\n</nav>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\n\nimport { BreadcrumbsComponent } from './breadcrumbs/breadcrumbs.component'\n\n@NgModule({\n declarations: [\n BreadcrumbsComponent\n ],\n imports: [\n CommonModule,\n RouterModule\n ],\n exports: [\n BreadcrumbsComponent\n ]\n})\nexport class TheSeamBreadcrumbsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TheSeamBreadcrumbsService","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-breadcrumbs.mjs","sources":["../../../projects/ui-common/breadcrumbs/breadcrumbs.service.ts","../../../projects/ui-common/breadcrumbs/breadcrumbs/breadcrumbs.component.ts","../../../projects/ui-common/breadcrumbs/breadcrumbs/breadcrumbs.component.html","../../../projects/ui-common/breadcrumbs/breadcrumbs.module.ts","../../../projects/ui-common/breadcrumbs/theseam-ui-common-breadcrumbs.ts"],"sourcesContent":["import { Injectable, isDevMode } from '@angular/core'\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router'\nimport { combineLatest, Observable, of } from 'rxjs'\nimport { filter, map, startWith, switchMap } from 'rxjs/operators'\n\nimport {\n activatedRoutesWithDataProperty,\n hasProperty,\n IActivatedRouteWithData,\n isEmptyUrlRoute,\n leafChildRoute,\n notNullOrUndefined,\n routeSnapshotPathFull,\n willHaveDataProp\n} from '@theseam/ui-common/utils'\n\nimport { TheSeamBreadcrumb } from './breadcrumb'\n\ninterface BreadcrumbDataExtras {\n dataProps?: string[]\n}\n\ninterface ExtrasPropRef {\n prop: string\n value: Observable<string>\n}\n\ninterface BreadcrumbData {\n breadcrumb?: string\n breadcrumbExtras?: BreadcrumbDataExtras\n\n activatedRoute: ActivatedRoute\n extrasPropRefs: ExtrasPropRef[]\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TheSeamBreadcrumbsService {\n\n // public readonly breadcrumbDataKey = 'breadcrumb'\n\n private readonly dataProps: (keyof Omit<BreadcrumbData, 'activatedRoute'>)[] = [\n 'breadcrumb',\n 'breadcrumbExtras',\n ]\n\n public readonly crumbs$: Observable<TheSeamBreadcrumb[]>\n\n constructor(\n private readonly _router: Router,\n private readonly _activatedRoute: ActivatedRoute\n ) {\n // this.crumbs$ = this._router.events.pipe(\n // filter(event => event instanceof NavigationEnd),\n // map(_ => this._activatedRoute),\n // startWith(this._activatedRoute),\n // activatedRoutesWithDataProperty(this.breadcrumbDataKey, true),\n // switchMap(rwdArr => combineLatest(rwdArr.map(rwd => this._parseBreadcrumbData(rwd))))\n // )\n\n this.crumbs$ = this._crumbsFromRoute()\n }\n\n private _crumbsFromRoute(): Observable<TheSeamBreadcrumb[]> {\n return this._router.events.pipe(\n filter((event): event is NavigationEnd => event instanceof NavigationEnd),\n map(() => this._activatedRoute),\n startWith(this._activatedRoute),\n switchMap(activatedRoute => this._crumbsFromActivatedRoute(activatedRoute))\n )\n }\n\n private _crumbsFromActivatedRoute(activatedRoute: ActivatedRoute): Observable<TheSeamBreadcrumb[]> {\n return this._breadcrumbDatasFromRoot(activatedRoute).pipe(\n map(bcDatas => this._breadcrumbsFromData(bcDatas))\n )\n }\n\n private _breadcrumbDatasFromRoot(activatedRoute: ActivatedRoute): Observable<BreadcrumbData[]> {\n const bcDataObs = leafChildRoute(activatedRoute).pathFromRoot.map(r => this._breadcrumbData(r))\n return combineLatest(bcDataObs).pipe(\n map(v => v.filter(notNullOrUndefined)),\n switchMap(v => this._applyBreadcrumbExtras(v)),\n )\n }\n\n private _breadcrumbData(activatedRoute: ActivatedRoute): Observable<BreadcrumbData | null> {\n return activatedRoute.data.pipe(\n map(data => {\n const bcData: BreadcrumbData = {\n activatedRoute,\n extrasPropRefs: []\n }\n\n let found = false\n for (const prop of this.dataProps) {\n if (prop === 'breadcrumb' && !willHaveDataProp(activatedRoute, prop)) {\n // Need to skip if the 'breadcrumb' data prop is not in the config,\n // because we will get duplicates if the data 'breadcrumb' prop is\n // inheritted from a parent route.\n continue\n }\n\n if (hasProperty(data, prop)) {\n bcData[prop] = data[prop]\n found = true\n }\n }\n\n if (!found) {\n return null\n }\n\n bcData.extrasPropRefs = this._getBreadcrumbExtrasDataProps(bcData)\n\n return bcData\n })\n )\n }\n\n private _applyBreadcrumbExtras(datas: BreadcrumbData[]): Observable<BreadcrumbData[]> {\n const newDatas: BreadcrumbData[] = []\n\n let pending: BreadcrumbData[] = []\n for (const data of datas) {\n if (!hasProperty(data, 'breadcrumb')) {\n pending.push(data)\n continue\n }\n\n newDatas.push(data)\n\n pending = []\n }\n\n if (newDatas.length === 0) {\n return of([])\n }\n\n if (pending.length > 0) {\n // add extras\n newDatas[newDatas.length - 1].extrasPropRefs = this._filterExtrasPropRefs([\n ...newDatas[newDatas.length - 1].extrasPropRefs,\n ...pending.map(p => p.extrasPropRefs).reduce((prev, curr) => [ ...prev, ...curr ], [])\n ])\n }\n\n return combineLatest(newDatas.map(data => {\n if (data.extrasPropRefs.length === 0) {\n return of(data)\n }\n\n return this._observeExtrasPropRefs(data.extrasPropRefs).pipe(\n map(extrasStr => {\n data.breadcrumb = `${data.breadcrumb} ${extrasStr}`\n return data\n })\n )\n }))\n }\n\n private _observeExtrasPropRefs(propRefs: ExtrasPropRef[]): Observable<string> {\n return combineLatest(propRefs.map(pf => pf.value)).pipe(\n map(values => values.map(v => `(${v})`).join(' '))\n )\n }\n\n private _getBreadcrumbExtrasDataProps(data: BreadcrumbData): ExtrasPropRef[] {\n if (!hasProperty(data, 'breadcrumbExtras')) {\n return []\n }\n\n if (!hasProperty(data.breadcrumbExtras, 'dataProps')) {\n return []\n }\n\n const propRefs = data.breadcrumbExtras.dataProps.map(prop => {\n return { prop, value: this._getDataProp(data.activatedRoute, prop) }\n })\n\n return this._filterExtrasPropRefs(propRefs)\n }\n\n private _filterExtrasPropRefs(propRefs: ExtrasPropRef[]): ExtrasPropRef[] {\n const seen: { [key: string]: boolean } = { }\n return propRefs.filter(propRef => {\n if (seen[propRef.prop]) {\n return false\n }\n seen[propRef.prop] = true\n return true\n })\n }\n\n private _getDataProp(activatedRoute: ActivatedRoute, prop: string): Observable<string> {\n if (activatedRoute.routeConfig !== null) {\n if (willHaveDataProp(activatedRoute, prop)) {\n return activatedRoute.data.pipe(map(d => d[prop]))\n }\n }\n\n let r = activatedRoute.parent\n while (r !== null) {\n if (willHaveDataProp(r, prop)) {\n return r.data.pipe(map(d => d[prop]))\n }\n\n r = r.parent\n }\n\n throw Error(`DataProp '${prop}' not found.`)\n }\n\n private _breadcrumbsFromData(datas: BreadcrumbData[]): TheSeamBreadcrumb[] {\n const breadcrumbs: TheSeamBreadcrumb[] = []\n\n for (const data of datas) {\n if (hasProperty(data, 'breadcrumb')) {\n const breadcrumb: TheSeamBreadcrumb = {\n value: data.breadcrumb,\n path: routeSnapshotPathFull(data.activatedRoute.snapshot),\n route: data.activatedRoute\n }\n breadcrumbs.push(breadcrumb)\n }\n }\n\n return breadcrumbs\n }\n\n // private _parseBreadcrumbData(routeWithData: IActivatedRouteWithData): Observable<TheSeamBreadcrumb> {\n // const crumbValue = routeWithData.data[this.breadcrumbDataKey]\n // const route = routeWithData.route\n // const path = routeSnapshotPathFull(route.snapshot)\n // let value = ''\n\n // if (typeof crumbValue === 'string') {\n // value = crumbValue\n // } else {\n // if (isDevMode()) {\n // console.warn(\n // '[TheSeamBreadcrumbsService] Only string breadcrumbs are supported currently. '\n // + 'Use a resolver if the value needs to be dynamically calculated.'\n // )\n // }\n // }\n\n // return of({ value, path, route })\n // }\n\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'\nimport { Observable } from 'rxjs'\n\nimport { TheSeamBreadcrumb } from '../breadcrumb'\nimport { TheSeamBreadcrumbsService } from '../breadcrumbs.service'\n\n@Component({\n selector: 'seam-breadcrumbs',\n templateUrl: './breadcrumbs.component.html',\n styleUrls: ['./breadcrumbs.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BreadcrumbsComponent {\n\n public crumbs$: Observable<TheSeamBreadcrumb[]>\n\n constructor(\n private _breadcrumbs: TheSeamBreadcrumbsService\n ) {\n this.crumbs$ = this._breadcrumbs.crumbs$\n }\n\n}\n","<nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb mb-0\">\n <li *ngFor=\"let crumb of crumbs$ | async; last as isLast\"\n class=\"breadcrumb-item\"\n [ngClass]=\"{ 'active': isLast }\"\n [attr.aria-current]=\"isLast ? 'page' : undefined\">\n <a *ngIf=\"!isLast; else notLink\" [routerLink]=\"crumb.path\">{{ crumb.value }}</a>\n <ng-template #notLink>{{ crumb.value }}</ng-template>\n </li>\n </ol>\n</nav>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\n\nimport { BreadcrumbsComponent } from './breadcrumbs/breadcrumbs.component'\n\n@NgModule({\n declarations: [\n BreadcrumbsComponent\n ],\n imports: [\n CommonModule,\n RouterModule\n ],\n exports: [\n BreadcrumbsComponent\n ]\n})\nexport class TheSeamBreadcrumbsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TheSeamBreadcrumbsService","i3"],"mappings":"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"}
|
|
@@ -34,7 +34,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
34
34
|
args: [{ template: '' }]
|
|
35
35
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: i0.Renderer2 }]; } });
|
|
36
36
|
const _TheSeamButtonMixinBase = mixinSize(mixinTheme(mixinDisabled(TheSeamButtonBase), 'btn'), 'btn');
|
|
37
|
-
class
|
|
37
|
+
class TheSeamButtonComponent extends _TheSeamButtonMixinBase {
|
|
38
38
|
// eslint-disable-next-line @typescript-eslint/no-useless-constructor
|
|
39
39
|
constructor(_elementRef, _focusMonitor, _renderer) {
|
|
40
40
|
super(_elementRef, _focusMonitor, _renderer);
|
|
@@ -43,9 +43,9 @@ class ButtonComponent extends _TheSeamButtonMixinBase {
|
|
|
43
43
|
}
|
|
44
44
|
ngOnDestroy() { super.ngOnDestroy(); }
|
|
45
45
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type:
|
|
46
|
+
TheSeamButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
+
TheSeamButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamButtonComponent, selector: "button[seamButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", type: "type" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null" }, classAttribute: "btn" }, exportAs: ["seamButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamButtonComponent, decorators: [{
|
|
49
49
|
type: Component,
|
|
50
50
|
args: [{ selector: 'button[seamButton]', exportAs: 'seamButton', inputs: ['disabled', 'theme', 'size'], host: {
|
|
51
51
|
'[attr.type]': 'type',
|
|
@@ -56,7 +56,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
56
56
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: i0.Renderer2 }]; }, propDecorators: { type: [{
|
|
57
57
|
type: Input
|
|
58
58
|
}] } });
|
|
59
|
-
class
|
|
59
|
+
class TheSeamAnchorButtonComponent extends _TheSeamButtonMixinBase {
|
|
60
60
|
// TODO: Consider adding dev warning for `window.opener` exploit. Could maybe
|
|
61
61
|
// add `rel` it if the href isn't on the current domain or not specified in an
|
|
62
62
|
// injected list. This probably isn't needed and may be to strict for our
|
|
@@ -74,9 +74,9 @@ class AnchorButtonComponent extends _TheSeamButtonMixinBase {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type:
|
|
77
|
+
TheSeamAnchorButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamAnchorButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
+
TheSeamAnchorButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamAnchorButtonComponent, selector: "a[seamButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", tabIndex: "tabIndex" }, host: { listeners: { "click": "_haltDisabledEvents($event)" }, properties: { "attr.tabindex": "disabled ? -1 : (tabIndex || 0)", "attr.disabled": "disabled || null", "attr.aria-disabled": "disabled.toString()" }, classAttribute: "btn" }, exportAs: ["seamButton", "seamButtonBaseAnchor"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamAnchorButtonComponent, decorators: [{
|
|
80
80
|
type: Component,
|
|
81
81
|
args: [{ selector: 'a[seamButton]', exportAs: 'seamButton,seamButtonBaseAnchor', inputs: ['disabled', 'theme', 'size'], host: {
|
|
82
82
|
'class': 'btn',
|
|
@@ -89,7 +89,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
89
89
|
type: Input
|
|
90
90
|
}] } });
|
|
91
91
|
|
|
92
|
-
class
|
|
92
|
+
class TheSeamBadgeButtonComponent extends TheSeamButtonComponent {
|
|
93
93
|
// eslint-disable-next-line @typescript-eslint/no-useless-constructor
|
|
94
94
|
constructor(_elementRef, _focusMonitor, _renderer) {
|
|
95
95
|
super(_elementRef, _focusMonitor, _renderer);
|
|
@@ -99,9 +99,9 @@ class BadgeButtonComponent extends ButtonComponent {
|
|
|
99
99
|
}
|
|
100
100
|
ngOnDestroy() { super.ngOnDestroy(); }
|
|
101
101
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type:
|
|
102
|
+
TheSeamBadgeButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamBadgeButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
+
TheSeamBadgeButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamBadgeButtonComponent, selector: "button[seamBadgeButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", badgeTheme: "badgeTheme", badgeText: "badgeText" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null", "class.text-nowrap": "this._textNoWrap" }, classAttribute: "btn" }, exportAs: ["seamBadgeButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n", styles: [""] });
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamBadgeButtonComponent, decorators: [{
|
|
105
105
|
type: Component,
|
|
106
106
|
args: [{ selector: 'button[seamBadgeButton]', exportAs: 'seamBadgeButton', inputs: ['disabled', 'theme', 'size'], host: {
|
|
107
107
|
'[attr.type]': 'type',
|
|
@@ -117,7 +117,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
117
117
|
}], badgeText: [{
|
|
118
118
|
type: Input
|
|
119
119
|
}] } });
|
|
120
|
-
class
|
|
120
|
+
class TheSeamAnchorBadgeButtonComponent extends TheSeamAnchorButtonComponent {
|
|
121
121
|
// eslint-disable-next-line @typescript-eslint/no-useless-constructor
|
|
122
122
|
constructor(_elementRef, _focusMonitor, _renderer) {
|
|
123
123
|
super(_elementRef, _focusMonitor, _renderer);
|
|
@@ -127,9 +127,9 @@ class AnchorBadgeButtonComponent extends AnchorButtonComponent {
|
|
|
127
127
|
}
|
|
128
128
|
ngOnDestroy() { super.ngOnDestroy(); }
|
|
129
129
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type:
|
|
130
|
+
TheSeamAnchorBadgeButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamAnchorBadgeButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
131
|
+
TheSeamAnchorBadgeButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamAnchorBadgeButtonComponent, selector: "a[seamBadgeButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", badgeTheme: "badgeTheme", badgeText: "badgeText" }, host: { listeners: { "click": "_haltDisabledEvents($event)" }, properties: { "attr.tabindex": "disabled ? -1 : (tabIndex || 0)", "attr.disabled": "disabled || null", "attr.aria-disabled": "disabled.toString()", "class.text-nowrap": "this._textNoWrap" }, classAttribute: "btn" }, exportAs: ["seamBadgeButton", "seamBadgeButtonAnchor"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n", styles: [""] });
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamAnchorBadgeButtonComponent, decorators: [{
|
|
133
133
|
type: Component,
|
|
134
134
|
args: [{ selector: 'a[seamBadgeButton]', exportAs: 'seamBadgeButton,seamBadgeButtonAnchor', inputs: ['disabled', 'theme', 'size'], host: {
|
|
135
135
|
'class': 'btn',
|
|
@@ -147,7 +147,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
147
147
|
type: Input
|
|
148
148
|
}] } });
|
|
149
149
|
|
|
150
|
-
class
|
|
150
|
+
class TheSeamProgressCircleButtonComponent extends TheSeamButtonComponent {
|
|
151
151
|
constructor(_elementRef, _focusMonitor, _renderer) {
|
|
152
152
|
super(_elementRef, _focusMonitor, _renderer);
|
|
153
153
|
this._elementRef = _elementRef;
|
|
@@ -160,21 +160,21 @@ class ProgressCircleButtonComponent extends ButtonComponent {
|
|
|
160
160
|
}
|
|
161
161
|
ngOnDestroy() { super.ngOnDestroy(); }
|
|
162
162
|
}
|
|
163
|
-
|
|
164
|
-
|
|
163
|
+
TheSeamProgressCircleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamProgressCircleButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
164
|
+
TheSeamProgressCircleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamProgressCircleButtonComponent, selector: "button[seamProgressCircleButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", fillBackground: "fillBackground", showText: "showText", hiddenOnEmpty: "hiddenOnEmpty", percentage: "percentage" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null" }, classAttribute: "btn" }, exportAs: ["seamProgressCircleButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\">\n</seam-progress-circle>\n", styles: [":host{padding-right:45px;position:relative}:host.btn-sm{padding-right:40px}:host.btn-sm ::ng-deep .seam-progress-circle{padding:8px}:host.btn-lg{padding-right:50px}:host.btn-lg ::ng-deep .seam-progress-circle{padding:0}:host seam-progress-circle.progress-circle-btn--icon{top:0;right:0;height:100%;width:45px;position:absolute}\n"], dependencies: [{ kind: "component", type: i2.ProgressCircleComponent, selector: "seam-progress-circle", inputs: ["fillBackground", "showText", "hiddenOnEmpty", "pending", "percentage"] }] });
|
|
165
165
|
__decorate([
|
|
166
166
|
InputBoolean()
|
|
167
|
-
],
|
|
167
|
+
], TheSeamProgressCircleButtonComponent.prototype, "fillBackground", void 0);
|
|
168
168
|
__decorate([
|
|
169
169
|
InputBoolean()
|
|
170
|
-
],
|
|
170
|
+
], TheSeamProgressCircleButtonComponent.prototype, "showText", void 0);
|
|
171
171
|
__decorate([
|
|
172
172
|
InputBoolean()
|
|
173
|
-
],
|
|
173
|
+
], TheSeamProgressCircleButtonComponent.prototype, "hiddenOnEmpty", void 0);
|
|
174
174
|
__decorate([
|
|
175
175
|
InputNumber(0)
|
|
176
|
-
],
|
|
177
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type:
|
|
176
|
+
], TheSeamProgressCircleButtonComponent.prototype, "percentage", void 0);
|
|
177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamProgressCircleButtonComponent, decorators: [{
|
|
178
178
|
type: Component,
|
|
179
179
|
args: [{ selector: 'button[seamProgressCircleButton]', exportAs: 'seamProgressCircleButton', inputs: ['disabled', 'theme', 'size'], host: {
|
|
180
180
|
'[attr.type]': 'type',
|
|
@@ -194,10 +194,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
194
194
|
|
|
195
195
|
const TOGGLE_BUTTON_VALUE_ACCESSOR = {
|
|
196
196
|
provide: NG_VALUE_ACCESSOR,
|
|
197
|
-
useExisting: forwardRef(() =>
|
|
197
|
+
useExisting: forwardRef(() => TheSeamToggleButtonComponent),
|
|
198
198
|
multi: true,
|
|
199
199
|
};
|
|
200
|
-
class
|
|
200
|
+
class TheSeamToggleButtonComponent extends TheSeamButtonComponent {
|
|
201
201
|
get _activeCssClass() { return this.value ? coerceBooleanProperty(this.value) : false; }
|
|
202
202
|
constructor(_elementRef, _focusMonitor, _renderer) {
|
|
203
203
|
super(_elementRef, _focusMonitor, _renderer);
|
|
@@ -239,12 +239,12 @@ class ToggleButtonComponent extends ButtonComponent {
|
|
|
239
239
|
this.value = !this.value;
|
|
240
240
|
}
|
|
241
241
|
}
|
|
242
|
-
|
|
243
|
-
|
|
242
|
+
TheSeamToggleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamToggleButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
243
|
+
TheSeamToggleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamToggleButtonComponent, selector: "button[seamToggleButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", val: ["value", "val"] }, outputs: { change: "change" }, host: { listeners: { "click": "_toggleValue()" }, properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null", "class.active": "this._activeCssClass" }, classAttribute: "btn" }, providers: [TOGGLE_BUTTON_VALUE_ACCESSOR], exportAs: ["seamToggleButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] });
|
|
244
244
|
__decorate([
|
|
245
245
|
InputBoolean()
|
|
246
|
-
],
|
|
247
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type:
|
|
246
|
+
], TheSeamToggleButtonComponent.prototype, "val", void 0);
|
|
247
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamToggleButtonComponent, decorators: [{
|
|
248
248
|
type: Component,
|
|
249
249
|
args: [{ selector: 'button[seamToggleButton]', exportAs: 'seamToggleButton', inputs: ['disabled', 'theme', 'size'], host: {
|
|
250
250
|
'[attr.type]': 'type',
|
|
@@ -266,42 +266,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
266
266
|
class TheSeamButtonsModule {
|
|
267
267
|
}
|
|
268
268
|
TheSeamButtonsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamButtonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
269
|
-
TheSeamButtonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: TheSeamButtonsModule, declarations: [
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
TheSeamProgressModule], exports: [
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
269
|
+
TheSeamButtonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: TheSeamButtonsModule, declarations: [TheSeamBadgeButtonComponent,
|
|
270
|
+
TheSeamProgressCircleButtonComponent,
|
|
271
|
+
TheSeamToggleButtonComponent,
|
|
272
|
+
TheSeamButtonComponent,
|
|
273
|
+
TheSeamAnchorButtonComponent,
|
|
274
|
+
TheSeamAnchorBadgeButtonComponent], imports: [CommonModule,
|
|
275
|
+
TheSeamProgressModule], exports: [TheSeamBadgeButtonComponent,
|
|
276
|
+
TheSeamProgressCircleButtonComponent,
|
|
277
|
+
TheSeamToggleButtonComponent,
|
|
278
|
+
TheSeamButtonComponent,
|
|
279
|
+
TheSeamAnchorButtonComponent,
|
|
280
|
+
TheSeamAnchorBadgeButtonComponent] });
|
|
281
281
|
TheSeamButtonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamButtonsModule, imports: [CommonModule,
|
|
282
282
|
TheSeamProgressModule] });
|
|
283
283
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamButtonsModule, decorators: [{
|
|
284
284
|
type: NgModule,
|
|
285
285
|
args: [{
|
|
286
286
|
declarations: [
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
287
|
+
TheSeamBadgeButtonComponent,
|
|
288
|
+
TheSeamProgressCircleButtonComponent,
|
|
289
|
+
TheSeamToggleButtonComponent,
|
|
290
|
+
TheSeamButtonComponent,
|
|
291
|
+
TheSeamAnchorButtonComponent,
|
|
292
|
+
TheSeamAnchorBadgeButtonComponent,
|
|
293
293
|
],
|
|
294
294
|
imports: [
|
|
295
295
|
CommonModule,
|
|
296
296
|
TheSeamProgressModule
|
|
297
297
|
],
|
|
298
298
|
exports: [
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
299
|
+
TheSeamBadgeButtonComponent,
|
|
300
|
+
TheSeamProgressCircleButtonComponent,
|
|
301
|
+
TheSeamToggleButtonComponent,
|
|
302
|
+
TheSeamButtonComponent,
|
|
303
|
+
TheSeamAnchorButtonComponent,
|
|
304
|
+
TheSeamAnchorBadgeButtonComponent,
|
|
305
305
|
]
|
|
306
306
|
}]
|
|
307
307
|
}] });
|
|
@@ -310,5 +310,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
310
310
|
* Generated bundle index. Do not edit.
|
|
311
311
|
*/
|
|
312
312
|
|
|
313
|
-
export {
|
|
313
|
+
export { TOGGLE_BUTTON_VALUE_ACCESSOR, TheSeamAnchorBadgeButtonComponent, TheSeamAnchorButtonComponent, TheSeamBadgeButtonComponent, TheSeamButtonComponent, TheSeamButtonsModule, TheSeamProgressCircleButtonComponent, TheSeamToggleButtonComponent };
|
|
314
314
|
//# sourceMappingURL=theseam-ui-common-buttons.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theseam-ui-common-buttons.mjs","sources":["../../../projects/ui-common/buttons/button/button.component.ts","../../../projects/ui-common/buttons/button/button.component.html","../../../projects/ui-common/buttons/badge-button/badge-button.component.ts","../../../projects/ui-common/buttons/badge-button/badge-button.component.html","../../../projects/ui-common/buttons/progress-circle-button/progress-circle-button.component.ts","../../../projects/ui-common/buttons/progress-circle-button/progress-circle-button.component.html","../../../projects/ui-common/buttons/toggle-button/toggle-button.component.ts","../../../projects/ui-common/buttons/toggle-button/toggle-button.component.html","../../../projects/ui-common/buttons/buttons.module.ts","../../../projects/ui-common/buttons/theseam-ui-common-buttons.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y'\nimport { ChangeDetectionStrategy, Component, Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport {\n CanDisableCtor,\n CanSizeCtor,\n CanThemeCtor,\n mixinDisabled,\n mixinSize,\n mixinTheme\n} from '@theseam/ui-common/core'\n\n@Component({ template: '' })\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nclass TheSeamButtonBase implements OnDestroy {\n constructor(\n public _elementRef: ElementRef,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n this._focusMonitor.monitor(this._elementRef, true)\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n\n /** Focuses the button. */\n focus(): void {\n this._getHostElement().focus()\n }\n\n _getHostElement() {\n return this._elementRef.nativeElement\n }\n}\n\nconst _TheSeamButtonMixinBase: CanDisableCtor & CanThemeCtor & CanSizeCtor &\n typeof TheSeamButtonBase = mixinSize(mixinTheme(mixinDisabled(TheSeamButtonBase), 'btn'), 'btn')\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonComponent extends _TheSeamButtonMixinBase implements OnDestroy {\n\n /** ARIA type for the button. */\n @Input() type: 'button' | 'submit' | 'reset' = 'button'\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton,seamButtonBaseAnchor',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n 'class': 'btn',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AnchorButtonComponent extends _TheSeamButtonMixinBase implements OnDestroy {\n\n /** Tabindex of the button. */\n @Input() tabIndex: number | undefined | null\n\n // TODO: Consider adding dev warning for `window.opener` exploit. Could maybe\n // add `rel` it if the href isn't on the current domain or not specified in an\n // injected list. This probably isn't needed and may be to strict for our\n // usage, so I am just adding this as a reminder to think about it.\n //\n // rel=\"noopener noreferrer\"\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n _haltDisabledEvents(event: Event) {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n }\n\n}\n","<ng-content></ng-content>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { Component, ElementRef, HostBinding, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport type { ThemeTypes } from '@theseam/ui-common/models'\nimport { AnchorButtonComponent, ButtonComponent } from '../button/button.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null'\n },\n})\nexport class BadgeButtonComponent extends ButtonComponent implements OnDestroy {\n\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton,seamBadgeButtonAnchor',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n 'class': 'btn',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n})\nexport class AnchorBadgeButtonComponent extends AnchorButtonComponent implements OnDestroy {\n\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n","<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion'\nimport { Component, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\n\nimport { ButtonComponent } from '../button/button.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamProgressCircleButton]',\n templateUrl: './progress-circle-button.component.html',\n styleUrls: ['./progress-circle-button.component.scss'],\n exportAs: 'seamProgressCircleButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null'\n },\n})\nexport class ProgressCircleButtonComponent extends ButtonComponent implements OnDestroy {\n static ngAcceptInputType_fillBackground: BooleanInput\n static ngAcceptInputType_showText: BooleanInput\n static ngAcceptInputType_hiddenOnEmpty: BooleanInput\n static ngAcceptInputType_percentage: NumberInput\n\n @Input() @InputBoolean() fillBackground = false\n @Input() @InputBoolean() showText = false\n @Input() @InputBoolean() hiddenOnEmpty = true\n\n @Input() @InputNumber(0) percentage = 100\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n","<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\">\n</seam-progress-circle>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport {\n Component, ElementRef, EventEmitter,\n forwardRef, HostBinding, Input, OnDestroy, Output, Renderer2\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { ButtonComponent } from '../button/button.component'\n\nexport const TOGGLE_BUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleButtonComponent),\n multi: true,\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamToggleButton]',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss'],\n exportAs: 'seamToggleButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n '(click)': '_toggleValue()',\n },\n providers: [ TOGGLE_BUTTON_VALUE_ACCESSOR ]\n})\nexport class ToggleButtonComponent extends ButtonComponent implements OnDestroy, ControlValueAccessor {\n static ngAcceptInputType_val: BooleanInput\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('value') @InputBoolean() val = false\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<boolean>()\n\n onChange: any\n onTouched: any\n\n @HostBinding('class.active')\n get _activeCssClass() { return this.value ? coerceBooleanProperty(this.value) : false }\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n get value(): boolean {\n return this.val\n }\n\n set value(value: boolean) {\n this.val = value\n this.change.emit(this.val)\n if (this.onChange) { this.onChange(value) }\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 _toggleValue() {\n this.value = !this.value\n }\n\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamProgressModule } from '@theseam/ui-common/progress'\n\nimport { AnchorBadgeButtonComponent, BadgeButtonComponent } from './badge-button/badge-button.component'\nimport { AnchorButtonComponent, ButtonComponent } from './button/button.component'\nimport { ProgressCircleButtonComponent } from './progress-circle-button/progress-circle-button.component'\nimport { ToggleButtonComponent } from './toggle-button/toggle-button.component'\n\n@NgModule({\n declarations: [\n BadgeButtonComponent,\n ProgressCircleButtonComponent,\n ToggleButtonComponent,\n ButtonComponent,\n AnchorButtonComponent,\n AnchorBadgeButtonComponent\n ],\n imports: [\n CommonModule,\n TheSeamProgressModule\n ],\n exports: [\n BadgeButtonComponent,\n ProgressCircleButtonComponent,\n ToggleButtonComponent,\n ButtonComponent,\n AnchorButtonComponent,\n AnchorBadgeButtonComponent\n ]\n})\nexport class TheSeamButtonsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;AAYA,MAEM,iBAAiB,CAAA;AACrB,IAAA,WAAA,CACS,WAAuB,EACvB,aAA2B,EAC3B,SAAoB,EAAA;QAFpB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACvB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;QAC3B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QAE3B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;KACnD;IAED,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;KACpD;;IAGD,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,CAAA;KAC/B;IAED,eAAe,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAA;KACtC;;8GApBG,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,oDAFA,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAEnB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAFtB,SAAS;mBAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;;AAyB3B,MAAM,uBAAuB,GACE,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;AAiB9F,MAAO,eAAgB,SAAQ,uBAAuB,CAAA;;AAM1D,IAAA,WAAA,CACE,WAAuB,EACvB,aAA2B,EAC3B,SAAoB,EAAA;AAClB,QAAA,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;;QAPvC,IAAI,CAAA,IAAA,GAAkC,QAAQ,CAAA;KAOL;AAElD,IAAA,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAA,EAAE;;4GAZ1B,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,iVCvD5B,6BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDsDa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAf3B,SAAS;+BAEE,oBAAoB,EAAA,QAAA,EAGpB,YAAY,EAAA,MAAA,EACd,CAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAE,EACjC,IAAA,EAAA;AACJ,wBAAA,aAAa,EAAE,MAAM;AACrB,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,iBAAiB,EAAE,kBAAkB;qBACtC,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6BAAA,EAAA,CAAA;oJAKtC,IAAI,EAAA,CAAA;sBAAZ,KAAK;;AA6BF,MAAO,qBAAsB,SAAQ,uBAAuB,CAAA;;;;;;;;AAahE,IAAA,WAAA,CACE,WAAuB,EACvB,aAA2B,EAC3B,SAAoB,IAClB,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA,EAAE;AAElD,IAAA,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAA,EAAE;AAErC,IAAA,mBAAmB,CAAC,KAAY,EAAA;;QAE9B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,CAAC,cAAc,EAAE,CAAA;YACtB,KAAK,CAAC,wBAAwB,EAAE,CAAA;AACjC,SAAA;KACF;;kHA3BU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,kcCvFlC,6BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDsFa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAhBjC,SAAS;+BAEE,eAAe,EAAA,QAAA,EAGf,iCAAiC,EAAA,MAAA,EACnC,CAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAE,EACjC,IAAA,EAAA;AACJ,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,iBAAiB,EAAE,iCAAiC;AACpD,wBAAA,iBAAiB,EAAE,kBAAkB;AACrC,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,SAAS,EAAE,6BAA6B;qBACzC,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6BAAA,EAAA,CAAA;oJAKtC,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;AEtEF,MAAO,oBAAqB,SAAQ,eAAe,CAAA;;AAQvD,IAAA,WAAA,CACE,WAAuB,EACvB,aAA2B,EAC3B,SAAoB,EAAA;AAClB,QAAA,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;QAVd,IAAW,CAAA,WAAA,GAAG,IAAI,CAAA;QAE3C,IAAU,CAAA,UAAA,GAAe,OAAO,CAAA;QAChC,IAAS,CAAA,SAAA,GAAG,EAAE,CAAA;KAO2B;AAElD,IAAA,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAA,EAAE;;iHAd1B,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,waCpBjC,uGAEA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDkBa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAdhC,SAAS;+BAEE,yBAAyB,EAAA,QAAA,EAGzB,iBAAiB,EAAA,MAAA,EACnB,CAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAE,EACjC,IAAA,EAAA;AACJ,wBAAA,aAAa,EAAE,MAAM;AACrB,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,iBAAiB,EAAE,kBAAkB;AACtC,qBAAA,EAAA,QAAA,EAAA,uGAAA,EAAA,CAAA;oJAIiC,WAAW,EAAA,CAAA;sBAA5C,WAAW;uBAAC,mBAAmB,CAAA;gBAEvB,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;AA4BF,MAAO,0BAA2B,SAAQ,qBAAqB,CAAA;;AAQnE,IAAA,WAAA,CACE,WAAuB,EACvB,aAA2B,EAC3B,SAAoB,EAAA;AAClB,QAAA,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;QAVd,IAAW,CAAA,WAAA,GAAG,IAAI,CAAA;QAE3C,IAAU,CAAA,UAAA,GAAe,OAAO,CAAA;QAChC,IAAS,CAAA,SAAA,GAAG,EAAE,CAAA;KAO2B;AAElD,IAAA,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAA,EAAE;;uHAd1B,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,khBCrDvC,uGAEA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDmDa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAftC,SAAS;+BAEE,oBAAoB,EAAA,QAAA,EAGpB,uCAAuC,EAAA,MAAA,EACzC,CAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAE,EACjC,IAAA,EAAA;AACJ,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,iBAAiB,EAAE,iCAAiC;AACpD,wBAAA,iBAAiB,EAAE,kBAAkB;AACrC,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,SAAS,EAAE,6BAA6B;AACzC,qBAAA,EAAA,QAAA,EAAA,uGAAA,EAAA,CAAA;oJAIiC,WAAW,EAAA,CAAA;sBAA5C,WAAW;uBAAC,mBAAmB,CAAA;gBAEvB,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;AEpCF,MAAO,6BAA8B,SAAQ,eAAe,CAAA;AAYhE,IAAA,WAAA,CACW,WAAuB,EACvB,aAA2B,EAC3B,SAAoB,EAAA;AAC3B,QAAA,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;QAHrC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACvB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;QAC3B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QATN,IAAc,CAAA,cAAA,GAAG,KAAK,CAAA;QACtB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAA;QAChB,IAAa,CAAA,aAAA,GAAG,IAAI,CAAA;QAEpB,IAAU,CAAA,UAAA,GAAG,GAAG,CAAA;KAMS;AAElD,IAAA,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAA,EAAE;;0HAlB1B,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,idCtB1C,2PAQA,EAAA,MAAA,EAAA,CAAA,2UAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,UAAA,EAAA,eAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;ADoB2B,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAuB,CAAA,EAAA,6BAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACtB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAiB,CAAA,EAAA,6BAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAChB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAqB,CAAA,EAAA,6BAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEpB,UAAA,CAAA;IAAf,WAAW,CAAC,CAAC,CAAC;AAAiB,CAAA,EAAA,6BAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAV9B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAdzC,SAAS;+BAEE,kCAAkC,EAAA,QAAA,EAGlC,0BAA0B,EAAA,MAAA,EAC5B,CAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAE,EACjC,IAAA,EAAA;AACJ,wBAAA,aAAa,EAAE,MAAM;AACrB,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,iBAAiB,EAAE,kBAAkB;AACtC,qBAAA,EAAA,QAAA,EAAA,2PAAA,EAAA,MAAA,EAAA,CAAA,2UAAA,CAAA,EAAA,CAAA;oJAQwB,cAAc,EAAA,CAAA;sBAAtC,KAAK;gBACmB,QAAQ,EAAA,CAAA;sBAAhC,KAAK;gBACmB,aAAa,EAAA,CAAA;sBAArC,KAAK;gBAEmB,UAAU,EAAA,CAAA;sBAAlC,KAAK;;;AEpBK,MAAA,4BAA4B,GAAQ;AAC/C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;AACpD,IAAA,KAAK,EAAE,IAAI;EACZ;AAkBK,MAAO,qBAAsB,SAAQ,eAAe,CAAA;IAYxD,IACI,eAAe,KAAK,OAAO,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA,EAAE;AAEvF,IAAA,WAAA,CACW,WAAuB,EACvB,aAA2B,EAC3B,SAAoB,EAAA;AAC3B,QAAA,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;QAHrC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACvB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;QAC3B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;;QAdC,IAAG,CAAA,GAAA,GAAG,KAAK,CAAA;;AAGxB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAW,CAAA;KAYL;AAElD,IAAA,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAA,EAAE;AAErC,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,GAAG,CAAA;KAChB;IAED,IAAI,KAAK,CAAC,KAAc,EAAA;AACtB,QAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAA;QAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE;AAAE,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAAE,SAAA;QAC3C,IAAI,IAAI,CAAC,SAAS,EAAE;YAAE,IAAI,CAAC,SAAS,EAAE,CAAA;AAAE,SAAA;KACzC;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;KACnB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;KACnB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;KACpB;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAA;KAC3B;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAA;KACzB;;kHApDU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAFrB,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,GAAA,EAAA,CAAA,OAAA,EAAA,KAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,EAAA,cAAA,EAAA,KAAA,EAAA,EAAA,SAAA,EAAA,CAAE,4BAA4B,CAAE,iFChC7C,6BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;ADqCkC,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAY,CAAA,EAAA,qBAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAJhC,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAhBjC,SAAS;+BAEE,0BAA0B,EAAA,QAAA,EAG1B,kBAAkB,EAAA,MAAA,EACpB,CAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAE,EACjC,IAAA,EAAA;AACJ,wBAAA,aAAa,EAAE,MAAM;AACrB,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,iBAAiB,EAAE,kBAAkB;AACrC,wBAAA,SAAS,EAAE,gBAAgB;qBAC5B,EACU,SAAA,EAAA,CAAE,4BAA4B,CAAE,EAAA,QAAA,EAAA,6BAAA,EAAA,CAAA;oJAMX,GAAG,EAAA,CAAA;sBAAlC,KAAK;uBAAC,OAAO,CAAA;gBAGK,MAAM,EAAA,CAAA;sBAAxB,MAAM;gBAMH,eAAe,EAAA,CAAA;sBADlB,WAAW;uBAAC,cAAc,CAAA;;;MEdhB,oBAAoB,CAAA;;iHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,iBApB7B,oBAAoB;QACpB,6BAA6B;QAC7B,qBAAqB;QACrB,eAAe;QACf,qBAAqB;AACrB,QAAA,0BAA0B,aAG1B,YAAY;AACZ,QAAA,qBAAqB,aAGrB,oBAAoB;QACpB,6BAA6B;QAC7B,qBAAqB;QACrB,eAAe;QACf,qBAAqB;QACrB,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAGjB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAZ7B,YAAY;QACZ,qBAAqB,CAAA,EAAA,CAAA,CAAA;2FAWZ,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAtBhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,oBAAoB;wBACpB,6BAA6B;wBAC7B,qBAAqB;wBACrB,eAAe;wBACf,qBAAqB;wBACrB,0BAA0B;AAC3B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,qBAAqB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,oBAAoB;wBACpB,6BAA6B;wBAC7B,qBAAqB;wBACrB,eAAe;wBACf,qBAAqB;wBACrB,0BAA0B;AAC3B,qBAAA;AACF,iBAAA,CAAA;;;AC/BD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-buttons.mjs","sources":["../../../projects/ui-common/buttons/button/button.component.ts","../../../projects/ui-common/buttons/button/button.component.html","../../../projects/ui-common/buttons/badge-button/badge-button.component.ts","../../../projects/ui-common/buttons/badge-button/badge-button.component.html","../../../projects/ui-common/buttons/progress-circle-button/progress-circle-button.component.ts","../../../projects/ui-common/buttons/progress-circle-button/progress-circle-button.component.html","../../../projects/ui-common/buttons/toggle-button/toggle-button.component.ts","../../../projects/ui-common/buttons/toggle-button/toggle-button.component.html","../../../projects/ui-common/buttons/buttons.module.ts","../../../projects/ui-common/buttons/theseam-ui-common-buttons.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y'\nimport { ChangeDetectionStrategy, Component, Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport {\n CanDisableCtor,\n CanSizeCtor,\n CanThemeCtor,\n mixinDisabled,\n mixinSize,\n mixinTheme\n} from '@theseam/ui-common/core'\n\n@Component({ template: '' })\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nclass TheSeamButtonBase implements OnDestroy {\n constructor(\n public _elementRef: ElementRef,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n this._focusMonitor.monitor(this._elementRef, true)\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n\n /** Focuses the button. */\n focus(): void {\n this._getHostElement().focus()\n }\n\n _getHostElement() {\n return this._elementRef.nativeElement\n }\n}\n\nconst _TheSeamButtonMixinBase: CanDisableCtor & CanThemeCtor & CanSizeCtor &\n typeof TheSeamButtonBase = mixinSize(mixinTheme(mixinDisabled(TheSeamButtonBase), 'btn'), 'btn')\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamButtonComponent extends _TheSeamButtonMixinBase implements OnDestroy {\n\n /** ARIA type for the button. */\n @Input() type: 'button' | 'submit' | 'reset' = 'button'\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton,seamButtonBaseAnchor',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n 'class': 'btn',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamAnchorButtonComponent extends _TheSeamButtonMixinBase implements OnDestroy {\n\n /** Tabindex of the button. */\n @Input() tabIndex: number | undefined | null\n\n // TODO: Consider adding dev warning for `window.opener` exploit. Could maybe\n // add `rel` it if the href isn't on the current domain or not specified in an\n // injected list. This probably isn't needed and may be to strict for our\n // usage, so I am just adding this as a reminder to think about it.\n //\n // rel=\"noopener noreferrer\"\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n _haltDisabledEvents(event: Event) {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n }\n\n}\n","<ng-content></ng-content>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { Component, ElementRef, HostBinding, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport type { ThemeTypes } from '@theseam/ui-common/models'\nimport { TheSeamAnchorButtonComponent, TheSeamButtonComponent } from '../button/button.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null'\n },\n})\nexport class TheSeamBadgeButtonComponent extends TheSeamButtonComponent implements OnDestroy {\n\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton,seamBadgeButtonAnchor',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n 'class': 'btn',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n})\nexport class TheSeamAnchorBadgeButtonComponent extends TheSeamAnchorButtonComponent implements OnDestroy {\n\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n","<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion'\nimport { Component, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\n\nimport { TheSeamButtonComponent } from '../button/button.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamProgressCircleButton]',\n templateUrl: './progress-circle-button.component.html',\n styleUrls: ['./progress-circle-button.component.scss'],\n exportAs: 'seamProgressCircleButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null'\n },\n})\nexport class TheSeamProgressCircleButtonComponent extends TheSeamButtonComponent implements OnDestroy {\n static ngAcceptInputType_fillBackground: BooleanInput\n static ngAcceptInputType_showText: BooleanInput\n static ngAcceptInputType_hiddenOnEmpty: BooleanInput\n static ngAcceptInputType_percentage: NumberInput\n\n @Input() @InputBoolean() fillBackground = false\n @Input() @InputBoolean() showText = false\n @Input() @InputBoolean() hiddenOnEmpty = true\n\n @Input() @InputNumber(0) percentage = 100\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n","<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\">\n</seam-progress-circle>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport {\n Component, ElementRef, EventEmitter,\n forwardRef, HostBinding, Input, OnDestroy, Output, Renderer2\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { TheSeamButtonComponent } from '../button/button.component'\n\nexport const TOGGLE_BUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TheSeamToggleButtonComponent),\n multi: true,\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamToggleButton]',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss'],\n exportAs: 'seamToggleButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n '(click)': '_toggleValue()',\n },\n providers: [ TOGGLE_BUTTON_VALUE_ACCESSOR ]\n})\nexport class TheSeamToggleButtonComponent extends TheSeamButtonComponent implements OnDestroy, ControlValueAccessor {\n static ngAcceptInputType_val: BooleanInput\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('value') @InputBoolean() val = false\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<boolean>()\n\n onChange: any\n onTouched: any\n\n @HostBinding('class.active')\n get _activeCssClass() { return this.value ? coerceBooleanProperty(this.value) : false }\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n get value(): boolean {\n return this.val\n }\n\n set value(value: boolean) {\n this.val = value\n this.change.emit(this.val)\n if (this.onChange) { this.onChange(value) }\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 _toggleValue() {\n this.value = !this.value\n }\n\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamProgressModule } from '@theseam/ui-common/progress'\n\nimport { TheSeamAnchorBadgeButtonComponent, TheSeamBadgeButtonComponent } from './badge-button/badge-button.component'\nimport { TheSeamAnchorButtonComponent, TheSeamButtonComponent } from './button/button.component'\nimport { TheSeamProgressCircleButtonComponent } from './progress-circle-button/progress-circle-button.component'\nimport { TheSeamToggleButtonComponent } from './toggle-button/toggle-button.component'\n\n@NgModule({\n declarations: [\n TheSeamBadgeButtonComponent,\n TheSeamProgressCircleButtonComponent,\n TheSeamToggleButtonComponent,\n TheSeamButtonComponent,\n TheSeamAnchorButtonComponent,\n TheSeamAnchorBadgeButtonComponent,\n ],\n imports: [\n CommonModule,\n TheSeamProgressModule\n ],\n exports: [\n TheSeamBadgeButtonComponent,\n TheSeamProgressCircleButtonComponent,\n TheSeamToggleButtonComponent,\n TheSeamButtonComponent,\n TheSeamAnchorButtonComponent,\n TheSeamAnchorBadgeButtonComponent,\n ]\n})\nexport class TheSeamButtonsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -116,6 +116,7 @@ class TheSeamCarouselComponent {
|
|
|
116
116
|
this._resetInterval.complete();
|
|
117
117
|
}
|
|
118
118
|
_startInterval() {
|
|
119
|
+
this._resetInterval.next(undefined);
|
|
119
120
|
if (this.autoPlay) {
|
|
120
121
|
interval(this.slideInterval).pipe(takeUntil(this._resetInterval), tap(() => {
|
|
121
122
|
this.pageCarousel(1);
|
|
@@ -168,7 +169,7 @@ class TheSeamCarouselComponent {
|
|
|
168
169
|
}
|
|
169
170
|
}
|
|
170
171
|
TheSeamCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
171
|
-
TheSeamCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamCarouselComponent, 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 class=\"position-relative\"\n *ngIf=\"slides.length\"\n (focusin)=\"focusIn()\"\n (mouseenter)=\"mouseEnter()\"\n (focusout)=\"focusOut()\"\n (mouseleave)=\"mouseLeave()\">\n\n <div class=\"d-flex\" style=\"min-height: 150px;\">\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(-1)\"\n title=\"Go to previous slide\">\n <seam-icon [icon]=\"faAngleLeft\"></seam-icon>\n </button>\n\n <div *ngIf=\"activeSlide$ | async as slide\" [@fadeInOut]=\"slide.template\" class=\"flex-grow-1 d-flex align-items-center\">\n <div class=\"carousel-content w-100 py-1 px-2\" [attr.data-slide-index]=\"activeIndex$ | async\">\n <ng-template [ngTemplateOutlet]=\"$any(slide.template)\"></ng-template>\n </div>\n </div>\n\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(1)\"\n title=\"Go to next slide\">\n <seam-icon [icon]=\"faAngleRight\"></seam-icon>\n </button>\n </div>\n\n <div class=\"carousel-pages d-flex flex-wrap justify-content-center mt-3 mx-auto\" *ngIf=\"showPager && slides.length > 1\">\n <button\n *ngFor=\"let q of slides; let i = index\"\n seamButton\n theme=\"light\"\n class=\"carousel-page\"\n [class.active]=\"(activeIndex$ | async) == i\"\n (click)=\"setCarousel(i)\"\n [title]=\"'Go to slide ' + (i + 1)\"></button>\n </div>\n\n <div class=\"carousel-controls\" *ngIf=\"showPauseButton && autoPlay\">\n <button\n *ngIf=\"slides.length > 1\"\n seamButton\n (click)=\"toggleCarouselStop()\"\n [title]=\"(carouselStopped$ | async) ? 'Play' : 'Pause'\">\n <seam-icon [icon]=\"faPlay\" *ngIf=\"carouselStopped$ | async; else pauseButton\"></seam-icon>\n <ng-template #pauseButton>\n <seam-icon [icon]=\"faPause\"></seam-icon>\n </ng-template>\n </button>\n </div>\n\n </div>\n</ng-container>\n", 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: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "component", type: i3.
|
|
172
|
+
TheSeamCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamCarouselComponent, 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 class=\"position-relative\"\n *ngIf=\"slides.length\"\n (focusin)=\"focusIn()\"\n (mouseenter)=\"mouseEnter()\"\n (focusout)=\"focusOut()\"\n (mouseleave)=\"mouseLeave()\">\n\n <div class=\"d-flex\" style=\"min-height: 150px;\">\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(-1)\"\n title=\"Go to previous slide\">\n <seam-icon [icon]=\"faAngleLeft\"></seam-icon>\n </button>\n\n <div *ngIf=\"activeSlide$ | async as slide\" [@fadeInOut]=\"slide.template\" class=\"flex-grow-1 d-flex align-items-center\">\n <div class=\"carousel-content w-100 py-1 px-2\" [attr.data-slide-index]=\"activeIndex$ | async\">\n <ng-template [ngTemplateOutlet]=\"$any(slide.template)\"></ng-template>\n </div>\n </div>\n\n <button\n *ngIf=\"showNavButtons && slides.length > 1\"\n seamButton\n class=\"carousel-arrow px-2\"\n (click)=\"pageCarousel(1)\"\n title=\"Go to next slide\">\n <seam-icon [icon]=\"faAngleRight\"></seam-icon>\n </button>\n </div>\n\n <div class=\"carousel-pages d-flex flex-wrap justify-content-center mt-3 mx-auto\" *ngIf=\"showPager && slides.length > 1\">\n <button\n *ngFor=\"let q of slides; let i = index\"\n seamButton\n theme=\"light\"\n class=\"carousel-page\"\n [class.active]=\"(activeIndex$ | async) == i\"\n (click)=\"setCarousel(i)\"\n [title]=\"'Go to slide ' + (i + 1)\"></button>\n </div>\n\n <div class=\"carousel-controls\" *ngIf=\"showPauseButton && autoPlay\">\n <button\n *ngIf=\"slides.length > 1\"\n seamButton\n (click)=\"toggleCarouselStop()\"\n [title]=\"(carouselStopped$ | async) ? 'Play' : 'Pause'\">\n <seam-icon [icon]=\"faPlay\" *ngIf=\"carouselStopped$ | async; else pauseButton\"></seam-icon>\n <ng-template #pauseButton>\n <seam-icon [icon]=\"faPause\"></seam-icon>\n </ng-template>\n </button>\n </div>\n\n </div>\n</ng-container>\n", 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: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "component", type: i3.TheSeamButtonComponent, selector: "button[seamButton]", inputs: ["disabled", "theme", "size", "type"], exportAs: ["seamButton"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [
|
|
172
173
|
trigger('fadeInOut', [
|
|
173
174
|
transition('* => *', [
|
|
174
175
|
style({ opacity: '0', height: '*' }),
|