@theseam/ui-common 0.4.13 → 0.4.14

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 (157) hide show
  1. package/buttons/public-api.d.ts +1 -0
  2. package/buttons/testing/anchor-badge-button.harness.d.ts +16 -0
  3. package/buttons/testing/anchor-button.harness.d.ts +16 -0
  4. package/buttons/testing/badge-button.harness.d.ts +15 -0
  5. package/buttons/testing/base-badge-button.harness.d.ts +15 -0
  6. package/buttons/testing/base-button.harness.d.ts +19 -0
  7. package/buttons/testing/button.harness.d.ts +15 -0
  8. package/buttons/testing/index.d.ts +5 -0
  9. package/buttons/testing/toggle-button.harness.d.ts +21 -0
  10. package/checkbox/checkbox.component.d.ts +1 -1
  11. package/checkbox/checkbox.module.d.ts +2 -3
  12. package/datatable/datatable.module.d.ts +1 -1
  13. package/esm2020/buttons/button/button.component.mjs +2 -1
  14. package/esm2020/buttons/public-api.mjs +2 -1
  15. package/esm2020/buttons/testing/anchor-badge-button.harness.mjs +18 -0
  16. package/esm2020/buttons/testing/anchor-button.harness.mjs +18 -0
  17. package/esm2020/buttons/testing/badge-button.harness.mjs +14 -0
  18. package/esm2020/buttons/testing/base-badge-button.harness.mjs +29 -0
  19. package/esm2020/buttons/testing/base-button.harness.mjs +41 -0
  20. package/esm2020/buttons/testing/button.harness.mjs +16 -0
  21. package/esm2020/buttons/testing/index.mjs +6 -0
  22. package/esm2020/buttons/testing/toggle-button.harness.mjs +25 -0
  23. package/esm2020/checkbox/checkbox.component.mjs +8 -3
  24. package/esm2020/checkbox/checkbox.module.mjs +5 -12
  25. package/esm2020/datatable/datatable.module.mjs +5 -5
  26. package/esm2020/form-field/form-field.component.mjs +4 -4
  27. package/esm2020/framework/schema-form/index.mjs +2 -1
  28. package/esm2020/framework/schema-form/schema-form-framework.component.mjs +6 -3
  29. package/esm2020/framework/schema-form/schema-form-framework.mjs +62 -7
  30. package/esm2020/framework/schema-form/schema-form-widget.mjs +2 -0
  31. package/esm2020/framework/schema-form/schema-form.module.mjs +1 -8
  32. package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +21 -11
  33. package/esm2020/framework/schema-form-controls/schema-form-divider/schema-form-divider.component.mjs +20 -0
  34. package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +17 -8
  35. package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +14 -5
  36. package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +19 -9
  37. package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +21 -13
  38. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +30 -18
  39. package/esm2020/framework/schema-form-controls/schema-form-tel/schema-form-tel.component.mjs +48 -0
  40. package/esm2020/framework/schema-form-controls/schema-form-tiled-select/schema-form-tiled-select.component.mjs +57 -0
  41. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +3 -3
  42. package/esm2020/menu/public-api.mjs +5 -1
  43. package/esm2020/menu/testing/menu-footer.harness.mjs +28 -0
  44. package/esm2020/menu/testing/menu-header.harness.mjs +23 -0
  45. package/esm2020/menu/testing/menu-item.harness.mjs +59 -0
  46. package/esm2020/menu/testing/menu.harness.mjs +163 -0
  47. package/esm2020/menu/testing/utils.mjs +13 -0
  48. package/esm2020/services/preferences/preferences-accessor.mjs +1 -1
  49. package/esm2020/services/preferences/preferences-manager.service.mjs +1 -1
  50. package/esm2020/services/preferences/preferences-record.mjs +1 -1
  51. package/esm2020/services/preferences/preferences.models.mjs +1 -1
  52. package/esm2020/story-helpers/args-to-tpl.mjs +83 -0
  53. package/esm2020/story-helpers/public-api.mjs +2 -2
  54. package/esm2020/story-helpers/story-preferences-accessor.service.mjs +1 -1
  55. package/esm2020/tel-input/public-api.mjs +2 -1
  56. package/esm2020/tel-input/tel-input/tel-input.component.mjs +22 -10
  57. package/esm2020/tel-input/tel-input.directive.mjs +12 -13
  58. package/esm2020/tel-input/tel-input.module.mjs +10 -9
  59. package/esm2020/tel-input/testing/tel-input.harness.mjs +49 -0
  60. package/esm2020/testing/harnesses/ng-select-dropdown.harness.mjs +39 -0
  61. package/esm2020/testing/harnesses/ng-select-option.harness.mjs +26 -0
  62. package/esm2020/testing/harnesses/ng-select.harness.mjs +104 -0
  63. package/esm2020/testing/public-api.mjs +4 -1
  64. package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +1 -1
  65. package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
  66. package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
  67. package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
  68. package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
  69. package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
  70. package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
  71. package/esm2020/widget/preferences/widget-preferences.models.mjs +1 -1
  72. package/esm2020/widget/preferences/widget-preferences.service.mjs +1 -1
  73. package/esm2020/widget/preferences/widget-preferences.token.mjs +1 -1
  74. package/esm2020/widget/widget.models.mjs +1 -1
  75. package/fesm2015/theseam-ui-common-buttons.mjs +181 -3
  76. package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
  77. package/fesm2015/theseam-ui-common-checkbox.mjs +12 -14
  78. package/fesm2015/theseam-ui-common-checkbox.mjs.map +1 -1
  79. package/fesm2015/theseam-ui-common-datatable.mjs +4 -4
  80. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  81. package/fesm2015/theseam-ui-common-form-field.mjs +3 -3
  82. package/fesm2015/theseam-ui-common-form-field.mjs.map +1 -1
  83. package/fesm2015/theseam-ui-common-framework.mjs +248 -164
  84. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  85. package/fesm2015/theseam-ui-common-google-maps.mjs +2 -2
  86. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  87. package/fesm2015/theseam-ui-common-menu.mjs +329 -3
  88. package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
  89. package/fesm2015/theseam-ui-common-services.mjs.map +1 -1
  90. package/fesm2015/theseam-ui-common-story-helpers.mjs +86 -1
  91. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
  92. package/fesm2015/theseam-ui-common-tel-input.mjs +105 -29
  93. package/fesm2015/theseam-ui-common-tel-input.mjs.map +1 -1
  94. package/fesm2015/theseam-ui-common-testing.mjs +197 -1
  95. package/fesm2015/theseam-ui-common-testing.mjs.map +1 -1
  96. package/fesm2015/theseam-ui-common-tiled-select.mjs.map +1 -1
  97. package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
  98. package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
  99. package/fesm2020/theseam-ui-common-buttons.mjs +154 -2
  100. package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
  101. package/fesm2020/theseam-ui-common-checkbox.mjs +12 -14
  102. package/fesm2020/theseam-ui-common-checkbox.mjs.map +1 -1
  103. package/fesm2020/theseam-ui-common-datatable.mjs +4 -4
  104. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  105. package/fesm2020/theseam-ui-common-form-field.mjs +3 -3
  106. package/fesm2020/theseam-ui-common-form-field.mjs.map +1 -1
  107. package/fesm2020/theseam-ui-common-framework.mjs +236 -162
  108. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  109. package/fesm2020/theseam-ui-common-google-maps.mjs +2 -2
  110. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  111. package/fesm2020/theseam-ui-common-menu.mjs +275 -2
  112. package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
  113. package/fesm2020/theseam-ui-common-services.mjs.map +1 -1
  114. package/fesm2020/theseam-ui-common-story-helpers.mjs +84 -1
  115. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
  116. package/fesm2020/theseam-ui-common-tel-input.mjs +89 -29
  117. package/fesm2020/theseam-ui-common-tel-input.mjs.map +1 -1
  118. package/fesm2020/theseam-ui-common-testing.mjs +165 -1
  119. package/fesm2020/theseam-ui-common-testing.mjs.map +1 -1
  120. package/fesm2020/theseam-ui-common-tiled-select.mjs.map +1 -1
  121. package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
  122. package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
  123. package/framework/schema-form/index.d.ts +1 -0
  124. package/framework/schema-form/schema-form-framework.d.ts +12 -1
  125. package/framework/schema-form/schema-form-widget.d.ts +61 -0
  126. package/framework/schema-form/schema-form.module.d.ts +1 -2
  127. package/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.d.ts +12 -11
  128. package/framework/schema-form-controls/schema-form-divider/schema-form-divider.component.d.ts +12 -0
  129. package/framework/schema-form-controls/schema-form-input/schema-form-input.component.d.ts +10 -9
  130. package/framework/schema-form-controls/schema-form-number/schema-form-number.component.d.ts +8 -7
  131. package/framework/schema-form-controls/schema-form-select/schema-form-select.component.d.ts +10 -9
  132. package/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.d.ts +10 -9
  133. package/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.d.ts +10 -9
  134. package/framework/schema-form-controls/schema-form-tel/schema-form-tel.component.d.ts +23 -0
  135. package/framework/schema-form-controls/schema-form-tiled-select/schema-form-tiled-select.component.d.ts +32 -0
  136. package/menu/menu-footer-action/menu-footer-action.component.d.ts +1 -1
  137. package/menu/public-api.d.ts +4 -0
  138. package/menu/testing/menu-footer.harness.d.ts +22 -0
  139. package/menu/testing/menu-header.harness.d.ts +18 -0
  140. package/menu/testing/menu-item.harness.d.ts +37 -0
  141. package/menu/testing/menu.harness.d.ts +74 -0
  142. package/menu/testing/utils.d.ts +5 -0
  143. package/package.json +1 -1
  144. package/story-helpers/args-to-tpl.d.ts +25 -0
  145. package/story-helpers/public-api.d.ts +1 -0
  146. package/tel-input/public-api.d.ts +1 -0
  147. package/tel-input/tel-input/tel-input.component.d.ts +2 -2
  148. package/tel-input/tel-input.directive.d.ts +1 -1
  149. package/tel-input/tel-input.module.d.ts +7 -7
  150. package/tel-input/testing/tel-input.harness.d.ts +19 -0
  151. package/testing/harnesses/ng-select-dropdown.harness.d.ts +23 -0
  152. package/testing/harnesses/ng-select-option.harness.d.ts +18 -0
  153. package/testing/harnesses/ng-select.harness.d.ts +50 -0
  154. package/testing/public-api.d.ts +3 -0
  155. package/tiled-select/components/tiled-select/tiled-select.component.d.ts +10 -10
  156. package/esm2020/framework/schema-form-controls/schema-form-controls.module.mjs +0 -79
  157. package/framework/schema-form-controls/schema-form-controls.module.d.ts +0 -20
