@theseam/ui-common 1.0.0-beta.0 → 1.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/breadcrumbs/index.d.ts +1 -2
- package/buttons/index.d.ts +20 -13
- package/datatable/index.d.ts +77 -39
- package/dynamic/index.d.ts +5 -5
- package/fesm2022/theseam-ui-common-asset-reader.mjs +28 -29
- package/fesm2022/theseam-ui-common-asset-reader.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-breadcrumbs.mjs +25 -31
- package/fesm2022/theseam-ui-common-breadcrumbs.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-buttons.mjs +108 -66
- package/fesm2022/theseam-ui-common-buttons.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-card.mjs +21 -21
- package/fesm2022/theseam-ui-common-card.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-carousel.mjs +28 -30
- package/fesm2022/theseam-ui-common-carousel.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-checkbox.mjs +27 -27
- package/fesm2022/theseam-ui-common-checkbox.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-confirm-dialog.mjs +23 -27
- package/fesm2022/theseam-ui-common-confirm-dialog.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-core.mjs +31 -11
- package/fesm2022/theseam-ui-common-core.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-data-exporter.mjs +18 -19
- package/fesm2022/theseam-ui-common-data-exporter.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-data-filters.mjs +80 -64
- package/fesm2022/theseam-ui-common-data-filters.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs +51 -49
- package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-datatable-dynamic.mjs +145 -112
- package/fesm2022/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-datatable.mjs +727 -420
- package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs +12 -14
- package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-dynamic.mjs +60 -48
- package/fesm2022/theseam-ui-common-dynamic.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-footer-bar.mjs +9 -15
- package/fesm2022/theseam-ui-common-footer-bar.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-form-field-error.mjs +60 -43
- package/fesm2022/theseam-ui-common-form-field-error.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-form-field.mjs +129 -76
- package/fesm2022/theseam-ui-common-form-field.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-framework.mjs +669 -543
- package/fesm2022/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-google-maps.mjs +206 -149
- package/fesm2022/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-graphql.mjs +311 -254
- package/fesm2022/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-icon.mjs +125 -89
- package/fesm2022/theseam-ui-common-icon.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-layout.mjs +18 -26
- package/fesm2022/theseam-ui-common-layout.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-loading.mjs +19 -28
- package/fesm2022/theseam-ui-common-loading.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-menu.mjs +124 -95
- package/fesm2022/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-modal.mjs +178 -129
- package/fesm2022/theseam-ui-common-modal.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-models.mjs +3 -3
- package/fesm2022/theseam-ui-common-models.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-navigation-reload.mjs +13 -11
- package/fesm2022/theseam-ui-common-navigation-reload.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-popover.mjs +81 -88
- package/fesm2022/theseam-ui-common-popover.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-progress.mjs +15 -19
- package/fesm2022/theseam-ui-common-progress.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-rich-text.mjs +65 -52
- package/fesm2022/theseam-ui-common-rich-text.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-scrollbar.mjs +12 -9
- package/fesm2022/theseam-ui-common-scrollbar.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-services.mjs +41 -26
- package/fesm2022/theseam-ui-common-services.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-shared.mjs +149 -159
- package/fesm2022/theseam-ui-common-shared.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-storage.mjs +9 -6
- package/fesm2022/theseam-ui-common-storage.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-story-helpers.mjs +148 -86
- package/fesm2022/theseam-ui-common-story-helpers.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-tabbed.mjs +43 -39
- package/fesm2022/theseam-ui-common-tabbed.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-table-cell-type.mjs +63 -39
- package/fesm2022/theseam-ui-common-table-cell-type.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-table-cell-types.mjs +182 -144
- package/fesm2022/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-table.mjs +62 -41
- package/fesm2022/theseam-ui-common-table.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-tel-input.mjs +98 -63
- package/fesm2022/theseam-ui-common-tel-input.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-testing.mjs +13 -10
- package/fesm2022/theseam-ui-common-testing.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-tiled-select.mjs +54 -50
- package/fesm2022/theseam-ui-common-tiled-select.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-toggle-edit.mjs +41 -37
- package/fesm2022/theseam-ui-common-toggle-edit.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-toggle-group.mjs +30 -31
- package/fesm2022/theseam-ui-common-toggle-group.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-tooltip.mjs +225 -66
- package/fesm2022/theseam-ui-common-tooltip.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs +14 -12
- package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-utils.mjs +113 -77
- package/fesm2022/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-validators.mjs +10 -9
- package/fesm2022/theseam-ui-common-validators.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-vertical-list-filter.mjs +39 -17
- package/fesm2022/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-viewers.mjs +80 -53
- package/fesm2022/theseam-ui-common-viewers.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-widget.mjs +288 -314
- package/fesm2022/theseam-ui-common-widget.mjs.map +1 -1
- package/form-field/index.d.ts +1 -1
- package/framework/base-layout/base-layout.component.scss +9 -4
- package/framework/base-layout/styles/_variables.scss +4 -9
- package/framework/dashboard/dashboard-widgets/dashboard-widgets.component.scss +6 -4
- package/framework/index.d.ts +6 -6
- package/framework/nav/nav-item/nav-item.component.scss +7 -6
- package/framework/nav/styles/_themes/light/_variables.scss +21 -5
- package/framework/nav/styles/_themes/primary/_variables.scss +21 -5
- package/framework/side-nav/side-nav-item/side-nav-item.component.scss +5 -2
- package/framework/side-nav/styles/_themes/light/_variables.scss +5 -1
- package/framework/side-nav/styles/_themes/primary/_variables.scss +25 -5
- package/graphql/index.d.ts +49 -7
- package/modal/README.md +5 -5
- package/modal/index.d.ts +1 -1
- package/models/index.d.ts +1 -1
- package/package.json +59 -60
- package/popover/index.d.ts +0 -2
- package/progress/progress-circle/styles/_variables.scss +15 -3
- package/shared/index.d.ts +0 -13
- package/story-helpers/index.d.ts +11 -1
- package/styles/bootstrap/_bootstrap.scss +34 -34
- package/styles/bootstrap/_bs-styles.scss +4 -8
- package/styles/bootstrap/_bs-utilities.scss +4 -4
- package/styles/bootstrap/_bs-variables.scss +65 -70
- package/styles/common/_forms.scss +9 -10
- package/styles/common/_global.scss +0 -1
- package/styles/common/_hacks.scss +1 -1
- package/styles/common/_table.scss +0 -1
- package/styles/common/_text.scss +3 -1
- package/styles/theme.scss +1 -1
- package/styles/vendor/ng-select/_ng-select-bs4.scss +292 -294
- package/styles/vendor/ngx-datatable/_ngx-datatable.scss +63 -32
- package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +37 -10
- package/styles/vendor/ngx-datatable/_themes/material/_variables.scss +3 -1
- package/styles/vendor/quill/_quill.scss +15 -9
- package/table/index.d.ts +4 -1
- package/table-cell-type/index.d.ts +27 -2
- package/tel-input/README.md +27 -27
- package/utils/index.d.ts +3 -3
- package/viewers/index.d.ts +9 -2
- package/widget/_widget-theme.scss +1 -1
- package/widget/styles/_variables.scss +2 -2
- package/widget/widget/widget.component.scss +0 -2
- package/widget/widget-content-components/widget-tile/widget-tile.component.scss +1 -3
- package/widget/widget-footer/widget-footer.component.scss +0 -1
|
@@ -43,8 +43,7 @@ class TheSeamMenuFooterHarness extends ContentContainerComponentHarness {
|
|
|
43
43
|
* @return a `HarnessPredicate` configured with the given options.
|
|
44
44
|
*/
|
|
45
45
|
static with(options = {}) {
|
|
46
|
-
return new HarnessPredicate(this, options)
|
|
47
|
-
.addOption('text', options.text, (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text));
|
|
46
|
+
return new HarnessPredicate(this, options).addOption('text', options.text, (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text));
|
|
48
47
|
}
|
|
49
48
|
/** Gets the text of the menu item. */
|
|
50
49
|
async getText() {
|
|
@@ -226,7 +225,9 @@ class TheSeamMenuHarness extends ContentContainerComponentHarness {
|
|
|
226
225
|
/** Gets the menu panel associated with this menu. */
|
|
227
226
|
async _getMenuPanel() {
|
|
228
227
|
const panelId = await this._getPanelId();
|
|
229
|
-
return panelId
|
|
228
|
+
return panelId
|
|
229
|
+
? this._documentRootLocator.locatorForOptional(`#${panelId}`)()
|
|
230
|
+
: null;
|
|
230
231
|
}
|
|
231
232
|
/** Gets the id of the menu panel associated with this menu. */
|
|
232
233
|
async _getPanelId() {
|
|
@@ -293,68 +294,68 @@ class TheSeamMenuItemHarness extends ContentContainerComponentHarness {
|
|
|
293
294
|
const menuDropdownPanelSlideIn = animation([
|
|
294
295
|
style({
|
|
295
296
|
opacity: 0,
|
|
296
|
-
transform: 'translateY(-70%)'
|
|
297
|
+
transform: 'translateY(-70%)',
|
|
297
298
|
}),
|
|
298
299
|
group([
|
|
299
300
|
animate('170ms linear', style({ opacity: 1 })),
|
|
300
301
|
animate('220ms ease', style({ transform: 'translateY(0)' })),
|
|
301
|
-
])
|
|
302
|
+
]),
|
|
302
303
|
]);
|
|
303
304
|
const menuDropdownPanelSlideOut = animation([
|
|
304
305
|
style({
|
|
305
306
|
opacity: 1,
|
|
306
|
-
transform: 'translateY(0)'
|
|
307
|
+
transform: 'translateY(0)',
|
|
307
308
|
}),
|
|
308
309
|
group([
|
|
309
310
|
animate('170ms linear', style({ opacity: 0 })),
|
|
310
311
|
animate('220ms ease', style({ transform: 'translateY(-70%)' })),
|
|
311
|
-
])
|
|
312
|
+
]),
|
|
312
313
|
]);
|
|
313
314
|
const menuDropdownPanelExpandIn = animation([
|
|
314
315
|
style({
|
|
315
316
|
opacity: 0,
|
|
316
|
-
transform: 'scale(0.8)'
|
|
317
|
+
transform: 'scale(0.8)',
|
|
317
318
|
}),
|
|
318
319
|
group([
|
|
319
320
|
animate('100ms linear', style({ opacity: 1 })),
|
|
320
321
|
animate('120ms ease', style({ transform: 'scale(1)' })),
|
|
321
|
-
])
|
|
322
|
+
]),
|
|
322
323
|
]);
|
|
323
324
|
const menuDropdownPanelExpandOut = animation([
|
|
324
325
|
style({
|
|
325
326
|
opacity: 1,
|
|
326
|
-
transform: 'scale(1)'
|
|
327
|
+
transform: 'scale(1)',
|
|
327
328
|
}),
|
|
328
329
|
group([
|
|
329
330
|
animate('100ms linear', style({ opacity: 0 })),
|
|
330
331
|
animate('120ms ease', style({ transform: 'scale(0.8)' })),
|
|
331
|
-
])
|
|
332
|
+
]),
|
|
332
333
|
]);
|
|
333
334
|
const menuDropdownPanelFadeIn = animation([
|
|
334
335
|
style({ transform: 'translateY(-30px)', opacity: '0' }),
|
|
335
|
-
animate('250ms', style({ transform: 'translateY(0)', opacity: '1' }))
|
|
336
|
+
animate('250ms', style({ transform: 'translateY(0)', opacity: '1' })),
|
|
336
337
|
]);
|
|
337
338
|
const menuDropdownPanelFadeOut = animation([
|
|
338
339
|
style({ transform: 'translateY(0)', opacity: '1' }),
|
|
339
|
-
animate('250ms', style({ transform: 'translateY(-30px)', opacity: '0' }))
|
|
340
|
+
animate('250ms', style({ transform: 'translateY(-30px)', opacity: '0' })),
|
|
340
341
|
]);
|
|
341
342
|
const menuDropdownPanelIn = animation([
|
|
342
343
|
query('.seam-menu-container.seam-menu-anim--slide .dropdown-menu', useAnimation(menuDropdownPanelSlideIn), { optional: true }),
|
|
343
|
-
query('.seam-menu-container.seam-menu-anim--fade .dropdown-menu', useAnimation(menuDropdownPanelFadeIn), { optional: true })
|
|
344
|
+
query('.seam-menu-container.seam-menu-anim--fade .dropdown-menu', useAnimation(menuDropdownPanelFadeIn), { optional: true }),
|
|
344
345
|
]);
|
|
345
346
|
const menuDropdownPanelOut = animation([
|
|
346
347
|
query('.seam-menu-container.seam-menu-anim--slide .dropdown-menu', useAnimation(menuDropdownPanelSlideOut), { optional: true }),
|
|
347
|
-
query('.seam-menu-container.seam-menu-anim--fade .dropdown-menu', useAnimation(menuDropdownPanelFadeOut), { optional: true })
|
|
348
|
+
query('.seam-menu-container.seam-menu-anim--fade .dropdown-menu', useAnimation(menuDropdownPanelFadeOut), { optional: true }),
|
|
348
349
|
]);
|
|
349
350
|
|
|
350
351
|
class MenuDividerComponent {
|
|
351
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
352
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
352
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MenuDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
353
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: MenuDividerComponent, isStandalone: false, selector: "seam-menu-divider", host: { classAttribute: "dropdown-divider d-block" }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
353
354
|
}
|
|
354
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
355
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MenuDividerComponent, decorators: [{
|
|
355
356
|
type: Component,
|
|
356
357
|
args: [{ selector: 'seam-menu-divider', template: ``, host: {
|
|
357
|
-
|
|
358
|
+
class: 'dropdown-divider d-block',
|
|
358
359
|
}, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false }]
|
|
359
360
|
}] });
|
|
360
361
|
|
|
@@ -474,22 +475,22 @@ class MenuItemComponent extends _seamMenuItemMixinBase {
|
|
|
474
475
|
this._changeDetectorRef?.markForCheck();
|
|
475
476
|
}
|
|
476
477
|
_hasFocus() {
|
|
477
|
-
return this._document && this._document.activeElement === this._getHostElement();
|
|
478
|
+
return (this._document && this._document.activeElement === this._getHostElement());
|
|
478
479
|
}
|
|
479
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
480
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
480
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MenuItemComponent, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }, { token: i1.FocusMonitor }, { token: i0.ChangeDetectorRef }, { token: THESEAM_MENU_PANEL, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
481
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: MenuItemComponent, isStandalone: false, selector: "[seamMenuItem]", inputs: { disabled: "disabled", role: "role", icon: "icon", iconClass: "iconClass", sublevelIcon: "sublevelIcon", subLevelIconClass: "subLevelIconClass", badgeText: "badgeText", badgeTheme: "badgeTheme" }, host: { listeners: { "click": "_checkDisabled($event)", "mouseenter": "_handleMouseEnter()" }, properties: { "attr.role": "role", "class.seam-menu-item-highlighted": "_highlighted", "class.seam-menu-item-submenu-trigger": "_triggersSubmenu", "attr.tabindex": "_getTabIndex()", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null" }, classAttribute: "seam-menu-item dropdown-item" }, exportAs: ["seamMenuItem"], usesInheritance: true, ngImport: i0, template: "<div class=\"d-flex flex-row\">\n <seam-icon\n *ngIf=\"icon\"\n style=\"width: 30px; height: 20px; flex: 0 0 auto\"\n class=\"pr-2\"\n [icon]=\"icon\"\n [iconClass]=\"iconClass\"\n iconType=\"image-fill\"\n >\n </seam-icon>\n\n <div class=\"text-truncate\">\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"badgeText\" class=\"ml-2\">\n <span\n class=\"badge badge-pill{{\n badgeTheme ? ' badge-' + badgeTheme : ''\n }} position-relative\"\n style=\"top: -2px\"\n >{{ badgeText }}</span\n >\n </div>\n\n <div class=\"d-flex flex-grow-1 justify-content-end\">\n <seam-icon\n *ngIf=\"_triggersSubmenu\"\n style=\"width: 30px; height: 20px; flex: 0 0 auto\"\n class=\"pl-2\"\n [icon]=\"sublevelIcon\"\n [iconClass]=\"subLevelIconClass\"\n iconType=\"image-fill\"\n >\n </seam-icon>\n </div>\n</div>\n", styles: [":host.cdk-mouse-focused:not(:hover){background:transparent}:host[aria-expanded]{color:#16181b;text-decoration:none;background-color:#e9ecef}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
481
482
|
}
|
|
482
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
483
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MenuItemComponent, decorators: [{
|
|
483
484
|
type: Component,
|
|
484
485
|
args: [{ selector: '[seamMenuItem]', exportAs: 'seamMenuItem', inputs: ['disabled'], host: {
|
|
485
486
|
'[attr.role]': 'role',
|
|
486
|
-
|
|
487
|
+
class: 'seam-menu-item dropdown-item',
|
|
487
488
|
'[class.seam-menu-item-highlighted]': '_highlighted',
|
|
488
489
|
'[class.seam-menu-item-submenu-trigger]': '_triggersSubmenu',
|
|
489
490
|
'[attr.tabindex]': '_getTabIndex()',
|
|
490
491
|
'[attr.aria-disabled]': 'disabled.toString()',
|
|
491
492
|
'[attr.disabled]': 'disabled || null',
|
|
492
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div class=\"d-flex flex-row\">\n <seam-icon
|
|
493
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div class=\"d-flex flex-row\">\n <seam-icon\n *ngIf=\"icon\"\n style=\"width: 30px; height: 20px; flex: 0 0 auto\"\n class=\"pr-2\"\n [icon]=\"icon\"\n [iconClass]=\"iconClass\"\n iconType=\"image-fill\"\n >\n </seam-icon>\n\n <div class=\"text-truncate\">\n <ng-content></ng-content>\n </div>\n\n <div *ngIf=\"badgeText\" class=\"ml-2\">\n <span\n class=\"badge badge-pill{{\n badgeTheme ? ' badge-' + badgeTheme : ''\n }} position-relative\"\n style=\"top: -2px\"\n >{{ badgeText }}</span\n >\n </div>\n\n <div class=\"d-flex flex-grow-1 justify-content-end\">\n <seam-icon\n *ngIf=\"_triggersSubmenu\"\n style=\"width: 30px; height: 20px; flex: 0 0 auto\"\n class=\"pl-2\"\n [icon]=\"sublevelIcon\"\n [iconClass]=\"subLevelIconClass\"\n iconType=\"image-fill\"\n >\n </seam-icon>\n </div>\n</div>\n", styles: [":host.cdk-mouse-focused:not(:hover){background:transparent}:host[aria-expanded]{color:#16181b;text-decoration:none;background-color:#e9ecef}\n"] }]
|
|
493
494
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
494
495
|
type: Inject,
|
|
495
496
|
args: [DOCUMENT]
|
|
@@ -523,16 +524,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
523
524
|
let menuPanelUid = 0;
|
|
524
525
|
const LIB_MENU = {
|
|
525
526
|
provide: THESEAM_MENU_PANEL,
|
|
526
|
-
|
|
527
|
-
useExisting: forwardRef(() => MenuComponent)
|
|
527
|
+
useExisting: forwardRef(() => MenuComponent),
|
|
528
528
|
};
|
|
529
529
|
class MenuComponent {
|
|
530
530
|
_ngUnsubscribe = new Subject();
|
|
531
531
|
panelId = `menu-panel-${menuPanelUid++}`;
|
|
532
532
|
_footer = new BehaviorSubject(undefined);
|
|
533
|
-
hasFooter$ = this._footer.pipe(map(v => v !== null && v !== undefined));
|
|
533
|
+
hasFooter$ = this._footer.pipe(map((v) => v !== null && v !== undefined));
|
|
534
534
|
_header = new BehaviorSubject(undefined);
|
|
535
|
-
hasHeader$ = this._header.pipe(map(v => v !== null && v !== undefined));
|
|
535
|
+
hasHeader$ = this._header.pipe(map((v) => v !== null && v !== undefined));
|
|
536
536
|
_keyManager;
|
|
537
537
|
/** Menu items inside the current menu. */
|
|
538
538
|
_items = [];
|
|
@@ -555,7 +555,9 @@ class MenuComponent {
|
|
|
555
555
|
* Defines a width for a menu that will scale down if the window innerWidth is
|
|
556
556
|
* smaller than the value.
|
|
557
557
|
*/
|
|
558
|
-
get baseWidth() {
|
|
558
|
+
get baseWidth() {
|
|
559
|
+
return this._baseWidth.value;
|
|
560
|
+
}
|
|
559
561
|
set baseWidth(value) {
|
|
560
562
|
const _val = coerceNumberProperty(value, null);
|
|
561
563
|
if (_val !== this._baseWidth.value) {
|
|
@@ -566,9 +568,11 @@ class MenuComponent {
|
|
|
566
568
|
_menuWidth$;
|
|
567
569
|
animationType = 'slide';
|
|
568
570
|
constructor() {
|
|
569
|
-
this._menuWidth$ = this._baseWidth.pipe(switchMap(baseWidth => {
|
|
571
|
+
this._menuWidth$ = this._baseWidth.pipe(switchMap((baseWidth) => {
|
|
570
572
|
if (baseWidth) {
|
|
571
|
-
return fromEvent(window, 'resize').pipe(startWith(undefined), map(() => window.innerWidth < baseWidth
|
|
573
|
+
return fromEvent(window, 'resize').pipe(startWith(undefined), map(() => window.innerWidth < baseWidth
|
|
574
|
+
? `${window.innerWidth}px`
|
|
575
|
+
: `${baseWidth}px`));
|
|
572
576
|
}
|
|
573
577
|
return of(undefined);
|
|
574
578
|
}), distinctUntilChanged(), takeUntil(this._ngUnsubscribe));
|
|
@@ -580,16 +584,17 @@ class MenuComponent {
|
|
|
580
584
|
this._ngUnsubscribe.complete();
|
|
581
585
|
}
|
|
582
586
|
ngAfterContentInit() {
|
|
583
|
-
this._keyManager = new FocusKeyManager(this._items)
|
|
587
|
+
this._keyManager = new FocusKeyManager(this._items)
|
|
588
|
+
.withWrap()
|
|
589
|
+
.withTypeAhead();
|
|
584
590
|
this._tabSubscription = this._keyManager.tabOut.subscribe(() => this.closed.emit('tab'));
|
|
585
591
|
}
|
|
586
592
|
/** Stream that emits whenever the hovered menu item changes. */
|
|
587
593
|
_hovered() {
|
|
588
|
-
return this._itemChanges.pipe(startWith(this._items), switchMap(items => merge(...items.map(item => item._hovered))));
|
|
594
|
+
return this._itemChanges.pipe(startWith(this._items), switchMap((items) => merge(...items.map((item) => item._hovered))));
|
|
589
595
|
}
|
|
590
596
|
/** Handle a keyboard event from the menu, delegating to the appropriate action. */
|
|
591
597
|
_handleKeydown(event) {
|
|
592
|
-
// tslint:disable-next-line:deprecation
|
|
593
598
|
const keyCode = event.keyCode;
|
|
594
599
|
const manager = this._keyManager;
|
|
595
600
|
switch (keyCode) {
|
|
@@ -612,7 +617,12 @@ class MenuComponent {
|
|
|
612
617
|
case HOME:
|
|
613
618
|
case END:
|
|
614
619
|
if (!hasModifierKey(event)) {
|
|
615
|
-
keyCode === HOME
|
|
620
|
+
if (keyCode === HOME) {
|
|
621
|
+
manager?.setFirstItemActive();
|
|
622
|
+
}
|
|
623
|
+
else {
|
|
624
|
+
manager?.setLastItemActive();
|
|
625
|
+
}
|
|
616
626
|
event.preventDefault();
|
|
617
627
|
}
|
|
618
628
|
break;
|
|
@@ -688,22 +698,22 @@ class MenuComponent {
|
|
|
688
698
|
event.element.scrollTop = 0;
|
|
689
699
|
}
|
|
690
700
|
}
|
|
691
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
692
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
701
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
702
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: MenuComponent, isStandalone: false, selector: "seam-menu", inputs: { menuClass: "menuClass", baseWidth: "baseWidth", animationType: "animationType" }, outputs: { closed: "closed" }, providers: [LIB_MENU], viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], exportAs: ["seamMenu"], ngImport: i0, template: "<ng-template>\n <div\n class=\"seam-menu-container\"\n @slideDown\n (@slideDown.start)=\"_onAnimationStart($event)\"\n (@slideDown.done)=\"_onAnimationDone($event)\"\n [class.seam-menu-anim--slide]=\"animationType === 'slide'\"\n [class.seam-menu-anim--fade]=\"animationType === 'fade'\"\n [id]=\"panelId\"\n >\n <div\n class=\"dropdown-menu show position-static{{\n menuClass ? ' ' + menuClass : ''\n }}\"\n [style.width]=\"_menuWidth$ | async\"\n [class.pt-0]=\"hasHeader$ | async\"\n [class.pb-0]=\"hasFooter$ | async\"\n (keydown)=\"_handleKeydown($event)\"\n (click)=\"_dropdownMenuClick($event)\"\n tabindex=\"-1\"\n role=\"menu\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".seam-menu-container.seam-menu-anim--slide{overflow:hidden}.seam-menu-container.ng-animating,.dropdown-menu.ng-animating{-webkit-user-select:none;user-select:none;pointer-events:none}\n"], dependencies: [{ kind: "pipe", type: i2.AsyncPipe, name: "async" }], animations: [
|
|
693
703
|
trigger('slideDown', [
|
|
694
704
|
transition(':enter', useAnimation(menuDropdownPanelIn)),
|
|
695
705
|
transition(':leave', useAnimation(menuDropdownPanelOut)),
|
|
696
|
-
])
|
|
706
|
+
]),
|
|
697
707
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
698
708
|
}
|
|
699
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
709
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MenuComponent, decorators: [{
|
|
700
710
|
type: Component,
|
|
701
711
|
args: [{ selector: 'seam-menu', providers: [LIB_MENU], animations: [
|
|
702
712
|
trigger('slideDown', [
|
|
703
713
|
transition(':enter', useAnimation(menuDropdownPanelIn)),
|
|
704
714
|
transition(':leave', useAnimation(menuDropdownPanelOut)),
|
|
705
|
-
])
|
|
706
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'seamMenu', standalone: false, template: "<ng-template>\n <div
|
|
715
|
+
]),
|
|
716
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'seamMenu', standalone: false, template: "<ng-template>\n <div\n class=\"seam-menu-container\"\n @slideDown\n (@slideDown.start)=\"_onAnimationStart($event)\"\n (@slideDown.done)=\"_onAnimationDone($event)\"\n [class.seam-menu-anim--slide]=\"animationType === 'slide'\"\n [class.seam-menu-anim--fade]=\"animationType === 'fade'\"\n [id]=\"panelId\"\n >\n <div\n class=\"dropdown-menu show position-static{{\n menuClass ? ' ' + menuClass : ''\n }}\"\n [style.width]=\"_menuWidth$ | async\"\n [class.pt-0]=\"hasHeader$ | async\"\n [class.pb-0]=\"hasFooter$ | async\"\n (keydown)=\"_handleKeydown($event)\"\n (click)=\"_dropdownMenuClick($event)\"\n tabindex=\"-1\"\n role=\"menu\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".seam-menu-container.seam-menu-anim--slide{overflow:hidden}.seam-menu-container.ng-animating,.dropdown-menu.ng-animating{-webkit-user-select:none;user-select:none;pointer-events:none}\n"] }]
|
|
707
717
|
}], ctorParameters: () => [], propDecorators: { templateRef: [{
|
|
708
718
|
type: ViewChild,
|
|
709
719
|
args: [TemplateRef]
|
|
@@ -718,7 +728,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
718
728
|
}] } });
|
|
719
729
|
|
|
720
730
|
/** Options for binding a passive event listener. */
|
|
721
|
-
const passiveEventListenerOptions = normalizePassiveListenerOptions({
|
|
731
|
+
const passiveEventListenerOptions = normalizePassiveListenerOptions({
|
|
732
|
+
passive: true,
|
|
733
|
+
});
|
|
722
734
|
class MenuToggleDirective {
|
|
723
735
|
_elementRef;
|
|
724
736
|
_viewContainerRef;
|
|
@@ -738,7 +750,9 @@ class MenuToggleDirective {
|
|
|
738
750
|
// Tracking input type is necessary so it's possible to only auto-focus
|
|
739
751
|
// the first item of the list when the menu is opened via the keyboard
|
|
740
752
|
_openedBy = null;
|
|
741
|
-
get menu() {
|
|
753
|
+
get menu() {
|
|
754
|
+
return this._menu;
|
|
755
|
+
}
|
|
742
756
|
set menu(menu) {
|
|
743
757
|
if (menu === this._menu) {
|
|
744
758
|
return;
|
|
@@ -746,7 +760,8 @@ class MenuToggleDirective {
|
|
|
746
760
|
this._menu = menu;
|
|
747
761
|
this._menuClosedSubscription.unsubscribe();
|
|
748
762
|
if (menu) {
|
|
749
|
-
if (menu === this._parentMenuComponent &&
|
|
763
|
+
if (menu === this._parentMenuComponent &&
|
|
764
|
+
(typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
750
765
|
throw Error(`seamMenuToggle: menu cannot contain its own trigger. Assign a menu that is ` +
|
|
751
766
|
`not a parent of the trigger or move the trigger outside of the menu.`);
|
|
752
767
|
}
|
|
@@ -754,7 +769,8 @@ class MenuToggleDirective {
|
|
|
754
769
|
// this._destroyMenu(reason)
|
|
755
770
|
this.closeMenu();
|
|
756
771
|
// If a click closed the menu, we should close the entire chain of nested menus.
|
|
757
|
-
if ((reason === 'click' || reason === 'tab') &&
|
|
772
|
+
if ((reason === 'click' || reason === 'tab') &&
|
|
773
|
+
this._parentMenuComponent) {
|
|
758
774
|
this._parentMenuComponent.closed.emit(reason);
|
|
759
775
|
}
|
|
760
776
|
});
|
|
@@ -854,7 +870,6 @@ class MenuToggleDirective {
|
|
|
854
870
|
_onKeydown(event) {
|
|
855
871
|
this._openedBy = null;
|
|
856
872
|
// console.log('keydown', event)
|
|
857
|
-
// tslint:disable-next-line:deprecation
|
|
858
873
|
const keyCode = event.keyCode;
|
|
859
874
|
if (keyCode === UP_ARROW || keyCode === DOWN_ARROW) {
|
|
860
875
|
if (this.menuOpen()) {
|
|
@@ -903,7 +918,8 @@ class MenuToggleDirective {
|
|
|
903
918
|
this._parentMenu = _parentMenu;
|
|
904
919
|
this._menuItemInstance = _menuItemInstance;
|
|
905
920
|
this._dir = _dir;
|
|
906
|
-
this._parentMenuComponent =
|
|
921
|
+
this._parentMenuComponent =
|
|
922
|
+
this._parentMenu instanceof MenuComponent ? this._parentMenu : undefined;
|
|
907
923
|
this._elementRef.nativeElement.addEventListener('touchstart', this._handleTouchStart, passiveEventListenerOptions);
|
|
908
924
|
}
|
|
909
925
|
ngOnDestroy() {
|
|
@@ -920,7 +936,7 @@ class MenuToggleDirective {
|
|
|
920
936
|
* Handles touch start events on the trigger.
|
|
921
937
|
* Needs to be an arrow function so we can easily use addEventListener and removeEventListener.
|
|
922
938
|
*/
|
|
923
|
-
_handleTouchStart = () => this._openedBy = 'touch';
|
|
939
|
+
_handleTouchStart = () => (this._openedBy = 'touch');
|
|
924
940
|
toggle() {
|
|
925
941
|
if (this._active) {
|
|
926
942
|
this.closeMenu();
|
|
@@ -946,7 +962,7 @@ class MenuToggleDirective {
|
|
|
946
962
|
this._overlayRef.attach(new TemplatePortal(tpl, this._viewContainerRef));
|
|
947
963
|
this._closingActionsSubscription = this._menuClosingActions().subscribe(() => this.closeMenu());
|
|
948
964
|
this._initMenu(this.menu);
|
|
949
|
-
this._menuClosedSubscription = this.menu.closed.subscribe(v => {
|
|
965
|
+
this._menuClosedSubscription = this.menu.closed.subscribe((v) => {
|
|
950
966
|
// console.log('closed', v)
|
|
951
967
|
this.closeMenu();
|
|
952
968
|
});
|
|
@@ -988,7 +1004,8 @@ class MenuToggleDirective {
|
|
|
988
1004
|
return (this._overlayRef && this._overlayRef.hasAttached()) ?? false;
|
|
989
1005
|
}
|
|
990
1006
|
getOverlayPosition(origin) {
|
|
991
|
-
const positionStrategy = this._overlay
|
|
1007
|
+
const positionStrategy = this._overlay
|
|
1008
|
+
.position()
|
|
992
1009
|
.flexibleConnectedTo(origin)
|
|
993
1010
|
.withPositions(this.positions)
|
|
994
1011
|
.withFlexibleDimensions(false)
|
|
@@ -1043,7 +1060,12 @@ class MenuToggleDirective {
|
|
|
1043
1060
|
_setIsMenuOpen(isOpen) {
|
|
1044
1061
|
if (isOpen !== this.menuOpen()) {
|
|
1045
1062
|
// this._menuOpen = isOpen
|
|
1046
|
-
this.menuOpen()
|
|
1063
|
+
if (this.menuOpen()) {
|
|
1064
|
+
this.menuOpened.emit();
|
|
1065
|
+
}
|
|
1066
|
+
else {
|
|
1067
|
+
this.menuClosed.emit();
|
|
1068
|
+
}
|
|
1047
1069
|
if (this.triggersSubmenu()) {
|
|
1048
1070
|
this._menuItemInstance?._setHighlighted(isOpen);
|
|
1049
1071
|
}
|
|
@@ -1055,7 +1077,9 @@ class MenuToggleDirective {
|
|
|
1055
1077
|
const backdrop = this._overlayRef?.backdropClick() ?? of();
|
|
1056
1078
|
const detachments = this._overlayRef?.detachments() ?? of();
|
|
1057
1079
|
const parentClose = this._parentMenu ? this._parentMenu.closed : of();
|
|
1058
|
-
const hover = this._parentMenuComponent
|
|
1080
|
+
const hover = this._parentMenuComponent
|
|
1081
|
+
? this._parentMenuComponent._hovered().pipe(filter((active) => active !== this._menuItemInstance), filter(() => this.menuOpen()))
|
|
1082
|
+
: of();
|
|
1059
1083
|
return merge(backdrop, parentClose, hover, detachments);
|
|
1060
1084
|
}
|
|
1061
1085
|
/** Handles the cases where the user hovers over the trigger. */
|
|
@@ -1069,7 +1093,7 @@ class MenuToggleDirective {
|
|
|
1069
1093
|
// Since we might have multiple competing triggers for the same menu (e.g. a sub-menu
|
|
1070
1094
|
// with different data and triggers), we have to delay it by a tick to ensure that
|
|
1071
1095
|
// it won't be closed immediately after it is opened.
|
|
1072
|
-
.pipe(filter(active => active === this._menuItemInstance && !active.disabled), delay(0, asapScheduler))
|
|
1096
|
+
.pipe(filter((active) => active === this._menuItemInstance && !active.disabled), delay(0, asapScheduler))
|
|
1073
1097
|
.subscribe(() => {
|
|
1074
1098
|
this._openedBy = 'mouse';
|
|
1075
1099
|
// If the same menu is used between multiple triggers, it might still be animating
|
|
@@ -1087,25 +1111,24 @@ class MenuToggleDirective {
|
|
|
1087
1111
|
}
|
|
1088
1112
|
});
|
|
1089
1113
|
}
|
|
1090
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1091
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
1114
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MenuToggleDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i1$1.Overlay }, { token: i1.FocusMonitor }, { token: THESEAM_MENU_PANEL, optional: true }, { token: MenuItemComponent, optional: true, self: true }, { token: i4.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1115
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.7", type: MenuToggleDirective, isStandalone: false, selector: "[seamMenuToggle]", inputs: { menu: ["seamMenuToggle", "menu"], positions: "positions", seamMenuTogglePositionsOffsetY: "seamMenuTogglePositionsOffsetY" }, outputs: { menuToggle: "menuToggle", menuOpened: "menuOpened", menuClosed: "menuClosed" }, host: { attributes: { "aria-haspopup": "true" }, listeners: { "mousedown": "_onMouseDown($event)", "keydown": "_onKeydown($event)", "click": "_onClick($event)", "document:keydown": "_onDocumentKeydown($event)" }, properties: { "attr.aria-expanded": "menuOpen() || null", "attr.aria-controls": "menuOpen() ? menu.panelId : null" }, classAttribute: "seam-menu-toggle" }, exportAs: ["seamMenuToggle"], ngImport: i0 });
|
|
1092
1116
|
}
|
|
1093
1117
|
__decorate([
|
|
1094
1118
|
InputNumber(0)
|
|
1095
1119
|
], MenuToggleDirective.prototype, "seamMenuTogglePositionsOffsetY", void 0);
|
|
1096
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MenuToggleDirective, decorators: [{
|
|
1097
1121
|
type: Directive,
|
|
1098
1122
|
args: [{
|
|
1099
1123
|
selector: '[seamMenuToggle]',
|
|
1100
|
-
// tslint:disable-next-line:use-host-property-decorator
|
|
1101
1124
|
host: {
|
|
1102
|
-
|
|
1125
|
+
class: 'seam-menu-toggle',
|
|
1103
1126
|
'aria-haspopup': 'true',
|
|
1104
1127
|
'[attr.aria-expanded]': 'menuOpen() || null',
|
|
1105
1128
|
'[attr.aria-controls]': 'menuOpen() ? menu.panelId : null',
|
|
1106
1129
|
},
|
|
1107
1130
|
exportAs: 'seamMenuToggle',
|
|
1108
|
-
standalone: false
|
|
1131
|
+
standalone: false,
|
|
1109
1132
|
}]
|
|
1110
1133
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i1$1.Overlay }, { type: i1.FocusMonitor }, { type: undefined, decorators: [{
|
|
1111
1134
|
type: Inject,
|
|
@@ -1148,18 +1171,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
1148
1171
|
// TODO: Split up the button and anchor classes.
|
|
1149
1172
|
class MenuFooterActionComponent {
|
|
1150
1173
|
_elementRef;
|
|
1151
|
-
get _attrType() {
|
|
1174
|
+
get _attrType() {
|
|
1175
|
+
return this.type;
|
|
1176
|
+
}
|
|
1152
1177
|
/** ARIA type for the button. */
|
|
1153
|
-
get type() {
|
|
1178
|
+
get type() {
|
|
1179
|
+
return this._isButton() ? this._type || 'button' : undefined;
|
|
1180
|
+
}
|
|
1154
1181
|
set type(value) {
|
|
1155
1182
|
this._type = value;
|
|
1156
1183
|
}
|
|
1157
1184
|
_type;
|
|
1158
|
-
get _classBtn() {
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
get
|
|
1162
|
-
|
|
1185
|
+
get _classBtn() {
|
|
1186
|
+
return this._isButton();
|
|
1187
|
+
}
|
|
1188
|
+
get _classBtnLink() {
|
|
1189
|
+
return this._isButton();
|
|
1190
|
+
}
|
|
1191
|
+
get _stylePadding() {
|
|
1192
|
+
return this._isButton() && 0;
|
|
1193
|
+
}
|
|
1194
|
+
get _styleBorder() {
|
|
1195
|
+
return this._isButton() && 0;
|
|
1196
|
+
}
|
|
1197
|
+
get _styleDisplay() {
|
|
1198
|
+
return this._isButton() && 'inline';
|
|
1199
|
+
}
|
|
1163
1200
|
constructor(_elementRef) {
|
|
1164
1201
|
this._elementRef = _elementRef;
|
|
1165
1202
|
}
|
|
@@ -1171,10 +1208,10 @@ class MenuFooterActionComponent {
|
|
|
1171
1208
|
_isAnchor() {
|
|
1172
1209
|
return this._elementRef.nativeElement.nodeName.toLowerCase() === 'a';
|
|
1173
1210
|
}
|
|
1174
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1175
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
1211
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MenuFooterActionComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1212
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: MenuFooterActionComponent, isStandalone: false, selector: "button[seamMenuFooterAction],a[seamMenuFooterAction]", inputs: { type: "type" }, host: { properties: { "attr.type": "this._attrType", "class.btn": "this._classBtn", "class.btn-link": "this._classBtnLink", "style.padding.px": "this._stylePadding", "style.border.px": "this._styleBorder", "style.display.px": "this._styleDisplay" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1176
1213
|
}
|
|
1177
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1214
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MenuFooterActionComponent, decorators: [{
|
|
1178
1215
|
type: Component,
|
|
1179
1216
|
args: [{ selector: 'button[seamMenuFooterAction],a[seamMenuFooterAction]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-content></ng-content>\n" }]
|
|
1180
1217
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { _attrType: [{
|
|
@@ -1214,14 +1251,14 @@ class MenuFooterComponent {
|
|
|
1214
1251
|
this._parentMenu.setFooter(undefined);
|
|
1215
1252
|
}
|
|
1216
1253
|
}
|
|
1217
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1218
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
1254
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MenuFooterComponent, deps: [{ token: THESEAM_MENU_PANEL, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1255
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: MenuFooterComponent, isStandalone: false, selector: "seam-menu-footer", host: { classAttribute: "d-flex flex-column text-center bg-light border-top rounded-bottom py-2" }, ngImport: i0, template: "<ng-content\n select=\"a[seamMenuFooterAction],button[seamMenuFooterAction]\"\n></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1219
1256
|
}
|
|
1220
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1257
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MenuFooterComponent, decorators: [{
|
|
1221
1258
|
type: Component,
|
|
1222
1259
|
args: [{ selector: 'seam-menu-footer', host: {
|
|
1223
|
-
|
|
1224
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-content
|
|
1260
|
+
class: 'd-flex flex-column text-center bg-light border-top rounded-bottom py-2',
|
|
1261
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-content\n select=\"a[seamMenuFooterAction],button[seamMenuFooterAction]\"\n></ng-content>\n" }]
|
|
1225
1262
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1226
1263
|
type: Inject,
|
|
1227
1264
|
args: [THESEAM_MENU_PANEL]
|
|
@@ -1244,13 +1281,13 @@ class MenuHeaderComponent {
|
|
|
1244
1281
|
this._parentMenu.setHeader(undefined);
|
|
1245
1282
|
}
|
|
1246
1283
|
}
|
|
1247
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1248
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
1284
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MenuHeaderComponent, deps: [{ token: THESEAM_MENU_PANEL, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1285
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.7", type: MenuHeaderComponent, isStandalone: false, selector: "seam-menu-header", host: { classAttribute: "d-flex flex-column bg-light border-bottom rounded-top py-2 mb-2" }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1249
1286
|
}
|
|
1250
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1287
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: MenuHeaderComponent, decorators: [{
|
|
1251
1288
|
type: Component,
|
|
1252
1289
|
args: [{ selector: 'seam-menu-header', host: {
|
|
1253
|
-
|
|
1290
|
+
class: 'd-flex flex-column bg-light border-bottom rounded-top py-2 mb-2',
|
|
1254
1291
|
}, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-content></ng-content>\n" }]
|
|
1255
1292
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1256
1293
|
type: Inject,
|
|
@@ -1260,16 +1297,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
1260
1297
|
}] }] });
|
|
1261
1298
|
|
|
1262
1299
|
class TheSeamMenuModule {
|
|
1263
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1264
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
1300
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1301
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.7", ngImport: i0, type: TheSeamMenuModule, declarations: [MenuComponent,
|
|
1265
1302
|
MenuToggleDirective,
|
|
1266
1303
|
MenuItemComponent,
|
|
1267
1304
|
MenuDividerComponent,
|
|
1268
1305
|
MenuFooterComponent,
|
|
1269
1306
|
MenuFooterActionComponent,
|
|
1270
|
-
MenuHeaderComponent], imports: [CommonModule,
|
|
1271
|
-
OverlayModule,
|
|
1272
|
-
TheSeamIconModule], exports: [MenuComponent,
|
|
1307
|
+
MenuHeaderComponent], imports: [CommonModule, OverlayModule, TheSeamIconModule], exports: [MenuComponent,
|
|
1273
1308
|
MenuToggleDirective,
|
|
1274
1309
|
MenuItemComponent,
|
|
1275
1310
|
MenuDividerComponent,
|
|
@@ -1278,12 +1313,10 @@ class TheSeamMenuModule {
|
|
|
1278
1313
|
MenuFooterComponent,
|
|
1279
1314
|
MenuFooterActionComponent,
|
|
1280
1315
|
MenuHeaderComponent] });
|
|
1281
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
1282
|
-
OverlayModule,
|
|
1283
|
-
TheSeamIconModule, TheSeamIconModule,
|
|
1316
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamMenuModule, imports: [CommonModule, OverlayModule, TheSeamIconModule, TheSeamIconModule,
|
|
1284
1317
|
OverlayModule] });
|
|
1285
1318
|
}
|
|
1286
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1319
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamMenuModule, decorators: [{
|
|
1287
1320
|
type: NgModule,
|
|
1288
1321
|
args: [{
|
|
1289
1322
|
declarations: [
|
|
@@ -1295,11 +1328,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
1295
1328
|
MenuFooterActionComponent,
|
|
1296
1329
|
MenuHeaderComponent,
|
|
1297
1330
|
],
|
|
1298
|
-
imports: [
|
|
1299
|
-
CommonModule,
|
|
1300
|
-
OverlayModule,
|
|
1301
|
-
TheSeamIconModule
|
|
1302
|
-
],
|
|
1331
|
+
imports: [CommonModule, OverlayModule, TheSeamIconModule],
|
|
1303
1332
|
exports: [
|
|
1304
1333
|
MenuComponent,
|
|
1305
1334
|
MenuToggleDirective,
|
|
@@ -1309,8 +1338,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
1309
1338
|
OverlayModule,
|
|
1310
1339
|
MenuFooterComponent,
|
|
1311
1340
|
MenuFooterActionComponent,
|
|
1312
|
-
MenuHeaderComponent
|
|
1313
|
-
]
|
|
1341
|
+
MenuHeaderComponent,
|
|
1342
|
+
],
|
|
1314
1343
|
}]
|
|
1315
1344
|
}] });
|
|
1316
1345
|
|