@theseam/ui-common 1.0.0-beta.6 → 1.0.0-beta.7

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 (149) hide show
  1. package/breadcrumbs/index.d.ts +1 -2
  2. package/buttons/index.d.ts +20 -13
  3. package/datatable/index.d.ts +8 -8
  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 +581 -385
  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 +120 -74
  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 +252 -195
  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 +177 -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 +123 -67
  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 +34 -38
  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 +50 -39
  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 +79 -56
  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/framework/base-layout/base-layout.component.scss +9 -4
  110. package/framework/base-layout/styles/_variables.scss +4 -9
  111. package/framework/dashboard/dashboard-widgets/dashboard-widgets.component.scss +6 -4
  112. package/framework/index.d.ts +6 -6
  113. package/framework/nav/nav-item/nav-item.component.scss +7 -6
  114. package/framework/nav/styles/_themes/light/_variables.scss +21 -5
  115. package/framework/nav/styles/_themes/primary/_variables.scss +21 -5
  116. package/framework/side-nav/side-nav-item/side-nav-item.component.scss +5 -2
  117. package/framework/side-nav/styles/_themes/light/_variables.scss +5 -1
  118. package/framework/side-nav/styles/_themes/primary/_variables.scss +25 -5
  119. package/graphql/index.d.ts +5 -5
  120. package/modal/README.md +5 -5
  121. package/modal/index.d.ts +1 -1
  122. package/models/index.d.ts +1 -1
  123. package/package.json +59 -59
  124. package/popover/index.d.ts +0 -2
  125. package/progress/progress-circle/styles/_variables.scss +15 -3
  126. package/story-helpers/index.d.ts +11 -1
  127. package/styles/bootstrap/_bootstrap.scss +34 -34
  128. package/styles/bootstrap/_bs-styles.scss +4 -8
  129. package/styles/bootstrap/_bs-utilities.scss +4 -4
  130. package/styles/bootstrap/_bs-variables.scss +65 -70
  131. package/styles/common/_forms.scss +9 -10
  132. package/styles/common/_global.scss +0 -1
  133. package/styles/common/_hacks.scss +1 -1
  134. package/styles/common/_table.scss +0 -1
  135. package/styles/common/_text.scss +3 -1
  136. package/styles/theme.scss +1 -1
  137. package/styles/vendor/ng-select/_ng-select-bs4.scss +292 -294
  138. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +63 -32
  139. package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +37 -10
  140. package/styles/vendor/ngx-datatable/_themes/material/_variables.scss +3 -1
  141. package/styles/vendor/quill/_quill.scss +15 -9
  142. package/tel-input/README.md +27 -27
  143. package/utils/index.d.ts +3 -3
  144. package/viewers/index.d.ts +9 -2
  145. package/widget/_widget-theme.scss +1 -1
  146. package/widget/styles/_variables.scss +2 -2
  147. package/widget/widget/widget.component.scss +0 -2
  148. package/widget/widget-content-components/widget-tile/widget-tile.component.scss +1 -3
  149. package/widget/widget-footer/widget-footer.component.scss +0 -1
@@ -12,9 +12,9 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms';
12
12
  import { CommonModule } from '@angular/common';
13
13
 
14
14
  const THEME_NAMES$1 = [...ThemeNames, ...OutlineThemeNames];
15
- const THEME_CLASSES$1 = THEME_NAMES$1.map(t => `btn-${t}`);
15
+ const THEME_CLASSES$1 = THEME_NAMES$1.map((t) => `btn-${t}`);
16
16
  function getButtonThemeClass(classListString) {
17
- return (classListString?.split(' ') || []).find(c => THEME_CLASSES$1.includes(c));
17
+ return (classListString?.split(' ') || []).find((c) => THEME_CLASSES$1.includes(c));
18
18
  }
19
19
  function createBaseButtonComponentHarnessPredicate(componentHarness, options = {}) {
20
20
  return new HarnessPredicate(componentHarness, options)
@@ -40,7 +40,9 @@ class TheSeamBaseButtonComponentHarness extends ContentContainerComponentHarness
40
40
  }
41
41
  /** Gets the theme of the button item. */
42
42
  async getTheme() {
43
- return (await this.host()).getAttribute('class').then(c => getButtonThemeClass(c)?.replace('btn-', '') || null);
43
+ return (await this.host())
44
+ .getAttribute('class')
45
+ .then((c) => getButtonThemeClass(c)?.replace('btn-', '') || null);
44
46
  }
45
47
  async click() {
46
48
  return (await this.host()).click();
@@ -48,9 +50,9 @@ class TheSeamBaseButtonComponentHarness extends ContentContainerComponentHarness
48
50
  }
49
51
 
50
52
  const THEME_NAMES = [...ThemeNames, ...OutlineThemeNames];
51
- const THEME_CLASSES = THEME_NAMES.map(t => `badge-${t}`);
53
+ const THEME_CLASSES = THEME_NAMES.map((t) => `badge-${t}`);
52
54
  function getbadgeThemeClass(classListString) {
53
- return (classListString?.split(' ') || []).find(c => THEME_CLASSES.includes(c));
55
+ return (classListString?.split(' ') || []).find((c) => THEME_CLASSES.includes(c));
54
56
  }
55
57
  function createBaseBadgeButtonComponentHarnessPredicate(componentHarness, options = {}) {
56
58
  return createBaseButtonComponentHarnessPredicate(componentHarness, options);
@@ -67,7 +69,9 @@ class TheSeamBaseBadgeButtonComponentHarness extends TheSeamBaseButtonComponentH
67
69
  }
68
70
  /** Gets the theme of the badge. */
69
71
  async getBadgeTheme() {
70
- return (await this._badgeElement()).getAttribute('class').then(c => getbadgeThemeClass(c)?.replace('badge-', '') || null);
72
+ return (await this._badgeElement())
73
+ .getAttribute('class')
74
+ .then((c) => getbadgeThemeClass(c)?.replace('badge-', '') || null);
71
75
  }
72
76
  }
73
77
 
@@ -152,8 +156,9 @@ class TheSeamToggleButtonComponentHarness extends TheSeamBaseButtonComponentHarn
152
156
  }
153
157
  /** Gets the theme of the button item. */
154
158
  async isActive() {
155
- return (await this.host()).getAttribute('class')
156
- .then(c => (c?.split(' ').indexOf('active') !== -1) || false);
159
+ return (await this.host())
160
+ .getAttribute('class')
161
+ .then((c) => c?.split(' ').indexOf('active') !== -1 || false);
157
162
  }
158
163
  }
159
164
 
@@ -177,31 +182,40 @@ class TheSeamButtonBase {
177
182
  _getHostElement() {
178
183
  return this._elementRef.nativeElement;
179
184
  }
180
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamButtonBase, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
181
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: TheSeamButtonBase, isStandalone: false, selector: "ng-component", ngImport: i0, template: '', isInline: true });
185
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamButtonBase, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
186
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamButtonBase, isStandalone: false, selector: "ng-component", ngImport: i0, template: '', isInline: true });
182
187
  }
183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamButtonBase, decorators: [{
188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamButtonBase, decorators: [{
184
189
  type: Component,
185
190
  args: [{
186
191
  template: '',
187
- standalone: false
192
+ standalone: false,
188
193
  }]
189
194
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: i0.Renderer2 }] });
190
195
  const _TheSeamButtonMixinBase = mixinSize(mixinTheme(mixinDisabled(TheSeamButtonBase), 'btn'), 'btn');
191
196
  class TheSeamButtonComponent extends _TheSeamButtonMixinBase {
197
+ _elementRef;
198
+ _focusMonitor;
199
+ _renderer;
192
200
  /** ARIA type for the button. */
193
201
  type = 'button';
194
- // eslint-disable-next-line @typescript-eslint/no-useless-constructor
195
- constructor(_elementRef, _focusMonitor, _renderer) { super(_elementRef, _focusMonitor, _renderer); }
196
- ngOnDestroy() { super.ngOnDestroy(); }
197
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
198
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: TheSeamButtonComponent, isStandalone: false, selector: "button[seamButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", type: "type" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null" }, classAttribute: "btn" }, exportAs: ["seamButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
202
+ constructor(_elementRef, _focusMonitor, _renderer) {
203
+ super(_elementRef, _focusMonitor, _renderer);
204
+ this._elementRef = _elementRef;
205
+ this._focusMonitor = _focusMonitor;
206
+ this._renderer = _renderer;
207
+ }
208
+ ngOnDestroy() {
209
+ super.ngOnDestroy();
210
+ }
211
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
212
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamButtonComponent, isStandalone: false, selector: "button[seamButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", type: "type" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null" }, classAttribute: "btn" }, exportAs: ["seamButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
199
213
  }