@@ -1,3 +1,6 @@
1
+ import { ThemeNames, OutlineThemeNames } from '@theseam/ui-common/models';
2
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
+ import { HarnessPredicate, ContentContainerComponentHarness } from '@angular/cdk/testing';
1
4
  import * as i0 from '@angular/core';
2
5
  import { Component, ChangeDetectionStrategy, Input, HostBinding, forwardRef, EventEmitter, Output, NgModule } from '@angular/core';
3
6
  import { mixinSize, mixinTheme, mixinDisabled, InputBoolean, InputNumber } from '@theseam/ui-common/core';
@@ -5,10 +8,158 @@ import * as i1 from '@angular/cdk/a11y';
5
8
  import { __decorate } from 'tslib';
6
9
  import * as i2 from '@theseam/ui-common/progress';
7
10
  import { TheSeamProgressModule } from '@theseam/ui-common/progress';
8
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
9
11
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
10
12
  import { CommonModule } from '@angular/common';
11
13
 
14
+ const THEME_NAMES$1 = [...ThemeNames, ...OutlineThemeNames];
15
+ const THEME_CLASSES$1 = THEME_NAMES$1.map(t => `btn-${t}`);
16
+ function getButtonThemeClass(classListString) {
17
+ return (classListString?.split(' ') || []).find(c => THEME_CLASSES$1.includes(c));
18
+ }
19
+ function createBaseButtonComponentHarnessPredicate(componentHarness, options = {}) {
20
+ return new HarnessPredicate(componentHarness, options)
21
+ .addOption('text', options.text, (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text))
22
+ .addOption('type', options.type, (harness, type) => HarnessPredicate.stringMatches(harness.getType(), type));
23
+ }
24
+ class TheSeamBaseButtonComponentHarness extends ContentContainerComponentHarness {
25
+ /** Whether the button is disabled. */
26
+ async isDisabled() {
27
+ const disabled = (await this.host()).getAttribute('disabled');
28
+ return coerceBooleanProperty(await disabled);
29
+ }
30
+ async hasDisabledAria() {
31
+ const ariaValue = await (await this.host()).getAttribute('aria-disabled');
32
+ return ariaValue === 'true';
33
+ }
34
+ async getType() {
35
+ return (await this.host()).getAttribute('type');
36
+ }
37
+ /** Gets the text of the button item. */
38
+ async getText() {
39
+ return (await this.host()).text();
40
+ }
41
+ /** Gets the theme of the button item. */
42
+ async getTheme() {
43
+ return (await this.host()).getAttribute('class').then(c => getButtonThemeClass(c)?.replace('btn-', '') || null);
44
+ }
45
+ async click() {
46
+ return (await this.host()).click();
47
+ }
48
+ }
49
+
50
+ const THEME_NAMES = [...ThemeNames, ...OutlineThemeNames];
51
+ const THEME_CLASSES = THEME_NAMES.map(t => `badge-${t}`);
52
+ function getbadgeThemeClass(classListString) {
53
+ return (classListString?.split(' ') || []).find(c => THEME_CLASSES.includes(c));
54
+ }
55
+ function createBaseBadgeButtonComponentHarnessPredicate(componentHarness, options = {}) {
56
+ return createBaseButtonComponentHarnessPredicate(componentHarness, options);
57
+ }
58
+ class TheSeamBaseBadgeButtonComponentHarness extends TheSeamBaseButtonComponentHarness {
59
+ constructor() {
60
+ super(...arguments);
61
+ this._badgeElement = this.locatorFor('.badge');
62
+ }
63
+ /** Gets the text of the button item. */
64
+ async getText() {
65
+ return (await this.host()).text({ exclude: '.badge' });
66
+ }
67
+ /** Gets the text of the badge. */
68
+ async getBadgeText() {
69
+ return (await this._badgeElement()).text();
70
+ }
71
+ /** Gets the theme of the badge. */
72
+ async getBadgeTheme() {
73
+ return (await this._badgeElement()).getAttribute('class').then(c => getbadgeThemeClass(c)?.replace('badge-', '') || null);
74
+ }
75
+ }
76
+
77
+ class TheSeamAnchorBadgeButtonComponentHarness extends TheSeamBaseBadgeButtonComponentHarness {
78
+ /**
79
+ * Gets a `HarnessPredicate` that can be used to search for a button item with specific attributes.
80
+ * @param options Options for filtering which button item instances are considered a match.
81
+ * @return a `HarnessPredicate` configured with the given options.
82
+ */
83
+ static with(options = {}) {
84
+ return createBaseBadgeButtonComponentHarnessPredicate(this, options);
85
+ }
86
+ async getTabIndex() {
87
+ const tabIndex = await (await this.host()).getAttribute('tabindex');
88
+ return Number(tabIndex);
89
+ }
90
+ }
91
+ /** The selector for the host element of a `TheSeamAnchorBadgeButtonComponent` instance. */
92
+ TheSeamAnchorBadgeButtonComponentHarness.hostSelector = 'a[seamBadgeButton]';
93
+
94
+ class TheSeamAnchorButtonComponentHarness extends TheSeamBaseButtonComponentHarness {
95
+ /**
96
+ * Gets a `HarnessPredicate` that can be used to search for a button item with specific attributes.
97
+ * @param options Options for filtering which button item instances are considered a match.
98
+ * @return a `HarnessPredicate` configured with the given options.
99
+ */
100
+ static with(options = {}) {
101
+ return createBaseButtonComponentHarnessPredicate(this, options);
102
+ }
103
+ async getTabIndex() {
104
+ const tabIndex = await (await this.host()).getAttribute('tabindex');
105
+ return Number(tabIndex);
106
+ }
107
+ }
108
+ /** The selector for the host element of a `TheSeamAnchorButtonComponent` instance. */
109
+ TheSeamAnchorButtonComponentHarness.hostSelector = 'a[seamButton]';
110
+
111
+ class TheSeamBadgeButtonComponentHarness extends TheSeamBaseBadgeButtonComponentHarness {
112
+ /**
113
+ * Gets a `HarnessPredicate` that can be used to search for a button item with specific attributes.
114
+ * @param options Options for filtering which button item instances are considered a match.
115
+ * @return a `HarnessPredicate` configured with the given options.
116
+ */
117
+ static with(options = {}) {
118
+ return createBaseBadgeButtonComponentHarnessPredicate(this, options);
119
+ }
120
+ }
121
+ /** The selector for the host element of a `TheSeamBadgeButtonComponent` instance. */
122
+ TheSeamBadgeButtonComponentHarness.hostSelector = 'button[seamBadgeButton]';
123
+
124
+ // import { TheSeamMenuHarness } from './button.harness'
125
+ // import { animatingWait } from './utils'
126
+ class TheSeamButtonComponentHarness extends TheSeamBaseButtonComponentHarness {
127
+ /**
128
+ * Gets a `HarnessPredicate` that can be used to search for a button item with specific attributes.
129
+ * @param options Options for filtering which button item instances are considered a match.
130
+ * @return a `HarnessPredicate` configured with the given options.
131
+ */
132
+ static with(options = {}) {
133
+ return createBaseButtonComponentHarnessPredicate(this, options);
134
+ }
135
+ }
136
+ /** The selector for the host element of a `TheSeamButtonComponent` instance. */
137
+ TheSeamButtonComponentHarness.hostSelector = 'button[seamButton]';
138
+
139
+ class TheSeamToggleButtonComponentHarness extends TheSeamBaseButtonComponentHarness {
140
+ /**
141
+ * Gets a `HarnessPredicate` that can be used to search for a button item with specific attributes.
142
+ * @param options Options for filtering which button item instances are considered a match.
143
+ * @return a `HarnessPredicate` configured with the given options.
144
+ */
145
+ static with(options = {}) {
146
+ return createBaseButtonComponentHarnessPredicate(this, options);
147
+ }
148
+ /**
149
+ * Clicks the button.
150
+ */
151
+ async click() {
152
+ return (await this.host()).click();
153
+ }
154
+ /** Gets the theme of the button item. */
155
+ async isActive() {
156
+ return (await this.host()).getAttribute('class')
157
+ .then(c => (c?.split(' ').indexOf('active') !== -1) || false);
158
+ }
159
+ }
160
+ /** The selector for the host element of a `TheSeamToggleButtonComponent` instance. */
161
+ TheSeamToggleButtonComponentHarness.hostSelector = 'button[seamToggleButton]';
162
+
12
163
  class TheSeamButtonBase {
13
164
  constructor(_elementRef, _focusMonitor, _renderer) {
14
165
  this._elementRef = _elementRef;
@@ -80,6 +231,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
80
231
  type: Component,
81
232
  args: [{ selector: 'a[seamButton]', exportAs: 'seamButton,seamButtonBaseAnchor', inputs: ['disabled', 'theme', 'size'], host: {
82
233
  'class': 'btn',
234
+ // '[class.disabled]': 'disabled || null',
83
235
  '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',
84
236
  '[attr.disabled]': 'disabled || null',
85
237
  '[attr.aria-disabled]': 'disabled.toString()',
@@ -310,5 +462,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
310
462
  * Generated bundle index. Do not edit.
311
463
  */
312
464
 
313
- export { TOGGLE_BUTTON_VALUE_ACCESSOR, TheSeamAnchorBadgeButtonComponent, TheSeamAnchorButtonComponent, TheSeamBadgeButtonComponent, TheSeamButtonComponent, TheSeamButtonsModule, TheSeamProgressCircleButtonComponent, TheSeamToggleButtonComponent };
465
+ export { TOGGLE_BUTTON_VALUE_ACCESSOR, TheSeamAnchorBadgeButtonComponent, TheSeamAnchorBadgeButtonComponentHarness, TheSeamAnchorButtonComponent, TheSeamAnchorButtonComponentHarness, TheSeamBadgeButtonComponent, TheSeamBadgeButtonComponentHarness, TheSeamButtonComponent, TheSeamButtonComponentHarness, TheSeamButtonsModule, TheSeamProgressCircleButtonComponent, TheSeamToggleButtonComponent, TheSeamToggleButtonComponentHarness };
314
466
  //# sourceMappingURL=theseam-ui-common-buttons.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-buttons.mjs","sources":["../../../projects/ui-common/buttons/button/button.component.ts","../../../projects/ui-common/buttons/button/button.component.html","../../../projects/ui-common/buttons/badge-button/badge-button.component.ts","../../../projects/ui-common/buttons/badge-button/badge-button.component.html","../../../projects/ui-common/buttons/progress-circle-button/progress-circle-button.component.ts","../../../projects/ui-common/buttons/progress-circle-button/progress-circle-button.component.html","../../../projects/ui-common/buttons/toggle-button/toggle-button.component.ts","../../../projects/ui-common/buttons/toggle-button/toggle-button.component.html","../../../projects/ui-common/buttons/buttons.module.ts","../../../projects/ui-common/buttons/theseam-ui-common-buttons.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y'\nimport { ChangeDetectionStrategy, Component, Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport {\n CanDisableCtor,\n CanSizeCtor,\n CanThemeCtor,\n mixinDisabled,\n mixinSize,\n mixinTheme\n} from '@theseam/ui-common/core'\n\n@Component({ template: '' })\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nclass TheSeamButtonBase implements OnDestroy {\n constructor(\n public _elementRef: ElementRef,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n this._focusMonitor.monitor(this._elementRef, true)\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n\n /** Focuses the button. */\n focus(): void {\n this._getHostElement().focus()\n }\n\n _getHostElement() {\n return this._elementRef.nativeElement\n }\n}\n\nconst _TheSeamButtonMixinBase: CanDisableCtor & CanThemeCtor & CanSizeCtor &\n typeof TheSeamButtonBase = mixinSize(mixinTheme(mixinDisabled(TheSeamButtonBase), 'btn'), 'btn')\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamButtonComponent extends _TheSeamButtonMixinBase implements OnDestroy {\n\n /** ARIA type for the button. */\n @Input() type: 'button' | 'submit' | 'reset' = 'button'\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton,seamButtonBaseAnchor',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n 'class': 'btn',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamAnchorButtonComponent extends _TheSeamButtonMixinBase implements OnDestroy {\n\n /** Tabindex of the button. */\n @Input() tabIndex: number | undefined | null\n\n // TODO: Consider adding dev warning for `window.opener` exploit. Could maybe\n // add `rel` it if the href isn't on the current domain or not specified in an\n // injected list. This probably isn't needed and may be to strict for our\n // usage, so I am just adding this as a reminder to think about it.\n //\n // rel=\"noopener noreferrer\"\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n _haltDisabledEvents(event: Event) {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n }\n\n}\n","<ng-content></ng-content>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { Component, ElementRef, HostBinding, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport type { ThemeTypes } from '@theseam/ui-common/models'\nimport { TheSeamAnchorButtonComponent, TheSeamButtonComponent } from '../button/button.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null'\n },\n})\nexport class TheSeamBadgeButtonComponent extends TheSeamButtonComponent implements OnDestroy {\n\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton,seamBadgeButtonAnchor',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n 'class': 'btn',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n})\nexport class TheSeamAnchorBadgeButtonComponent extends TheSeamAnchorButtonComponent implements OnDestroy {\n\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n","<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion'\nimport { Component, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\n\nimport { TheSeamButtonComponent } from '../button/button.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamProgressCircleButton]',\n templateUrl: './progress-circle-button.component.html',\n styleUrls: ['./progress-circle-button.component.scss'],\n exportAs: 'seamProgressCircleButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null'\n },\n})\nexport class TheSeamProgressCircleButtonComponent extends TheSeamButtonComponent implements OnDestroy {\n static ngAcceptInputType_fillBackground: BooleanInput\n static ngAcceptInputType_showText: BooleanInput\n static ngAcceptInputType_hiddenOnEmpty: BooleanInput\n static ngAcceptInputType_percentage: NumberInput\n\n @Input() @InputBoolean() fillBackground = false\n @Input() @InputBoolean() showText = false\n @Input() @InputBoolean() hiddenOnEmpty = true\n\n @Input() @InputNumber(0) percentage = 100\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n","<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\">\n</seam-progress-circle>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport {\n Component, ElementRef, EventEmitter,\n forwardRef, HostBinding, Input, OnDestroy, Output, Renderer2\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { TheSeamButtonComponent } from '../button/button.component'\n\nexport const TOGGLE_BUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TheSeamToggleButtonComponent),\n multi: true,\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamToggleButton]',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss'],\n exportAs: 'seamToggleButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n '(click)': '_toggleValue()',\n },\n providers: [ TOGGLE_BUTTON_VALUE_ACCESSOR ]\n})\nexport class TheSeamToggleButtonComponent extends TheSeamButtonComponent implements OnDestroy, ControlValueAccessor {\n static ngAcceptInputType_val: BooleanInput\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('value') @InputBoolean() val = false\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<boolean>()\n\n onChange: any\n onTouched: any\n\n @HostBinding('class.active')\n get _activeCssClass() { return this.value ? coerceBooleanProperty(this.value) : false }\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n get value(): boolean {\n return this.val\n }\n\n set value(value: boolean) {\n this.val = value\n this.change.emit(this.val)\n if (this.onChange) { this.onChange(value) }\n if (this.onTouched) { this.onTouched() }\n }\n\n writeValue(value: any): void {\n this.value = value\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n _toggleValue() {\n this.value = !this.value\n }\n\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamProgressModule } from '@theseam/ui-common/progress'\n\nimport { TheSeamAnchorBadgeButtonComponent, TheSeamBadgeButtonComponent } from './badge-button/badge-button.component'\nimport { TheSeamAnchorButtonComponent, TheSeamButtonComponent } from './button/button.component'\nimport { TheSeamProgressCircleButtonComponent } from './progress-circle-button/progress-circle-button.component'\nimport { TheSeamToggleButtonComponent } from './toggle-button/toggle-button.component'\n\n@NgModule({\n declarations: [\n TheSeamBadgeButtonComponent,\n TheSeamProgressCircleButtonComponent,\n TheSeamToggleButtonComponent,\n TheSeamButtonComponent,\n TheSeamAnchorButtonComponent,\n TheSeamAnchorBadgeButtonComponent,\n ],\n imports: [\n CommonModule,\n TheSeamProgressModule\n ],\n exports: [\n TheSeamBadgeButtonComponent,\n TheSeamProgressCircleButtonComponent,\n TheSeamToggleButtonComponent,\n TheSeamButtonComponent,\n TheSeamAnchorButtonComponent,\n TheSeamAnchorBadgeButtonComponent,\n ]\n})\nexport class TheSeamButtonsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
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'\n\nimport { OutlineThemeNames, ThemeNames } from '@theseam/ui-common/models'\nimport { TheSeamBaseButtonComponentHarness, TheSeamBaseButtonComponentHarnessFilters, createBaseButtonComponentHarnessPredicate } 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 => THEME_CLASSES.includes(c))\n}\n\n/** A set of criteria that can be used to filter a list of `TheSeamBaseBadgeButtonComponentHarness` instances. */\nexport interface TheSeamBaseBadgeButtonComponentHarnessFilters extends TheSeamBaseButtonComponentHarnessFilters { }\n\nexport function createBaseBadgeButtonComponentHarnessPredicate<T extends TheSeamBaseBadgeButtonComponentHarness>(\n componentHarness: ComponentHarnessConstructor<T>,\n options: TheSeamBaseBadgeButtonComponentHarnessFilters = {},\n): HarnessPredicate<T> {\n return createBaseButtonComponentHarnessPredicate(componentHarness, options)\n}\n\nexport class TheSeamBaseBadgeButtonComponentHarness extends TheSeamBaseButtonComponentHarness {\n\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()).getAttribute('class').then(c => getbadgeThemeClass(c)?.replace('badge-', '') || null)\n }\n}\n","import { ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing'\n\nimport { TheSeamBaseBadgeButtonComponentHarness, TheSeamBaseBadgeButtonComponentHarnessFilters, createBaseBadgeButtonComponentHarnessPredicate } from './base-badge-button.harness'\n\n/** A set of criteria that can be used to filter a list of `TheSeamAnchorBadgeButtonComponentHarness` instances. */\nexport interface TheSeamAnchorBadgeButtonComponentHarnessFilters extends TheSeamBaseBadgeButtonComponentHarnessFilters { }\n\nexport class TheSeamAnchorBadgeButtonComponentHarness extends TheSeamBaseBadgeButtonComponentHarness {\n\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}\n","import { ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing'\n\nimport { TheSeamBaseButtonComponentHarness, TheSeamBaseButtonComponentHarnessFilters, createBaseButtonComponentHarnessPredicate } from './base-button.harness'\n\n/** A set of criteria that can be used to filter a list of `TheSeamAnchorButtonComponentHarness` instances. */\nexport interface TheSeamAnchorButtonComponentHarnessFilters extends TheSeamBaseButtonComponentHarnessFilters { }\n\nexport class TheSeamAnchorButtonComponentHarness extends TheSeamBaseButtonComponentHarness {\n\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}\n","import { ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing'\n\nimport { TheSeamBaseBadgeButtonComponentHarness, TheSeamBaseBadgeButtonComponentHarnessFilters, createBaseBadgeButtonComponentHarnessPredicate } from './base-badge-button.harness'\n\n/** A set of criteria that can be used to filter a list of `TheSeamBadgeButtonComponentHarness` instances. */\nexport interface TheSeamBadgeButtonComponentHarnessFilters extends TheSeamBaseBadgeButtonComponentHarnessFilters { }\n\nexport class TheSeamBadgeButtonComponentHarness extends TheSeamBaseBadgeButtonComponentHarness {\n\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}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing'\n\n// import { TheSeamMenuHarness } from './button.harness'\n// import { animatingWait } from './utils'\n\nimport { TheSeamBaseButtonComponentHarness, TheSeamBaseButtonComponentHarnessFilters, createBaseButtonComponentHarnessPredicate } from './base-button.harness'\n\n/** A set of criteria that can be used to filter a list of `TheSeamButtonComponentHarness` instances. */\nexport interface TheSeamButtonComponentHarnessFilters extends TheSeamBaseButtonComponentHarnessFilters { }\n\nexport class TheSeamButtonComponentHarness extends TheSeamBaseButtonComponentHarness {\n\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}\n","import { ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing'\n\nimport { TheSeamBaseButtonComponentHarness, TheSeamBaseButtonComponentHarnessFilters, createBaseButtonComponentHarnessPredicate } from './base-button.harness'\n\n/** A set of criteria that can be used to filter a list of `TheSeamToggleButtonComponentHarness` instances. */\nexport interface TheSeamToggleButtonComponentHarnessFilters extends TheSeamBaseButtonComponentHarnessFilters { }\n\nexport class TheSeamToggleButtonComponentHarness extends TheSeamBaseButtonComponentHarness {\n\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()).getAttribute('class')\n .then(c => (c?.split(' ').indexOf('active') !== -1) || false)\n }\n}\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({ template: '' })\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nclass TheSeamButtonBase implements OnDestroy {\n constructor(\n public _elementRef: ElementRef,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n this._focusMonitor.monitor(this._elementRef, true)\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n\n /** Focuses the button. */\n focus(): void {\n this._getHostElement().focus()\n }\n\n _getHostElement() {\n return this._elementRef.nativeElement\n }\n}\n\nconst _TheSeamButtonMixinBase: CanDisableCtor & CanThemeCtor & CanSizeCtor &\n typeof TheSeamButtonBase = mixinSize(mixinTheme(mixinDisabled(TheSeamButtonBase), 'btn'), 'btn')\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamButtonComponent extends _TheSeamButtonMixinBase implements OnDestroy {\n\n /** ARIA type for the button. */\n @Input() type: 'button' | 'submit' | 'reset' = 'button'\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seamButton]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'seamButton,seamButtonBaseAnchor',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n 'class': 'btn',\n // '[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})\nexport class TheSeamAnchorButtonComponent extends _TheSeamButtonMixinBase implements OnDestroy {\n\n /** Tabindex of the button. */\n @Input() tabIndex: number | undefined | null\n\n // TODO: Consider adding dev warning for `window.opener` exploit. Could maybe\n // add `rel` it if the href isn't on the current domain or not specified in an\n // injected list. This probably isn't needed and may be to strict for our\n // usage, so I am just adding this as a reminder to think about it.\n //\n // rel=\"noopener noreferrer\"\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n _haltDisabledEvents(event: Event) {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n }\n\n}\n","<ng-content></ng-content>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { Component, ElementRef, HostBinding, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport type { ThemeTypes } from '@theseam/ui-common/models'\nimport { TheSeamAnchorButtonComponent, TheSeamButtonComponent } from '../button/button.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null'\n },\n})\nexport class TheSeamBadgeButtonComponent extends TheSeamButtonComponent implements OnDestroy {\n\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seamBadgeButton]',\n templateUrl: './badge-button.component.html',\n styleUrls: ['./badge-button.component.scss'],\n exportAs: 'seamBadgeButton,seamBadgeButtonAnchor',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n 'class': 'btn',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || null',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_haltDisabledEvents($event)',\n },\n})\nexport class TheSeamAnchorBadgeButtonComponent extends TheSeamAnchorButtonComponent implements OnDestroy {\n\n @HostBinding('class.text-nowrap') _textNoWrap = true\n\n @Input() badgeTheme: ThemeTypes = 'light'\n @Input() badgeText = ''\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n","<ng-content></ng-content>\n<span class=\"ml-2 badge badge-{{ badgeTheme }}\">{{ badgeText }}</span>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion'\nimport { Component, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport { InputBoolean, InputNumber } from '@theseam/ui-common/core'\n\nimport { TheSeamButtonComponent } from '../button/button.component'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamProgressCircleButton]',\n templateUrl: './progress-circle-button.component.html',\n styleUrls: ['./progress-circle-button.component.scss'],\n exportAs: 'seamProgressCircleButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null'\n },\n})\nexport class TheSeamProgressCircleButtonComponent extends TheSeamButtonComponent implements OnDestroy {\n static ngAcceptInputType_fillBackground: BooleanInput\n static ngAcceptInputType_showText: BooleanInput\n static ngAcceptInputType_hiddenOnEmpty: BooleanInput\n static ngAcceptInputType_percentage: NumberInput\n\n @Input() @InputBoolean() fillBackground = false\n @Input() @InputBoolean() showText = false\n @Input() @InputBoolean() hiddenOnEmpty = true\n\n @Input() @InputNumber(0) percentage = 100\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n","<ng-content></ng-content>\n<seam-progress-circle\n class=\"progress-circle-btn--icon\"\n [fillBackground]=\"fillBackground\"\n [showText]=\"showText\"\n [hiddenOnEmpty]=\"hiddenOnEmpty\"\n [percentage]=\"percentage\">\n</seam-progress-circle>\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport {\n Component, ElementRef, EventEmitter,\n forwardRef, HostBinding, Input, OnDestroy, Output, Renderer2\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { TheSeamButtonComponent } from '../button/button.component'\n\nexport const TOGGLE_BUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TheSeamToggleButtonComponent),\n multi: true,\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seamToggleButton]',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss'],\n exportAs: 'seamToggleButton',\n inputs: [ 'disabled', 'theme', 'size' ],\n host: {\n '[attr.type]': 'type',\n 'class': 'btn',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n '(click)': '_toggleValue()',\n },\n providers: [ TOGGLE_BUTTON_VALUE_ACCESSOR ]\n})\nexport class TheSeamToggleButtonComponent extends TheSeamButtonComponent implements OnDestroy, ControlValueAccessor {\n static ngAcceptInputType_val: BooleanInput\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('value') @InputBoolean() val = false\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<boolean>()\n\n onChange: any\n onTouched: any\n\n @HostBinding('class.active')\n get _activeCssClass() { return this.value ? coerceBooleanProperty(this.value) : false }\n\n constructor(\n readonly _elementRef: ElementRef,\n readonly _focusMonitor: FocusMonitor,\n readonly _renderer: Renderer2\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n get value(): boolean {\n return this.val\n }\n\n set value(value: boolean) {\n this.val = value\n this.change.emit(this.val)\n if (this.onChange) { this.onChange(value) }\n if (this.onTouched) { this.onTouched() }\n }\n\n writeValue(value: any): void {\n this.value = value\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n }\n\n _toggleValue() {\n this.value = !this.value\n }\n\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamProgressModule } from '@theseam/ui-common/progress'\n\nimport { TheSeamAnchorBadgeButtonComponent, TheSeamBadgeButtonComponent } from './badge-button/badge-button.component'\nimport { TheSeamAnchorButtonComponent, TheSeamButtonComponent } from './button/button.component'\nimport { TheSeamProgressCircleButtonComponent } from './progress-circle-button/progress-circle-button.component'\nimport { TheSeamToggleButtonComponent } from './toggle-button/toggle-button.component'\n\n@NgModule({\n declarations: [\n TheSeamBadgeButtonComponent,\n TheSeamProgressCircleButtonComponent,\n TheSeamToggleButtonComponent,\n TheSeamButtonComponent,\n TheSeamAnchorButtonComponent,\n TheSeamAnchorBadgeButtonComponent,\n ],\n imports: [\n CommonModule,\n TheSeamProgressModule\n ],\n exports: [\n TheSeamBadgeButtonComponent,\n TheSeamProgressCircleButtonComponent,\n TheSeamToggleButtonComponent,\n TheSeamButtonComponent,\n TheSeamAnchorButtonComponent,\n TheSeamAnchorBadgeButtonComponent,\n ]\n})\nexport class TheSeamButtonsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["THEME_NAMES","THEME_CLASSES"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
2
2
  import { __decorate } from 'tslib';
3
3
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
+ import * as i2 from '@angular/cdk/observers';
5
+ import { ObserversModule } from '@angular/cdk/observers';
6
+ import { CommonModule } from '@angular/common';
4
7
  import * as i0 from '@angular/core';
5
8
  import { forwardRef, EventEmitter, Component, ChangeDetectionStrategy, Attribute, Input, Output, ViewChild, NgModule } from '@angular/core';
6
9
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
7
10
  import { mixinTabIndex, mixinDisabled, InputBoolean } from '@theseam/ui-common/core';
8
11
  import * as i1 from '@angular/cdk/a11y';
9
- import * as i2 from '@angular/cdk/observers';
10
- import { ObserversModule } from '@angular/cdk/observers';
11
- import { CommonModule } from '@angular/common';
12
12
 
13
13
  class TheSeamCheckboxHarness extends ComponentHarness {
14
14
  /** Creates a `HarnessPredicate` used to locate a particular `MyMenuHarness`. */
@@ -302,13 +302,16 @@ class TheSeamCheckboxComponent extends _TheSeamCheckboxMixinBase {
302
302
  }
303
303
  }
304
304
  TheSeamCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamCheckboxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i0.NgZone }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
305
- TheSeamCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamCheckboxComponent, selector: "seam-checkbox", inputs: { tabIndex: "tabIndex", id: "id", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], required: "required", checked: "checked", disabled: "disabled", indeterminate: "indeterminate", name: "name", value: "value" }, outputs: { change: "change", indeterminateChange: "indeterminateChange" }, host: { properties: { "attr.tabindex": "null" }, classAttribute: "custom-control custom-checkbox" }, providers: [THESEAM_CHECKBOX_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["input"], descendants: true, static: true }], exportAs: ["seamCheckbox"], usesInheritance: true, ngImport: i0, template: "<input #input\n type=\"checkbox\"\n class=\"custom-control-input\"\n [id]=\"inputId\"\n [required]=\"required\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-checked]=\"_getAriaChecked()\"\n (change)=\"_onInteractionEvent($event)\"\n (click)=\"_onInputClick($event)\">\n<label #checkboxLabel\n class=\"custom-control-label\"\n [attr.for]=\"inputId\"\n (cdkObserveContent)=\"_onLabelTextChange()\">\n <ng-content></ng-content>\n</label>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
305
+ TheSeamCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TheSeamCheckboxComponent, isStandalone: true, selector: "seam-checkbox", inputs: { tabIndex: "tabIndex", id: "id", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], required: "required", checked: "checked", disabled: "disabled", indeterminate: "indeterminate", name: "name", value: "value" }, outputs: { change: "change", indeterminateChange: "indeterminateChange" }, host: { properties: { "attr.tabindex": "null" }, classAttribute: "custom-control custom-checkbox" }, providers: [THESEAM_CHECKBOX_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["input"], descendants: true, static: true }], exportAs: ["seamCheckbox"], usesInheritance: true, ngImport: i0, template: "<input #input\n type=\"checkbox\"\n class=\"custom-control-input\"\n [id]=\"inputId\"\n [required]=\"required\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-checked]=\"_getAriaChecked()\"\n (change)=\"_onInteractionEvent($event)\"\n (click)=\"_onInputClick($event)\">\n<label #checkboxLabel\n class=\"custom-control-label\"\n [attr.for]=\"inputId\"\n (cdkObserveContent)=\"_onLabelTextChange()\">\n <ng-content></ng-content>\n</label>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ObserversModule }, { kind: "directive", type: i2.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
306
306
  __decorate([
307
307
  InputBoolean()
308
308
  ], TheSeamCheckboxComponent.prototype, "required", void 0);
