@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.
Files changed (153) hide show
  1. package/breadcrumbs/index.d.ts +1 -2
  2. package/buttons/index.d.ts +20 -13
  3. package/datatable/index.d.ts +77 -39
  4. package/dynamic/index.d.ts +5 -5
  5. package/fesm2022/theseam-ui-common-asset-reader.mjs +28 -29
  6. package/fesm2022/theseam-ui-common-asset-reader.mjs.map +1 -1
  7. package/fesm2022/theseam-ui-common-breadcrumbs.mjs +25 -31
  8. package/fesm2022/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  9. package/fesm2022/theseam-ui-common-buttons.mjs +108 -66
  10. package/fesm2022/theseam-ui-common-buttons.mjs.map +1 -1
  11. package/fesm2022/theseam-ui-common-card.mjs +21 -21
  12. package/fesm2022/theseam-ui-common-card.mjs.map +1 -1
  13. package/fesm2022/theseam-ui-common-carousel.mjs +28 -30
  14. package/fesm2022/theseam-ui-common-carousel.mjs.map +1 -1
  15. package/fesm2022/theseam-ui-common-checkbox.mjs +27 -27
  16. package/fesm2022/theseam-ui-common-checkbox.mjs.map +1 -1
  17. package/fesm2022/theseam-ui-common-confirm-dialog.mjs +23 -27
  18. package/fesm2022/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  19. package/fesm2022/theseam-ui-common-core.mjs +31 -11
  20. package/fesm2022/theseam-ui-common-core.mjs.map +1 -1
  21. package/fesm2022/theseam-ui-common-data-exporter.mjs +18 -19
  22. package/fesm2022/theseam-ui-common-data-exporter.mjs.map +1 -1
  23. package/fesm2022/theseam-ui-common-data-filters.mjs +80 -64
  24. package/fesm2022/theseam-ui-common-data-filters.mjs.map +1 -1
  25. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs +51 -49
  26. package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs.map +1 -1
  27. package/fesm2022/theseam-ui-common-datatable-dynamic.mjs +145 -112
  28. package/fesm2022/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  29. package/fesm2022/theseam-ui-common-datatable.mjs +727 -420
  30. package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -1
  31. package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs +12 -14
  32. package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  33. package/fesm2022/theseam-ui-common-dynamic.mjs +60 -48
  34. package/fesm2022/theseam-ui-common-dynamic.mjs.map +1 -1
  35. package/fesm2022/theseam-ui-common-footer-bar.mjs +9 -15
  36. package/fesm2022/theseam-ui-common-footer-bar.mjs.map +1 -1
  37. package/fesm2022/theseam-ui-common-form-field-error.mjs +60 -43
  38. package/fesm2022/theseam-ui-common-form-field-error.mjs.map +1 -1
  39. package/fesm2022/theseam-ui-common-form-field.mjs +129 -76
  40. package/fesm2022/theseam-ui-common-form-field.mjs.map +1 -1
  41. package/fesm2022/theseam-ui-common-framework.mjs +669 -543
  42. package/fesm2022/theseam-ui-common-framework.mjs.map +1 -1
  43. package/fesm2022/theseam-ui-common-google-maps.mjs +206 -149
  44. package/fesm2022/theseam-ui-common-google-maps.mjs.map +1 -1
  45. package/fesm2022/theseam-ui-common-graphql.mjs +311 -254
  46. package/fesm2022/theseam-ui-common-graphql.mjs.map +1 -1
  47. package/fesm2022/theseam-ui-common-icon.mjs +125 -89
  48. package/fesm2022/theseam-ui-common-icon.mjs.map +1 -1
  49. package/fesm2022/theseam-ui-common-layout.mjs +18 -26
  50. package/fesm2022/theseam-ui-common-layout.mjs.map +1 -1
  51. package/fesm2022/theseam-ui-common-loading.mjs +19 -28
  52. package/fesm2022/theseam-ui-common-loading.mjs.map +1 -1
  53. package/fesm2022/theseam-ui-common-menu.mjs +124 -95
  54. package/fesm2022/theseam-ui-common-menu.mjs.map +1 -1
  55. package/fesm2022/theseam-ui-common-modal.mjs +178 -129
  56. package/fesm2022/theseam-ui-common-modal.mjs.map +1 -1
  57. package/fesm2022/theseam-ui-common-models.mjs +3 -3
  58. package/fesm2022/theseam-ui-common-models.mjs.map +1 -1
  59. package/fesm2022/theseam-ui-common-navigation-reload.mjs +13 -11
  60. package/fesm2022/theseam-ui-common-navigation-reload.mjs.map +1 -1
  61. package/fesm2022/theseam-ui-common-popover.mjs +81 -88
  62. package/fesm2022/theseam-ui-common-popover.mjs.map +1 -1
  63. package/fesm2022/theseam-ui-common-progress.mjs +15 -19
  64. package/fesm2022/theseam-ui-common-progress.mjs.map +1 -1
  65. package/fesm2022/theseam-ui-common-rich-text.mjs +65 -52
  66. package/fesm2022/theseam-ui-common-rich-text.mjs.map +1 -1
  67. package/fesm2022/theseam-ui-common-scrollbar.mjs +12 -9
  68. package/fesm2022/theseam-ui-common-scrollbar.mjs.map +1 -1
  69. package/fesm2022/theseam-ui-common-services.mjs +41 -26
  70. package/fesm2022/theseam-ui-common-services.mjs.map +1 -1
  71. package/fesm2022/theseam-ui-common-shared.mjs +149 -159
  72. package/fesm2022/theseam-ui-common-shared.mjs.map +1 -1
  73. package/fesm2022/theseam-ui-common-storage.mjs +9 -6
  74. package/fesm2022/theseam-ui-common-storage.mjs.map +1 -1
  75. package/fesm2022/theseam-ui-common-story-helpers.mjs +148 -86
  76. package/fesm2022/theseam-ui-common-story-helpers.mjs.map +1 -1
  77. package/fesm2022/theseam-ui-common-tabbed.mjs +43 -39
  78. package/fesm2022/theseam-ui-common-tabbed.mjs.map +1 -1
  79. package/fesm2022/theseam-ui-common-table-cell-type.mjs +63 -39
  80. package/fesm2022/theseam-ui-common-table-cell-type.mjs.map +1 -1
  81. package/fesm2022/theseam-ui-common-table-cell-types.mjs +182 -144
  82. package/fesm2022/theseam-ui-common-table-cell-types.mjs.map +1 -1
  83. package/fesm2022/theseam-ui-common-table.mjs +62 -41
  84. package/fesm2022/theseam-ui-common-table.mjs.map +1 -1
  85. package/fesm2022/theseam-ui-common-tel-input.mjs +98 -63
  86. package/fesm2022/theseam-ui-common-tel-input.mjs.map +1 -1
  87. package/fesm2022/theseam-ui-common-testing.mjs +13 -10
  88. package/fesm2022/theseam-ui-common-testing.mjs.map +1 -1
  89. package/fesm2022/theseam-ui-common-tiled-select.mjs +54 -50
  90. package/fesm2022/theseam-ui-common-tiled-select.mjs.map +1 -1
  91. package/fesm2022/theseam-ui-common-toggle-edit.mjs +41 -37
  92. package/fesm2022/theseam-ui-common-toggle-edit.mjs.map +1 -1
  93. package/fesm2022/theseam-ui-common-toggle-group.mjs +30 -31
  94. package/fesm2022/theseam-ui-common-toggle-group.mjs.map +1 -1
  95. package/fesm2022/theseam-ui-common-tooltip.mjs +225 -66
  96. package/fesm2022/theseam-ui-common-tooltip.mjs.map +1 -1
  97. package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs +14 -12
  98. package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  99. package/fesm2022/theseam-ui-common-utils.mjs +113 -77
  100. package/fesm2022/theseam-ui-common-utils.mjs.map +1 -1
  101. package/fesm2022/theseam-ui-common-validators.mjs +10 -9
  102. package/fesm2022/theseam-ui-common-validators.mjs.map +1 -1
  103. package/fesm2022/theseam-ui-common-vertical-list-filter.mjs +39 -17
  104. package/fesm2022/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
  105. package/fesm2022/theseam-ui-common-viewers.mjs +80 -53
  106. package/fesm2022/theseam-ui-common-viewers.mjs.map +1 -1
  107. package/fesm2022/theseam-ui-common-widget.mjs +288 -314
  108. package/fesm2022/theseam-ui-common-widget.mjs.map +1 -1
  109. package/form-field/index.d.ts +1 -1
  110. package/framework/base-layout/base-layout.component.scss +9 -4
  111. package/framework/base-layout/styles/_variables.scss +4 -9
  112. package/framework/dashboard/dashboard-widgets/dashboard-widgets.component.scss +6 -4
  113. package/framework/index.d.ts +6 -6
  114. package/framework/nav/nav-item/nav-item.component.scss +7 -6
  115. package/framework/nav/styles/_themes/light/_variables.scss +21 -5
  116. package/framework/nav/styles/_themes/primary/_variables.scss +21 -5
  117. package/framework/side-nav/side-nav-item/side-nav-item.component.scss +5 -2
  118. package/framework/side-nav/styles/_themes/light/_variables.scss +5 -1
  119. package/framework/side-nav/styles/_themes/primary/_variables.scss +25 -5
  120. package/graphql/index.d.ts +49 -7
  121. package/modal/README.md +5 -5
  122. package/modal/index.d.ts +1 -1
  123. package/models/index.d.ts +1 -1
  124. package/package.json +59 -60
  125. package/popover/index.d.ts +0 -2
  126. package/progress/progress-circle/styles/_variables.scss +15 -3
  127. package/shared/index.d.ts +0 -13
  128. package/story-helpers/index.d.ts +11 -1
  129. package/styles/bootstrap/_bootstrap.scss +34 -34
  130. package/styles/bootstrap/_bs-styles.scss +4 -8
  131. package/styles/bootstrap/_bs-utilities.scss +4 -4
  132. package/styles/bootstrap/_bs-variables.scss +65 -70
  133. package/styles/common/_forms.scss +9 -10
  134. package/styles/common/_global.scss +0 -1
  135. package/styles/common/_hacks.scss +1 -1
  136. package/styles/common/_table.scss +0 -1
  137. package/styles/common/_text.scss +3 -1
  138. package/styles/theme.scss +1 -1
  139. package/styles/vendor/ng-select/_ng-select-bs4.scss +292 -294
  140. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +63 -32
  141. package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +37 -10
  142. package/styles/vendor/ngx-datatable/_themes/material/_variables.scss +3 -1
  143. package/styles/vendor/quill/_quill.scss +15 -9
  144. package/table/index.d.ts +4 -1
  145. package/table-cell-type/index.d.ts +27 -2
  146. package/tel-input/README.md +27 -27
  147. package/utils/index.d.ts +3 -3
  148. package/viewers/index.d.ts +9 -2
  149. package/widget/_widget-theme.scss +1 -1
  150. package/widget/styles/_variables.scss +2 -2
  151. package/widget/widget/widget.component.scss +0 -2
  152. package/widget/widget-content-components/widget-tile/widget-tile.component.scss +1 -3
  153. 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 ? this._documentRootLocator.locatorForOptional(`#${panelId}`)() : null;
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.0", ngImport: i0, type: MenuDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
352
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: MenuDividerComponent, isStandalone: false, selector: "seam-menu-divider", host: { classAttribute: "dropdown-divider d-block" }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
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.0", ngImport: i0, type: MenuDividerComponent, decorators: [{
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
- 'class': 'dropdown-divider d-block'
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.0", 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 });
480
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", 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 *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 </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 class=\"badge badge-pill{{ badgeTheme ? ' badge-' + badgeTheme : '' }} position-relative\"\n style=\"top: -2px\"\n >{{ badgeText }}</span>\n </div>\n\n <div class=\"d-flex flex-grow-1 justify-content-end\">\n <seam-icon *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 </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 });
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.0", ngImport: i0, type: MenuItemComponent, decorators: [{
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
- 'class': 'seam-menu-item dropdown-item',
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 *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 </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 class=\"badge badge-pill{{ badgeTheme ? ' badge-' + badgeTheme : '' }} position-relative\"\n style=\"top: -2px\"\n >{{ badgeText }}</span>\n </div>\n\n <div class=\"d-flex flex-grow-1 justify-content-end\">\n <seam-icon *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 </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
+ }, 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
- // tslint:disable-next-line:no-use-before-declare
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() { return this._baseWidth.value; }
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 ? `${window.innerWidth}px` : `${baseWidth}px`));
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).withWrap().withTypeAhead();
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 ? manager?.setFirstItemActive() : manager?.setLastItemActive();
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.0", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
692
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", 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 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 <div class=\"dropdown-menu show position-static{{ menuClass ? ' ' + menuClass : '' }}\"\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: [
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.0", ngImport: i0, type: MenuComponent, decorators: [{
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 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 <div class=\"dropdown-menu show position-static{{ menuClass ? ' ' + menuClass : '' }}\"\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"] }]
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({ passive: true });
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() { return this._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 && (typeof ngDevMode === 'undefined' || ngDevMode)) {
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') && this._parentMenuComponent) {
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 = this._parentMenu instanceof MenuComponent ? this._parentMenu : undefined;
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.position()
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() ? this.menuOpened.emit() : this.menuClosed.emit();
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 ? this._parentMenuComponent._hovered().pipe(filter(active => active !== this._menuItemInstance), filter(() => this.menuOpen())) : of();
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.0", 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 });
1091
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", 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 });
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.0", ngImport: i0, type: MenuToggleDirective, decorators: [{
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
- 'class': 'seam-menu-toggle',
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() { return this.type; }
1174
+ get _attrType() {
1175
+ return this.type;
1176
+ }
1152
1177
  /** ARIA type for the button. */
1153
- get type() { return this._isButton() ? this._type || 'button' : undefined; }
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() { return this._isButton(); }
1159
- get _classBtnLink() { return this._isButton(); }
1160
- get _stylePadding() { return this._isButton() && 0; }
1161
- get _styleBorder() { return this._isButton() && 0; }
1162
- get _styleDisplay() { return this._isButton() && 'inline'; }
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.0", ngImport: i0, type: MenuFooterActionComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
1175
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", 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 });
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.0", ngImport: i0, type: MenuFooterActionComponent, decorators: [{
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.0", ngImport: i0, type: MenuFooterComponent, deps: [{ token: THESEAM_MENU_PANEL, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1218
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", 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 select=\"a[seamMenuFooterAction],button[seamMenuFooterAction]\"></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
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.0", ngImport: i0, type: MenuFooterComponent, decorators: [{
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
- 'class': 'd-flex flex-column text-center bg-light border-top rounded-bottom py-2'
1224
- }, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-content select=\"a[seamMenuFooterAction],button[seamMenuFooterAction]\"></ng-content>\n" }]
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.0", ngImport: i0, type: MenuHeaderComponent, deps: [{ token: THESEAM_MENU_PANEL, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1248
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", 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 });
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.0", ngImport: i0, type: MenuHeaderComponent, decorators: [{
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
- 'class': 'd-flex flex-column bg-light border-bottom rounded-top py-2 mb-2'
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.0", ngImport: i0, type: TheSeamMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1264
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: TheSeamMenuModule, declarations: [MenuComponent,
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.0", ngImport: i0, type: TheSeamMenuModule, imports: [CommonModule,
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.0", ngImport: i0, type: TheSeamMenuModule, decorators: [{
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