@theseam/ui-common 0.4.28-beta.4 → 0.4.28
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/datatable/datatable/datatable.component.d.ts +9 -61
- package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +2 -2
- package/datatable/datatable.module.d.ts +20 -29
- package/datatable/models/table-column.d.ts +1 -22
- package/datatable/public-api.d.ts +0 -14
- package/datatable/services/columns-manager.service.d.ts +0 -7
- package/datatable/utils/create-action-menu-column.d.ts +1 -1
- package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +2 -2
- package/esm2020/datatable/datatable/datatable.component.mjs +31 -240
- 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/datatable-menu-bar/datatable-menu-bar.component.mjs +1 -1
- package/esm2020/datatable/datatable.module.mjs +7 -49
- package/esm2020/datatable/models/table-column.mjs +1 -1
- package/esm2020/datatable/public-api.mjs +1 -15
- package/esm2020/datatable/services/columns-manager.service.mjs +2 -27
- package/esm2020/datatable/utils/create-action-menu-column.mjs +3 -4
- 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 +4 -14
- package/esm2020/framework/base-layout/base-layout.module.mjs +1 -6
- package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +5 -21
- package/esm2020/framework/base-layout/index.mjs +1 -2
- package/esm2020/framework/public-api.mjs +1 -2
- package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +2 -2
- package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +78 -28
- package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +5 -12
- package/esm2020/framework/side-nav/side-nav-tokens.mjs +5 -1
- package/esm2020/framework/side-nav/side-nav-utils.mjs +13 -3
- package/esm2020/framework/side-nav/side-nav.component.mjs +52 -119
- package/esm2020/framework/side-nav/side-nav.models.mjs +1 -1
- package/esm2020/framework/side-nav/side-nav.module.mjs +39 -9
- package/esm2020/framework/side-nav/side-nav.service.mjs +1 -1
- package/esm2020/framework/top-bar/index.mjs +1 -3
- package/esm2020/framework/top-bar/top-bar-item.directive.mjs +4 -10
- package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +4 -6
- package/esm2020/framework/top-bar/top-bar.component.mjs +11 -55
- package/esm2020/framework/top-bar/top-bar.module.mjs +5 -15
- package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +3 -3
- package/esm2020/graphql/datatable/datatable-graphql.service.mjs +1 -1
- package/esm2020/graphql/datatable/index.mjs +1 -4
- package/esm2020/graphql/datatable/map-filter-states.mjs +1 -1
- package/esm2020/layout/layout.service.mjs +2 -12
- package/esm2020/menu/menu-toggle.directive.mjs +2 -7
- package/esm2020/navigation-reload/navigation-reload.config.mjs +2 -0
- package/esm2020/navigation-reload/navigation-reload.provider.mjs +14 -0
- package/esm2020/navigation-reload/navigation-reload.service.mjs +54 -0
- package/esm2020/navigation-reload/public-api.mjs +4 -0
- package/esm2020/navigation-reload/theseam-ui-common-navigation-reload.mjs +5 -0
- package/esm2020/popover/popover/popover.component.mjs +3 -7
- package/esm2020/popover/popover.directive.mjs +2 -6
- package/esm2020/table/public-api.mjs +1 -4
- package/esm2020/table/table/table.component.mjs +5 -90
- package/esm2020/table/table.module.mjs +5 -21
- package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +3 -5
- 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/widget-content-components/widget-table/widget-table.component.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-datatable-dynamic.mjs +2 -2
- package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-datatable.mjs +62 -1035
- package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-framework.mjs +193 -910
- 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-graphql.mjs +1 -254
- package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-layout.mjs +2 -11
- package/fesm2015/theseam-ui-common-layout.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-menu.mjs +1 -6
- package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-navigation-reload.mjs +75 -0
- package/fesm2015/theseam-ui-common-navigation-reload.mjs.map +1 -0
- package/fesm2015/theseam-ui-common-popover.mjs +3 -11
- package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-table-cell-types.mjs +2 -4
- package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-table.mjs +9 -201
- package/fesm2015/theseam-ui-common-table.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-widget.mjs +1 -1
- 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-datatable-dynamic.mjs +2 -2
- package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-datatable.mjs +62 -1019
- package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-framework.mjs +196 -912
- 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-graphql.mjs +1 -254
- package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-layout.mjs +2 -11
- package/fesm2020/theseam-ui-common-layout.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-menu.mjs +1 -6
- package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-navigation-reload.mjs +74 -0
- package/fesm2020/theseam-ui-common-navigation-reload.mjs.map +1 -0
- package/fesm2020/theseam-ui-common-popover.mjs +3 -11
- package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-table-cell-types.mjs +2 -4
- package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-table.mjs +9 -199
- package/fesm2020/theseam-ui-common-table.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-widget.mjs +1 -1
- package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
- package/framework/base-layout/base-layout.component.d.ts +2 -4
- package/framework/base-layout/base-layout.component.scss +10 -18
- package/framework/base-layout/base-layout.module.d.ts +10 -11
- package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +3 -8
- package/framework/base-layout/index.d.ts +0 -1
- package/framework/base-layout/styles/_variables.scss +0 -21
- package/framework/public-api.d.ts +0 -1
- package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +20 -7
- package/framework/side-nav/side-nav-item/side-nav-item.component.scss +16 -8
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +3 -5
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.scss +6 -3
- package/framework/side-nav/side-nav-tokens.d.ts +8 -0
- package/framework/side-nav/side-nav-utils.d.ts +12 -6
- package/framework/side-nav/side-nav.component.d.ts +6 -16
- package/framework/side-nav/side-nav.component.scss +1 -0
- package/framework/side-nav/side-nav.models.d.ts +14 -9
- package/framework/side-nav/side-nav.module.d.ts +9 -1
- package/framework/side-nav/styles/_themes/light/_variables.scss +14 -24
- package/framework/side-nav/styles/_themes/primary/_variables.scss +0 -8
- package/framework/top-bar/index.d.ts +0 -2
- package/framework/top-bar/top-bar-item.directive.d.ts +1 -4
- package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +2 -5
- package/framework/top-bar/top-bar.component.d.ts +3 -25
- package/framework/top-bar/top-bar.component.scss +2 -7
- package/framework/top-bar/top-bar.module.d.ts +8 -10
- package/graphql/datatable/datatable-graphql.service.d.ts +1 -1
- package/graphql/datatable/index.d.ts +0 -3
- package/graphql/datatable/map-filter-states.d.ts +2 -2
- package/layout/layout.service.d.ts +1 -9
- package/menu/menu-toggle.directive.d.ts +1 -2
- package/navigation-reload/index.d.ts +5 -0
- package/navigation-reload/navigation-reload.config.d.ts +5 -0
- package/navigation-reload/navigation-reload.provider.d.ts +3 -0
- package/navigation-reload/navigation-reload.service.d.ts +13 -0
- package/navigation-reload/public-api.d.ts +3 -0
- package/package.json +11 -3
- package/popover/popover/popover.component.d.ts +1 -4
- package/popover/popover.directive.d.ts +1 -2
- package/styles/vendor/ngx-datatable/_ngx-datatable.scss +14 -83
- package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +3 -38
- package/table/public-api.d.ts +0 -3
- package/table/table/table.component.d.ts +3 -21
- package/table/table.module.d.ts +1 -4
- package/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.d.ts +0 -25
- package/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.d.ts +0 -18
- package/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.d.ts +0 -16
- package/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.d.ts +0 -15
- package/datatable/directives/datatable-column-filter-tpl.directive.d.ts +0 -8
- package/datatable/directives/datatable-column-filter.directive.d.ts +0 -10
- package/datatable/models/action-item-column-position.d.ts +0 -13
- package/datatable/models/columns-data-filter.d.ts +0 -57
- package/datatable/models/columns-data-filters/models.d.ts +0 -65
- package/datatable/models/columns-data-filters/search-date.columns-data-filter.d.ts +0 -23
- package/datatable/models/columns-data-filters/search-numeric.columns-data-filter.d.ts +0 -22
- package/datatable/models/columns-data-filters/search-text.columns-data-filter.d.ts +0 -21
- package/datatable/models/columns-data-filters/utils.d.ts +0 -15
- package/datatable/models/datatable-config.d.ts +0 -97
- package/datatable/services/columns-filters.service.d.ts +0 -29
- package/esm2020/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.mjs +0 -55
- package/esm2020/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.mjs +0 -54
- package/esm2020/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.mjs +0 -48
- package/esm2020/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.mjs +0 -44
- package/esm2020/datatable/directives/datatable-column-filter-tpl.directive.mjs +0 -16
- package/esm2020/datatable/directives/datatable-column-filter.directive.mjs +0 -26
- package/esm2020/datatable/models/action-item-column-position.mjs +0 -5
- package/esm2020/datatable/models/columns-data-filter.mjs +0 -10
- package/esm2020/datatable/models/columns-data-filters/models.mjs +0 -74
- package/esm2020/datatable/models/columns-data-filters/search-date.columns-data-filter.mjs +0 -113
- package/esm2020/datatable/models/columns-data-filters/search-numeric.columns-data-filter.mjs +0 -104
- package/esm2020/datatable/models/columns-data-filters/search-text.columns-data-filter.mjs +0 -86
- package/esm2020/datatable/models/columns-data-filters/utils.mjs +0 -28
- package/esm2020/datatable/models/datatable-config.mjs +0 -3
- package/esm2020/datatable/services/columns-filters.service.mjs +0 -109
- package/esm2020/framework/base-layout/directives/base-layout-side-bar-header.directive.mjs +0 -16
- package/esm2020/framework/nav/horizontal-nav/horizontal-nav.component.mjs +0 -55
- package/esm2020/framework/nav/index.mjs +0 -6
- package/esm2020/framework/nav/nav-item/nav-item.component.mjs +0 -227
- package/esm2020/framework/nav/nav-utils.mjs +0 -107
- package/esm2020/framework/nav/nav.models.mjs +0 -2
- package/esm2020/framework/nav/nav.module.mjs +0 -67
- package/esm2020/framework/nav/nav.service.mjs +0 -204
- package/esm2020/framework/top-bar/top-bar-compact-menu-btn-detail.directive.mjs +0 -16
- package/esm2020/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.mjs +0 -16
- package/esm2020/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.mjs +0 -139
- package/esm2020/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.mjs +0 -75
- package/esm2020/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.mjs +0 -44
- package/esm2020/table/table-cell-tpl.directive.mjs +0 -17
- package/esm2020/table/table-column-header-tpl.directive.mjs +0 -17
- package/esm2020/table/table-column.component.mjs +0 -68
- package/framework/base-layout/directives/base-layout-side-bar-header.directive.d.ts +0 -9
- package/framework/nav/_nav-theme.scss +0 -4
- package/framework/nav/horizontal-nav/horizontal-nav.component.d.ts +0 -25
- package/framework/nav/horizontal-nav/horizontal-nav.component.scss +0 -50
- package/framework/nav/index.d.ts +0 -5
- package/framework/nav/nav-item/nav-item.component.d.ts +0 -74
- package/framework/nav/nav-item/nav-item.component.scss +0 -203
- package/framework/nav/nav-utils.d.ts +0 -20
- package/framework/nav/nav.models.d.ts +0 -77
- package/framework/nav/nav.module.d.ts +0 -17
- package/framework/nav/nav.service.d.ts +0 -27
- package/framework/nav/styles/_themes/light/_variables.scss +0 -56
- package/framework/nav/styles/_themes/primary/_variables.scss +0 -56
- package/framework/nav/styles/_utilities.scss +0 -3
- package/framework/nav/styles/_variables.scss +0 -2
- package/framework/top-bar/top-bar-compact-menu-btn-detail.directive.d.ts +0 -8
- package/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.d.ts +0 -8
- package/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.d.ts +0 -4
- package/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.d.ts +0 -4
- package/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.d.ts +0 -4
- package/table/table-cell-tpl.directive.d.ts +0 -7
- package/table/table-column-header-tpl.directive.d.ts +0 -7
- package/table/table-column.component.d.ts +0 -24
|
@@ -163,7 +163,7 @@ class PopoverComponent {
|
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
PopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PopoverComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
166
|
-
PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: PopoverComponent, selector: "seam-popover", inputs: { template: "template", popoverClass: "popoverClass",
|
|
166
|
+
PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: PopoverComponent, selector: "seam-popover", inputs: { template: "template", popoverClass: "popoverClass", baseWidth: "baseWidth" }, host: { listeners: { "@slideDown.start": "_onAnimationStart($event)", "@slideDown.done": "_animationDone.next($event)", "keydown": "_handleKeydown($event)" }, properties: { "@slideDown": "{\n value: _state,\n params: {\n enterAnimationDuration: enterAnimationDuration,\n exitAnimationDuration: exitAnimationDuration\n }\n }", "style.width": "_popoverWidth", "attr.role": "this._role", "attr.tabindex": "this._tabindex" }, classAttribute: "popover show m-2 position-static" }, ngImport: i0, template: "<div class=\"popover-body\">\n <ng-container *ngIf=\"template; else noTemplate\">\n <ng-template [ngTemplateOutlet]=\"template\"></ng-template>\n </ng-container>\n\n <ng-template #noTemplate>\n Example\n <!-- <ng-content></ng-content> -->\n </ng-template>\n</div>\n", styles: [":host{display:block;max-width:800px;min-width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
|
|
167
167
|
trigger('slideDown', [
|
|
168
168
|
transition(':enter', useAnimation(popoverExpandIn)),
|
|
169
169
|
transition(':leave', useAnimation(popoverExpandOut)),
|
|
@@ -188,7 +188,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
188
188
|
'(@slideDown.start)': '_onAnimationStart($event)',
|
|
189
189
|
'(@slideDown.done)': '_animationDone.next($event)',
|
|
190
190
|
'[style.width]': '_popoverWidth'
|
|
191
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"popover-body\">\n <ng-container *ngIf=\"template; else noTemplate\">\n <ng-template [ngTemplateOutlet]=\"template\"
|
|
191
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"popover-body\">\n <ng-container *ngIf=\"template; else noTemplate\">\n <ng-template [ngTemplateOutlet]=\"template\"></ng-template>\n </ng-container>\n\n <ng-template #noTemplate>\n Example\n <!-- <ng-content></ng-content> -->\n </ng-template>\n</div>\n", styles: [":host{display:block;max-width:800px;min-width:100%}\n"] }]
|
|
192
192
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { _role: [{
|
|
193
193
|
type: HostBinding,
|
|
194
194
|
args: ['attr.role']
|
|
@@ -199,10 +199,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
199
199
|
type: Input
|
|
200
200
|
}], popoverClass: [{
|
|
201
201
|
type: Input
|
|
202
|
-
}], popover: [{
|
|
203
|
-
type: Input
|
|
204
|
-
}], popoverContext: [{
|
|
205
|
-
type: Input
|
|
206
202
|
}], baseWidth: [{
|
|
207
203
|
type: Input
|
|
208
204
|
}], _handleKeydown: [{
|
|
@@ -316,8 +312,6 @@ class TheSeamPopoverDirective {
|
|
|
316
312
|
this._closingActionsSubscription = this._popoverClosingActions().subscribe(() => this.closePopover());
|
|
317
313
|
this._compRef.instance.template = this.seamPopover;
|
|
318
314
|
this._compRef.instance.baseWidth = this.seamPopoverBaseWidth;
|
|
319
|
-
this._compRef.instance.popover = this;
|
|
320
|
-
this._compRef.instance.popoverContext = this.seamPopoverContext;
|
|
321
315
|
this._compRef.changeDetectorRef.markForCheck();
|
|
322
316
|
this._popoverClosedSubscription = this._compRef.instance._afterExit.subscribe(v => {
|
|
323
317
|
var _a;
|
|
@@ -434,7 +428,7 @@ class TheSeamPopoverDirective {
|
|
|
434
428
|
}
|
|
435
429
|
}
|
|
436
430
|
TheSeamPopoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamPopoverDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i1$1.Overlay }, { token: i2.FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive });
|
|
437
|
-
TheSeamPopoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamPopoverDirective, selector: "[seamPopover]", inputs: { seamPopover: "seamPopover",
|
|
431
|
+
TheSeamPopoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamPopoverDirective, selector: "[seamPopover]", inputs: { seamPopover: "seamPopover", seamPopoverBaseWidth: "seamPopoverBaseWidth", seamPopoverDisabled: "seamPopoverDisabled" }, host: { attributes: { "aria-haspopup": "true" }, listeners: { "mousedown": "_onMouseDown($event)", "click": "_onClick($event)", "document:keydown": "_onDocumentKeydown($event)" }, properties: { "attr.aria-expanded": "popoverOpen() || null" } }, exportAs: ["seamPopover"], ngImport: i0 });
|
|
438
432
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamPopoverDirective, decorators: [{
|
|
439
433
|
type: Directive,
|
|
440
434
|
args: [{
|
|
@@ -448,8 +442,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
448
442
|
}]
|
|
449
443
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i1$1.Overlay }, { type: i2.FocusMonitor }]; }, propDecorators: { seamPopover: [{
|
|
450
444
|
type: Input
|
|
451
|
-
}], seamPopoverContext: [{
|
|
452
|
-
type: Input
|
|
453
445
|
}], seamPopoverBaseWidth: [{
|
|
454
446
|
type: Input
|
|
455
447
|
}], seamPopoverDisabled: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theseam-ui-common-popover.mjs","sources":["../../../projects/ui-common/popover/popover-animations.ts","../../../projects/ui-common/popover/popover/popover.component.ts","../../../projects/ui-common/popover/popover/popover.component.html","../../../projects/ui-common/popover/popover.directive.ts","../../../projects/ui-common/popover/popover.module.ts","../../../projects/ui-common/popover/theseam-ui-common-popover.ts"],"sourcesContent":["import { animate, animation, group, query, style } from '@angular/animations'\n\nexport const popoverSlideIn = animation([\n query(':self', [\n style({\n opacity: 0,\n transform: 'translateY(-70%)'\n }),\n group([\n animate('170ms linear', style({ opacity: 1 })),\n animate('220ms ease', style({ transform: 'translateY(0)' })),\n ])\n ])\n])\n\nexport const popoverSlideOut = animation([\n query(':self', [\n style({\n opacity: 1,\n transform: 'translateY(0)'\n }),\n group([\n animate('170ms linear', style({ opacity: 0 })),\n animate('220ms ease', style({ transform: 'translateY(-70%)' })),\n ])\n ])\n])\n\nexport const popoverExpandIn = animation([\n style({\n opacity: 0,\n transform: 'scale(0.8)'\n }),\n group([\n animate('100ms linear', style({ opacity: 1 })),\n animate('120ms ease', style({ transform: 'scale(1)' })),\n ])\n])\n\nexport const popoverExpandOut = animation([\n style({\n opacity: 1,\n transform: 'scale(1)'\n }),\n group([\n animate('100ms linear', style({ opacity: 0 })),\n animate('120ms ease', style({ transform: 'scale(0.8)' })),\n ])\n])\n","import { AnimationEvent, transition, trigger, useAnimation } from '@angular/animations'\nimport { coerceNumberProperty } from '@angular/cdk/coercion'\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes'\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n TemplateRef\n} from '@angular/core'\nimport { BehaviorSubject, fromEvent, of, Subject } from 'rxjs'\nimport { distinctUntilChanged, map, startWith, switchMap, takeUntil } from 'rxjs/operators'\n\nimport { popoverExpandIn, popoverExpandOut } from '../popover-animations'\nimport { TheSeamPopoverDirective } from '../popover.directive'\n\n@Component({\n selector: 'seam-popover',\n templateUrl: './popover.component.html',\n styleUrls: ['./popover.component.scss'],\n animations: [\n trigger('slideDown', [\n transition(':enter', useAnimation(popoverExpandIn)),\n transition(':leave', useAnimation(popoverExpandOut)),\n ])\n ],\n host: {\n class: 'popover show m-2 position-static',\n '[@slideDown]': `{\n value: _state,\n params: {\n enterAnimationDuration: enterAnimationDuration,\n exitAnimationDuration: exitAnimationDuration\n }\n }`,\n '(@slideDown.start)': '_onAnimationStart($event)',\n '(@slideDown.done)': '_animationDone.next($event)',\n '[style.width]': '_popoverWidth'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PopoverComponent implements OnInit, OnDestroy {\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n /** Duration of the enter animation. Has to be a valid CSS value (e.g. 100ms). */\n enterAnimationDuration?: string = '225ms'\n\n /** Duration of the exit animation. Has to be a valid CSS value (e.g. 50ms). */\n exitAnimationDuration?: string = '225ms'\n\n /** State of the dialog animation. */\n _state: 'void' | 'enter' | 'exit' = 'enter'\n\n /** A subject emitting before the dialog enters the view. */\n _beforeEnter: Subject<void> = new Subject()\n\n /** A subject emitting after the dialog enters the view. */\n _afterEnter: Subject<void> = new Subject()\n\n /** A subject emitting before the dialog exits the view. */\n _beforeExit: Subject<void> = new Subject()\n\n /** A subject emitting after the dialog exits the view. */\n _afterExit: Subject<void> = new Subject()\n\n /** Stream of animation `done` events. */\n _animationDone = new Subject<AnimationEvent>()\n\n // @HostBinding('attr.role') get _role() { return this._config.role }\n @HostBinding('attr.role') get _role() { return 'dialog' }\n\n @HostBinding('attr.tabindex') get _tabindex() { return -1 }\n\n @Input() template: TemplateRef<any> | undefined | null\n\n // @Output() readonly closed = new EventEmitter<void | 'click' | 'keydown'>()\n\n @Input() popoverClass: string | undefined | null\n\n @Input() popover: TheSeamPopoverDirective | undefined | null\n\n @Input() popoverContext: any\n\n /**\n * Defines a width for a popover that will scale down if the window innerWidth is\n * smaller than the value.\n */\n @Input()\n get baseWidth() { return this._baseWidth.value }\n set baseWidth(value: number | null) {\n const _val = coerceNumberProperty(value, null)\n if (_val !== this._baseWidth.value) {\n this._baseWidth.next(_val)\n }\n }\n private _baseWidth = new BehaviorSubject<number | null>(600)\n // _popoverWidth$: Observable<string | undefined>\n _popoverWidth: string | undefined\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n // TODO: Implement PopoverConfig\n ) {\n // We use a Subject with a distinctUntilChanged, rather than a callback attached to .done,\n // because some browsers fire the done event twice and we don't want to emit duplicate events.\n // See: https://github.com/angular/angular/issues/24084\n this._animationDone.pipe(distinctUntilChanged((x, y) => {\n return x.fromState === y.fromState && x.toState === y.toState\n })).subscribe(event => {\n // Emit lifecycle events based on animation `done` callback.\n if (event.toState === 'enter') {\n this._afterEnter.next()\n this._afterEnter.complete()\n }\n\n if (event.fromState === 'enter' && (event.toState === 'void' || event.toState === 'exit')) {\n this._afterExit.next()\n this._afterExit.complete()\n }\n })\n }\n\n ngOnInit() {\n // this._popoverWidth$ =\n this._baseWidth.pipe(\n switchMap(baseWidth => {\n if (baseWidth) {\n return fromEvent(window, 'resize').pipe(\n startWith(undefined),\n map(() => window.innerWidth < baseWidth ? `${window.innerWidth}px` : `${baseWidth}px`)\n )\n }\n return of(undefined)\n }),\n takeUntil(this._ngUnsubscribe)\n ).subscribe(w => {\n this._popoverWidth = w\n this._changeDetectorRef.markForCheck()\n })\n }\n\n ngOnDestroy() {\n // this.closed.complete()\n this._animationDone.complete()\n\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n /** Starts the dialog exit animation. */\n _startExiting(): void {\n this._state = 'exit'\n\n // Mark the container for check so it can react if the\n // view container is using OnPush change detection.\n this._changeDetectorRef.markForCheck()\n }\n\n /** Emit lifecycle events based on animation `start` callback. */\n _onAnimationStart(event: AnimationEvent) {\n if (event.toState === 'enter') {\n this._beforeEnter.next()\n this._beforeEnter.complete()\n }\n if (event.fromState === 'enter' && (event.toState === 'void' || event.toState === 'exit')) {\n this._beforeExit.next()\n this._beforeExit.complete()\n }\n }\n\n /** Handle a keyboard event from the menu, delegating to the appropriate action. */\n @HostListener('keydown', [ '$event' ])\n _handleKeydown(event: KeyboardEvent) {\n // tslint:disable-next-line:deprecation\n const keyCode = event.keyCode\n\n switch (keyCode) {\n case ESCAPE:\n if (!hasModifierKey(event)) {\n event.preventDefault()\n // this.closed.emit('keydown')\n this._startExiting()\n }\n break\n }\n }\n\n}\n","<div class=\"popover-body\">\n <ng-container *ngIf=\"template; else noTemplate\">\n <ng-template [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ $implicit: popover, popover: popover, popoverContext: popoverContext }\"></ng-template>\n </ng-container>\n\n <ng-template #noTemplate>\n Example\n <!-- <ng-content></ng-content> -->\n </ng-template>\n</div>\n","import { FocusMonitor, FocusOrigin, isFakeMousedownFromScreenReader } from '@angular/cdk/a11y'\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion'\nimport { ESCAPE } from '@angular/cdk/keycodes'\nimport { ConnectionPositionPair, Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay'\nimport { normalizePassiveListenerOptions } from '@angular/cdk/platform'\nimport { ComponentPortal } from '@angular/cdk/portal'\nimport { ComponentRef, Directive, ElementRef, HostListener, Input, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core'\nimport { BehaviorSubject, fromEvent, merge, of, Subject, Subscription } from 'rxjs'\nimport { switchMap, takeUntil } from 'rxjs/operators'\n\nimport { PopoverComponent } from './popover/popover.component'\n\n/** Options for binding a passive event listener. */\nconst passiveEventListenerOptions = normalizePassiveListenerOptions({ passive: true })\n\n@Directive({\n selector: '[seamPopover]',\n // tslint:disable-next-line:use-host-property-decorator\n host: {\n 'aria-haspopup': 'true',\n '[attr.aria-expanded]': 'popoverOpen() || null'\n },\n exportAs: 'seamPopover'\n})\nexport class TheSeamPopoverDirective implements OnDestroy {\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n @Input() seamPopover?: TemplateRef<any> | null\n\n @Input() seamPopoverContext?: any\n\n /**\n * Defines a width for a popover that will scale down if the window innerWidth is\n * smaller than the value.\n */\n @Input()\n get seamPopoverBaseWidth() { return this._seamPopoverBaseWidth.value }\n set seamPopoverBaseWidth(value: number | null) {\n const _val = coerceNumberProperty(value, null)\n if (_val !== this._seamPopoverBaseWidth.value) {\n this._seamPopoverBaseWidth.next(_val)\n }\n }\n private _seamPopoverBaseWidth = new BehaviorSubject<number | null>(null)\n\n @Input()\n get seamPopoverDisabled() { return this._seamPopoverDisabled.value }\n set seamPopoverDisabled(val: boolean) { this._seamPopoverDisabled.next(coerceBooleanProperty(val)) }\n private _seamPopoverDisabled = new BehaviorSubject<boolean>(false)\n\n // ngOnInit() {\n // this._seamPopoverDisabled.pipe(\n // switchMap(disabled => {\n // if (disabled) {\n // this.close()\n // return of(undefined)\n // }\n\n // if (!(this._elementRef && this._elementRef.nativeElement)) {\n // return of(undefined)\n // }\n\n // return fromEvent(this._elementRef.nativeElement, 'click')\n // })\n // ).subscribe()\n // }\n\n private _active = false\n private _closing = false\n private _overlayRef: OverlayRef | undefined | null\n private _compRef: ComponentRef<PopoverComponent> | undefined | null\n private _popoverClosedSubscription = Subscription.EMPTY\n private _closingActionsSubscription = Subscription.EMPTY\n\n public restoreFocus = true\n\n // Tracking input type is necessary so it's possible to only auto-focus\n // the first item of the list when the menu is opened via the keyboard\n _openedBy: 'mouse' | 'touch' | null = null\n\n @HostListener('mousedown', [ '$event' ])\n _onMouseDown(event: MouseEvent) {\n if (!isFakeMousedownFromScreenReader(event)) {\n // Since right or middle button clicks won't trigger the `click` event,\n // we shouldn't consider the menu as opened by mouse in those cases.\n this._openedBy = event.button === 0 ? 'mouse' : null\n }\n }\n\n @HostListener('click', [ '$event' ])\n _onClick(event: any) {\n this.toggle()\n }\n\n @HostListener('document:keydown', [ '$event' ])\n _onDocumentKeydown(event: any) {\n if (event.keyCode === ESCAPE) {\n this.closePopover()\n }\n }\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _viewContainerRef: ViewContainerRef,\n private _overlay: Overlay,\n private _focusMonitor: FocusMonitor\n ) {\n this._elementRef.nativeElement.addEventListener('touchstart', this._handleTouchStart,\n passiveEventListenerOptions)\n\n this._seamPopoverBaseWidth\n .pipe(takeUntil(this._ngUnsubscribe))\n .subscribe(w => {\n if (this._compRef && this._compRef.instance) {\n this._compRef.instance.baseWidth = w\n this._compRef.changeDetectorRef.markForCheck()\n }\n })\n }\n\n ngOnDestroy() {\n this.closePopover()\n\n this._elementRef.nativeElement.removeEventListener('touchstart', this._handleTouchStart,\n passiveEventListenerOptions)\n\n this._popoverClosedSubscription.unsubscribe()\n this._closingActionsSubscription.unsubscribe()\n\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n /**\n * Handles touch start events on the trigger.\n * Needs to be an arrow function so we can easily use addEventListener and removeEventListener.\n */\n private _handleTouchStart = () => this._openedBy = 'touch'\n\n public toggle(): void {\n if (this._active || this.seamPopoverDisabled) {\n this.closePopover()\n } else {\n this.openPopover()\n }\n }\n\n public openPopover(): void {\n if (this._active || !this.seamPopover) { return }\n this._active = true\n\n this._overlayRef = this._overlay.create({\n hasBackdrop: true,\n backdropClass: 'transparent',\n positionStrategy: this.getOverlayPosition(this._elementRef.nativeElement),\n })\n\n this._compRef = this._overlayRef.attach(new ComponentPortal(PopoverComponent, this._viewContainerRef))\n\n this._closingActionsSubscription = this._popoverClosingActions().subscribe(() => this.closePopover())\n\n this._compRef.instance.template = this.seamPopover\n this._compRef.instance.baseWidth = this.seamPopoverBaseWidth\n this._compRef.instance.popover = this\n this._compRef.instance.popoverContext = this.seamPopoverContext\n this._compRef.changeDetectorRef.markForCheck()\n\n this._popoverClosedSubscription = this._compRef.instance._afterExit.subscribe(v => {\n // console.log('closed', v)\n if (this._overlayRef?.hasAttached()) {\n this._overlayRef.detach()\n }\n\n this._resetPopover()\n\n this._popoverClosedSubscription.unsubscribe()\n this._closingActionsSubscription.unsubscribe()\n\n this._active = false\n this._closing = false\n })\n }\n\n public closePopover(): void {\n if (!this._active) { return }\n\n if (!this._closing) {\n if (this._compRef && this._compRef.instance) {\n this._closing = true\n this._compRef.instance._startExiting()\n }\n }\n }\n\n public popoverOpen(): boolean {\n return this._overlayRef?.hasAttached() ?? false\n }\n\n private getOverlayPosition(origin: HTMLElement): PositionStrategy {\n const positionStrategy = this._overlay.position()\n .flexibleConnectedTo(origin)\n .withPositions(this.getPositions())\n .withFlexibleDimensions(false)\n .withPush(true)\n\n return positionStrategy\n }\n\n private getPositions(): ConnectionPositionPair[] {\n return [\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top'\n },\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom'\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ]\n }\n\n /**\n * Focuses the popover trigger.\n * @param origin Source of the popover trigger's focus.\n */\n focus(origin: FocusOrigin = 'program') {\n if (this._focusMonitor) {\n this._focusMonitor.focusVia(this._elementRef, origin)\n } else {\n this._elementRef.nativeElement.focus()\n }\n }\n\n /**\n * This method resets the popover when it's closed, most importantly restoring\n * focus to the popover trigger if the popover was opened via the keyboard.\n */\n private _resetPopover(): void {\n // We should reset focus if the user is navigating using a keyboard or\n // if we have a top-level trigger which might cause focus to be lost\n // when clicking on the backdrop.\n if (this.restoreFocus) {\n if (!this._openedBy) {\n // Note that the focus style will show up both for `program` and\n // `keyboard` so we don't have to specify which one it is.\n this.focus()\n }\n }\n\n this._openedBy = null\n }\n\n /** Returns a stream that emits whenever an action that should close the popover occurs. */\n private _popoverClosingActions() {\n const backdrop = this._overlayRef?.backdropClick() ?? of()\n const detachments = this._overlayRef?.detachments() ?? of()\n const hover = of()\n\n return merge(backdrop, hover, detachments)\n }\n\n}\n","import { OverlayModule } from '@angular/cdk/overlay'\nimport { PortalModule } from '@angular/cdk/portal'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamPopoverDirective } from './popover.directive'\nimport { PopoverComponent } from './popover/popover.component'\n\n@NgModule({\n declarations: [\n PopoverComponent,\n TheSeamPopoverDirective\n ],\n imports: [\n CommonModule,\n OverlayModule,\n PortalModule\n ],\n exports: [\n TheSeamPopoverDirective,\n OverlayModule,\n PortalModule\n ]\n})\nexport class TheSeamPopoverModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-popover.mjs","sources":["../../../projects/ui-common/popover/popover-animations.ts","../../../projects/ui-common/popover/popover/popover.component.ts","../../../projects/ui-common/popover/popover/popover.component.html","../../../projects/ui-common/popover/popover.directive.ts","../../../projects/ui-common/popover/popover.module.ts","../../../projects/ui-common/popover/theseam-ui-common-popover.ts"],"sourcesContent":["import { animate, animation, group, query, style } from '@angular/animations'\n\nexport const popoverSlideIn = animation([\n query(':self', [\n style({\n opacity: 0,\n transform: 'translateY(-70%)'\n }),\n group([\n animate('170ms linear', style({ opacity: 1 })),\n animate('220ms ease', style({ transform: 'translateY(0)' })),\n ])\n ])\n])\n\nexport const popoverSlideOut = animation([\n query(':self', [\n style({\n opacity: 1,\n transform: 'translateY(0)'\n }),\n group([\n animate('170ms linear', style({ opacity: 0 })),\n animate('220ms ease', style({ transform: 'translateY(-70%)' })),\n ])\n ])\n])\n\nexport const popoverExpandIn = animation([\n style({\n opacity: 0,\n transform: 'scale(0.8)'\n }),\n group([\n animate('100ms linear', style({ opacity: 1 })),\n animate('120ms ease', style({ transform: 'scale(1)' })),\n ])\n])\n\nexport const popoverExpandOut = animation([\n style({\n opacity: 1,\n transform: 'scale(1)'\n }),\n group([\n animate('100ms linear', style({ opacity: 0 })),\n animate('120ms ease', style({ transform: 'scale(0.8)' })),\n ])\n])\n","import { AnimationEvent, transition, trigger, useAnimation } from '@angular/animations'\nimport { coerceNumberProperty } from '@angular/cdk/coercion'\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes'\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n TemplateRef\n} from '@angular/core'\nimport { BehaviorSubject, fromEvent, Observable, of, Subject } from 'rxjs'\nimport { distinctUntilChanged, map, startWith, switchMap, takeUntil } from 'rxjs/operators'\n\nimport { popoverExpandIn, popoverExpandOut, popoverSlideIn, popoverSlideOut } from '../popover-animations'\n\n@Component({\n selector: 'seam-popover',\n templateUrl: './popover.component.html',\n styleUrls: ['./popover.component.scss'],\n animations: [\n trigger('slideDown', [\n transition(':enter', useAnimation(popoverExpandIn)),\n transition(':leave', useAnimation(popoverExpandOut)),\n ])\n ],\n host: {\n class: 'popover show m-2 position-static',\n '[@slideDown]': `{\n value: _state,\n params: {\n enterAnimationDuration: enterAnimationDuration,\n exitAnimationDuration: exitAnimationDuration\n }\n }`,\n '(@slideDown.start)': '_onAnimationStart($event)',\n '(@slideDown.done)': '_animationDone.next($event)',\n '[style.width]': '_popoverWidth'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PopoverComponent implements OnInit, OnDestroy {\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n /** Duration of the enter animation. Has to be a valid CSS value (e.g. 100ms). */\n enterAnimationDuration?: string = '225ms'\n\n /** Duration of the exit animation. Has to be a valid CSS value (e.g. 50ms). */\n exitAnimationDuration?: string = '225ms'\n\n /** State of the dialog animation. */\n _state: 'void' | 'enter' | 'exit' = 'enter'\n\n /** A subject emitting before the dialog enters the view. */\n _beforeEnter: Subject<void> = new Subject()\n\n /** A subject emitting after the dialog enters the view. */\n _afterEnter: Subject<void> = new Subject()\n\n /** A subject emitting before the dialog exits the view. */\n _beforeExit: Subject<void> = new Subject()\n\n /** A subject emitting after the dialog exits the view. */\n _afterExit: Subject<void> = new Subject()\n\n /** Stream of animation `done` events. */\n _animationDone = new Subject<AnimationEvent>()\n\n // @HostBinding('attr.role') get _role() { return this._config.role }\n @HostBinding('attr.role') get _role() { return 'dialog' }\n\n @HostBinding('attr.tabindex') get _tabindex() { return -1 }\n\n @Input() template: TemplateRef<any> | undefined | null\n\n // @Output() readonly closed = new EventEmitter<void | 'click' | 'keydown'>()\n\n @Input() popoverClass: string | undefined | null\n\n /**\n * Defines a width for a popover that will scale down if the window innerWidth is\n * smaller than the value.\n */\n @Input()\n get baseWidth() { return this._baseWidth.value }\n set baseWidth(value: number | null) {\n const _val = coerceNumberProperty(value, null)\n if (_val !== this._baseWidth.value) {\n this._baseWidth.next(_val)\n }\n }\n private _baseWidth = new BehaviorSubject<number | null>(600)\n // _popoverWidth$: Observable<string | undefined>\n _popoverWidth: string | undefined\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n // TODO: Implement PopoverConfig\n ) {\n // We use a Subject with a distinctUntilChanged, rather than a callback attached to .done,\n // because some browsers fire the done event twice and we don't want to emit duplicate events.\n // See: https://github.com/angular/angular/issues/24084\n this._animationDone.pipe(distinctUntilChanged((x, y) => {\n return x.fromState === y.fromState && x.toState === y.toState\n })).subscribe(event => {\n // Emit lifecycle events based on animation `done` callback.\n if (event.toState === 'enter') {\n this._afterEnter.next()\n this._afterEnter.complete()\n }\n\n if (event.fromState === 'enter' && (event.toState === 'void' || event.toState === 'exit')) {\n this._afterExit.next()\n this._afterExit.complete()\n }\n })\n }\n\n ngOnInit() {\n // this._popoverWidth$ =\n this._baseWidth.pipe(\n switchMap(baseWidth => {\n if (baseWidth) {\n return fromEvent(window, 'resize').pipe(\n startWith(undefined),\n map(() => window.innerWidth < baseWidth ? `${window.innerWidth}px` : `${baseWidth}px`)\n )\n }\n return of(undefined)\n }),\n takeUntil(this._ngUnsubscribe)\n ).subscribe(w => {\n this._popoverWidth = w\n this._changeDetectorRef.markForCheck()\n })\n }\n\n ngOnDestroy() {\n // this.closed.complete()\n this._animationDone.complete()\n\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n /** Starts the dialog exit animation. */\n _startExiting(): void {\n this._state = 'exit'\n\n // Mark the container for check so it can react if the\n // view container is using OnPush change detection.\n this._changeDetectorRef.markForCheck()\n }\n\n /** Emit lifecycle events based on animation `start` callback. */\n _onAnimationStart(event: AnimationEvent) {\n if (event.toState === 'enter') {\n this._beforeEnter.next()\n this._beforeEnter.complete()\n }\n if (event.fromState === 'enter' && (event.toState === 'void' || event.toState === 'exit')) {\n this._beforeExit.next()\n this._beforeExit.complete()\n }\n }\n\n /** Handle a keyboard event from the menu, delegating to the appropriate action. */\n @HostListener('keydown', [ '$event' ])\n _handleKeydown(event: KeyboardEvent) {\n // tslint:disable-next-line:deprecation\n const keyCode = event.keyCode\n\n switch (keyCode) {\n case ESCAPE:\n if (!hasModifierKey(event)) {\n event.preventDefault()\n // this.closed.emit('keydown')\n this._startExiting()\n }\n break\n }\n }\n\n}\n","<div class=\"popover-body\">\n <ng-container *ngIf=\"template; else noTemplate\">\n <ng-template [ngTemplateOutlet]=\"template\"></ng-template>\n </ng-container>\n\n <ng-template #noTemplate>\n Example\n <!-- <ng-content></ng-content> -->\n </ng-template>\n</div>\n","import { FocusMonitor, FocusOrigin, isFakeMousedownFromScreenReader } from '@angular/cdk/a11y'\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion'\nimport { ESCAPE } from '@angular/cdk/keycodes'\nimport { ConnectionPositionPair, Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay'\nimport { normalizePassiveListenerOptions } from '@angular/cdk/platform'\nimport { ComponentPortal } from '@angular/cdk/portal'\nimport { ComponentRef, Directive, ElementRef, HostListener, Input, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core'\nimport { BehaviorSubject, fromEvent, merge, of, Subject, Subscription } from 'rxjs'\nimport { switchMap, takeUntil } from 'rxjs/operators'\n\nimport { PopoverComponent } from './popover/popover.component'\n\n/** Options for binding a passive event listener. */\nconst passiveEventListenerOptions = normalizePassiveListenerOptions({ passive: true })\n\n@Directive({\n selector: '[seamPopover]',\n // tslint:disable-next-line:use-host-property-decorator\n host: {\n 'aria-haspopup': 'true',\n '[attr.aria-expanded]': 'popoverOpen() || null'\n },\n exportAs: 'seamPopover'\n})\nexport class TheSeamPopoverDirective implements OnDestroy {\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n @Input() seamPopover?: TemplateRef<any> | null\n\n /**\n * Defines a width for a popover that will scale down if the window innerWidth is\n * smaller than the value.\n */\n @Input()\n get seamPopoverBaseWidth() { return this._seamPopoverBaseWidth.value }\n set seamPopoverBaseWidth(value: number | null) {\n const _val = coerceNumberProperty(value, null)\n if (_val !== this._seamPopoverBaseWidth.value) {\n this._seamPopoverBaseWidth.next(_val)\n }\n }\n private _seamPopoverBaseWidth = new BehaviorSubject<number | null>(null)\n\n @Input()\n get seamPopoverDisabled() { return this._seamPopoverDisabled.value }\n set seamPopoverDisabled(val: boolean) { this._seamPopoverDisabled.next(coerceBooleanProperty(val)) }\n private _seamPopoverDisabled = new BehaviorSubject<boolean>(false)\n\n // ngOnInit() {\n // this._seamPopoverDisabled.pipe(\n // switchMap(disabled => {\n // if (disabled) {\n // this.close()\n // return of(undefined)\n // }\n\n // if (!(this._elementRef && this._elementRef.nativeElement)) {\n // return of(undefined)\n // }\n\n // return fromEvent(this._elementRef.nativeElement, 'click')\n // })\n // ).subscribe()\n // }\n\n private _active = false\n private _closing = false\n private _overlayRef: OverlayRef | undefined | null\n private _compRef: ComponentRef<PopoverComponent> | undefined | null\n private _popoverClosedSubscription = Subscription.EMPTY\n private _closingActionsSubscription = Subscription.EMPTY\n\n public restoreFocus = true\n\n // Tracking input type is necessary so it's possible to only auto-focus\n // the first item of the list when the menu is opened via the keyboard\n _openedBy: 'mouse' | 'touch' | null = null\n\n @HostListener('mousedown', [ '$event' ])\n _onMouseDown(event: MouseEvent) {\n if (!isFakeMousedownFromScreenReader(event)) {\n // Since right or middle button clicks won't trigger the `click` event,\n // we shouldn't consider the menu as opened by mouse in those cases.\n this._openedBy = event.button === 0 ? 'mouse' : null\n }\n }\n\n @HostListener('click', [ '$event' ])\n _onClick(event: any) {\n this.toggle()\n }\n\n @HostListener('document:keydown', [ '$event' ])\n _onDocumentKeydown(event: any) {\n if (event.keyCode === ESCAPE) {\n this.closePopover()\n }\n }\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _viewContainerRef: ViewContainerRef,\n private _overlay: Overlay,\n private _focusMonitor: FocusMonitor\n ) {\n this._elementRef.nativeElement.addEventListener('touchstart', this._handleTouchStart,\n passiveEventListenerOptions)\n\n this._seamPopoverBaseWidth\n .pipe(takeUntil(this._ngUnsubscribe))\n .subscribe(w => {\n if (this._compRef && this._compRef.instance) {\n this._compRef.instance.baseWidth = w\n this._compRef.changeDetectorRef.markForCheck()\n }\n })\n }\n\n ngOnDestroy() {\n this.closePopover()\n\n this._elementRef.nativeElement.removeEventListener('touchstart', this._handleTouchStart,\n passiveEventListenerOptions)\n\n this._popoverClosedSubscription.unsubscribe()\n this._closingActionsSubscription.unsubscribe()\n\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n /**\n * Handles touch start events on the trigger.\n * Needs to be an arrow function so we can easily use addEventListener and removeEventListener.\n */\n private _handleTouchStart = () => this._openedBy = 'touch'\n\n public toggle(): void {\n if (this._active || this.seamPopoverDisabled) {\n this.closePopover()\n } else {\n this.openPopover()\n }\n }\n\n public openPopover(): void {\n if (this._active || !this.seamPopover) { return }\n this._active = true\n\n this._overlayRef = this._overlay.create({\n hasBackdrop: true,\n backdropClass: 'transparent',\n positionStrategy: this.getOverlayPosition(this._elementRef.nativeElement),\n })\n\n this._compRef = this._overlayRef.attach(new ComponentPortal(PopoverComponent, this._viewContainerRef))\n\n this._closingActionsSubscription = this._popoverClosingActions().subscribe(() => this.closePopover())\n\n this._compRef.instance.template = this.seamPopover\n this._compRef.instance.baseWidth = this.seamPopoverBaseWidth\n this._compRef.changeDetectorRef.markForCheck()\n\n this._popoverClosedSubscription = this._compRef.instance._afterExit.subscribe(v => {\n // console.log('closed', v)\n if (this._overlayRef?.hasAttached()) {\n this._overlayRef.detach()\n }\n\n this._resetPopover()\n\n this._popoverClosedSubscription.unsubscribe()\n this._closingActionsSubscription.unsubscribe()\n\n this._active = false\n this._closing = false\n })\n }\n\n public closePopover(): void {\n if (!this._active) { return }\n\n if (!this._closing) {\n if (this._compRef && this._compRef.instance) {\n this._closing = true\n this._compRef.instance._startExiting()\n }\n }\n }\n\n public popoverOpen(): boolean {\n return this._overlayRef?.hasAttached() ?? false\n }\n\n private getOverlayPosition(origin: HTMLElement): PositionStrategy {\n const positionStrategy = this._overlay.position()\n .flexibleConnectedTo(origin)\n .withPositions(this.getPositions())\n .withFlexibleDimensions(false)\n .withPush(true)\n\n return positionStrategy\n }\n\n private getPositions(): ConnectionPositionPair[] {\n return [\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top'\n },\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom'\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ]\n }\n\n /**\n * Focuses the popover trigger.\n * @param origin Source of the popover trigger's focus.\n */\n focus(origin: FocusOrigin = 'program') {\n if (this._focusMonitor) {\n this._focusMonitor.focusVia(this._elementRef, origin)\n } else {\n this._elementRef.nativeElement.focus()\n }\n }\n\n /**\n * This method resets the popover when it's closed, most importantly restoring\n * focus to the popover trigger if the popover was opened via the keyboard.\n */\n private _resetPopover(): void {\n // We should reset focus if the user is navigating using a keyboard or\n // if we have a top-level trigger which might cause focus to be lost\n // when clicking on the backdrop.\n if (this.restoreFocus) {\n if (!this._openedBy) {\n // Note that the focus style will show up both for `program` and\n // `keyboard` so we don't have to specify which one it is.\n this.focus()\n }\n }\n\n this._openedBy = null\n }\n\n /** Returns a stream that emits whenever an action that should close the popover occurs. */\n private _popoverClosingActions() {\n const backdrop = this._overlayRef?.backdropClick() ?? of()\n const detachments = this._overlayRef?.detachments() ?? of()\n const hover = of()\n\n return merge(backdrop, hover, detachments)\n }\n\n}\n","import { OverlayModule } from '@angular/cdk/overlay'\nimport { PortalModule } from '@angular/cdk/portal'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamPopoverDirective } from './popover.directive'\nimport { PopoverComponent } from './popover/popover.component'\n\n@NgModule({\n declarations: [\n PopoverComponent,\n TheSeamPopoverDirective\n ],\n imports: [\n CommonModule,\n OverlayModule,\n PortalModule\n ],\n exports: [\n TheSeamPopoverDirective,\n OverlayModule,\n PortalModule\n ]\n})\nexport class TheSeamPopoverModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -855,9 +855,7 @@ class TableCellTypeStringComponent {
|
|
|
855
855
|
if (configAction.type === 'link') {
|
|
856
856
|
link = this._parseConfigValue(configAction.link);
|
|
857
857
|
if (link !== undefined && link !== null) {
|
|
858
|
-
newTplType = this._parseConfigValue(configAction.asset)
|
|
859
|
-
? 'link-encrypted'
|
|
860
|
-
: this._parseConfigValue(configAction.external) ? 'link-external' : 'link';
|
|
858
|
+
newTplType = this._parseConfigValue(configAction.asset) ? 'link-encrypted' : 'link';
|
|
861
859
|
download = !!this._parseConfigValue(configAction.download);
|
|
862
860
|
detectMimeContent = !!this._parseConfigValue(configAction.detectMimeContent);
|
|
863
861
|
queryParams = this._parseConfigValue(configAction.queryParams);
|
|
@@ -915,7 +913,7 @@ class TableCellTypeStringComponent {
|
|
|
915
913
|
}
|
|
916
914
|
}
|
|
917
915
|
TableCellTypeStringComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TableCellTypeStringComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TableCellTypesHelpersService }, { token: i2.DatatableComponent, optional: true }, { token: i3.TableComponent, optional: true }, { token: TABLE_CELL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
918
|
-
TableCellTypeStringComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TableCellTypeStringComponent, selector: "seam-table-cell-type-string", inputs: { value: "value", config: "config", title: "title", style: "style", classAttr: "classAttr" }, host: { properties: { "attr.title": "this._titleAttr", "attr.style": "this._styleAttr", "class": "this._classAttr" } }, ngImport: i0, template: "<ng-template #popoverTpl>\n {{ value }}\n</ng-template>\n\n<ng-template #noPopover>\n <div class=\"text-truncate\">\n {{ value }}\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"!_tplType || _tplType === 'default'\">\n <div *ngIf=\"canPopover; else noPopover\" [seamPopover]=\"popoverTpl\">\n <ng-template [ngTemplateOutlet]=\"noPopover\"></ng-template>\n </div>\n</ng-container>\n\n\n\n<ng-container *ngIf=\"_tplType === 'link'\">\n <a class=\"d-block text-body text-decoration-none\"\n [routerLink]=\"_link\"\n [queryParams]=\"_queryParams\"\n [attr.title]=\"_title\">\n <ng-template [ngTemplateOutlet]=\"noPopover\"></ng-template>\n </a>\n</ng-container>\n\n<ng-container *ngIf=\"_tplType === 'link-external'\">\n <a class=\"d-block text-body text-decoration-none\"\n [attr.href]=\"_link\"\n [attr.title]=\"_title\">\n <ng-template [ngTemplateOutlet]=\"noPopover\"></ng-template>\n </a>\n</ng-container>\n\n<ng-container *ngIf=\"_tplType === 'link-encrypted'\">\n <button\n class=\"btn btn-link p-0 d-block text-body text-decoration-none\"\n type=\"button\"\n [seamEncryptedAssetLink]=\"_link\"\n [seamDetectMimeFromContent]=\"_detectMimeContent\"\n [seamDownloadAsset]=\"_download\"\n [attr.title]=\"_title\">\n <ng-template [ngTemplateOutlet]=\"noPopover\"></ng-template>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"_tplType === 'button'\">\n <button\n class=\"btn btn-link p-0 d-block text-body text-decoration-none\"\n type=\"button\"\n [attr.title]=\"_title\"\n (click)=\"_doButtonAction()\">\n <ng-template [ngTemplateOutlet]=\"noPopover\"></ng-template>\n </button>\n</ng-container>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i6$1.TheSeamPopoverDirective, selector: "[seamPopover]", inputs: ["seamPopover", "
|
|
916
|
+
TableCellTypeStringComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TableCellTypeStringComponent, selector: "seam-table-cell-type-string", inputs: { value: "value", config: "config", title: "title", style: "style", classAttr: "classAttr" }, host: { properties: { "attr.title": "this._titleAttr", "attr.style": "this._styleAttr", "class": "this._classAttr" } }, ngImport: i0, template: "<ng-template #popoverTpl>\n {{ value }}\n</ng-template>\n\n<ng-template #noPopover>\n <div class=\"text-truncate\">\n {{ value }}\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"!_tplType || _tplType === 'default'\">\n <div *ngIf=\"canPopover; else noPopover\" [seamPopover]=\"popoverTpl\">\n <ng-template [ngTemplateOutlet]=\"noPopover\"></ng-template>\n </div>\n</ng-container>\n\n\n\n<ng-container *ngIf=\"_tplType === 'link'\">\n <a class=\"d-block text-body text-decoration-none\"\n [routerLink]=\"_link\"\n [queryParams]=\"_queryParams\"\n [attr.title]=\"_title\">\n <ng-template [ngTemplateOutlet]=\"noPopover\"></ng-template>\n </a>\n</ng-container>\n\n<ng-container *ngIf=\"_tplType === 'link-external'\">\n <a class=\"d-block text-body text-decoration-none\"\n [attr.href]=\"_link\"\n [attr.title]=\"_title\">\n <ng-template [ngTemplateOutlet]=\"noPopover\"></ng-template>\n </a>\n</ng-container>\n\n<ng-container *ngIf=\"_tplType === 'link-encrypted'\">\n <button\n class=\"btn btn-link p-0 d-block text-body text-decoration-none\"\n type=\"button\"\n [seamEncryptedAssetLink]=\"_link\"\n [seamDetectMimeFromContent]=\"_detectMimeContent\"\n [seamDownloadAsset]=\"_download\"\n [attr.title]=\"_title\">\n <ng-template [ngTemplateOutlet]=\"noPopover\"></ng-template>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"_tplType === 'button'\">\n <button\n class=\"btn btn-link p-0 d-block text-body text-decoration-none\"\n type=\"button\"\n [attr.title]=\"_title\"\n (click)=\"_doButtonAction()\">\n <ng-template [ngTemplateOutlet]=\"noPopover\"></ng-template>\n </button>\n</ng-container>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i6$1.TheSeamPopoverDirective, selector: "[seamPopover]", inputs: ["seamPopover", "seamPopoverBaseWidth", "seamPopoverDisabled"], exportAs: ["seamPopover"] }, { kind: "directive", type: i8.EncryptedAssetLinkDirective, selector: "[seamEncryptedAssetLink]", inputs: ["seamEncryptedAssetLink", "seamShowLoadingOverlay", "seamDetectMimeFromContent", "seamDownloadAsset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
919
917
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TableCellTypeStringComponent, decorators: [{
|
|
920
918
|
type: Component,
|
|
921
919
|
args: [{ selector: 'seam-table-cell-type-string', host: {}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #popoverTpl>\n {{ value }}\n</ng-template>\n\n<ng-template #noPopover>\n <div class=\"text-truncate\">\n {{ value }}\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"!_tplType || _tplType === 'default'\">\n <div *ngIf=\"canPopover; else noPopover\" [seamPopover]=\"popoverTpl\">\n <ng-template [ngTemplateOutlet]=\"noPopover\"></ng-template>\n </div>\n</ng-container>\n\n\n\n<ng-container *ngIf=\"_tplType === 'link'\">\n <a class=\"d-block text-body text-decoration-none\"\n [routerLink]=\"_link\"\n [queryParams]=\"_queryParams\"\n [attr.title]=\"_title\">\n <ng-template [ngTemplateOutlet]=\"noPopover\"></ng-template>\n </a>\n</ng-container>\n\n<ng-container *ngIf=\"_tplType === 'link-external'\">\n <a class=\"d-block text-body text-decoration-none\"\n [attr.href]=\"_link\"\n [attr.title]=\"_title\">\n <ng-template [ngTemplateOutlet]=\"noPopover\"></ng-template>\n </a>\n</ng-container>\n\n<ng-container *ngIf=\"_tplType === 'link-encrypted'\">\n <button\n class=\"btn btn-link p-0 d-block text-body text-decoration-none\"\n type=\"button\"\n [seamEncryptedAssetLink]=\"_link\"\n [seamDetectMimeFromContent]=\"_detectMimeContent\"\n [seamDownloadAsset]=\"_download\"\n [attr.title]=\"_title\">\n <ng-template [ngTemplateOutlet]=\"noPopover\"></ng-template>\n </button>\n</ng-container>\n\n<ng-container *ngIf=\"_tplType === 'button'\">\n <button\n class=\"btn btn-link p-0 d-block text-body text-decoration-none\"\n type=\"button\"\n [attr.title]=\"_title\"\n (click)=\"_doButtonAction()\">\n <ng-template [ngTemplateOutlet]=\"noPopover\"></ng-template>\n </button>\n</ng-container>\n\n" }]
|