200
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamButtonComponent, decorators: [{
214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamButtonComponent, decorators: [{
201
215
  type: Component,
202
216
  args: [{ selector: 'button[seamButton]', exportAs: 'seamButton', inputs: ['disabled', 'theme', 'size'], host: {
203
217
  '[attr.type]': 'type',
204
- 'class': 'btn',
218
+ class: 'btn',
205
219
  '[attr.aria-disabled]': 'disabled.toString()',
206
220
  '[attr.disabled]': 'disabled || null',
207
221
  }, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-content></ng-content>\n" }]
@@ -209,6 +223,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
209
223
  type: Input
210
224
  }] } });
211
225
  class TheSeamAnchorButtonComponent extends _TheSeamButtonMixinBase {
226
+ _elementRef;
227
+ _focusMonitor;
228
+ _renderer;
212
229
  /** Tabindex of the button. */
213
230
  tabIndex;
214
231
  // TODO: Consider adding dev warning for `window.opener` exploit. Could maybe
@@ -217,9 +234,15 @@ class TheSeamAnchorButtonComponent extends _TheSeamButtonMixinBase {
217
234
  // usage, so I am just adding this as a reminder to think about it.
218
235
  //
219
236
  // rel="noopener noreferrer"
220
- // eslint-disable-next-line @typescript-eslint/no-useless-constructor
221
- constructor(_elementRef, _focusMonitor, _renderer) { super(_elementRef, _focusMonitor, _renderer); }
222
- ngOnDestroy() { super.ngOnDestroy(); }
237
+ constructor(_elementRef, _focusMonitor, _renderer) {
238
+ super(_elementRef, _focusMonitor, _renderer);
239
+ this._elementRef = _elementRef;
240
+ this._focusMonitor = _focusMonitor;
241
+ this._renderer = _renderer;
242
+ }
243
+ ngOnDestroy() {
244
+ super.ngOnDestroy();
245
+ }
223
246
  _haltDisabledEvents(event) {
224
247
  // A disabled button shouldn't apply any actions
225
248
  if (this.disabled) {
@@ -227,13 +250,13 @@ class TheSeamAnchorButtonComponent extends _TheSeamButtonMixinBase {
227
250
  event.stopImmediatePropagation();
228
251
  }
229
252
  }
230
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamAnchorButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
231
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: TheSeamAnchorButtonComponent, isStandalone: false, selector: "a[seamButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", tabIndex: "tabIndex" }, host: { listeners: { "click": "_haltDisabledEvents($event)" }, properties: { "attr.tabindex": "disabled ? -1 : (tabIndex || 0)", "attr.disabled": "disabled || null", "attr.aria-disabled": "disabled.toString()" }, classAttribute: "btn" }, exportAs: ["seamButton", "seamButtonBaseAnchor"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
253
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamAnchorButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
254
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamAnchorButtonComponent, isStandalone: false, selector: "a[seamButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", tabIndex: "tabIndex" }, host: { listeners: { "click": "_haltDisabledEvents($event)" }, properties: { "attr.tabindex": "disabled ? -1 : (tabIndex || 0)", "attr.disabled": "disabled || null", "attr.aria-disabled": "disabled.toString()" }, classAttribute: "btn" }, exportAs: ["seamButton", "seamButtonBaseAnchor"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
232
255
  }
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamAnchorButtonComponent, decorators: [{
256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamAnchorButtonComponent, decorators: [{
234
257
  type: Component,
235
258
  args: [{ selector: 'a[seamButton]', exportAs: 'seamButton,seamButtonBaseAnchor', inputs: ['disabled', 'theme', 'size'], host: {
236
- 'class': 'btn',
259
+ class: 'btn',
237
260
  // '[class.disabled]': 'disabled || null',
238
261
  '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',
239
262
  '[attr.disabled]': 'disabled || null',
@@ -245,22 +268,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
245
268
  }] } });
246
269
 
247
270
  class TheSeamBadgeButtonComponent extends TheSeamButtonComponent {
271
+ _elementRef;
272
+ _focusMonitor;
273
+ _renderer;
248
274
  _textNoWrap = true;
249
275
  badgeTheme = 'light';
250
276
  badgeText = '';
251
- // eslint-disable-next-line @typescript-eslint/no-useless-constructor
252
- constructor(_elementRef, _focusMonitor, _renderer) { super(_elementRef, _focusMonitor, _renderer); }
253
- ngOnDestroy() { super.ngOnDestroy(); }
254
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamBadgeButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
255
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: TheSeamBadgeButtonComponent, isStandalone: false, selector: "button[seamBadgeButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", badgeTheme: "badgeTheme", badgeText: "badgeText" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null", "class.text-nowrap": "this._textNoWrap" }, classAttribute: "btn" }, exportAs: ["seamBadgeButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n", styles: [""] });
277
+ constructor(_elementRef, _focusMonitor, _renderer) {
278
+ super(_elementRef, _focusMonitor, _renderer);
279
+ this._elementRef = _elementRef;
280
+ this._focusMonitor = _focusMonitor;
281
+ this._renderer = _renderer;
282
+ }
283
+ ngOnDestroy() {
284
+ super.ngOnDestroy();
285
+ }
286
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamBadgeButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
287
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamBadgeButtonComponent, isStandalone: false, selector: "button[seamBadgeButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", badgeTheme: "badgeTheme", badgeText: "badgeText" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null", "class.text-nowrap": "this._textNoWrap" }, classAttribute: "btn" }, exportAs: ["seamBadgeButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n", styles: [""] });
256
288
  }
257
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamBadgeButtonComponent, decorators: [{
289
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamBadgeButtonComponent, decorators: [{
258
290
  type: Component,
259
291
  args: [{ selector: 'button[seamBadgeButton]', exportAs: 'seamBadgeButton', inputs: ['disabled', 'theme', 'size'], host: {
260
292
  '[attr.type]': 'type',
261
- 'class': 'btn',
293
+ class: 'btn',
262
294
  '[attr.aria-disabled]': 'disabled.toString()',
263
- '[attr.disabled]': 'disabled || null'
295
+ '[attr.disabled]': 'disabled || null',
264
296
  }, standalone: false, template: "<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n" }]
265
297
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: i0.Renderer2 }], propDecorators: { _textNoWrap: [{
266
298
  type: HostBinding,
@@ -271,19 +303,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
271
303
  type: Input
272
304
  }] } });
273
305
  class TheSeamAnchorBadgeButtonComponent extends TheSeamAnchorButtonComponent {
306
+ _elementRef;
307
+ _focusMonitor;
308
+ _renderer;
274
309
  _textNoWrap = true;
275
310
  badgeTheme = 'light';
276
311
  badgeText = '';
277
- // eslint-disable-next-line @typescript-eslint/no-useless-constructor
278
- constructor(_elementRef, _focusMonitor, _renderer) { super(_elementRef, _focusMonitor, _renderer); }
279
- ngOnDestroy() { super.ngOnDestroy(); }
280
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamAnchorBadgeButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
281
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: TheSeamAnchorBadgeButtonComponent, isStandalone: false, selector: "a[seamBadgeButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", badgeTheme: "badgeTheme", badgeText: "badgeText" }, host: { listeners: { "click": "_haltDisabledEvents($event)" }, properties: { "attr.tabindex": "disabled ? -1 : (tabIndex || 0)", "attr.disabled": "disabled || null", "attr.aria-disabled": "disabled.toString()", "class.text-nowrap": "this._textNoWrap" }, classAttribute: "btn" }, exportAs: ["seamBadgeButton", "seamBadgeButtonAnchor"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n", styles: [""] });
312
+ constructor(_elementRef, _focusMonitor, _renderer) {
313
+ super(_elementRef, _focusMonitor, _renderer);
314
+ this._elementRef = _elementRef;
315
+ this._focusMonitor = _focusMonitor;
316
+ this._renderer = _renderer;
317
+ }
318
+ ngOnDestroy() {
319
+ super.ngOnDestroy();
320
+ }
321
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamAnchorBadgeButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
322
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamAnchorBadgeButtonComponent, isStandalone: false, selector: "a[seamBadgeButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", badgeTheme: "badgeTheme", badgeText: "badgeText" }, host: { listeners: { "click": "_haltDisabledEvents($event)" }, properties: { "attr.tabindex": "disabled ? -1 : (tabIndex || 0)", "attr.disabled": "disabled || null", "attr.aria-disabled": "disabled.toString()", "class.text-nowrap": "this._textNoWrap" }, classAttribute: "btn" }, exportAs: ["seamBadgeButton", "seamBadgeButtonAnchor"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n", styles: [""] });
282
323
  }
283
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamAnchorBadgeButtonComponent, decorators: [{
324
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamAnchorBadgeButtonComponent, decorators: [{
284
325
  type: Component,
285
326
  args: [{ selector: 'a[seamBadgeButton]', exportAs: 'seamBadgeButton,seamBadgeButtonAnchor', inputs: ['disabled', 'theme', 'size'], host: {
286
- 'class': 'btn',
327
+ class: 'btn',
287
328
  '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',
288
329
  '[attr.disabled]': 'disabled || null',
289
330
  '[attr.aria-disabled]': 'disabled.toString()',
@@ -316,9 +357,11 @@ class TheSeamProgressCircleButtonComponent extends TheSeamButtonComponent {
316
357
  this._focusMonitor = _focusMonitor;
317
358
  this._renderer = _renderer;
318
359
  }
319
- ngOnDestroy() { super.ngOnDestroy(); }
320
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamProgressCircleButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
321
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: TheSeamProgressCircleButtonComponent, isStandalone: false, selector: "button[seamProgressCircleButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", fillBackground: "fillBackground", showText: "showText", hiddenOnEmpty: "hiddenOnEmpty", percentage: "percentage" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null" }, classAttribute: "btn" }, exportAs: ["seamProgressCircleButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\">\n</seam-progress-circle>\n", styles: [":host{padding-right:45px;position:relative}:host.btn-sm{padding-right:40px}:host.btn-sm ::ng-deep .seam-progress-circle{padding:8px}:host.btn-lg{padding-right:50px}:host.btn-lg ::ng-deep .seam-progress-circle{padding:0}:host seam-progress-circle.progress-circle-btn--icon{top:0;right:0;height:100%;width:45px;position:absolute}\n"], dependencies: [{ kind: "component", type: i2.ProgressCircleComponent, selector: "seam-progress-circle", inputs: ["fillBackground", "showText", "hiddenOnEmpty", "pending", "percentage"] }] });
360
+ ngOnDestroy() {
361
+ super.ngOnDestroy();
362
+ }
363
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamProgressCircleButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
364
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamProgressCircleButtonComponent, isStandalone: false, selector: "button[seamProgressCircleButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", fillBackground: "fillBackground", showText: "showText", hiddenOnEmpty: "hiddenOnEmpty", percentage: "percentage" }, host: { properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null" }, classAttribute: "btn" }, exportAs: ["seamProgressCircleButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\"\n>\n</seam-progress-circle>\n", styles: [":host{padding-right:45px;position:relative}:host.btn-sm{padding-right:40px}:host.btn-sm ::ng-deep .seam-progress-circle{padding:8px}:host.btn-lg{padding-right:50px}:host.btn-lg ::ng-deep .seam-progress-circle{padding:0}:host seam-progress-circle.progress-circle-btn--icon{top:0;right:0;height:100%;width:45px;position:absolute}\n"], dependencies: [{ kind: "component", type: i2.ProgressCircleComponent, selector: "seam-progress-circle", inputs: ["fillBackground", "showText", "hiddenOnEmpty", "pending", "percentage"] }] });
322
365
  }
323
366
  __decorate([
324
367
  InputBoolean()
@@ -332,14 +375,14 @@ __decorate([
332
375
  __decorate([
333
376
  InputNumber(0)
334
377
  ], TheSeamProgressCircleButtonComponent.prototype, "percentage", void 0);
335
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamProgressCircleButtonComponent, decorators: [{
378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamProgressCircleButtonComponent, decorators: [{
336
379
  type: Component,
337
380
  args: [{ selector: 'button[seamProgressCircleButton]', exportAs: 'seamProgressCircleButton', inputs: ['disabled', 'theme', 'size'], host: {
338
381
  '[attr.type]': 'type',
339
- 'class': 'btn',
382
+ class: 'btn',
340
383
  '[attr.aria-disabled]': 'disabled.toString()',
341
- '[attr.disabled]': 'disabled || null'
342
- }, standalone: false, template: "<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\">\n</seam-progress-circle>\n", styles: [":host{padding-right:45px;position:relative}:host.btn-sm{padding-right:40px}:host.btn-sm ::ng-deep .seam-progress-circle{padding:8px}:host.btn-lg{padding-right:50px}:host.btn-lg ::ng-deep .seam-progress-circle{padding:0}:host seam-progress-circle.progress-circle-btn--icon{top:0;right:0;height:100%;width:45px;position:absolute}\n"] }]
384
+ '[attr.disabled]': 'disabled || null',
385
+ }, standalone: false, template: "<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\"\n>\n</seam-progress-circle>\n", styles: [":host{padding-right:45px;position:relative}:host.btn-sm{padding-right:40px}:host.btn-sm ::ng-deep .seam-progress-circle{padding:8px}:host.btn-lg{padding-right:50px}:host.btn-lg ::ng-deep .seam-progress-circle{padding:0}:host seam-progress-circle.progress-circle-btn--icon{top:0;right:0;height:100%;width:45px;position:absolute}\n"] }]
343
386
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: i0.Renderer2 }], propDecorators: { fillBackground: [{
344
387
  type: Input
345
388
  }], showText: [{
@@ -366,14 +409,18 @@ class TheSeamToggleButtonComponent extends TheSeamButtonComponent {
366
409
  change = new EventEmitter();
367
410
  onChange;
368
411
  onTouched;
369
- get _activeCssClass() { return this.value ? coerceBooleanProperty(this.value) : false; }
412
+ get _activeCssClass() {
413
+ return this.value ? coerceBooleanProperty(this.value) : false;
414
+ }
370
415
  constructor(_elementRef, _focusMonitor, _renderer) {
371
416
  super(_elementRef, _focusMonitor, _renderer);
372
417
  this._elementRef = _elementRef;
373
418
  this._focusMonitor = _focusMonitor;
374
419
  this._renderer = _renderer;
375
420
  }
376
- ngOnDestroy() { super.ngOnDestroy(); }
421
+ ngOnDestroy() {
422
+ super.ngOnDestroy();
423
+ }
377
424
  get value() {
378
425
  return this.val;
379
426
  }
@@ -402,17 +449,17 @@ class TheSeamToggleButtonComponent extends TheSeamButtonComponent {
402
449
  _toggleValue() {
403
450
  this.value = !this.value;
404
451
  }
405
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamToggleButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
406
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: TheSeamToggleButtonComponent, isStandalone: false, selector: "button[seamToggleButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", val: ["value", "val"] }, outputs: { change: "change" }, host: { listeners: { "click": "_toggleValue()" }, properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null", "class.active": "this._activeCssClass" }, classAttribute: "btn" }, providers: [TOGGLE_BUTTON_VALUE_ACCESSOR], exportAs: ["seamToggleButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] });
452
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamToggleButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
453
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: TheSeamToggleButtonComponent, isStandalone: false, selector: "button[seamToggleButton]", inputs: { disabled: "disabled", theme: "theme", size: "size", val: ["value", "val"] }, outputs: { change: "change" }, host: { listeners: { "click": "_toggleValue()" }, properties: { "attr.type": "type", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null", "class.active": "this._activeCssClass" }, classAttribute: "btn" }, providers: [TOGGLE_BUTTON_VALUE_ACCESSOR], exportAs: ["seamToggleButton"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] });
407
454
  }
408
455
  __decorate([
409
456
  InputBoolean()
410
457
  ], TheSeamToggleButtonComponent.prototype, "val", void 0);
411
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamToggleButtonComponent, decorators: [{
458
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamToggleButtonComponent, decorators: [{
412
459
  type: Component,
413
460
  args: [{ selector: 'button[seamToggleButton]', exportAs: 'seamToggleButton', inputs: ['disabled', 'theme', 'size'], host: {
414
461
  '[attr.type]': 'type',
415
- 'class': 'btn',
462
+ class: 'btn',
416
463
  '[attr.aria-disabled]': 'disabled.toString()',
417
464
  '[attr.disabled]': 'disabled || null',
418
465
  '(click)': '_toggleValue()',
@@ -428,23 +475,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
428
475
  }] } });
429
476
 
430
477
  class TheSeamButtonsModule {
431
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamButtonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
432
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.1", ngImport: i0, type: TheSeamButtonsModule, declarations: [TheSeamBadgeButtonComponent,
478
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamButtonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
479
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: TheSeamButtonsModule, declarations: [TheSeamBadgeButtonComponent,
433
480
  TheSeamProgressCircleButtonComponent,
434
481
  TheSeamToggleButtonComponent,
435
482
  TheSeamButtonComponent,
436
483
  TheSeamAnchorButtonComponent,
437
- TheSeamAnchorBadgeButtonComponent], imports: [CommonModule,
438
- TheSeamProgressModule], exports: [TheSeamBadgeButtonComponent,
484
+ TheSeamAnchorBadgeButtonComponent], imports: [CommonModule, TheSeamProgressModule], exports: [TheSeamBadgeButtonComponent,
439
485
  TheSeamProgressCircleButtonComponent,
440
486
  TheSeamToggleButtonComponent,
441
487
  TheSeamButtonComponent,
442
488
  TheSeamAnchorButtonComponent,
443
489
  TheSeamAnchorBadgeButtonComponent] });
444
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamButtonsModule, imports: [CommonModule,
445
- TheSeamProgressModule] });
490
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamButtonsModule, imports: [CommonModule, TheSeamProgressModule] });
446
491
  }
447
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: TheSeamButtonsModule, decorators: [{
492
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamButtonsModule, decorators: [{
448
493
  type: NgModule,
449
494
  args: [{
450
495
  declarations: [
@@ -455,10 +500,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
455
500
  TheSeamAnchorButtonComponent,
456
501
  TheSeamAnchorBadgeButtonComponent,
457
502
  ],
458
- imports: [
459
- CommonModule,
460
- TheSeamProgressModule
461
- ],
503
+ imports: [CommonModule, TheSeamProgressModule],
462
504
  exports: [
463
505
  TheSeamBadgeButtonComponent,
464
506
  TheSeamProgressCircleButtonComponent,
@@ -466,7 +508,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
466
508
  TheSeamButtonComponent,
467
509
  TheSeamAnchorButtonComponent,
468
510
  TheSeamAnchorBadgeButtonComponent,
469
- ]
511
+ ],
470
512
  }]
471
513
  }] });
472
514
 
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-buttons.mjs","sources":["../../../projects/ui-common/buttons/testing/base-button.harness.ts","../../../projects/ui-common/buttons/testing/base-badge-button.harness.ts","../../../projects/ui-common/buttons/testing/anchor-badge-button.harness.ts","../../../projects/ui-common/buttons/testing/anchor-button.harness.ts","../../../projects/ui-common/buttons/testing/badge-button.harness.ts","../../../projects/ui-common/buttons/testing/button.harness.ts","../../../projects/ui-common/buttons/testing/toggle-button.harness.ts","../../../projects/ui-common/buttons/button/button.component.ts","../../../projects/ui-common/buttons/button/button.component.html","../../../projects/ui-common/buttons/badge-button/badge-button.component.ts","../../../projects/ui-common/buttons/badge-button/badge-button.component.html","../../../projects/ui-common/buttons/progress-circle-button/progress-circle-button.component.ts","../../../projects/ui-common/buttons/progress-circle-button/progress-circle-button.component.html","../../../projects/ui-common/buttons/toggle-button/toggle-button.component.ts","../../../projects/ui-common/buttons/toggle-button/toggle-button.component.html","../../../projects/ui-common/buttons/buttons.module.ts","../../../projects/ui-common/buttons/theseam-ui-common-buttons.ts"],"sourcesContent":["import { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { BaseHarnessFilters, ComponentHarness, ComponentHarnessConstructor, ContentContainerComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\n// import { TheSeamMenuHarness } from './button.harness'\n// import { animatingWait } from './utils'\n\nimport { OutlineThemeNames, ThemeNames } from '@theseam/ui-common/models'\n\nconst THEME_NAMES = [ ...ThemeNames, ...OutlineThemeNames ]\nconst THEME_CLASSES = THEME_NAMES.map(t => `btn-${t}`)\n\nfunction getButtonThemeClass(classListString: string | null) {\n return (classListString?.split(' ') || []).find(c => THEME_CLASSES.includes(c))\n}\n\n/** A set of criteria that can be used to filter a list of `TheSeamBaseButtonComponentHarness` instances. */\nexport interface TheSeamBaseButtonComponentHarnessFilters extends BaseHarnessFilters {\n /** Only find instances whose text matches the given value. */\n text?: string | RegExp\n type?: 'button' | 'submit' | 'reset'\n}\n\nexport function createBaseButtonComponentHarnessPredicate<T extends TheSeamBaseButtonComponentHarness>(\n componentHarness: ComponentHarnessConstructor<T>,\n options: TheSeamBaseButtonComponentHarnessFilters = {},\n): HarnessPredicate<T> {\n return new HarnessPredicate(componentHarness, options)\n .addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n )\n .addOption('type', options.type, (harness, type) =>\n HarnessPredicate.stringMatches(harness.getType(), type),\n )\n}\n\nexport class TheSeamBaseButtonComponentHarness extends ContentContainerComponentHarness<string> {\n\n /** Whether the button is disabled. */\n async isDisabled(): Promise<boolean> {\n const disabled = (await this.host()).getAttribute('disabled')\n return coerceBooleanProperty(await disabled)\n }\n\n async hasDisabledAria(): Promise<boolean> {\n const ariaValue = await (await this.host()).getAttribute('aria-disabled')\n return ariaValue === 'true'\n }\n\n async getType(): Promise<string | null> {\n return (await this.host()).getAttribute('type')\n }\n\n /** Gets the text of the button item. */\n async getText(): Promise<string> {\n return (await this.host()).text()\n }\n\n /** Gets the theme of the button item. */\n async getTheme(): Promise<string | null> {\n return (await this.host()).getAttribute('class').then(c => getButtonThemeClass(c)?.replace('btn-', '') || null)\n }\n\n async click(): Promise<void> {\n return (await this.host()).click()\n }\n}\n","import { ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing'\r\n\r\nimport { OutlineThemeNames, ThemeNames } from '@theseam/ui-common/models'\r\nimport { TheSeamBaseButtonComponentHarness, TheSeamBaseButtonComponentHarnessFilters, createBaseButtonComponentHarnessPredicate } from './base-button.harness'\r\n\r\nconst THEME_NAMES = [ ...ThemeNames, ...OutlineThemeNames ]\r\nconst THEME_CLASSES = THEME_NAMES.map(t => `badge-${t}`)\r\n\r\nfunction getbadgeThemeClass(classListString: string | null) {\r\n return (classListString?.split(' ') || []).find(c => THEME_CLASSES.includes(c))\r\n}\r\n\r\n/** A set of criteria that can be used to filter a list of `TheSeamBaseBadgeButtonComponentHarness` instances. */\r\nexport interface TheSeamBaseBadgeButtonComponentHarnessFilters extends TheSeamBaseButtonComponentHarnessFilters { }\r\n\r\nexport function createBaseBadgeButtonComponentHarnessPredicate<T extends TheSeamBaseBadgeButtonComponentHarness>(\r\n componentHarness: ComponentHarnessConstructor<T>,\r\n options: TheSeamBaseBadgeButtonComponentHarnessFilters = {},\r\n): HarnessPredicate<T> {\r\n return createBaseButtonComponentHarnessPredicate(componentHarness, options)\r\n}\r\n\r\nexport class TheSeamBaseBadgeButtonComponentHarness extends TheSeamBaseButtonComponentHarness {\r\n\r\n private readonly _badgeElement = this.locatorFor('.badge')\r\n\r\n /** Gets the text of the button item. */\r\n async getText(): Promise<string> {\r\n return (await this.host()).text({ exclude: '.badge' })\r\n }\r\n\r\n /** Gets the text of the badge. */\r\n async getBadgeText(): Promise<string> {\r\n return (await this._badgeElement()).text()\r\n }\r\n\r\n /** Gets the theme of the badge. */\r\n async getBadgeTheme(): Promise<string | null> {\r\n return (await this._badgeElement()).getAttribute('class').then(c => getbadgeThemeClass(c)?.replace('badge-', '') || null)\r\n }\r\n}\r\n","import { ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing'\r\n\r\nimport { TheSeamBaseBadgeButtonComponentHarness, TheSeamBaseBadgeButtonComponentHarnessFilters, createBaseBadgeButtonComponentHarnessPredicate } from './base-badge-button.harness'\r\n\r\n/** A set of criteria that can be used to filter a list of `TheSeamAnchorBadgeButtonComponentHarness` instances. */\r\nexport interface TheSeamAnchorBadgeButtonComponentHarnessFilters extends TheSeamBaseBadgeButtonComponentHarnessFilters { }\r\n\r\nexport class TheSeamAnchorBadgeButtonComponentHarness extends TheSeamBaseBadgeButtonComponentHarness {\r\n\r\n /** The selector for the host element of a `TheSeamAnchorBadgeButtonComponent` instance. */\r\n static hostSelector = 'a[seamBadgeButton]'\r\n\r\n /**\r\n * Gets a `HarnessPredicate` that can be used to search for a button item with specific attributes.\r\n * @param options Options for filtering which button item instances are considered a match.\r\n * @return a `HarnessPredicate` configured with the given options.\r\n */\r\n static with<T extends TheSeamAnchorBadgeButtonComponentHarness>(\r\n this: ComponentHarnessConstructor<T>,\r\n options: TheSeamAnchorBadgeButtonComponentHarnessFilters = {},\r\n ): HarnessPredicate<T> {\r\n return createBaseBadgeButtonComponentHarnessPredicate(this, options)\r\n }\r\n\r\n async getTabIndex(): Promise<number> {\r\n const tabIndex = await (await this.host()).getAttribute('tabindex')\r\n return Number(tabIndex)\r\n }\r\n\r\n}\r\n","import { ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing'\r\n\r\nimport { TheSeamBaseButtonComponentHarness, TheSeamBaseButtonComponentHarnessFilters, createBaseButtonComponentHarnessPredicate } from './base-button.harness'\r\n\r\n/** A set of criteria that can be used to filter a list of `TheSeamAnchorButtonComponentHarness` instances. */\r\nexport interface TheSeamAnchorButtonComponentHarnessFilters extends TheSeamBaseButtonComponentHarnessFilters { }\r\n\r\nexport class TheSeamAnchorButtonComponentHarness extends TheSeamBaseButtonComponentHarness {\r\n\r\n /** The selector for the host element of a `TheSeamAnchorButtonComponent` instance. */\r\n static hostSelector = 'a[seamButton]'\r\n\r\n /**\r\n * Gets a `HarnessPredicate` that can be used to search for a button item with specific attributes.\r\n * @param options Options for filtering which button item instances are considered a match.\r\n * @return a `HarnessPredicate` configured with the given options.\r\n */\r\n static with<T extends TheSeamAnchorButtonComponentHarness>(\r\n this: ComponentHarnessConstructor<T>,\r\n options: TheSeamAnchorButtonComponentHarnessFilters = {},\r\n ): HarnessPredicate<T> {\r\n return createBaseButtonComponentHarnessPredicate(this, options)\r\n }\r\n\r\n async getTabIndex(): Promise<number> {\r\n const tabIndex = await (await this.host()).getAttribute('tabindex')\r\n return Number(tabIndex)\r\n }\r\n\r\n}\r\n","import { ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing'\r\n\r\nimport { TheSeamBaseBadgeButtonComponentHarness, TheSeamBaseBadgeButtonComponentHarnessFilters, createBaseBadgeButtonComponentHarnessPredicate } from './base-badge-button.harness'\r\n\r\n/** A set of criteria that can be used to filter a list of `TheSeamBadgeButtonComponentHarness` instances. */\r\nexport interface TheSeamBadgeButtonComponentHarnessFilters extends TheSeamBaseBadgeButtonComponentHarnessFilters { }\r\n\r\nexport class TheSeamBadgeButtonComponentHarness extends TheSeamBaseBadgeButtonComponentHarness {\r\n\r\n /** The selector for the host element of a `TheSeamBadgeButtonComponent` instance. */\r\n static hostSelector = 'button[seamBadgeButton]'\r\n\r\n /**\r\n * Gets a `HarnessPredicate` that can be used to search for a button item with specific attributes.\r\n * @param options Options for filtering which button item instances are considered a match.\r\n * @return a `HarnessPredicate` configured with the given options.\r\n */\r\n static with<T extends TheSeamBadgeButtonComponentHarness>(\r\n this: ComponentHarnessConstructor<T>,\r\n options: TheSeamBadgeButtonComponentHarnessFilters = {},\r\n ): HarnessPredicate<T> {\r\n return createBaseBadgeButtonComponentHarnessPredicate(this, options)\r\n }\r\n\r\n}\r\n","import { coerceBooleanProperty } from '@angular/cdk/coercion'\r\nimport { ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing'\r\n\r\n// import { TheSeamMenuHarness } from './button.harness'\r\n// import { animatingWait } from './utils'\r\n\r\nimport { TheSeamBaseButtonComponentHarness, TheSeamBaseButtonComponentHarnessFilters, createBaseButtonComponentHarnessPredicate } from './base-button.harness'\r\n\r\n/** A set of criteria that can be used to filter a list of `TheSeamButtonComponentHarness` instances. */\r\nexport interface TheSeamButtonComponentHarnessFilters extends TheSeamBaseButtonComponentHarnessFilters { }\r\n\r\nexport class TheSeamButtonComponentHarness extends TheSeamBaseButtonComponentHarness {\r\n\r\n /** The selector for the host element of a `TheSeamButtonComponent` instance. */\r\n static hostSelector = 'button[seamButton]'\r\n\r\n /**\r\n * Gets a `HarnessPredicate` that can be used to search for a button item with specific attributes.\r\n * @param options Options for filtering which button item instances are considered a match.\r\n * @return a `HarnessPredicate` configured with the given options.\r\n */\r\n static with<T extends TheSeamButtonComponentHarness>(\r\n this: ComponentHarnessConstructor<T>,\r\n options: TheSeamButtonComponentHarnessFilters = {},\r\n ): HarnessPredicate<T> {\r\n return createBaseButtonComponentHarnessPredicate(this, options)\r\n }\r\n\r\n}\r\n","import { ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing'\r\n\r\nimport { TheSeamBaseButtonComponentHarness, TheSeamBaseButtonComponentHarnessFilters, createBaseButtonComponentHarnessPredicate } from './base-button.harness'\r\n\r\n/** A set of criteria that can be used to filter a list of `TheSeamToggleButtonComponentHarness` instances. */\r\nexport interface TheSeamToggleButtonComponentHarnessFilters extends TheSeamBaseButtonComponentHarnessFilters { }\r\n\r\nexport class TheSeamToggleButtonComponentHarness extends TheSeamBaseButtonComponentHarness {\r\n\r\n /** The selector for the host element of a `TheSeamToggleButtonComponent` instance. */\r\n static hostSelector = 'button[seamToggleButton]'\r\n\r\n /**\r\n * Gets a `HarnessPredicate` that can be used to search for a button item with specific attributes.\r\n * @param options Options for filtering which button item instances are considered a match.\r\n * @return a `HarnessPredicate` configured with the given options.\r\n */\r\n static with<T extends TheSeamToggleButtonComponentHarness>(\r\n this: ComponentHarnessConstructor<T>,\r\n options: TheSeamToggleButtonComponentHarnessFilters = {},\r\n ): HarnessPredicate<T> {\r\n return createBaseButtonComponentHarnessPredicate(this, options)\r\n }\r\n\r\n /**\r\n * Clicks the button.\r\n */\r\n public async click() {\r\n return (await this.host()).click()\r\n }\r\n\r\n /** Gets the theme of the button item. */\r\n async isActive(): Promise<boolean> {\r\n return (await this.host()).getAttribute('class')\r\n .then(c => (c?.split(' ').indexOf('active') !== -1) || false)\r\n }\r\n}\r\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { ChangeDetectionStrategy, Component, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport {\n CanDisableCtor,\n CanSizeCtor,\n CanThemeCtor,\n mixinDisabled,\n mixinSize,\n mixinTheme\n} from '@theseam/ui-common/core'\n\n@Component({\n template: '',\n standalone: false\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nclass TheSeamButtonBase implements OnDestroy {\n constructor(\n public _elementRef: ElementRef,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n this._focusMonitor.monitor(this._elementRef, true)\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n\n /** Focuses the button. */\n focus(): void {\n this._getHostElement().focus()\n }\n\n _getHostElement() {\n return this._elementRef.nativeElement\n }\n}\n\nconst _TheSeamButtonMixinBase: CanDisableCtor & CanThemeCtor & CanSizeCtor &\n typeof TheSeamButtonBase = mixinSize(mixinTheme(mixinDisabled(TheSeamButtonBase), 'btn'), 'btn')\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton',\n inputs: ['disabled', 'theme', 'size'],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class TheSeamButtonComponent extends _TheSeamButtonMixinBase implements OnDestroy {\n\n /** ARIA type for the button. */\n @Input() type: 'button' | 'submit' | 'reset' = 'button'\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton,seamButtonBaseAnchor',\n inputs: ['disabled', 'theme', 'size'],\n host: {\n 'class': 'btn',\n // '[class.disabled]': 'disabled || null',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class TheSeamAnchorButtonComponent extends _TheSeamButtonMixinBase implements OnDestroy {\n\n /** Tabindex of the button. */\n @Input() tabIndex: number | undefined | null\n\n // TODO: Consider adding dev warning for `window.opener` exploit. Could maybe\n // add `rel` it if the href isn't on the current domain or not specified in an\n // injected list. This probably isn't needed and may be to strict for our\n // usage, so I am just adding this as a reminder to think about it.\n //\n // rel=\"noopener noreferrer\"\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n _haltDisabledEvents(event: Event) {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n }\n\n}\n","<ng-content></ng-content>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { Component, ElementRef, HostBinding, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport type { ThemeTypes } from '@theseam/ui-common/models'\nimport { TheSeamAnchorButtonComponent, TheSeamButtonComponent } from '../button/button.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton',\n inputs: ['disabled', 'theme', 'size'],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null'\n },\n standalone: false\n})\nexport class TheSeamBadgeButtonComponent extends TheSeamButtonComponent implements OnDestroy {\n\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton,seamBadgeButtonAnchor',\n inputs: ['disabled', 'theme', 'size'],\n host: {\n 'class': 'btn',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n standalone: false\n})\nexport class TheSeamAnchorBadgeButtonComponent extends TheSeamAnchorButtonComponent implements OnDestroy {\n\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n","<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion'\nimport { Component, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\n\nimport { TheSeamButtonComponent } from '../button/button.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamProgressCircleButton]',\n templateUrl: './progress-circle-button.component.html',\n styleUrls: ['./progress-circle-button.component.scss'],\n exportAs: 'seamProgressCircleButton',\n inputs: ['disabled', 'theme', 'size'],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null'\n },\n standalone: false\n})\nexport class TheSeamProgressCircleButtonComponent extends TheSeamButtonComponent implements OnDestroy {\n static ngAcceptInputType_fillBackground: BooleanInput\n static ngAcceptInputType_showText: BooleanInput\n static ngAcceptInputType_hiddenOnEmpty: BooleanInput\n static ngAcceptInputType_percentage: NumberInput\n\n @Input() @InputBoolean() fillBackground = false\n @Input() @InputBoolean() showText = false\n @Input() @InputBoolean() hiddenOnEmpty = true\n\n @Input() @InputNumber(0) percentage = 100\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n","<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\">\n</seam-progress-circle>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport {\n Component, ElementRef, EventEmitter,\n forwardRef, HostBinding, Input, OnDestroy, Output, Renderer2\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { TheSeamButtonComponent } from '../button/button.component'\n\nexport const TOGGLE_BUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TheSeamToggleButtonComponent),\n multi: true,\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamToggleButton]',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss'],\n exportAs: 'seamToggleButton',\n inputs: ['disabled', 'theme', 'size'],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n '(click)': '_toggleValue()',\n },\n providers: [TOGGLE_BUTTON_VALUE_ACCESSOR],\n standalone: false\n})\nexport class TheSeamToggleButtonComponent extends TheSeamButtonComponent implements OnDestroy, ControlValueAccessor {\n static ngAcceptInputType_val: BooleanInput\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('value') @InputBoolean() val = false\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<boolean>()\n\n onChange: any\n onTouched: any\n\n @HostBinding('class.active')\n get _activeCssClass() { return this.value ? coerceBooleanProperty(this.value) : false }\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n get value(): boolean {\n return this.val\n }\n\n set value(value: boolean) {\n this.val = value\n this.change.emit(this.val)\n if (this.onChange) { this.onChange(value) }\n if (this.onTouched) { this.onTouched() }\n }\n\n writeValue(value: any): void {\n this.value = value\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n _toggleValue() {\n this.value = !this.value\n }\n\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamProgressModule } from '@theseam/ui-common/progress'\n\nimport { TheSeamAnchorBadgeButtonComponent, TheSeamBadgeButtonComponent } from './badge-button/badge-button.component'\nimport { TheSeamAnchorButtonComponent, TheSeamButtonComponent } from './button/button.component'\nimport { TheSeamProgressCircleButtonComponent } from './progress-circle-button/progress-circle-button.component'\nimport { TheSeamToggleButtonComponent } from './toggle-button/toggle-button.component'\n\n@NgModule({\n declarations: [\n TheSeamBadgeButtonComponent,\n TheSeamProgressCircleButtonComponent,\n TheSeamToggleButtonComponent,\n TheSeamButtonComponent,\n TheSeamAnchorButtonComponent,\n TheSeamAnchorBadgeButtonComponent,\n ],\n imports: [\n CommonModule,\n TheSeamProgressModule\n ],\n exports: [\n TheSeamBadgeButtonComponent,\n TheSeamProgressCircleButtonComponent,\n TheSeamToggleButtonComponent,\n TheSeamButtonComponent,\n TheSeamAnchorButtonComponent,\n TheSeamAnchorBadgeButtonComponent,\n ]\n})\nexport class TheSeamButtonsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["THEME_NAMES","THEME_CLASSES"],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-buttons.mjs","sources":["../../../projects/ui-common/buttons/testing/base-button.harness.ts","../../../projects/ui-common/buttons/testing/base-badge-button.harness.ts","../../../projects/ui-common/buttons/testing/anchor-badge-button.harness.ts","../../../projects/ui-common/buttons/testing/anchor-button.harness.ts","../../../projects/ui-common/buttons/testing/badge-button.harness.ts","../../../projects/ui-common/buttons/testing/button.harness.ts","../../../projects/ui-common/buttons/testing/toggle-button.harness.ts","../../../projects/ui-common/buttons/button/button.component.ts","../../../projects/ui-common/buttons/button/button.component.html","../../../projects/ui-common/buttons/badge-button/badge-button.component.ts","../../../projects/ui-common/buttons/badge-button/badge-button.component.html","../../../projects/ui-common/buttons/progress-circle-button/progress-circle-button.component.ts","../../../projects/ui-common/buttons/progress-circle-button/progress-circle-button.component.html","../../../projects/ui-common/buttons/toggle-button/toggle-button.component.ts","../../../projects/ui-common/buttons/toggle-button/toggle-button.component.html","../../../projects/ui-common/buttons/buttons.module.ts","../../../projects/ui-common/buttons/theseam-ui-common-buttons.ts"],"sourcesContent":["import { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport {\n BaseHarnessFilters,\n ComponentHarness,\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing'\n\n// import { TheSeamMenuHarness } from './button.harness'\n// import { animatingWait } from './utils'\n\nimport { OutlineThemeNames, ThemeNames } from '@theseam/ui-common/models'\n\nconst THEME_NAMES = [...ThemeNames, ...OutlineThemeNames]\nconst THEME_CLASSES = THEME_NAMES.map((t) => `btn-${t}`)\n\nfunction getButtonThemeClass(classListString: string | null) {\n return (classListString?.split(' ') || []).find((c) =>\n THEME_CLASSES.includes(c),\n )\n}\n\n/** A set of criteria that can be used to filter a list of `TheSeamBaseButtonComponentHarness` instances. */\nexport interface TheSeamBaseButtonComponentHarnessFilters\n extends BaseHarnessFilters {\n /** Only find instances whose text matches the given value. */\n text?: string | RegExp\n type?: 'button' | 'submit' | 'reset'\n}\n\nexport function createBaseButtonComponentHarnessPredicate<\n T extends TheSeamBaseButtonComponentHarness,\n>(\n componentHarness: ComponentHarnessConstructor<T>,\n options: TheSeamBaseButtonComponentHarnessFilters = {},\n): HarnessPredicate<T> {\n return new HarnessPredicate(componentHarness, options)\n .addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n )\n .addOption('type', options.type, (harness, type) =>\n HarnessPredicate.stringMatches(harness.getType(), type),\n )\n}\n\nexport class TheSeamBaseButtonComponentHarness extends ContentContainerComponentHarness<string> {\n /** Whether the button is disabled. */\n async isDisabled(): Promise<boolean> {\n const disabled = (await this.host()).getAttribute('disabled')\n return coerceBooleanProperty(await disabled)\n }\n\n async hasDisabledAria(): Promise<boolean> {\n const ariaValue = await (await this.host()).getAttribute('aria-disabled')\n return ariaValue === 'true'\n }\n\n async getType(): Promise<string | null> {\n return (await this.host()).getAttribute('type')\n }\n\n /** Gets the text of the button item. */\n async getText(): Promise<string> {\n return (await this.host()).text()\n }\n\n /** Gets the theme of the button item. */\n async getTheme(): Promise<string | null> {\n return (await this.host())\n .getAttribute('class')\n .then((c) => getButtonThemeClass(c)?.replace('btn-', '') || null)\n }\n\n async click(): Promise<void> {\n return (await this.host()).click()\n }\n}\n","import {\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing'\n\nimport { OutlineThemeNames, ThemeNames } from '@theseam/ui-common/models'\nimport {\n TheSeamBaseButtonComponentHarness,\n TheSeamBaseButtonComponentHarnessFilters,\n createBaseButtonComponentHarnessPredicate,\n} from './base-button.harness'\n\nconst THEME_NAMES = [...ThemeNames, ...OutlineThemeNames]\nconst THEME_CLASSES = THEME_NAMES.map((t) => `badge-${t}`)\n\nfunction getbadgeThemeClass(classListString: string | null) {\n return (classListString?.split(' ') || []).find((c) =>\n THEME_CLASSES.includes(c),\n )\n}\n\n/** A set of criteria that can be used to filter a list of `TheSeamBaseBadgeButtonComponentHarness` instances. */\nexport type TheSeamBaseBadgeButtonComponentHarnessFilters =\n TheSeamBaseButtonComponentHarnessFilters\n\nexport function createBaseBadgeButtonComponentHarnessPredicate<\n T extends TheSeamBaseBadgeButtonComponentHarness,\n>(\n componentHarness: ComponentHarnessConstructor<T>,\n options: TheSeamBaseBadgeButtonComponentHarnessFilters = {},\n): HarnessPredicate<T> {\n return createBaseButtonComponentHarnessPredicate(componentHarness, options)\n}\n\nexport class TheSeamBaseBadgeButtonComponentHarness extends TheSeamBaseButtonComponentHarness {\n private readonly _badgeElement = this.locatorFor('.badge')\n\n /** Gets the text of the button item. */\n async getText(): Promise<string> {\n return (await this.host()).text({ exclude: '.badge' })\n }\n\n /** Gets the text of the badge. */\n async getBadgeText(): Promise<string> {\n return (await this._badgeElement()).text()\n }\n\n /** Gets the theme of the badge. */\n async getBadgeTheme(): Promise<string | null> {\n return (await this._badgeElement())\n .getAttribute('class')\n .then((c) => getbadgeThemeClass(c)?.replace('badge-', '') || null)\n }\n}\n","import {\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing'\n\nimport {\n TheSeamBaseBadgeButtonComponentHarness,\n TheSeamBaseBadgeButtonComponentHarnessFilters,\n createBaseBadgeButtonComponentHarnessPredicate,\n} from './base-badge-button.harness'\n\n/** A set of criteria that can be used to filter a list of `TheSeamAnchorBadgeButtonComponentHarness` instances. */\nexport type TheSeamAnchorBadgeButtonComponentHarnessFilters =\n TheSeamBaseBadgeButtonComponentHarnessFilters\n\nexport class TheSeamAnchorBadgeButtonComponentHarness extends TheSeamBaseBadgeButtonComponentHarness {\n /** The selector for the host element of a `TheSeamAnchorBadgeButtonComponent` instance. */\n static hostSelector = 'a[seamBadgeButton]'\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a button item with specific attributes.\n * @param options Options for filtering which button item instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends TheSeamAnchorBadgeButtonComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TheSeamAnchorBadgeButtonComponentHarnessFilters = {},\n ): HarnessPredicate<T> {\n return createBaseBadgeButtonComponentHarnessPredicate(this, options)\n }\n\n async getTabIndex(): Promise<number> {\n const tabIndex = await (await this.host()).getAttribute('tabindex')\n return Number(tabIndex)\n }\n}\n","import {\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing'\n\nimport {\n TheSeamBaseButtonComponentHarness,\n TheSeamBaseButtonComponentHarnessFilters,\n createBaseButtonComponentHarnessPredicate,\n} from './base-button.harness'\n\n/** A set of criteria that can be used to filter a list of `TheSeamAnchorButtonComponentHarness` instances. */\nexport type TheSeamAnchorButtonComponentHarnessFilters =\n TheSeamBaseButtonComponentHarnessFilters\n\nexport class TheSeamAnchorButtonComponentHarness extends TheSeamBaseButtonComponentHarness {\n /** The selector for the host element of a `TheSeamAnchorButtonComponent` instance. */\n static hostSelector = 'a[seamButton]'\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a button item with specific attributes.\n * @param options Options for filtering which button item instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends TheSeamAnchorButtonComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TheSeamAnchorButtonComponentHarnessFilters = {},\n ): HarnessPredicate<T> {\n return createBaseButtonComponentHarnessPredicate(this, options)\n }\n\n async getTabIndex(): Promise<number> {\n const tabIndex = await (await this.host()).getAttribute('tabindex')\n return Number(tabIndex)\n }\n}\n","import {\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing'\n\nimport {\n TheSeamBaseBadgeButtonComponentHarness,\n TheSeamBaseBadgeButtonComponentHarnessFilters,\n createBaseBadgeButtonComponentHarnessPredicate,\n} from './base-badge-button.harness'\n\n/** A set of criteria that can be used to filter a list of `TheSeamBadgeButtonComponentHarness` instances. */\nexport type TheSeamBadgeButtonComponentHarnessFilters =\n TheSeamBaseBadgeButtonComponentHarnessFilters\n\nexport class TheSeamBadgeButtonComponentHarness extends TheSeamBaseBadgeButtonComponentHarness {\n /** The selector for the host element of a `TheSeamBadgeButtonComponent` instance. */\n static hostSelector = 'button[seamBadgeButton]'\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a button item with specific attributes.\n * @param options Options for filtering which button item instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends TheSeamBadgeButtonComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TheSeamBadgeButtonComponentHarnessFilters = {},\n ): HarnessPredicate<T> {\n return createBaseBadgeButtonComponentHarnessPredicate(this, options)\n }\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport {\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing'\n\n// import { TheSeamMenuHarness } from './button.harness'\n// import { animatingWait } from './utils'\n\nimport {\n TheSeamBaseButtonComponentHarness,\n TheSeamBaseButtonComponentHarnessFilters,\n createBaseButtonComponentHarnessPredicate,\n} from './base-button.harness'\n\n/** A set of criteria that can be used to filter a list of `TheSeamButtonComponentHarness` instances. */\nexport type TheSeamButtonComponentHarnessFilters =\n TheSeamBaseButtonComponentHarnessFilters\n\nexport class TheSeamButtonComponentHarness extends TheSeamBaseButtonComponentHarness {\n /** The selector for the host element of a `TheSeamButtonComponent` instance. */\n static hostSelector = 'button[seamButton]'\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a button item with specific attributes.\n * @param options Options for filtering which button item instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends TheSeamButtonComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TheSeamButtonComponentHarnessFilters = {},\n ): HarnessPredicate<T> {\n return createBaseButtonComponentHarnessPredicate(this, options)\n }\n}\n","import {\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing'\n\nimport {\n TheSeamBaseButtonComponentHarness,\n TheSeamBaseButtonComponentHarnessFilters,\n createBaseButtonComponentHarnessPredicate,\n} from './base-button.harness'\n\n/** A set of criteria that can be used to filter a list of `TheSeamToggleButtonComponentHarness` instances. */\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface TheSeamToggleButtonComponentHarnessFilters\n extends TheSeamBaseButtonComponentHarnessFilters {}\n\nexport class TheSeamToggleButtonComponentHarness extends TheSeamBaseButtonComponentHarness {\n /** The selector for the host element of a `TheSeamToggleButtonComponent` instance. */\n static hostSelector = 'button[seamToggleButton]'\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a button item with specific attributes.\n * @param options Options for filtering which button item instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends TheSeamToggleButtonComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TheSeamToggleButtonComponentHarnessFilters = {},\n ): HarnessPredicate<T> {\n return createBaseButtonComponentHarnessPredicate(this, options)\n }\n\n /**\n * Clicks the button.\n */\n public async click() {\n return (await this.host()).click()\n }\n\n /** Gets the theme of the button item. */\n async isActive(): Promise<boolean> {\n return (await this.host())\n .getAttribute('class')\n .then((c) => c?.split(' ').indexOf('active') !== -1 || false)\n }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n Renderer2,\n} from '@angular/core'\n\nimport {\n CanDisableCtor,\n CanSizeCtor,\n CanThemeCtor,\n mixinDisabled,\n mixinSize,\n mixinTheme,\n} from '@theseam/ui-common/core'\n\n@Component({\n template: '',\n standalone: false,\n})\nclass TheSeamButtonBase implements OnDestroy {\n constructor(\n public readonly _elementRef: ElementRef,\n public readonly _focusMonitor: FocusMonitor,\n public readonly _renderer: Renderer2,\n ) {\n this._focusMonitor.monitor(this._elementRef, true)\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n\n /** Focuses the button. */\n focus(): void {\n this._getHostElement().focus()\n }\n\n _getHostElement() {\n return this._elementRef.nativeElement\n }\n}\n\nconst _TheSeamButtonMixinBase: CanDisableCtor &\n CanThemeCtor &\n CanSizeCtor &\n typeof TheSeamButtonBase = mixinSize(\n mixinTheme(mixinDisabled(TheSeamButtonBase), 'btn'),\n 'btn',\n)\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton',\n inputs: ['disabled', 'theme', 'size'],\n host: {\n '[attr.type]': 'type',\n class: 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class TheSeamButtonComponent\n extends _TheSeamButtonMixinBase\n implements OnDestroy\n{\n /** ARIA type for the button. */\n @Input() type: 'button' | 'submit' | 'reset' = 'button'\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2,\n ) {\n super(_elementRef, _focusMonitor, _renderer)\n }\n\n ngOnDestroy() {\n super.ngOnDestroy()\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton,seamButtonBaseAnchor',\n inputs: ['disabled', 'theme', 'size'],\n host: {\n class: 'btn',\n // '[class.disabled]': 'disabled || null',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class TheSeamAnchorButtonComponent\n extends _TheSeamButtonMixinBase\n implements OnDestroy\n{\n /** Tabindex of the button. */\n @Input() tabIndex: number | undefined | null\n\n // TODO: Consider adding dev warning for `window.opener` exploit. Could maybe\n // add `rel` it if the href isn't on the current domain or not specified in an\n // injected list. This probably isn't needed and may be to strict for our\n // usage, so I am just adding this as a reminder to think about it.\n //\n // rel=\"noopener noreferrer\"\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2,\n ) {\n super(_elementRef, _focusMonitor, _renderer)\n }\n\n ngOnDestroy() {\n super.ngOnDestroy()\n }\n\n _haltDisabledEvents(event: Event) {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n }\n}\n","<ng-content></ng-content>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport {\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnDestroy,\n Renderer2,\n} from '@angular/core'\n\nimport type { ThemeTypes } from '@theseam/ui-common/models'\n\nimport {\n TheSeamAnchorButtonComponent,\n TheSeamButtonComponent,\n} from '../button/button.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton',\n inputs: ['disabled', 'theme', 'size'],\n host: {\n '[attr.type]': 'type',\n class: 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n standalone: false,\n})\nexport class TheSeamBadgeButtonComponent\n extends TheSeamButtonComponent\n implements OnDestroy\n{\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2,\n ) {\n super(_elementRef, _focusMonitor, _renderer)\n }\n\n ngOnDestroy() {\n super.ngOnDestroy()\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton,seamBadgeButtonAnchor',\n inputs: ['disabled', 'theme', 'size'],\n host: {\n class: 'btn',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n standalone: false,\n})\nexport class TheSeamAnchorBadgeButtonComponent\n extends TheSeamAnchorButtonComponent\n implements OnDestroy\n{\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2,\n ) {\n super(_elementRef, _focusMonitor, _renderer)\n }\n\n ngOnDestroy() {\n super.ngOnDestroy()\n }\n}\n","<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion'\nimport {\n Component,\n ElementRef,\n Input,\n OnDestroy,\n Renderer2,\n} from '@angular/core'\n\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\n\nimport { TheSeamButtonComponent } from '../button/button.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamProgressCircleButton]',\n templateUrl: './progress-circle-button.component.html',\n styleUrls: ['./progress-circle-button.component.scss'],\n exportAs: 'seamProgressCircleButton',\n inputs: ['disabled', 'theme', 'size'],\n host: {\n '[attr.type]': 'type',\n class: 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n standalone: false,\n})\nexport class TheSeamProgressCircleButtonComponent\n extends TheSeamButtonComponent\n implements OnDestroy\n{\n static ngAcceptInputType_fillBackground: BooleanInput\n static ngAcceptInputType_showText: BooleanInput\n static ngAcceptInputType_hiddenOnEmpty: BooleanInput\n static ngAcceptInputType_percentage: NumberInput\n\n @Input() @InputBoolean() fillBackground = false\n @Input() @InputBoolean() showText = false\n @Input() @InputBoolean() hiddenOnEmpty = true\n\n @Input() @InputNumber(0) percentage = 100\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2,\n ) {\n super(_elementRef, _focusMonitor, _renderer)\n }\n\n ngOnDestroy() {\n super.ngOnDestroy()\n }\n}\n","<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\"\n>\n</seam-progress-circle>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport {\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { TheSeamButtonComponent } from '../button/button.component'\n\nexport const TOGGLE_BUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TheSeamToggleButtonComponent),\n multi: true,\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamToggleButton]',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss'],\n exportAs: 'seamToggleButton',\n inputs: ['disabled', 'theme', 'size'],\n host: {\n '[attr.type]': 'type',\n class: 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n '(click)': '_toggleValue()',\n },\n providers: [TOGGLE_BUTTON_VALUE_ACCESSOR],\n standalone: false,\n})\nexport class TheSeamToggleButtonComponent\n extends TheSeamButtonComponent\n implements OnDestroy, ControlValueAccessor\n{\n static ngAcceptInputType_val: BooleanInput\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('value') @InputBoolean() val = false\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<boolean>()\n\n onChange: any\n onTouched: any\n\n @HostBinding('class.active')\n get _activeCssClass() {\n return this.value ? coerceBooleanProperty(this.value) : false\n }\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2,\n ) {\n super(_elementRef, _focusMonitor, _renderer)\n }\n\n ngOnDestroy() {\n super.ngOnDestroy()\n }\n\n get value(): boolean {\n return this.val\n }\n\n set value(value: boolean) {\n this.val = value\n this.change.emit(this.val)\n if (this.onChange) {\n this.onChange(value)\n }\n if (this.onTouched) {\n this.onTouched()\n }\n }\n\n writeValue(value: any): void {\n this.value = value\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n _toggleValue() {\n this.value = !this.value\n }\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamProgressModule } from '@theseam/ui-common/progress'\n\nimport {\n TheSeamAnchorBadgeButtonComponent,\n TheSeamBadgeButtonComponent,\n} from './badge-button/badge-button.component'\nimport {\n TheSeamAnchorButtonComponent,\n TheSeamButtonComponent,\n} from './button/button.component'\nimport { TheSeamProgressCircleButtonComponent } from './progress-circle-button/progress-circle-button.component'\nimport { TheSeamToggleButtonComponent } from './toggle-button/toggle-button.component'\n\n@NgModule({\n declarations: [\n TheSeamBadgeButtonComponent,\n TheSeamProgressCircleButtonComponent,\n TheSeamToggleButtonComponent,\n TheSeamButtonComponent,\n TheSeamAnchorButtonComponent,\n TheSeamAnchorBadgeButtonComponent,\n ],\n imports: [CommonModule, TheSeamProgressModule],\n exports: [\n TheSeamBadgeButtonComponent,\n TheSeamProgressCircleButtonComponent,\n TheSeamToggleButtonComponent,\n TheSeamButtonComponent,\n TheSeamAnchorButtonComponent,\n TheSeamAnchorBadgeButtonComponent,\n ],\n})\nexport class TheSeamButtonsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["THEME_NAMES","THEME_CLASSES"],"mappings":"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"}