309
309
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamCheckboxComponent, decorators: [{
310
310
  type: Component,
311
- args: [{ selector: 'seam-checkbox', exportAs: 'seamCheckbox', host: {
311
+ args: [{ selector: 'seam-checkbox', standalone: true, imports: [
312
+ CommonModule,
313
+ ObserversModule,
314
+ ], exportAs: 'seamCheckbox', host: {
312
315
  '[attr.tabindex]': 'null',
313
316
  'class': 'custom-control custom-checkbox'
314
317
  }, providers: [THESEAM_CHECKBOX_CONTROL_VALUE_ACCESSOR], inputs: ['tabIndex'], changeDetection: ChangeDetectionStrategy.OnPush, template: "<input #input\n type=\"checkbox\"\n class=\"custom-control-input\"\n [id]=\"inputId\"\n [required]=\"required\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-checked]=\"_getAriaChecked()\"\n (change)=\"_onInteractionEvent($event)\"\n (click)=\"_onInputClick($event)\">\n<label #checkboxLabel\n class=\"custom-control-label\"\n [attr.for]=\"inputId\"\n (cdkObserveContent)=\"_onLabelTextChange()\">\n <ng-content></ng-content>\n</label>\n" }]
@@ -344,22 +347,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
344
347
  args: ['input', { static: true }]
345
348
  }] } });
346
349
 
350
+ /** @deprecated */
347
351
  class TheSeamCheckboxModule {
348
352
  }
349
353
  TheSeamCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
350
- TheSeamCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: TheSeamCheckboxModule, declarations: [TheSeamCheckboxComponent], imports: [CommonModule,
351
- ObserversModule], exports: [TheSeamCheckboxComponent] });
352
- TheSeamCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamCheckboxModule, imports: [CommonModule,
353
- ObserversModule] });
354
+ TheSeamCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: TheSeamCheckboxModule, imports: [TheSeamCheckboxComponent], exports: [TheSeamCheckboxComponent] });
355
+ TheSeamCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamCheckboxModule, imports: [TheSeamCheckboxComponent] });
354
356
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamCheckboxModule, decorators: [{
355
357
  type: NgModule,
356
358
  args: [{
357
- declarations: [
358
- TheSeamCheckboxComponent
359
- ],
360
359
  imports: [
361
- CommonModule,
362
- ObserversModule
360
+ TheSeamCheckboxComponent
363
361
  ],
364
362
  exports: [
365
363
  TheSeamCheckboxComponent
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-checkbox.mjs","sources":["../../../projects/ui-common/checkbox/testing/checkbox.harness.ts","../../../projects/ui-common/checkbox/checkbox.component.ts","../../../projects/ui-common/checkbox/checkbox.component.html","../../../projects/ui-common/checkbox/checkbox.module.ts","../../../projects/ui-common/checkbox/theseam-ui-common-checkbox.ts"],"sourcesContent":["import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\ninterface TheSeamCheckboxHarnessFilters extends BaseHarnessFilters {\n /** Filters based on the id of the checkbox. */\n id?: number | string | RegExp\n\n /** Filters based on the name of the checkbox. */\n name?: string | RegExp\n}\n\nexport class TheSeamCheckboxHarness extends ComponentHarness {\n static hostSelector = 'seam-checkbox'\n\n /** Creates a `HarnessPredicate` used to locate a particular `MyMenuHarness`. */\n static with(options: TheSeamCheckboxHarnessFilters): HarnessPredicate<TheSeamCheckboxHarness> {\n return new HarnessPredicate(TheSeamCheckboxHarness, options)\n .addOption('checkbox id', options.id,\n (harness, index) => HarnessPredicate.stringMatches(harness.getId(), `${index}`))\n .addOption('checkbox name', options.name,\n (harness, name) => HarnessPredicate.stringMatches(harness.getName(), name))\n }\n\n public async getId(): Promise<string | null> {\n return (await this.getInputElement()).getAttribute('id')\n }\n\n public async getName(): Promise<string | null> {\n return (await this.getInputElement()).getAttribute('name')\n }\n\n /**\n * Returns the checked state of the checkbox.\n *\n * @returns true if the checkbox is checked, false if not\n */\n public async isChecked(): Promise<boolean> {\n return (await this.getInputElement()).getProperty('checked')\n }\n\n /**\n * Returns the indeterminate state of the checkbox.\n *\n * @returns true if the checkbox is indeterminate, false if not\n */\n public async isIndeterminate(): Promise<boolean> {\n return (await this.getInputElement()).getProperty('indeterminate')\n }\n\n /**\n * Returns the disabled state of the checkbox.\n *\n * @returns true if the checkbox is disabled, false if not\n */\n public async isDisabled(): Promise<boolean> {\n return (await this.getInputElement()).getProperty('disabled')\n }\n\n /**\n * Returns the required state of the checkbox.\n *\n * @returns true if the checkbox is required, false if not\n */\n public async isRequired(): Promise<boolean> {\n return (await this.getInputElement()).getProperty('required')\n }\n\n /**\n * Clicks the checkbox.\n */\n public async click() {\n return (await this.getInputElement()).click()\n }\n\n /**\n * Returns the input element of the checkbox.\n *\n * @returns the input element of the checkbox\n */\n public async getInputElement() {\n return this.locatorFor('input')()\n }\n}\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport {\n AfterViewInit,\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n OnDestroy,\n Output,\n ViewChild\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\n\nimport { CanDisable, CanDisableCtor, HasTabIndex, HasTabIndexCtor, InputBoolean, mixinDisabled, mixinTabIndex } from '@theseam/ui-common/core'\n\n// NOTE: Partially based on mat-checkbox: https://github.com/angular/components/blob/master/src/material/checkbox/checkbox.ts\n\n/** Change event object emitted by TheSeamCheckboxComponent. */\nexport class TheSeamCheckboxChange {\n /** The source TheSeamCheckboxComponent of the event. */\n public readonly source: TheSeamCheckboxComponent\n /** The new `checked` value of the checkbox. */\n public readonly checked: boolean\n\n constructor(\n private readonly _source: TheSeamCheckboxComponent,\n private readonly _checked: boolean\n ) {\n this.source = _source\n this.checked = _checked\n }\n}\n\nexport const THESEAM_CHECKBOX_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n // tslint:disable-next-line: no-use-before-declare\n useExisting: forwardRef(() => TheSeamCheckboxComponent),\n multi: true\n}\n\nclass TheSeamCheckboxComponentBase {\n constructor(public _elementRef: ElementRef) {}\n}\n\nconst _TheSeamCheckboxMixinBase: HasTabIndexCtor & CanDisableCtor &\n typeof TheSeamCheckboxComponentBase =\n mixinTabIndex(mixinDisabled(TheSeamCheckboxComponentBase))\n\nlet _uid = 0\n\n/**\n * A Checkbox.\n */\n@Component({\n selector: 'seam-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n exportAs: 'seamCheckbox',\n host: {\n '[attr.tabindex]': 'null',\n 'class': 'custom-control custom-checkbox'\n },\n providers: [ THESEAM_CHECKBOX_CONTROL_VALUE_ACCESSOR ],\n inputs: [ 'tabIndex' ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamCheckboxComponent extends _TheSeamCheckboxMixinBase\n implements AfterViewInit, OnDestroy, ControlValueAccessor, CanDisable, HasTabIndex {\n static ngAcceptInputType_checked: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_indeterminate: BooleanInput\n\n /** @ignore */\n private _uid = `seam-chk-${_uid++}`\n\n /** A unique id for the checkbox input. If none is supplied, it will be auto-generated. */\n @Input() id?: string = this._uid\n\n /** Returns the unique id for the input. */\n get inputId(): string { return `${this.id || this._uid}` }\n\n /**\n * Attached to the aria-label attribute of the host element. In most cases, aria-labelledby will\n * take precedence so this may be omitted.\n */\n @Input('aria-label') ariaLabel?: string = ''\n\n /**\n * Users can specify the `aria-labelledby` attribute which will be forwarded to the input element\n */\n @Input('aria-labelledby') ariaLabelledby?: string | null = null\n\n /** Whether the checkbox is required. */\n @Input() @InputBoolean() required = false\n\n /** Whether the checkbox is checked. */\n @Input()\n get checked(): boolean { return this._checked }\n set checked(value: boolean) {\n const newValue = coerceBooleanProperty(value)\n\n if (newValue !== this.checked) {\n this._checked = newValue\n this._changeDetectorRef.markForCheck()\n }\n }\n /** @ignore */\n private _checked = false\n\n /**\n * Whether the checkbox is disabled.\n */\n // This fully overrides the implementation provided by mixinDisabled, but the\n // mixin is still required because mixinTabIndex requires it.\n @Input()\n get disabled(): boolean { return this._disabled }\n set disabled(value: boolean) {\n const newValue = coerceBooleanProperty(value)\n\n if (newValue !== this.disabled) {\n this._disabled = newValue\n this._changeDetectorRef.markForCheck()\n }\n }\n /** @ignore */\n private _disabled = false\n\n /**\n * Whether the checkbox is indeterminate. This is also known as \"mixed\" mode and can be used to\n * represent a checkbox with three states, e.g. a checkbox that represents a nested list of\n * checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately\n * set to false.\n */\n @Input()\n get indeterminate(): boolean { return this._indeterminate }\n set indeterminate(value: boolean) {\n const changed = value !== this._indeterminate\n this._indeterminate = coerceBooleanProperty(value)\n\n if (changed) {\n this.indeterminateChange.emit(this._indeterminate)\n }\n\n this._syncIndeterminate(this._indeterminate)\n }\n /** @ignore */\n private _indeterminate = false\n\n /** Name value will be applied to the input element if present */\n @Input() name: string | undefined | null = null\n\n /** Event emitted when the checkbox's `checked` value changes. */\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<TheSeamCheckboxChange>()\n\n /** Event emitted when the checkbox's `indeterminate` value changes. */\n @Output() readonly indeterminateChange: EventEmitter<boolean> = new EventEmitter<boolean>()\n\n /** The value attribute of the native input element */\n @Input() value: string | undefined | null\n\n /**\n * The native `<input type=\"checkbox\">` element\n * @ignore\n */\n @ViewChild('input', { static: true }) _inputElement: ElementRef<HTMLInputElement> | undefined | null\n\n /**\n * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor.\n * @ignore\n */\n _onTouched: () => any = () => {}\n\n /** @ignore */\n private _controlValueAccessorChangeFn: (value: any) => void = () => {}\n\n constructor(\n elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef,\n private _focusMonitor: FocusMonitor,\n private _ngZone: NgZone,\n @Attribute('tabindex') tabIndex: string\n ) {\n super(elementRef)\n\n this.tabIndex = parseInt(tabIndex, 10) || 0\n\n this._focusMonitor.monitor(elementRef, true).subscribe(focusOrigin => {\n if (!focusOrigin) {\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state change\n // (such as a form control's 'ng-touched') will cause a changed-after-checked error.\n // See https://github.com/angular/angular/issues/17793. To work around this, we defer\n // telling the form control it has been touched until the next tick.\n Promise.resolve().then(() => {\n this._onTouched()\n _changeDetectorRef.markForCheck()\n })\n }\n })\n }\n\n /** @ignore */\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n\n /** @ignore */\n ngAfterViewInit() {\n this._syncIndeterminate(this._indeterminate)\n }\n\n /**\n * Method being called whenever the label text changes.\n * @ignore\n */\n _onLabelTextChange() {\n // Since the event of the `cdkObserveContent` directive runs outside of the zone, the checkbox\n // component will be only marked for check, but no actual change detection runs automatically.\n // Instead of going back into the zone in order to trigger a change detection which causes\n // *all* components to be checked (if explicitly marked or not using OnPush), we only trigger\n // an explicit change detection for the checkbox view and its children.\n this._changeDetectorRef.detectChanges()\n }\n\n // Implemented as part of ControlValueAccessor.\n /** @ignore */\n writeValue(value: any) {\n this.checked = !!value\n }\n\n // Implemented as part of ControlValueAccessor.\n /** @ignore */\n registerOnChange(fn: (value: any) => void) {\n this._controlValueAccessorChangeFn = fn\n }\n\n // Implemented as part of ControlValueAccessor.\n /** @ignore */\n registerOnTouched(fn: any) {\n this._onTouched = fn\n }\n\n // Implemented as part of ControlValueAccessor.\n /** @ignore */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled\n }\n\n /** @ignore */\n _getAriaChecked(): 'true' | 'false' | 'mixed' {\n return this.checked ? 'true' : (this.indeterminate ? 'mixed' : 'false')\n }\n\n /** @ignore */\n private _emitChangeEvent() {\n const event = new TheSeamCheckboxChange(this, this.checked)\n\n this._controlValueAccessorChangeFn(this.checked)\n this.change.emit(event)\n }\n\n /** Toggles the `checked` state of the checkbox. */\n toggle(): void {\n this.checked = !this.checked\n }\n\n /**\n * Event handler for checkbox input element.\n * Toggles checked state if element is not disabled.\n * Do not toggle on (change) event since IE doesn't fire change event when\n * indeterminate checkbox is clicked.\n * @ignore\n */\n _onInputClick(event: Event) {\n // If resetIndeterminate is false, and the current state is indeterminate, do nothing on click\n if (!this.disabled) {\n // When user manually click on the checkbox, `indeterminate` is set to false.\n if (this.indeterminate) {\n Promise.resolve().then(() => {\n this._indeterminate = false\n this.indeterminateChange.emit(this._indeterminate)\n })\n }\n\n this.toggle()\n\n // Emit our custom change event if the native input emitted one.\n // It is important to only emit it, if the native input triggered one, because\n // we don't want to trigger a change event, when the `checked` variable changes for example.\n this._emitChangeEvent()\n }\n }\n\n /** Focuses the checkbox. */\n focus(origin: FocusOrigin = 'keyboard', options?: FocusOptions): void {\n if (!this._inputElement) { return }\n this._focusMonitor.focusVia(this._inputElement, origin, options)\n }\n\n /** @ignore */\n _onInteractionEvent(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation()\n }\n\n /**\n * Syncs the indeterminate value with the checkbox DOM node.\n *\n * We sync `indeterminate` directly on the DOM node, because in Ivy the check for whether a\n * property is supported on an element boils down to `if (propName in element)`. Domino's\n * HTMLInputElement doesn't have an `indeterminate` property so Ivy will warn during\n * server-side rendering.\n * @ignore\n */\n private _syncIndeterminate(value: boolean) {\n const nativeCheckbox = this._inputElement\n\n if (nativeCheckbox) {\n nativeCheckbox.nativeElement.indeterminate = value\n }\n }\n\n}\n","<input #input\n type=\"checkbox\"\n class=\"custom-control-input\"\n [id]=\"inputId\"\n [required]=\"required\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-checked]=\"_getAriaChecked()\"\n (change)=\"_onInteractionEvent($event)\"\n (click)=\"_onInputClick($event)\">\n<label #checkboxLabel\n class=\"custom-control-label\"\n [attr.for]=\"inputId\"\n (cdkObserveContent)=\"_onLabelTextChange()\">\n <ng-content></ng-content>\n</label>\n","import { ObserversModule } from '@angular/cdk/observers'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamCheckboxComponent } from './checkbox.component'\n\n@NgModule({\n declarations: [\n TheSeamCheckboxComponent\n ],\n imports: [\n CommonModule,\n ObserversModule\n ],\n exports: [\n TheSeamCheckboxComponent\n ]\n})\nexport class TheSeamCheckboxModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-checkbox.mjs","sources":["../../../projects/ui-common/checkbox/testing/checkbox.harness.ts","../../../projects/ui-common/checkbox/checkbox.component.ts","../../../projects/ui-common/checkbox/checkbox.component.html","../../../projects/ui-common/checkbox/checkbox.module.ts","../../../projects/ui-common/checkbox/theseam-ui-common-checkbox.ts"],"sourcesContent":["import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\ninterface TheSeamCheckboxHarnessFilters extends BaseHarnessFilters {\n /** Filters based on the id of the checkbox. */\n id?: number | string | RegExp\n\n /** Filters based on the name of the checkbox. */\n name?: string | RegExp\n}\n\nexport class TheSeamCheckboxHarness extends ComponentHarness {\n static hostSelector = 'seam-checkbox'\n\n /** Creates a `HarnessPredicate` used to locate a particular `MyMenuHarness`. */\n static with(options: TheSeamCheckboxHarnessFilters): HarnessPredicate<TheSeamCheckboxHarness> {\n return new HarnessPredicate(TheSeamCheckboxHarness, options)\n .addOption('checkbox id', options.id,\n (harness, index) => HarnessPredicate.stringMatches(harness.getId(), `${index}`))\n .addOption('checkbox name', options.name,\n (harness, name) => HarnessPredicate.stringMatches(harness.getName(), name))\n }\n\n public async getId(): Promise<string | null> {\n return (await this.getInputElement()).getAttribute('id')\n }\n\n public async getName(): Promise<string | null> {\n return (await this.getInputElement()).getAttribute('name')\n }\n\n /**\n * Returns the checked state of the checkbox.\n *\n * @returns true if the checkbox is checked, false if not\n */\n public async isChecked(): Promise<boolean> {\n return (await this.getInputElement()).getProperty('checked')\n }\n\n /**\n * Returns the indeterminate state of the checkbox.\n *\n * @returns true if the checkbox is indeterminate, false if not\n */\n public async isIndeterminate(): Promise<boolean> {\n return (await this.getInputElement()).getProperty('indeterminate')\n }\n\n /**\n * Returns the disabled state of the checkbox.\n *\n * @returns true if the checkbox is disabled, false if not\n */\n public async isDisabled(): Promise<boolean> {\n return (await this.getInputElement()).getProperty('disabled')\n }\n\n /**\n * Returns the required state of the checkbox.\n *\n * @returns true if the checkbox is required, false if not\n */\n public async isRequired(): Promise<boolean> {\n return (await this.getInputElement()).getProperty('required')\n }\n\n /**\n * Clicks the checkbox.\n */\n public async click() {\n return (await this.getInputElement()).click()\n }\n\n /**\n * Returns the input element of the checkbox.\n *\n * @returns the input element of the checkbox\n */\n public async getInputElement() {\n return this.locatorFor('input')()\n }\n}\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y'\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { ObserversModule } from '@angular/cdk/observers'\nimport { CommonModule } from '@angular/common'\nimport {\n AfterViewInit,\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n OnDestroy,\n Output,\n ViewChild\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\n\nimport { CanDisable, CanDisableCtor, HasTabIndex, HasTabIndexCtor, InputBoolean, mixinDisabled, mixinTabIndex } from '@theseam/ui-common/core'\n\n// NOTE: Partially based on mat-checkbox: https://github.com/angular/components/blob/master/src/material/checkbox/checkbox.ts\n\n/** Change event object emitted by TheSeamCheckboxComponent. */\nexport class TheSeamCheckboxChange {\n /** The source TheSeamCheckboxComponent of the event. */\n public readonly source: TheSeamCheckboxComponent\n /** The new `checked` value of the checkbox. */\n public readonly checked: boolean\n\n constructor(\n private readonly _source: TheSeamCheckboxComponent,\n private readonly _checked: boolean\n ) {\n this.source = _source\n this.checked = _checked\n }\n}\n\nexport const THESEAM_CHECKBOX_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n // tslint:disable-next-line: no-use-before-declare\n useExisting: forwardRef(() => TheSeamCheckboxComponent),\n multi: true\n}\n\nclass TheSeamCheckboxComponentBase {\n constructor(public _elementRef: ElementRef) {}\n}\n\nconst _TheSeamCheckboxMixinBase: HasTabIndexCtor & CanDisableCtor &\n typeof TheSeamCheckboxComponentBase =\n mixinTabIndex(mixinDisabled(TheSeamCheckboxComponentBase))\n\nlet _uid = 0\n\n/**\n * A Checkbox.\n */\n@Component({\n selector: 'seam-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n ObserversModule,\n ],\n exportAs: 'seamCheckbox',\n host: {\n '[attr.tabindex]': 'null',\n 'class': 'custom-control custom-checkbox'\n },\n providers: [ THESEAM_CHECKBOX_CONTROL_VALUE_ACCESSOR ],\n inputs: [ 'tabIndex' ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TheSeamCheckboxComponent extends _TheSeamCheckboxMixinBase\n implements AfterViewInit, OnDestroy, ControlValueAccessor, CanDisable, HasTabIndex {\n static ngAcceptInputType_checked: BooleanInput\n static ngAcceptInputType_disabled: BooleanInput\n static ngAcceptInputType_indeterminate: BooleanInput\n\n /** @ignore */\n private _uid = `seam-chk-${_uid++}`\n\n /** A unique id for the checkbox input. If none is supplied, it will be auto-generated. */\n @Input() id?: string = this._uid\n\n /** Returns the unique id for the input. */\n get inputId(): string { return `${this.id || this._uid}` }\n\n /**\n * Attached to the aria-label attribute of the host element. In most cases, aria-labelledby will\n * take precedence so this may be omitted.\n */\n @Input('aria-label') ariaLabel?: string = ''\n\n /**\n * Users can specify the `aria-labelledby` attribute which will be forwarded to the input element\n */\n @Input('aria-labelledby') ariaLabelledby?: string | null = null\n\n /** Whether the checkbox is required. */\n @Input() @InputBoolean() required = false\n\n /** Whether the checkbox is checked. */\n @Input()\n get checked(): boolean { return this._checked }\n set checked(value: boolean) {\n const newValue = coerceBooleanProperty(value)\n\n if (newValue !== this.checked) {\n this._checked = newValue\n this._changeDetectorRef.markForCheck()\n }\n }\n /** @ignore */\n private _checked = false\n\n /**\n * Whether the checkbox is disabled.\n */\n // This fully overrides the implementation provided by mixinDisabled, but the\n // mixin is still required because mixinTabIndex requires it.\n @Input()\n get disabled(): boolean { return this._disabled }\n set disabled(value: boolean) {\n const newValue = coerceBooleanProperty(value)\n\n if (newValue !== this.disabled) {\n this._disabled = newValue\n this._changeDetectorRef.markForCheck()\n }\n }\n /** @ignore */\n private _disabled = false\n\n /**\n * Whether the checkbox is indeterminate. This is also known as \"mixed\" mode and can be used to\n * represent a checkbox with three states, e.g. a checkbox that represents a nested list of\n * checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately\n * set to false.\n */\n @Input()\n get indeterminate(): boolean { return this._indeterminate }\n set indeterminate(value: boolean) {\n const changed = value !== this._indeterminate\n this._indeterminate = coerceBooleanProperty(value)\n\n if (changed) {\n this.indeterminateChange.emit(this._indeterminate)\n }\n\n this._syncIndeterminate(this._indeterminate)\n }\n /** @ignore */\n private _indeterminate = false\n\n /** Name value will be applied to the input element if present */\n @Input() name: string | undefined | null = null\n\n /** Event emitted when the checkbox's `checked` value changes. */\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() readonly change = new EventEmitter<TheSeamCheckboxChange>()\n\n /** Event emitted when the checkbox's `indeterminate` value changes. */\n @Output() readonly indeterminateChange: EventEmitter<boolean> = new EventEmitter<boolean>()\n\n /** The value attribute of the native input element */\n @Input() value: string | undefined | null\n\n /**\n * The native `<input type=\"checkbox\">` element\n * @ignore\n */\n @ViewChild('input', { static: true }) _inputElement: ElementRef<HTMLInputElement> | undefined | null\n\n /**\n * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor.\n * @ignore\n */\n _onTouched: () => any = () => {}\n\n /** @ignore */\n private _controlValueAccessorChangeFn: (value: any) => void = () => {}\n\n constructor(\n elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef,\n private _focusMonitor: FocusMonitor,\n private _ngZone: NgZone,\n @Attribute('tabindex') tabIndex: string\n ) {\n super(elementRef)\n\n this.tabIndex = parseInt(tabIndex, 10) || 0\n\n this._focusMonitor.monitor(elementRef, true).subscribe(focusOrigin => {\n if (!focusOrigin) {\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state change\n // (such as a form control's 'ng-touched') will cause a changed-after-checked error.\n // See https://github.com/angular/angular/issues/17793. To work around this, we defer\n // telling the form control it has been touched until the next tick.\n Promise.resolve().then(() => {\n this._onTouched()\n _changeDetectorRef.markForCheck()\n })\n }\n })\n }\n\n /** @ignore */\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n\n /** @ignore */\n ngAfterViewInit() {\n this._syncIndeterminate(this._indeterminate)\n }\n\n /**\n * Method being called whenever the label text changes.\n * @ignore\n */\n _onLabelTextChange() {\n // Since the event of the `cdkObserveContent` directive runs outside of the zone, the checkbox\n // component will be only marked for check, but no actual change detection runs automatically.\n // Instead of going back into the zone in order to trigger a change detection which causes\n // *all* components to be checked (if explicitly marked or not using OnPush), we only trigger\n // an explicit change detection for the checkbox view and its children.\n this._changeDetectorRef.detectChanges()\n }\n\n // Implemented as part of ControlValueAccessor.\n /** @ignore */\n writeValue(value: any) {\n this.checked = !!value\n }\n\n // Implemented as part of ControlValueAccessor.\n /** @ignore */\n registerOnChange(fn: (value: any) => void) {\n this._controlValueAccessorChangeFn = fn\n }\n\n // Implemented as part of ControlValueAccessor.\n /** @ignore */\n registerOnTouched(fn: any) {\n this._onTouched = fn\n }\n\n // Implemented as part of ControlValueAccessor.\n /** @ignore */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled\n }\n\n /** @ignore */\n _getAriaChecked(): 'true' | 'false' | 'mixed' {\n return this.checked ? 'true' : (this.indeterminate ? 'mixed' : 'false')\n }\n\n /** @ignore */\n private _emitChangeEvent() {\n const event = new TheSeamCheckboxChange(this, this.checked)\n\n this._controlValueAccessorChangeFn(this.checked)\n this.change.emit(event)\n }\n\n /** Toggles the `checked` state of the checkbox. */\n toggle(): void {\n this.checked = !this.checked\n }\n\n /**\n * Event handler for checkbox input element.\n * Toggles checked state if element is not disabled.\n * Do not toggle on (change) event since IE doesn't fire change event when\n * indeterminate checkbox is clicked.\n * @ignore\n */\n _onInputClick(event: Event) {\n // If resetIndeterminate is false, and the current state is indeterminate, do nothing on click\n if (!this.disabled) {\n // When user manually click on the checkbox, `indeterminate` is set to false.\n if (this.indeterminate) {\n Promise.resolve().then(() => {\n this._indeterminate = false\n this.indeterminateChange.emit(this._indeterminate)\n })\n }\n\n this.toggle()\n\n // Emit our custom change event if the native input emitted one.\n // It is important to only emit it, if the native input triggered one, because\n // we don't want to trigger a change event, when the `checked` variable changes for example.\n this._emitChangeEvent()\n }\n }\n\n /** Focuses the checkbox. */\n focus(origin: FocusOrigin = 'keyboard', options?: FocusOptions): void {\n if (!this._inputElement) { return }\n this._focusMonitor.focusVia(this._inputElement, origin, options)\n }\n\n /** @ignore */\n _onInteractionEvent(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation()\n }\n\n /**\n * Syncs the indeterminate value with the checkbox DOM node.\n *\n * We sync `indeterminate` directly on the DOM node, because in Ivy the check for whether a\n * property is supported on an element boils down to `if (propName in element)`. Domino's\n * HTMLInputElement doesn't have an `indeterminate` property so Ivy will warn during\n * server-side rendering.\n * @ignore\n */\n private _syncIndeterminate(value: boolean) {\n const nativeCheckbox = this._inputElement\n\n if (nativeCheckbox) {\n nativeCheckbox.nativeElement.indeterminate = value\n }\n }\n\n}\n","<input #input\n type=\"checkbox\"\n class=\"custom-control-input\"\n [id]=\"inputId\"\n [required]=\"required\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-checked]=\"_getAriaChecked()\"\n (change)=\"_onInteractionEvent($event)\"\n (click)=\"_onInputClick($event)\">\n<label #checkboxLabel\n class=\"custom-control-label\"\n [attr.for]=\"inputId\"\n (cdkObserveContent)=\"_onLabelTextChange()\">\n <ng-content></ng-content>\n</label>\n","import { ObserversModule } from '@angular/cdk/observers'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamCheckboxComponent } from './checkbox.component'\n\n/** @deprecated */\n@NgModule({\n imports: [\n TheSeamCheckboxComponent\n ],\n exports: [\n TheSeamCheckboxComponent\n ]\n})\nexport class TheSeamCheckboxModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ import * as i7$1 from '@angular/forms';
33
33
  import { UntypedFormControl, ReactiveFormsModule } from '@angular/forms';
34
34
  import * as i1$2 from '@theseam/ui-common/scrollbar';
35
35
  import * as i5$2 from '@theseam/ui-common/checkbox';
36
- import { TheSeamCheckboxModule } from '@theseam/ui-common/checkbox';
36
+ import { TheSeamCheckboxComponent } from '@theseam/ui-common/checkbox';
37
37
  import * as i6$1 from '@theseam/ui-common/form-field';
38
38
  import { TheSeamFormFieldModule } from '@theseam/ui-common/form-field';
39
39
  import * as i4$2 from '@theseam/ui-common/popover';
@@ -2575,7 +2575,7 @@ TheSeamDatatableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
2575
2575
  PortalModule,
2576
2576
  TheSeamConfirmDialogModule,
2577
2577
  TheSeamPopoverModule,
2578
- TheSeamCheckboxModule,
2578
+ TheSeamCheckboxComponent,
2579
2579
  TheSeamFormFieldModule,
2580
2580
  ReactiveFormsModule,
2581
2581
  TheSeamTableCellTypeModule], exports: [DatatableComponent,
@@ -2616,7 +2616,7 @@ TheSeamDatatableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
2616
2616
  PortalModule,
2617
2617
  TheSeamConfirmDialogModule,
2618
2618
  TheSeamPopoverModule,
2619
- TheSeamCheckboxModule,
2619
+ TheSeamCheckboxComponent,
2620
2620
  TheSeamFormFieldModule,
2621
2621
  ReactiveFormsModule,
2622
2622
  TheSeamTableCellTypeModule] });
@@ -2663,7 +2663,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
2663
2663
  PortalModule,
2664
2664
  TheSeamConfirmDialogModule,
2665
2665
  TheSeamPopoverModule,
2666
- TheSeamCheckboxModule,
2666
+ TheSeamCheckboxComponent,
2667
2667
  TheSeamFormFieldModule,
2668
2668
  ReactiveFormsModule,
2669
2669
  TheSeamTableCellTypeModule