@ifsworld/granite-components 10.0.1 → 11.0.1

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 (144) hide show
  1. package/date-picker/lib/date-picker-base.d.ts +1 -1
  2. package/date-picker/lib/date-picker-trigger-for.directive.d.ts +1 -1
  3. package/date-picker/lib/date-picker.component.d.ts +1 -1
  4. package/date-picker/lib/date-range-picker.component.d.ts +1 -1
  5. package/{esm2020 → esm2022}/date-picker/lib/date-picker-base.mjs +4 -4
  6. package/{esm2020 → esm2022}/date-picker/lib/date-picker-trigger-for.directive.mjs +4 -4
  7. package/esm2022/date-picker/lib/date-picker.component.mjs +30 -0
  8. package/{esm2020 → esm2022}/date-picker/lib/date-picker.module.mjs +21 -21
  9. package/esm2022/date-picker/lib/date-range-picker.component.mjs +46 -0
  10. package/{esm2020 → esm2022}/lib/arrange-grid/arrange-grid-item.component.mjs +12 -12
  11. package/{esm2020 → esm2022}/lib/arrange-grid/arrange-grid.component.mjs +7 -7
  12. package/{esm2020 → esm2022}/lib/arrange-grid/arrange-grid.module.mjs +5 -5
  13. package/{esm2020 → esm2022}/lib/badge/badge.component.mjs +4 -4
  14. package/{esm2020 → esm2022}/lib/badge/badge.module.mjs +5 -5
  15. package/esm2022/lib/badge/testing/badge.harness.mjs +25 -0
  16. package/esm2022/lib/button/button.component.mjs +87 -0
  17. package/{esm2020 → esm2022}/lib/button/button.module.mjs +5 -5
  18. package/{esm2020 → esm2022}/lib/checkbox/checkbox-group.component.mjs +4 -4
  19. package/{esm2020 → esm2022}/lib/checkbox/checkbox.component.mjs +4 -4
  20. package/{esm2020 → esm2022}/lib/checkbox/checkbox.module.mjs +5 -5
  21. package/esm2022/lib/chips/chip-input.mjs +195 -0
  22. package/esm2022/lib/chips/chip-list.component.mjs +567 -0
  23. package/esm2022/lib/chips/chip.component.mjs +287 -0
  24. package/{esm2020 → esm2022}/lib/chips/chips.module.mjs +9 -9
  25. package/{esm2020 → esm2022}/lib/core/common-behaviors/disabled.mjs +4 -4
  26. package/{esm2020 → esm2022}/lib/core/core.module.mjs +11 -11
  27. package/esm2022/lib/core/devices/client-input-desktop.directive.mjs +29 -0
  28. package/esm2022/lib/core/devices/client-input-touch.directive.mjs +29 -0
  29. package/esm2022/lib/core/devices/client-output-desktop.directive.mjs +29 -0
  30. package/esm2022/lib/core/devices/client-output-touch.directive.mjs +29 -0
  31. package/{esm2020 → esm2022}/lib/core/pipes/pure-pipes.module.mjs +5 -5
  32. package/{esm2020 → esm2022}/lib/core/pipes/title.pipe.mjs +4 -4
  33. package/{esm2020 → esm2022}/lib/core/radio-checkbox-base.mjs +4 -4
  34. package/{esm2020 → esm2022}/lib/grid/grid.component.mjs +7 -7
  35. package/{esm2020 → esm2022}/lib/grid/grid.module.mjs +5 -5
  36. package/{esm2020 → esm2022}/lib/icon/icon.component.mjs +4 -4
  37. package/{esm2020 → esm2022}/lib/icon/icon.module.mjs +5 -5
  38. package/{esm2020 → esm2022}/lib/input-field/input-field.component.mjs +5 -5
  39. package/{esm2020 → esm2022}/lib/input-field/input-field.module.mjs +5 -5
  40. package/{esm2020 → esm2022}/lib/label/label.component.mjs +4 -4
  41. package/{esm2020 → esm2022}/lib/label/label.module.mjs +5 -5
  42. package/{esm2020 → esm2022}/lib/menu/divider.directive.mjs +4 -4
  43. package/{esm2020 → esm2022}/lib/menu/menu-base.mjs +4 -4
  44. package/{esm2020 → esm2022}/lib/menu/menu-item.component.mjs +6 -6
  45. package/{esm2020 → esm2022}/lib/menu/menu-touch-close.component.mjs +4 -4
  46. package/{esm2020 → esm2022}/lib/menu/menu-touch-title.component.mjs +6 -6
  47. package/{esm2020 → esm2022}/lib/menu/menu-trigger-for.directive.mjs +4 -4
  48. package/{esm2020 → esm2022}/lib/menu/menu.component.mjs +10 -10
  49. package/{esm2020 → esm2022}/lib/menu/menu.module.mjs +17 -17
  50. package/esm2022/lib/menu/testing/menu.harness.mjs +109 -0
  51. package/{esm2020 → esm2022}/lib/menu/title.directive.mjs +4 -4
  52. package/{esm2020 → esm2022}/lib/radio-button/radio-button.component.mjs +4 -4
  53. package/{esm2020 → esm2022}/lib/radio-button/radio-button.module.mjs +5 -5
  54. package/{esm2020 → esm2022}/lib/radio-button/radio-group.component.mjs +4 -4
  55. package/{esm2020 → esm2022}/lib/toggle-switch/toggle-switch.component.mjs +4 -4
  56. package/{esm2020 → esm2022}/lib/toggle-switch/toggle-switch.module.mjs +5 -5
  57. package/{esm2020 → esm2022}/table/lib/cell/cell-align/cell-align-classes.directive.mjs +4 -4
  58. package/{esm2020 → esm2022}/table/lib/cell/cell.mjs +4 -4
  59. package/{esm2020 → esm2022}/table/lib/cell/table-data-cell.component.mjs +5 -5
  60. package/{esm2020 → esm2022}/table/lib/cell/table-header-cell.component.mjs +4 -4
  61. package/{esm2020 → esm2022}/table/lib/column/table-column.directive.mjs +4 -4
  62. package/esm2022/table/lib/table-constants.library.mjs +9 -0
  63. package/{esm2020 → esm2022}/table/lib/table.component.mjs +4 -4
  64. package/{esm2020 → esm2022}/table/lib/table.module.mjs +9 -9
  65. package/{esm2020 → esm2022}/tooltip/lib/tooltip-constants.library.mjs +2 -2
  66. package/{esm2020 → esm2022}/tooltip/lib/tooltip-trigger-for.directive.mjs +4 -4
  67. package/{esm2020 → esm2022}/tooltip/lib/tooltip.component.mjs +4 -4
  68. package/{esm2020 → esm2022}/tooltip/lib/tooltip.module.mjs +5 -5
  69. package/fesm2022/ifsworld-granite-components-date-picker.mjs +396 -0
  70. package/{fesm2020 → fesm2022}/ifsworld-granite-components-date-picker.mjs.map +1 -1
  71. package/fesm2022/ifsworld-granite-components-table.mjs +190 -0
  72. package/{fesm2015 → fesm2022}/ifsworld-granite-components-table.mjs.map +1 -1
  73. package/{fesm2020 → fesm2022}/ifsworld-granite-components-tooltip.mjs +11 -11
  74. package/{fesm2020 → fesm2022}/ifsworld-granite-components-tooltip.mjs.map +1 -1
  75. package/{fesm2020 → fesm2022}/ifsworld-granite-components.mjs +337 -337
  76. package/fesm2022/ifsworld-granite-components.mjs.map +1 -0
  77. package/lib/arrange-grid/arrange-grid-item.component.d.ts +5 -5
  78. package/lib/arrange-grid/arrange-grid.component.d.ts +3 -3
  79. package/lib/badge/badge.component.d.ts +1 -1
  80. package/lib/button/button.component.d.ts +2 -2
  81. package/lib/checkbox/checkbox.component.d.ts +1 -1
  82. package/lib/chips/chip-input.d.ts +9 -9
  83. package/lib/chips/chip-list.component.d.ts +33 -33
  84. package/lib/chips/chip.component.d.ts +22 -22
  85. package/lib/core/radio-checkbox-base.d.ts +1 -1
  86. package/lib/grid/grid.component.d.ts +2 -2
  87. package/lib/icon/icon.component.d.ts +1 -1
  88. package/lib/input-field/input-field.component.d.ts +1 -1
  89. package/lib/label/label.component.d.ts +1 -1
  90. package/lib/menu/divider.directive.d.ts +1 -1
  91. package/lib/menu/menu-base.d.ts +1 -1
  92. package/lib/menu/menu-item.component.d.ts +1 -1
  93. package/lib/menu/menu-trigger-for.directive.d.ts +1 -1
  94. package/lib/radio-button/radio-button.component.d.ts +1 -1
  95. package/lib/toggle-switch/toggle-switch.component.d.ts +1 -1
  96. package/package.json +21 -40
  97. package/table/lib/cell/cell-align/cell-align-classes.directive.d.ts +1 -1
  98. package/table/lib/cell/cell.d.ts +1 -1
  99. package/table/lib/cell/table-data-cell.component.d.ts +1 -1
  100. package/table/lib/column/table-column.directive.d.ts +1 -1
  101. package/table/lib/table.component.d.ts +1 -1
  102. package/tooltip/lib/tooltip-trigger-for.directive.d.ts +1 -1
  103. package/esm2020/date-picker/lib/date-picker.component.mjs +0 -30
  104. package/esm2020/date-picker/lib/date-range-picker.component.mjs +0 -46
  105. package/esm2020/lib/badge/testing/badge.harness.mjs +0 -25
  106. package/esm2020/lib/button/button.component.mjs +0 -87
  107. package/esm2020/lib/chips/chip-input.mjs +0 -195
  108. package/esm2020/lib/chips/chip-list.component.mjs +0 -567
  109. package/esm2020/lib/chips/chip.component.mjs +0 -287
  110. package/esm2020/lib/core/devices/client-input-desktop.directive.mjs +0 -29
  111. package/esm2020/lib/core/devices/client-input-touch.directive.mjs +0 -29
  112. package/esm2020/lib/core/devices/client-output-desktop.directive.mjs +0 -29
  113. package/esm2020/lib/core/devices/client-output-touch.directive.mjs +0 -29
  114. package/esm2020/lib/menu/testing/menu.harness.mjs +0 -109
  115. package/esm2020/table/lib/table-constants.library.mjs +0 -9
  116. package/fesm2015/ifsworld-granite-components-date-picker.mjs +0 -401
  117. package/fesm2015/ifsworld-granite-components-date-picker.mjs.map +0 -1
  118. package/fesm2015/ifsworld-granite-components-table.mjs +0 -190
  119. package/fesm2015/ifsworld-granite-components-tooltip.mjs +0 -169
  120. package/fesm2015/ifsworld-granite-components-tooltip.mjs.map +0 -1
  121. package/fesm2015/ifsworld-granite-components.mjs +0 -4132
  122. package/fesm2015/ifsworld-granite-components.mjs.map +0 -1
  123. package/fesm2020/ifsworld-granite-components-date-picker.mjs +0 -396
  124. package/fesm2020/ifsworld-granite-components-table.mjs +0 -190
  125. package/fesm2020/ifsworld-granite-components-table.mjs.map +0 -1
  126. package/fesm2020/ifsworld-granite-components.mjs.map +0 -1
  127. /package/{esm2020 → esm2022}/date-picker/ifsworld-granite-components-date-picker.mjs +0 -0
  128. /package/{esm2020 → esm2022}/date-picker/index.mjs +0 -0
  129. /package/{esm2020 → esm2022}/ifsworld-granite-components.mjs +0 -0
  130. /package/{esm2020 → esm2022}/index.mjs +0 -0
  131. /package/{esm2020 → esm2022}/lib/core/animation.mjs +0 -0
  132. /package/{esm2020 → esm2022}/lib/core/client-environment.mjs +0 -0
  133. /package/{esm2020 → esm2022}/lib/core/theme.library.mjs +0 -0
  134. /package/{esm2020 → esm2022}/lib/core/types.mjs +0 -0
  135. /package/{esm2020 → esm2022}/lib/menu/menu-desktop-animations.mjs +0 -0
  136. /package/{esm2020 → esm2022}/lib/menu/menu-errors.mjs +0 -0
  137. /package/{esm2020 → esm2022}/lib/menu/menu-panel.mjs +0 -0
  138. /package/{esm2020 → esm2022}/lib/menu/menu-positions.mjs +0 -0
  139. /package/{esm2020 → esm2022}/lib/menu/menu-touch-animations.mjs +0 -0
  140. /package/{esm2020 → esm2022}/table/ifsworld-granite-components-table.mjs +0 -0
  141. /package/{esm2020 → esm2022}/table/index.mjs +0 -0
  142. /package/{esm2020 → esm2022}/table/lib/table.types.mjs +0 -0
  143. /package/{esm2020 → esm2022}/tooltip/ifsworld-granite-components-tooltip.mjs +0 -0
  144. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
@@ -1,287 +0,0 @@
1
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
- import { BACKSPACE, DELETE, SPACE } from '@angular/cdk/keycodes';
3
- import { Attribute, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, NgZone, Optional, Output, } from '@angular/core';
4
- import { take } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "../icon/icon.component";
8
- /** Event object emitted by GraniteChip when selected or deselected. */
9
- export class GraniteChipSelectionChangeEvent {
10
- constructor() {
11
- /** Whether the selection change was a result of a user interaction. */
12
- this.isUserInput = false;
13
- }
14
- }
15
- export class GraniteChipComponent {
16
- /** Whether the chip is selected. */
17
- get selected() {
18
- return this._selected;
19
- }
20
- set selected(value) {
21
- const coercedValue = coerceBooleanProperty(value);
22
- if (coercedValue !== this._selected) {
23
- this._selected = coercedValue;
24
- }
25
- }
26
- /** The value of the chip. Defaults to the text content inside `<granite-chip>` tags. */
27
- get value() {
28
- return this._value != null
29
- ? this._value
30
- : this._elementRef.nativeElement.textContent;
31
- }
32
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
33
- set value(val) {
34
- this._value = val;
35
- }
36
- /**
37
- * Whether or not the chip is selectable. When a chip is not selectable,
38
- * changes to its selected state are always ignored. By default a chip is
39
- * selectable, and it becomes non-selectable if its parent chip list is
40
- * not selectable.
41
- */
42
- get selectable() {
43
- return this._selectable && this._chipListSelectable;
44
- }
45
- set selectable(value) {
46
- this._selectable = coerceBooleanProperty(value);
47
- }
48
- /** Whether the chip is disabled. Also the individual chips are disabled when chip list is disabled */
49
- get disabled() {
50
- return this._chipListDisabled || this._disabled;
51
- }
52
- set disabled(value) {
53
- this._disabled = coerceBooleanProperty(value);
54
- }
55
- /**
56
- * Whether the chip can be removed from the list
57
- */
58
- get removable() {
59
- return this._removable;
60
- }
61
- set removable(value) {
62
- this._removable = coerceBooleanProperty(value);
63
- }
64
- /** Whether the chip is in an invalid state. */
65
- get invalid() {
66
- return this._invalid;
67
- }
68
- set invalid(value) {
69
- this._invalid = coerceBooleanProperty(value);
70
- }
71
- constructor(_elementRef, _ngZone, _changeDetectorRef, tabIndex) {
72
- this._elementRef = _elementRef;
73
- this._ngZone = _ngZone;
74
- this._changeDetectorRef = _changeDetectorRef;
75
- /** Whether the chip has focus. */
76
- this._hasFocus = false;
77
- /** Whether the chip list is selectable */
78
- this._chipListSelectable = true;
79
- /** Whether the chip list is in multi-selection mode. */
80
- this._chipListMultiple = false;
81
- /** Whether the chip list as a whole is disabled. */
82
- this._chipListDisabled = false;
83
- /** ARIA role that should be applied to the chip. */
84
- this.role = 'option';
85
- this._selected = false;
86
- this._selectable = true;
87
- this._disabled = false;
88
- this._removable = false;
89
- this._invalid = false;
90
- this.ariaLabel = null;
91
- this.ariaLabelledby = null;
92
- /** Emitted when the chip is selected or deselected. */
93
- this.selectionChange = new EventEmitter();
94
- /** Emitted when a chip is to be removed. */
95
- this.removed = new EventEmitter();
96
- /** Emitted when the chip is destroyed. */
97
- this.destroyed = new EventEmitter();
98
- this.tabIndex = -1;
99
- this.inputChip = false;
100
- /** Emits when the chip is focused. */
101
- this.chipFocus = new EventEmitter();
102
- /** Emits when the chip is blurred. */
103
- this.chipBlur = new EventEmitter();
104
- const inputChipAttrName = 'granite-input-chip';
105
- const element = this._elementRef.nativeElement;
106
- if (element.hasAttribute(inputChipAttrName) ||
107
- element.tagName.toLowerCase() === inputChipAttrName) {
108
- this.inputChip = true;
109
- }
110
- this.tabIndex = tabIndex != null ? parseInt(tabIndex) || -1 : -1;
111
- }
112
- ngOnDestroy() {
113
- this.destroyed.emit({ chip: this });
114
- }
115
- /** Selects the chip. */
116
- select(isUserInput = false) {
117
- if (!this._selected) {
118
- this._selected = true;
119
- this._dispatchSelectionChange(isUserInput);
120
- this._changeDetectorRef.markForCheck();
121
- }
122
- }
123
- /** Deselects the chip. */
124
- deselect() {
125
- if (this._selected) {
126
- this._selected = false;
127
- this._dispatchSelectionChange();
128
- this._changeDetectorRef.markForCheck();
129
- }
130
- }
131
- /** Toggles the current selected state of this chip. */
132
- toggleSelected(isUserInput = false) {
133
- this._selected = !this.selected;
134
- this._dispatchSelectionChange(isUserInput);
135
- this._changeDetectorRef.markForCheck();
136
- return this.selected;
137
- }
138
- /** Allows for programmatic focusing of the chip unless it's disabled. */
139
- focus() {
140
- if (!this.disabled) {
141
- if (!this._hasFocus) {
142
- this._elementRef.nativeElement.focus();
143
- this.chipFocus.next({ chip: this });
144
- }
145
- this._hasFocus = true;
146
- }
147
- }
148
- /**
149
- * Allows for programmatic removal of the chip.
150
- * Called by the GraniteChipList when the DELETE or BACKSPACE keys are pressed.
151
- * Informs any listeners of the removal request. Does not remove the chip from the DOM.
152
- */
153
- remove() {
154
- if (this.removable || this.inputChip) {
155
- this.removed.emit({ chip: this });
156
- }
157
- }
158
- /** Handles click events on the chip. */
159
- _handleClick(event) {
160
- if (this.disabled) {
161
- event.preventDefault();
162
- return;
163
- }
164
- if (this.selectable) {
165
- this.toggleSelected(true);
166
- }
167
- }
168
- /** Handle custom key presses. */
169
- _handleKeydown(event) {
170
- if (this.disabled) {
171
- return;
172
- }
173
- switch (event.keyCode) {
174
- case DELETE:
175
- case BACKSPACE:
176
- // If the chip is removable, remove the focused chip
177
- this.remove();
178
- // Always prevent so page navigation does not occur
179
- event.preventDefault();
180
- break;
181
- case SPACE:
182
- // If we are selectable, toggle the focused chip
183
- if (this.selectable) {
184
- this.toggleSelected(true);
185
- }
186
- // Always prevent space from scrolling the page since the list has focus
187
- event.preventDefault();
188
- break;
189
- }
190
- }
191
- _handleRemoveClick(event) {
192
- this.remove();
193
- // We need to stop event propagation because otherwise the event will bubble up to the
194
- // form field and cause the `onContainerClick` method to be invoked. This method would then
195
- // reset the focused chip that has been focused after chip removal.
196
- event.stopPropagation();
197
- event.preventDefault();
198
- }
199
- _blur() {
200
- // When animations are enabled, Angular may end up removing the chip from the DOM a little
201
- // earlier than usual, causing it to be blurred and throwing off the logic in the chip list
202
- // that moves focus not the next item. To work around the issue, we defer marking the chip
203
- // as not focused until the next time the zone stabilizes.
204
- this._ngZone.onStable.pipe(take(1)).subscribe(() => {
205
- this._ngZone.run(() => {
206
- this._hasFocus = false;
207
- this.chipBlur.next({ chip: this });
208
- });
209
- });
210
- }
211
- _dispatchSelectionChange(isUserInput = false) {
212
- this.selectionChange.emit({
213
- source: this,
214
- isUserInput,
215
- selected: this._selected,
216
- });
217
- }
218
- /** The ARIA selected applied to the chip. */
219
- get ariaSelected() {
220
- // Remove the `aria-selected` when the chip is deselected in single-selection mode, because
221
- // it adds noise to NVDA users where "not selected" will be read out for each chip.
222
- return this.selectable && (this._chipListMultiple || this.selected)
223
- ? this.selected.toString()
224
- : null;
225
- }
226
- }
227
- GraniteChipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraniteChipComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef, optional: true }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
228
- GraniteChipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: GraniteChipComponent, selector: "granite-chip, granite-input-chip", inputs: { tabIndex: "tabIndex", role: "role", selected: "selected", value: "value", selectable: "selectable", disabled: "disabled", removable: "removable", invalid: "invalid", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"] }, outputs: { selectionChange: "selectionChange", removed: "removed", destroyed: "destroyed", chipFocus: "chipFocus", chipBlur: "chipBlur" }, host: { listeners: { "click": "_handleClick($event)", "keydown": "_handleKeydown($event)", "blur": "_blur()", "focus": "focus()" }, properties: { "class.granite-chip-input": "inputChip", "class.granite-chip-selectable": "selectable", "class.granite-chip-selected": "selected", "class.granite-chip-disabled": "disabled", "class.granite-chip-invalid": "invalid", "class.granite-chip-removable": "!disabled && (removable || inputChip)", "attr.tabindex": "disabled ? null : tabIndex", "attr.role": "role", "attr.disabled": "disabled || null", "attr.aria-label": "ariaLabel", "attr.aria-labelledby": "ariaLabelledby", "attr.aria-disabled": "disabled.toString()", "attr.aria-selected": "ariaSelected" }, classAttribute: "granite-chip" }, exportAs: ["graniteChip"], ngImport: i0, template: "<ng-content></ng-content>\n<button\n *ngIf=\"!disabled && (removable || inputChip)\"\n class=\"granite-chip-remove\"\n (click)=\"_handleRemoveClick($event)\"\n>\n <granite-icon\n fontIcon=\"icon-close\"\n class=\"granite-chip-remove-icon\"\n [class.granite-chip-remove-icon-invalid]=\"invalid\"\n ></granite-icon>\n</button>\n", styles: [":host.granite-chip{display:-moz-inline-flex;display:inline-flex;flex-direction:row;flex-wrap:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;border:none;-webkit-appearance:none;-moz-appearance:none;justify-content:center;align-items:center;padding-inline:var(--granite-spacing-16);margin-inline-start:var(--granite-spacing-2);margin-inline-end:var(--granite-spacing-2);padding-top:var(--granite-spacing-8);padding-bottom:var(--granite-spacing-8);height:inherit;color:var(--granite-color-text-weak);background-color:var(--granite-color-background);border-radius:var(--granite-radius-l);border-style:solid;border-width:var(--granite-border-width-regular);border-color:var(--granite-color-border-hard)}:host.granite-chip:hover{background-color:var(--granite-color-background-hover);cursor:pointer}:host.granite-chip.granite-chip-disabled{background-color:var(--granite-color-background);color:var(--granite-color-text-hint)}:host.granite-chip.granite-chip-disabled:hover{background-color:var(--granite-color-background);cursor:auto}:host.granite-chip:not(.granite-chip-selectable):hover{background-color:var(--granite-color-background);cursor:auto}:host.granite-chip.granite-chip-removable{padding-inline-end:var(--granite-spacing-8)}:host.granite-chip.granite-chip-invalid{background-color:var(--granite-color-background-failure);border-color:var(--granite-color-background-failure)}:host.granite-chip.granite-chip-invalid:hover{border-color:var(--granite-color-signal-failure)}:host.granite-chip.granite-chip-selected:not(.granite-chip-disabled):not(.granite-chip-input){border-color:var(--granite-color-background-active);background-color:var(--granite-color-background-info)}:host.granite-chip.granite-chip-selected:not(.granite-chip-disabled):not(.granite-chip-input):hover{background-color:var(--granite-color-background-hover)}:host.granite-chip.granite-chip-input{padding-top:var(--granite-spacing-4);padding-bottom:var(--granite-spacing-4);padding-inline:var(--granite-spacing-8)}:host.granite-chip.granite-chip-input:hover{background-color:var(--granite-color-background-hover)}:host.granite-chip.granite-chip-input:hover.granite-chip-invalid{background-color:var(--granite-color-background-failure)}:host.granite-chip.granite-chip-input:hover.granite-chip-invalid:hover{border-color:var(--granite-color-signal-failure)}.granite-chip-remove{display:flex;justify-content:center;align-items:center;background-color:transparent;outline:none;border:none;cursor:pointer;margin-inline-start:var(--granite-spacing-4);margin-inline-end:0;padding:0}[dir=rtl] .granite-chip-remove{margin-inline-end:var(--granite-spacing-4);margin-inline-start:0}.granite-chip-remove .granite-chip-remove-icon{position:relative;overflow:hidden;background-repeat:no-repeat;color:var(--granite-color-text-hint);line-height:inherit}.granite-chip-remove .granite-chip-remove-icon:hover{color:var(--granite-color-text)}.granite-chip-remove .granite-chip-remove-icon.granite-chip-remove-icon-invalid{color:var(--granite-color-signal-failure)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }] });
229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraniteChipComponent, decorators: [{
230
- type: Component,
231
- args: [{ selector: `granite-chip, granite-input-chip`, inputs: ['tabIndex'], exportAs: 'graniteChip', host: {
232
- class: 'granite-chip',
233
- '[class.granite-chip-input]': 'inputChip',
234
- '[class.granite-chip-selectable]': 'selectable',
235
- '[class.granite-chip-selected]': 'selected',
236
- '[class.granite-chip-disabled]': 'disabled',
237
- '[class.granite-chip-invalid]': 'invalid',
238
- '[class.granite-chip-removable]': '!disabled && (removable || inputChip)',
239
- '[attr.tabindex]': 'disabled ? null : tabIndex',
240
- '[attr.role]': 'role',
241
- '[attr.disabled]': 'disabled || null',
242
- '[attr.aria-label]': 'ariaLabel',
243
- '[attr.aria-labelledby]': 'ariaLabelledby',
244
- '[attr.aria-disabled]': 'disabled.toString()',
245
- '[attr.aria-selected]': 'ariaSelected',
246
- '(click)': '_handleClick($event)',
247
- '(keydown)': '_handleKeydown($event)',
248
- '(blur)': '_blur()',
249
- '(focus)': 'focus()',
250
- }, template: "<ng-content></ng-content>\n<button\n *ngIf=\"!disabled && (removable || inputChip)\"\n class=\"granite-chip-remove\"\n (click)=\"_handleRemoveClick($event)\"\n>\n <granite-icon\n fontIcon=\"icon-close\"\n class=\"granite-chip-remove-icon\"\n [class.granite-chip-remove-icon-invalid]=\"invalid\"\n ></granite-icon>\n</button>\n", styles: [":host.granite-chip{display:-moz-inline-flex;display:inline-flex;flex-direction:row;flex-wrap:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;border:none;-webkit-appearance:none;-moz-appearance:none;justify-content:center;align-items:center;padding-inline:var(--granite-spacing-16);margin-inline-start:var(--granite-spacing-2);margin-inline-end:var(--granite-spacing-2);padding-top:var(--granite-spacing-8);padding-bottom:var(--granite-spacing-8);height:inherit;color:var(--granite-color-text-weak);background-color:var(--granite-color-background);border-radius:var(--granite-radius-l);border-style:solid;border-width:var(--granite-border-width-regular);border-color:var(--granite-color-border-hard)}:host.granite-chip:hover{background-color:var(--granite-color-background-hover);cursor:pointer}:host.granite-chip.granite-chip-disabled{background-color:var(--granite-color-background);color:var(--granite-color-text-hint)}:host.granite-chip.granite-chip-disabled:hover{background-color:var(--granite-color-background);cursor:auto}:host.granite-chip:not(.granite-chip-selectable):hover{background-color:var(--granite-color-background);cursor:auto}:host.granite-chip.granite-chip-removable{padding-inline-end:var(--granite-spacing-8)}:host.granite-chip.granite-chip-invalid{background-color:var(--granite-color-background-failure);border-color:var(--granite-color-background-failure)}:host.granite-chip.granite-chip-invalid:hover{border-color:var(--granite-color-signal-failure)}:host.granite-chip.granite-chip-selected:not(.granite-chip-disabled):not(.granite-chip-input){border-color:var(--granite-color-background-active);background-color:var(--granite-color-background-info)}:host.granite-chip.granite-chip-selected:not(.granite-chip-disabled):not(.granite-chip-input):hover{background-color:var(--granite-color-background-hover)}:host.granite-chip.granite-chip-input{padding-top:var(--granite-spacing-4);padding-bottom:var(--granite-spacing-4);padding-inline:var(--granite-spacing-8)}:host.granite-chip.granite-chip-input:hover{background-color:var(--granite-color-background-hover)}:host.granite-chip.granite-chip-input:hover.granite-chip-invalid{background-color:var(--granite-color-background-failure)}:host.granite-chip.granite-chip-input:hover.granite-chip-invalid:hover{border-color:var(--granite-color-signal-failure)}.granite-chip-remove{display:flex;justify-content:center;align-items:center;background-color:transparent;outline:none;border:none;cursor:pointer;margin-inline-start:var(--granite-spacing-4);margin-inline-end:0;padding:0}[dir=rtl] .granite-chip-remove{margin-inline-end:var(--granite-spacing-4);margin-inline-start:0}.granite-chip-remove .granite-chip-remove-icon{position:relative;overflow:hidden;background-repeat:no-repeat;color:var(--granite-color-text-hint);line-height:inherit}.granite-chip-remove .granite-chip-remove-icon:hover{color:var(--granite-color-text)}.granite-chip-remove .granite-chip-remove-icon.granite-chip-remove-icon-invalid{color:var(--granite-color-signal-failure)}\n"] }]
251
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef, decorators: [{
252
- type: Optional
253
- }] }, { type: undefined, decorators: [{
254
- type: Attribute,
255
- args: ['tabindex']
256
- }] }]; }, propDecorators: { role: [{
257
- type: Input
258
- }], selected: [{
259
- type: Input
260
- }], value: [{
261
- type: Input
262
- }], selectable: [{
263
- type: Input
264
- }], disabled: [{
265
- type: Input
266
- }], removable: [{
267
- type: Input
268
- }], invalid: [{
269
- type: Input
270
- }], ariaLabel: [{
271
- type: Input,
272
- args: ['aria-label']
273
- }], ariaLabelledby: [{
274
- type: Input,
275
- args: ['aria-labelledby']
276
- }], selectionChange: [{
277
- type: Output
278
- }], removed: [{
279
- type: Output
280
- }], destroyed: [{
281
- type: Output
282
- }], chipFocus: [{
283
- type: Output
284
- }], chipBlur: [{
285
- type: Output
286
- }] } });
287
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NoaXBzL2NoaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jaGlwcy9jaGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sUUFBUSxFQUNSLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFRdEMsdUVBQXVFO0FBQ3ZFLE1BQU0sT0FBTywrQkFBK0I7SUFBNUM7UUFLRSx1RUFBdUU7UUFDdkUsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFDL0IsQ0FBQztDQUFBO0FBNkJELE1BQU0sT0FBTyxvQkFBb0I7SUFnQi9CLG9DQUFvQztJQUNwQyxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDekIsTUFBTSxZQUFZLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbEQsSUFBSSxZQUFZLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQztTQUMvQjtJQUNILENBQUM7SUFHRCx3RkFBd0Y7SUFDeEYsSUFD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QURYLEtBQUs7Z0JBZUYsS0FBSztzQkFEUixLQUFLO2dCQW1CRixVQUFVO3NCQURiLEtBQUs7Z0JBV0YsUUFBUTtzQkFEWCxLQUFLO2dCQWFGLFNBQVM7c0JBRFosS0FBSztnQkFXRixPQUFPO3NCQURWLEtBQUs7Z0JBVU4sU0FBUztzQkFEUixLQUFLO3VCQUFDLFlBQVk7Z0JBSW5CLGNBQWM7c0JBRGIsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBS2YsZUFBZTtzQkFEdkIsTUFBTTtnQkFJWSxPQUFPO3NCQUF6QixNQUFNO2dCQUlZLFNBQVM7c0JBQTNCLE1BQU07Z0JBUUUsU0FBUztzQkFEakIsTUFBTTtnQkFLRSxRQUFRO3NCQURoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNhYmxlT3B0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEJBQ0tTUEFDRSwgREVMRVRFLCBTUEFDRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQge1xuICBBdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKiBFdmVudCBmaXJlZCBvbiBhbiBpbmRpdmlkdWFsIGBncmFuaXRlLWNoaXBgIGVsZW1lbnQuICovXG5leHBvcnQgaW50ZXJmYWNlIEdyYW5pdGVDaGlwRXZlbnQge1xuICAvKiogVGhlIGNoaXAgdGhlIGV2ZW50IHdhcyBmaXJlZCBvbi4gKi9cbiAgY2hpcDogR3Jhbml0ZUNoaXBDb21wb25lbnQ7XG59XG5cbi8qKiBFdmVudCBvYmplY3QgZW1pdHRlZCBieSBHcmFuaXRlQ2hpcCB3aGVuIHNlbGVjdGVkIG9yIGRlc2VsZWN0ZWQuICovXG5leHBvcnQgY2xhc3MgR3Jhbml0ZUNoaXBTZWxlY3Rpb25DaGFuZ2VFdmVudCB7XG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIGNoaXAgdGhhdCBlbWl0dGVkIHRoZSBldmVudC4gKi9cbiAgc291cmNlOiBHcmFuaXRlQ2hpcENvbXBvbmVudDtcbiAgLyoqIFdoZXRoZXIgdGhlIGNoaXAgdGhhdCBlbWl0dGVkIHRoZSBldmVudCBpcyBzZWxlY3RlZC4gKi9cbiAgc2VsZWN0ZWQ6IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRoZSBzZWxlY3Rpb24gY2hhbmdlIHdhcyBhIHJlc3VsdCBvZiBhIHVzZXIgaW50ZXJhY3Rpb24uICovXG4gIGlzVXNlcklucHV0OiBib29sZWFuID0gZmFsc2U7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogYGdyYW5pdGUtY2hpcCwgZ3Jhbml0ZS1pbnB1dC1jaGlwYCxcbiAgaW5wdXRzOiBbJ3RhYkluZGV4J10sXG4gIGV4cG9ydEFzOiAnZ3Jhbml0ZUNoaXAnLFxuICBzdHlsZVVybHM6IFsnLi9jaGlwLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGlwLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZ3Jhbml0ZS1jaGlwJyxcbiAgICAnW2NsYXNzLmdyYW5pdGUtY2hpcC1pbnB1dF0nOiAnaW5wdXRDaGlwJyxcbiAgICAnW2NsYXNzLmdyYW5pdGUtY2hpcC1zZWxlY3RhYmxlXSc6ICdzZWxlY3RhYmxlJyxcbiAgICAnW2NsYXNzLmdyYW5pdGUtY2hpcC1zZWxlY3RlZF0nOiAnc2VsZWN0ZWQnLFxuICAgICdbY2xhc3MuZ3Jhbml0ZS1jaGlwLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5ncmFuaXRlLWNoaXAtaW52YWxpZF0nOiAnaW52YWxpZCcsXG4gICAgJ1tjbGFzcy5ncmFuaXRlLWNoaXAtcmVtb3ZhYmxlXSc6ICchZGlzYWJsZWQgJiYgKHJlbW92YWJsZSB8fCBpbnB1dENoaXApJyxcbiAgICAnW2F0dHIudGFiaW5kZXhdJzogJ2Rpc2FibGVkID8gbnVsbCA6IHRhYkluZGV4JyxcbiAgICAnW2F0dHIucm9sZV0nOiAncm9sZScsXG4gICAgJ1thdHRyLmRpc2FibGVkXSc6ICdkaXNhYmxlZCB8fCBudWxsJyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnYXJpYUxhYmVsJyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdhcmlhTGFiZWxsZWRieScsXG4gICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkLnRvU3RyaW5nKCknLFxuICAgICdbYXR0ci5hcmlhLXNlbGVjdGVkXSc6ICdhcmlhU2VsZWN0ZWQnLFxuICAgICcoY2xpY2spJzogJ19oYW5kbGVDbGljaygkZXZlbnQpJyxcbiAgICAnKGtleWRvd24pJzogJ19oYW5kbGVLZXlkb3duKCRldmVudCknLFxuICAgICcoYmx1ciknOiAnX2JsdXIoKScsXG4gICAgJyhmb2N1cyknOiAnZm9jdXMoKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVDaGlwQ29tcG9uZW50IGltcGxlbWVudHMgRm9jdXNhYmxlT3B0aW9uLCBPbkRlc3Ryb3kge1xuICAvKiogV2hldGhlciB0aGUgY2hpcCBoYXMgZm9jdXMuICovXG4gIF9oYXNGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjaGlwIGxpc3QgaXMgc2VsZWN0YWJsZSAqL1xuICBfY2hpcExpc3RTZWxlY3RhYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKiogV2hldGhlciB0aGUgY2hpcCBsaXN0IGlzIGluIG11bHRpLXNlbGVjdGlvbiBtb2RlLiAqL1xuICBfY2hpcExpc3RNdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjaGlwIGxpc3QgYXMgYSB3aG9sZSBpcyBkaXNhYmxlZC4gKi9cbiAgX2NoaXBMaXN0RGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogQVJJQSByb2xlIHRoYXQgc2hvdWxkIGJlIGFwcGxpZWQgdG8gdGhlIGNoaXAuICovXG4gIEBJbnB1dCgpIHJvbGU6IHN0cmluZyA9ICdvcHRpb24nO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjaGlwIGlzIHNlbGVjdGVkLiAqL1xuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xuICB9XG4gIHNldCBzZWxlY3RlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGNvbnN0IGNvZXJjZWRWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICBpZiAoY29lcmNlZFZhbHVlICE9PSB0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBjb2VyY2VkVmFsdWU7XG4gICAgfVxuICB9XG4gIHByb3RlY3RlZCBfc2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogVGhlIHZhbHVlIG9mIHRoZSBjaGlwLiBEZWZhdWx0cyB0byB0aGUgdGV4dCBjb250ZW50IGluc2lkZSBgPGdyYW5pdGUtY2hpcD5gIHRhZ3MuICovXG4gIEBJbnB1dCgpXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZSAhPSBudWxsXG4gICAgICA/IHRoaXMuX3ZhbHVlXG4gICAgICA6IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudDtcbiAgfVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1vZHVsZS1ib3VuZGFyeS10eXBlc1xuICBzZXQgdmFsdWUodmFsOiBhbnkpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbDtcbiAgfVxuICBwcml2YXRlIF92YWx1ZTogYW55O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgY2hpcCBpcyBzZWxlY3RhYmxlLiBXaGVuIGEgY2hpcCBpcyBub3Qgc2VsZWN0YWJsZSxcbiAgICogY2hhbmdlcyB0byBpdHMgc2VsZWN0ZWQgc3RhdGUgYXJlIGFsd2F5cyBpZ25vcmVkLiBCeSBkZWZhdWx0IGEgY2hpcCBpc1xuICAgKiBzZWxlY3RhYmxlLCBhbmQgaXQgYmVjb21lcyBub24tc2VsZWN0YWJsZSBpZiBpdHMgcGFyZW50IGNoaXAgbGlzdCBpc1xuICAgKiBub3Qgc2VsZWN0YWJsZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBzZWxlY3RhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RhYmxlICYmIHRoaXMuX2NoaXBMaXN0U2VsZWN0YWJsZTtcbiAgfVxuICBzZXQgc2VsZWN0YWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3NlbGVjdGFibGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG4gIHByb3RlY3RlZCBfc2VsZWN0YWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNoaXAgaXMgZGlzYWJsZWQuIEFsc28gdGhlIGluZGl2aWR1YWwgY2hpcHMgYXJlIGRpc2FibGVkIHdoZW4gY2hpcCBsaXN0IGlzIGRpc2FibGVkICovXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY2hpcExpc3REaXNhYmxlZCB8fCB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cbiAgcHJvdGVjdGVkIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGlwIGNhbiBiZSByZW1vdmVkIGZyb20gdGhlIGxpc3RcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCByZW1vdmFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbW92YWJsZTtcbiAgfVxuICBzZXQgcmVtb3ZhYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmVtb3ZhYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuICBwcm90ZWN0ZWQgX3JlbW92YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjaGlwIGlzIGluIGFuIGludmFsaWQgc3RhdGUuICovXG4gIEBJbnB1dCgpXG4gIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pbnZhbGlkO1xuICB9XG4gIHNldCBpbnZhbGlkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faW52YWxpZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cbiAgcHJvdGVjdGVkIF9pbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdhcmlhLWxhYmVsJylcbiAgYXJpYUxhYmVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoJ2FyaWEtbGFiZWxsZWRieScpXG4gIGFyaWFMYWJlbGxlZGJ5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBjaGlwIGlzIHNlbGVjdGVkIG9yIGRlc2VsZWN0ZWQuICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBzZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxHcmFuaXRlQ2hpcFNlbGVjdGlvbkNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8R3Jhbml0ZUNoaXBTZWxlY3Rpb25DaGFuZ2VFdmVudD4oKTtcblxuICAvKiogRW1pdHRlZCB3aGVuIGEgY2hpcCBpcyB0byBiZSByZW1vdmVkLiAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgcmVtb3ZlZDogRXZlbnRFbWl0dGVyPEdyYW5pdGVDaGlwRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPEdyYW5pdGVDaGlwRXZlbnQ+KCk7XG5cbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgY2hpcCBpcyBkZXN0cm95ZWQuICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBkZXN0cm95ZWQ6IEV2ZW50RW1pdHRlcjxHcmFuaXRlQ2hpcEV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxHcmFuaXRlQ2hpcEV2ZW50PigpO1xuXG4gIHRhYkluZGV4OiBudW1iZXIgPSAtMTtcbiAgaW5wdXRDaGlwOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIEVtaXRzIHdoZW4gdGhlIGNoaXAgaXMgZm9jdXNlZC4gKi9cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGNoaXBGb2N1czogRXZlbnRFbWl0dGVyPEdyYW5pdGVDaGlwRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxHcmFuaXRlQ2hpcEV2ZW50PigpO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSBjaGlwIGlzIGJsdXJyZWQuICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBjaGlwQmx1cjogRXZlbnRFbWl0dGVyPEdyYW5pdGVDaGlwRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxHcmFuaXRlQ2hpcEV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQEF0dHJpYnV0ZSgndGFiaW5kZXgnKSB0YWJJbmRleD86IHN0cmluZ1xuICApIHtcbiAgICBjb25zdCBpbnB1dENoaXBBdHRyTmFtZSA9ICdncmFuaXRlLWlucHV0LWNoaXAnO1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgaWYgKFxuICAgICAgZWxlbWVudC5oYXNBdHRyaWJ1dGUoaW5wdXRDaGlwQXR0ck5hbWUpIHx8XG4gICAgICBlbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gaW5wdXRDaGlwQXR0ck5hbWVcbiAgICApIHtcbiAgICAgIHRoaXMuaW5wdXRDaGlwID0gdHJ1ZTtcbiAgICB9XG5cbiAgICB0aGlzLnRhYkluZGV4ID0gdGFiSW5kZXggIT0gbnVsbCA/IHBhcnNlSW50KHRhYkluZGV4KSB8fCAtMSA6IC0xO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQuZW1pdCh7IGNoaXA6IHRoaXMgfSk7XG4gIH1cblxuICAvKiogU2VsZWN0cyB0aGUgY2hpcC4gKi9cbiAgc2VsZWN0KGlzVXNlcklucHV0OiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3NlbGVjdGVkKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZCA9IHRydWU7XG4gICAgICB0aGlzLl9kaXNwYXRjaFNlbGVjdGlvbkNoYW5nZShpc1VzZXJJbnB1dCk7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICAvKiogRGVzZWxlY3RzIHRoZSBjaGlwLiAqL1xuICBkZXNlbGVjdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkID0gZmFsc2U7XG4gICAgICB0aGlzLl9kaXNwYXRjaFNlbGVjdGlvbkNoYW5nZSgpO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFRvZ2dsZXMgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgc3RhdGUgb2YgdGhpcyBjaGlwLiAqL1xuICB0b2dnbGVTZWxlY3RlZChpc1VzZXJJbnB1dDogYm9vbGVhbiA9IGZhbHNlKTogYm9vbGVhbiB7XG4gICAgdGhpcy5fc2VsZWN0ZWQgPSAhdGhpcy5zZWxlY3RlZDtcbiAgICB0aGlzLl9kaXNwYXRjaFNlbGVjdGlvbkNoYW5nZShpc1VzZXJJbnB1dCk7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQ7XG4gIH1cblxuICAvKiogQWxsb3dzIGZvciBwcm9ncmFtbWF0aWMgZm9jdXNpbmcgb2YgdGhlIGNoaXAgdW5sZXNzIGl0J3MgZGlzYWJsZWQuICovXG4gIGZvY3VzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgaWYgKCF0aGlzLl9oYXNGb2N1cykge1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgdGhpcy5jaGlwRm9jdXMubmV4dCh7IGNoaXA6IHRoaXMgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLl9oYXNGb2N1cyA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93cyBmb3IgcHJvZ3JhbW1hdGljIHJlbW92YWwgb2YgdGhlIGNoaXAuXG4gICAqIENhbGxlZCBieSB0aGUgR3Jhbml0ZUNoaXBMaXN0IHdoZW4gdGhlIERFTEVURSBvciBCQUNLU1BBQ0Uga2V5cyBhcmUgcHJlc3NlZC5cbiAgICogSW5mb3JtcyBhbnkgbGlzdGVuZXJzIG9mIHRoZSByZW1vdmFsIHJlcXVlc3QuIERvZXMgbm90IHJlbW92ZSB0aGUgY2hpcCBmcm9tIHRoZSBET00uXG4gICAqL1xuICByZW1vdmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVtb3ZhYmxlIHx8IHRoaXMuaW5wdXRDaGlwKSB7XG4gICAgICB0aGlzLnJlbW92ZWQuZW1pdCh7IGNoaXA6IHRoaXMgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEhhbmRsZXMgY2xpY2sgZXZlbnRzIG9uIHRoZSBjaGlwLiAqL1xuICBfaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMudG9nZ2xlU2VsZWN0ZWQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEhhbmRsZSBjdXN0b20ga2V5IHByZXNzZXMuICovXG4gIF9oYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGV2ZW50LmtleUNvZGUpIHtcbiAgICAgIGNhc2UgREVMRVRFOlxuICAgICAgY2FzZSBCQUNLU1BBQ0U6XG4gICAgICAgIC8vIElmIHRoZSBjaGlwIGlzIHJlbW92YWJsZSwgcmVtb3ZlIHRoZSBmb2N1c2VkIGNoaXBcbiAgICAgICAgdGhpcy5yZW1vdmUoKTtcbiAgICAgICAgLy8gQWx3YXlzIHByZXZlbnQgc28gcGFnZSBuYXZpZ2F0aW9uIGRvZXMgbm90IG9jY3VyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUEFDRTpcbiAgICAgICAgLy8gSWYgd2UgYXJlIHNlbGVjdGFibGUsIHRvZ2dsZSB0aGUgZm9jdXNlZCBjaGlwXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGFibGUpIHtcbiAgICAgICAgICB0aGlzLnRvZ2dsZVNlbGVjdGVkKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWx3YXlzIHByZXZlbnQgc3BhY2UgZnJvbSBzY3JvbGxpbmcgdGhlIHBhZ2Ugc2luY2UgdGhlIGxpc3QgaGFzIGZvY3VzXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIF9oYW5kbGVSZW1vdmVDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZSgpO1xuICAgIC8vIFdlIG5lZWQgdG8gc3RvcCBldmVudCBwcm9wYWdhdGlvbiBiZWNhdXNlIG90aGVyd2lzZSB0aGUgZXZlbnQgd2lsbCBidWJibGUgdXAgdG8gdGhlXG4gICAgLy8gZm9ybSBmaWVsZCBhbmQgY2F1c2UgdGhlIGBvbkNvbnRhaW5lckNsaWNrYCBtZXRob2QgdG8gYmUgaW52b2tlZC4gVGhpcyBtZXRob2Qgd291bGQgdGhlblxuICAgIC8vIHJlc2V0IHRoZSBmb2N1c2VkIGNoaXAgdGhhdCBoYXMgYmVlbiBmb2N1c2VkIGFmdGVyIGNoaXAgcmVtb3ZhbC5cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgX2JsdXIoKTogdm9pZCB7XG4gICAgLy8gV2hlbiBhbmltYXRpb25zIGFyZSBlbmFibGVkLCBBbmd1bGFyIG1heSBlbmQgdXAgcmVtb3ZpbmcgdGhlIGNoaXAgZnJvbSB0aGUgRE9NIGEgbGl0dGxlXG4gICAgLy8gZWFybGllciB0aGFuIHVzdWFsLCBjYXVzaW5nIGl0IHRvIGJlIGJsdXJyZWQgYW5kIHRocm93aW5nIG9mZiB0aGUgbG9naWMgaW4gdGhlIGNoaXAgbGlzdFxuICAgIC8vIHRoYXQgbW92ZXMgZm9jdXMgbm90IHRoZSBuZXh0IGl0ZW0uIFRvIHdvcmsgYXJvdW5kIHRoZSBpc3N1ZSwgd2UgZGVmZXIgbWFya2luZyB0aGUgY2hpcFxuICAgIC8vIGFzIG5vdCBmb2N1c2VkIHVudGlsIHRoZSBuZXh0IHRpbWUgdGhlIHpvbmUgc3RhYmlsaXplcy5cbiAgICB0aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fbmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMuX2hhc0ZvY3VzID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2hpcEJsdXIubmV4dCh7IGNoaXA6IHRoaXMgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BhdGNoU2VsZWN0aW9uQ2hhbmdlKGlzVXNlcklucHV0ID0gZmFsc2UpIHtcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHtcbiAgICAgIHNvdXJjZTogdGhpcyxcbiAgICAgIGlzVXNlcklucHV0LFxuICAgICAgc2VsZWN0ZWQ6IHRoaXMuX3NlbGVjdGVkLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqIFRoZSBBUklBIHNlbGVjdGVkIGFwcGxpZWQgdG8gdGhlIGNoaXAuICovXG4gIGdldCBhcmlhU2VsZWN0ZWQoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgLy8gUmVtb3ZlIHRoZSBgYXJpYS1zZWxlY3RlZGAgd2hlbiB0aGUgY2hpcCBpcyBkZXNlbGVjdGVkIGluIHNpbmdsZS1zZWxlY3Rpb24gbW9kZSwgYmVjYXVzZVxuICAgIC8vIGl0IGFkZHMgbm9pc2UgdG8gTlZEQSB1c2VycyB3aGVyZSBcIm5vdCBzZWxlY3RlZFwiIHdpbGwgYmUgcmVhZCBvdXQgZm9yIGVhY2ggY2hpcC5cbiAgICByZXR1cm4gdGhpcy5zZWxlY3RhYmxlICYmICh0aGlzLl9jaGlwTGlzdE11bHRpcGxlIHx8IHRoaXMuc2VsZWN0ZWQpXG4gICAgICA/IHRoaXMuc2VsZWN0ZWQudG9TdHJpbmcoKVxuICAgICAgOiBudWxsO1xuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48YnV0dG9uXG4gICpuZ0lmPVwiIWRpc2FibGVkICYmIChyZW1vdmFibGUgfHwgaW5wdXRDaGlwKVwiXG4gIGNsYXNzPVwiZ3Jhbml0ZS1jaGlwLXJlbW92ZVwiXG4gIChjbGljayk9XCJfaGFuZGxlUmVtb3ZlQ2xpY2soJGV2ZW50KVwiXG4+XG4gIDxncmFuaXRlLWljb25cbiAgICBmb250SWNvbj1cImljb24tY2xvc2VcIlxuICAgIGNsYXNzPVwiZ3Jhbml0ZS1jaGlwLXJlbW92ZS1pY29uXCJcbiAgICBbY2xhc3MuZ3Jhbml0ZS1jaGlwLXJlbW92ZS1pY29uLWludmFsaWRdPVwiaW52YWxpZFwiXG4gID48L2dyYW5pdGUtaWNvbj5cbjwvYnV0dG9uPlxuIl19
@@ -1,29 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import { deviceDesktop, GRANITE_CLIENT_INPUT } from '../client-environment';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Directive used to tell components and their sub components that client input
6
- * should be adapted for desktop devices, like personal computers.
7
- */
8
- export class ClientInputDesktopDirective {
9
- }
10
- ClientInputDesktopDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientInputDesktopDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
11
- ClientInputDesktopDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: ClientInputDesktopDirective, selector: "[graniteClientInputDesktop]", providers: [
12
- {
13
- provide: GRANITE_CLIENT_INPUT,
14
- useValue: deviceDesktop.input,
15
- },
16
- ], ngImport: i0 });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientInputDesktopDirective, decorators: [{
18
- type: Directive,
19
- args: [{
20
- selector: `[graniteClientInputDesktop]`,
21
- providers: [
22
- {
23
- provide: GRANITE_CLIENT_INPUT,
24
- useValue: deviceDesktop.input,
25
- },
26
- ],
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWlucHV0LWRlc2t0b3AuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jb3JlL2RldmljZXMvY2xpZW50LWlucHV0LWRlc2t0b3AuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUU1RTs7O0dBR0c7QUFVSCxNQUFNLE9BQU8sMkJBQTJCOzt3SEFBM0IsMkJBQTJCOzRHQUEzQiwyQkFBMkIsc0RBUDNCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLFFBQVEsRUFBRSxhQUFhLENBQUMsS0FBSztTQUM5QjtLQUNGOzJGQUVVLDJCQUEyQjtrQkFUdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLG9CQUFvQjs0QkFDN0IsUUFBUSxFQUFFLGFBQWEsQ0FBQyxLQUFLO3lCQUM5QjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGV2aWNlRGVza3RvcCwgR1JBTklURV9DTElFTlRfSU5QVVQgfSBmcm9tICcuLi9jbGllbnQtZW52aXJvbm1lbnQnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB1c2VkIHRvIHRlbGwgY29tcG9uZW50cyBhbmQgdGhlaXIgc3ViIGNvbXBvbmVudHMgdGhhdCBjbGllbnQgaW5wdXRcbiAqIHNob3VsZCBiZSBhZGFwdGVkIGZvciBkZXNrdG9wIGRldmljZXMsIGxpa2UgcGVyc29uYWwgY29tcHV0ZXJzLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IGBbZ3Jhbml0ZUNsaWVudElucHV0RGVza3RvcF1gLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBHUkFOSVRFX0NMSUVOVF9JTlBVVCxcbiAgICAgIHVzZVZhbHVlOiBkZXZpY2VEZXNrdG9wLmlucHV0LFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENsaWVudElucHV0RGVza3RvcERpcmVjdGl2ZSB7fVxuIl19
@@ -1,29 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import { deviceTouch, GRANITE_CLIENT_INPUT } from '../client-environment';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Directive used to tell components and their sub components that client input
6
- * should be adapted for touch devices, like mobiles and tablets.
7
- */
8
- export class ClientInputTouchDirective {
9
- }
10
- ClientInputTouchDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientInputTouchDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
11
- ClientInputTouchDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: ClientInputTouchDirective, selector: "[graniteClientInputTouch]", providers: [
12
- {
13
- provide: GRANITE_CLIENT_INPUT,
14
- useValue: deviceTouch.input,
15
- },
16
- ], ngImport: i0 });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientInputTouchDirective, decorators: [{
18
- type: Directive,
19
- args: [{
20
- selector: `[graniteClientInputTouch]`,
21
- providers: [
22
- {
23
- provide: GRANITE_CLIENT_INPUT,
24
- useValue: deviceTouch.input,
25
- },
26
- ],
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWlucHV0LXRvdWNoLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvY29yZS9kZXZpY2VzL2NsaWVudC1pbnB1dC10b3VjaC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRTFFOzs7R0FHRztBQVVILE1BQU0sT0FBTyx5QkFBeUI7O3NIQUF6Qix5QkFBeUI7MEdBQXpCLHlCQUF5QixvREFQekI7UUFDVDtZQUNFLE9BQU8sRUFBRSxvQkFBb0I7WUFDN0IsUUFBUSxFQUFFLFdBQVcsQ0FBQyxLQUFLO1NBQzVCO0tBQ0Y7MkZBRVUseUJBQXlCO2tCQVRyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsb0JBQW9COzRCQUM3QixRQUFRLEVBQUUsV0FBVyxDQUFDLEtBQUs7eUJBQzVCO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZXZpY2VUb3VjaCwgR1JBTklURV9DTElFTlRfSU5QVVQgfSBmcm9tICcuLi9jbGllbnQtZW52aXJvbm1lbnQnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB1c2VkIHRvIHRlbGwgY29tcG9uZW50cyBhbmQgdGhlaXIgc3ViIGNvbXBvbmVudHMgdGhhdCBjbGllbnQgaW5wdXRcbiAqIHNob3VsZCBiZSBhZGFwdGVkIGZvciB0b3VjaCBkZXZpY2VzLCBsaWtlIG1vYmlsZXMgYW5kIHRhYmxldHMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogYFtncmFuaXRlQ2xpZW50SW5wdXRUb3VjaF1gLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBHUkFOSVRFX0NMSUVOVF9JTlBVVCxcbiAgICAgIHVzZVZhbHVlOiBkZXZpY2VUb3VjaC5pbnB1dCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDbGllbnRJbnB1dFRvdWNoRGlyZWN0aXZlIHt9XG4iXX0=
@@ -1,29 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import { deviceDesktop, GRANITE_CLIENT_OUTPUT } from '../client-environment';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Directive used to tell components and their sub components that client output
6
- * should be adapted for desktop devices like personal computers.
7
- */
8
- export class ClientOutputDesktopDirective {
9
- }
10
- ClientOutputDesktopDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientOutputDesktopDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
11
- ClientOutputDesktopDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: ClientOutputDesktopDirective, selector: "[graniteClientOutputDesktop]", providers: [
12
- {
13
- provide: GRANITE_CLIENT_OUTPUT,
14
- useValue: deviceDesktop.output,
15
- },
16
- ], ngImport: i0 });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientOutputDesktopDirective, decorators: [{
18
- type: Directive,
19
- args: [{
20
- selector: `[graniteClientOutputDesktop]`,
21
- providers: [
22
- {
23
- provide: GRANITE_CLIENT_OUTPUT,
24
- useValue: deviceDesktop.output,
25
- },
26
- ],
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW91dHB1dC1kZXNrdG9wLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvY29yZS9kZXZpY2VzL2NsaWVudC1vdXRwdXQtZGVza3RvcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRTdFOzs7R0FHRztBQVVILE1BQU0sT0FBTyw0QkFBNEI7O3lIQUE1Qiw0QkFBNEI7NkdBQTVCLDRCQUE0Qix1REFQNUI7UUFDVDtZQUNFLE9BQU8sRUFBRSxxQkFBcUI7WUFDOUIsUUFBUSxFQUFFLGFBQWEsQ0FBQyxNQUFNO1NBQy9CO0tBQ0Y7MkZBRVUsNEJBQTRCO2tCQVR4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUscUJBQXFCOzRCQUM5QixRQUFRLEVBQUUsYUFBYSxDQUFDLE1BQU07eUJBQy9CO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZXZpY2VEZXNrdG9wLCBHUkFOSVRFX0NMSUVOVF9PVVRQVVQgfSBmcm9tICcuLi9jbGllbnQtZW52aXJvbm1lbnQnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB1c2VkIHRvIHRlbGwgY29tcG9uZW50cyBhbmQgdGhlaXIgc3ViIGNvbXBvbmVudHMgdGhhdCBjbGllbnQgb3V0cHV0XG4gKiBzaG91bGQgYmUgYWRhcHRlZCBmb3IgZGVza3RvcCBkZXZpY2VzIGxpa2UgcGVyc29uYWwgY29tcHV0ZXJzLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IGBbZ3Jhbml0ZUNsaWVudE91dHB1dERlc2t0b3BdYCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogR1JBTklURV9DTElFTlRfT1VUUFVULFxuICAgICAgdXNlVmFsdWU6IGRldmljZURlc2t0b3Aub3V0cHV0LFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENsaWVudE91dHB1dERlc2t0b3BEaXJlY3RpdmUge31cbiJdfQ==
@@ -1,29 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import { GRANITE_CLIENT_OUTPUT, deviceTouch } from '../client-environment';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Directive used to tell components and their sub components that client output
6
- * should be adapted for touch devices like mobiles and tablets.
7
- */
8
- export class ClientOutputTouchDirective {
9
- }
10
- ClientOutputTouchDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientOutputTouchDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
11
- ClientOutputTouchDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: ClientOutputTouchDirective, selector: "[graniteClientOutputTouch]", providers: [
12
- {
13
- provide: GRANITE_CLIENT_OUTPUT,
14
- useValue: deviceTouch.output,
15
- },
16
- ], ngImport: i0 });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ClientOutputTouchDirective, decorators: [{
18
- type: Directive,
19
- args: [{
20
- selector: `[graniteClientOutputTouch]`,
21
- providers: [
22
- {
23
- provide: GRANITE_CLIENT_OUTPUT,
24
- useValue: deviceTouch.output,
25
- },
26
- ],
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW91dHB1dC10b3VjaC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvcmUvZGV2aWNlcy9jbGllbnQtb3V0cHV0LXRvdWNoLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFM0U7OztHQUdHO0FBVUgsTUFBTSxPQUFPLDBCQUEwQjs7dUhBQTFCLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHFEQVAxQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLHFCQUFxQjtZQUM5QixRQUFRLEVBQUUsV0FBVyxDQUFDLE1BQU07U0FDN0I7S0FDRjsyRkFFVSwwQkFBMEI7a0JBVHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFFBQVEsRUFBRSxXQUFXLENBQUMsTUFBTTt5QkFDN0I7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdSQU5JVEVfQ0xJRU5UX09VVFBVVCwgZGV2aWNlVG91Y2ggfSBmcm9tICcuLi9jbGllbnQtZW52aXJvbm1lbnQnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB1c2VkIHRvIHRlbGwgY29tcG9uZW50cyBhbmQgdGhlaXIgc3ViIGNvbXBvbmVudHMgdGhhdCBjbGllbnQgb3V0cHV0XG4gKiBzaG91bGQgYmUgYWRhcHRlZCBmb3IgdG91Y2ggZGV2aWNlcyBsaWtlIG1vYmlsZXMgYW5kIHRhYmxldHMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogYFtncmFuaXRlQ2xpZW50T3V0cHV0VG91Y2hdYCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogR1JBTklURV9DTElFTlRfT1VUUFVULFxuICAgICAgdXNlVmFsdWU6IGRldmljZVRvdWNoLm91dHB1dCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDbGllbnRPdXRwdXRUb3VjaERpcmVjdGl2ZSB7fVxuIl19
@@ -1,109 +0,0 @@
1
- import { ComponentHarness, TestKey, HarnessPredicate, } from '@angular/cdk/testing';
2
- /**
3
- * Test harness for menu component
4
- *
5
- * Stripped-down version of the Angular Material menu test harness (.../menu/menu-harness.ts)
6
- * just to get things going.
7
- */
8
- export class GraniteMenuHarness extends ComponentHarness {
9
- constructor() {
10
- super(...arguments);
11
- this._documentRootLocator = this.documentRootLocatorFactory();
12
- }
13
- /**
14
- * Gets a `HarnessPredicate` that can be used to search for a `MenuHarness` that meets
15
- * certain criteria.
16
- * @param options Options for filtering which menu item instances are considered a match.
17
- * @return a `HarnessPredicate` configured with the given options.
18
- */
19
- static with(options = {}) {
20
- return new HarnessPredicate(GraniteMenuHarness, options).addOption('text', options.text,
21
- /* @dynamic */ (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text));
22
- }
23
- /** Gets the text of the menu trigger */
24
- async getText() {
25
- return (await this.host()).text();
26
- }
27
- /** Opens the menu, unless already open */
28
- async open() {
29
- if (!(await this.isOpen())) {
30
- await (await this.host()).click();
31
- // This is necessary so that we wait for the opening animation to finish.
32
- return this.forceStabilize();
33
- }
34
- }
35
- /** Closes the menu, unless already closed */
36
- async close() {
37
- await (await this._getMenuPanel())?.sendKeys(TestKey.ESCAPE);
38
- // This is necessary so that we wait for the closing animation to finish.
39
- return this.forceStabilize();
40
- }
41
- /** Whether the menu is open */
42
- async isOpen() {
43
- return !!(await this._getMenuPanel());
44
- }
45
- /**
46
- * Gets a list of `GraniteMenuItemHarness` representing the items in the menu.
47
- * @param filters Optionally filters which menu items are included.
48
- */
49
- async getItems(filters = {}) {
50
- const panelId = await this._getPanelId();
51
- if (panelId) {
52
- return this._documentRootLocator.locatorForAll(GraniteMenuItemHarness.with({ ...filters, ancestor: `#${panelId}` }))();
53
- }
54
- return [];
55
- }
56
- /** Gets the menu panel (popup) associated with the menu */
57
- async _getMenuPanel() {
58
- const panelId = await this._getPanelId();
59
- return panelId
60
- ? this._documentRootLocator.locatorForOptional(`#${panelId}`)()
61
- : null;
62
- }
63
- /** Gets the id of the menu panel (popup) associated with this menu */
64
- async _getPanelId() {
65
- const panelId = await (await this.host()).getAttribute('aria-controls');
66
- return panelId || null;
67
- }
68
- }
69
- /**
70
- * The selector for the host element of a `MenuComponent` instance,
71
- * i.e. the button element used to open the menu.
72
- */
73
- GraniteMenuHarness.hostSelector = '.granite-menu-trigger';
74
- export class GraniteMenuItemHarness extends ComponentHarness {
75
- /**
76
- * Gets a `HarnessPredicate` that can be used to search for a `GraniteMenuItemHarness` that meets
77
- * certain criteria.
78
- * @param options Options for filtering which menu item instances are considered a match.
79
- * @return a `HarnessPredicate` configured with the given options.
80
- */
81
- static with(options = {}) {
82
- return new HarnessPredicate(GraniteMenuItemHarness, options).addOption('text', options.text,
83
- /* @dynamic */ (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text));
84
- }
85
- /** Gets the text of the menu item. */
86
- async getText() {
87
- return (await this.host()).text();
88
- }
89
- /** Whether this item has a submenu. */
90
- async hasSubmenu() {
91
- return (await this.host()).matchesSelector(GraniteMenuHarness.hostSelector);
92
- }
93
- /** Gets the submenu associated with this menu item, or null if none. */
94
- async getSubmenu() {
95
- if (await this.hasSubmenu()) {
96
- return new GraniteMenuHarness(this.locatorFactory);
97
- }
98
- return null;
99
- }
100
- /** Clicks the menu item. */
101
- async click() {
102
- await (await this.host()).click();
103
- // This is necessary so that we wait for the opening animation to finish. (i.e. if it opens another menu)
104
- return this.forceStabilize();
105
- }
106
- }
107
- /** The selector for the host element of a `MenuItemComponent` instance. */
108
- GraniteMenuItemHarness.hostSelector = '.granite-menu-item';
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9tZW51L3Rlc3RpbmcvbWVudS5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsT0FBTyxFQUdQLGdCQUFnQixHQUNqQixNQUFNLHNCQUFzQixDQUFDO0FBRTlCOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGdCQUFnQjtJQUF4RDs7UUFPVSx5QkFBb0IsR0FBRyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQTBFbkUsQ0FBQztJQXhFQzs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxJQUFJLENBQ1QsVUFBcUMsRUFBRTtRQUV2QyxPQUFPLElBQUksZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUNoRSxNQUFNLEVBQ04sT0FBTyxDQUFDLElBQUk7UUFDWixjQUFjLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FDL0IsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FDMUQsQ0FBQztJQUNKLENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsS0FBSyxDQUFDLE9BQU87UUFDWCxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsMENBQTBDO0lBQzFDLEtBQUssQ0FBQyxJQUFJO1FBQ1IsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRTtZQUMxQixNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQyx5RUFBeUU7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TUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNsQyx5R0FBeUc7UUFDekcsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7QUEzQ0QsMkVBQTJFO0FBQ3BFLG1DQUFZLEdBQUcsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnRIYXJuZXNzLFxuICBUZXN0S2V5LFxuICBUZXN0RWxlbWVudCxcbiAgQmFzZUhhcm5lc3NGaWx0ZXJzLFxuICBIYXJuZXNzUHJlZGljYXRlLFxufSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5cbi8qKlxuICogVGVzdCBoYXJuZXNzIGZvciBtZW51IGNvbXBvbmVudFxuICpcbiAqIFN0cmlwcGVkLWRvd24gdmVyc2lvbiBvZiB0aGUgQW5ndWxhciBNYXRlcmlhbCBtZW51IHRlc3QgaGFybmVzcyAoLi4uL21lbnUvbWVudS1oYXJuZXNzLnRzKVxuICoganVzdCB0byBnZXQgdGhpbmdzIGdvaW5nLlxuICovXG5leHBvcnQgY2xhc3MgR3Jhbml0ZU1lbnVIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBUaGUgc2VsZWN0b3IgZm9yIHRoZSBob3N0IGVsZW1lbnQgb2YgYSBgTWVudUNvbXBvbmVudGAgaW5zdGFuY2UsXG4gICAqIGkuZS4gdGhlIGJ1dHRvbiBlbGVtZW50IHVzZWQgdG8gb3BlbiB0aGUgbWVudS5cbiAgICovXG4gIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnLmdyYW5pdGUtbWVudS10cmlnZ2VyJztcblxuICBwcml2YXRlIF9kb2N1bWVudFJvb3RMb2NhdG9yID0gdGhpcy5kb2N1bWVudFJvb3RMb2NhdG9yRmFjdG9yeSgpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhIGBNZW51SGFybmVzc2AgdGhhdCBtZWV0c1xuICAgKiBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciBmaWx0ZXJpbmcgd2hpY2ggbWVudSBpdGVtIGluc3RhbmNlcyBhcmUgY29uc2lkZXJlZCBhIG1hdGNoLlxuICAgKiBAcmV0dXJuIGEgYEhhcm5lc3NQcmVkaWNhdGVgIGNvbmZpZ3VyZWQgd2l0aCB0aGUgZ2l2ZW4gb3B0aW9ucy5cbiAgICovXG4gIHN0YXRpYyB3aXRoKFxuICAgIG9wdGlvbnM6IEdyYW5pdGVNZW51SGFybmVzc0ZpbHRlcnMgPSB7fVxuICApOiBIYXJuZXNzUHJlZGljYXRlPEdyYW5pdGVNZW51SGFybmVzcz4ge1xuICAgIHJldHVybiBuZXcgSGFybmVzc1ByZWRpY2F0ZShHcmFuaXRlTWVudUhhcm5lc3MsIG9wdGlvbnMpLmFkZE9wdGlvbihcbiAgICAgICd0ZXh0JyxcbiAgICAgIG9wdGlvbnMudGV4dCxcbiAgICAgIC8qIEBkeW5hbWljICovIChoYXJuZXNzLCB0ZXh0KSA9PlxuICAgICAgICBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoaGFybmVzcy5nZXRUZXh0KCksIHRleHQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSB0ZXh0IG9mIHRoZSBtZW51IHRyaWdnZXIgKi9cbiAgYXN5bmMgZ2V0VGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5ob3N0KCkpLnRleHQoKTtcbiAgfVxuXG4gIC8qKiBPcGVucyB0aGUgbWVudSwgdW5sZXNzIGFscmVhZHkgb3BlbiAqL1xuICBhc3luYyBvcGVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghKGF3YWl0IHRoaXMuaXNPcGVuKCkpKSB7XG4gICAgICBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmNsaWNrKCk7XG4gICAgICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBzbyB0aGF0IHdlIHdhaXQgZm9yIHRoZSBvcGVuaW5nIGFuaW1hdGlvbiB0byBmaW5pc2guXG4gICAgICByZXR1cm4gdGhpcy5mb3JjZVN0YWJpbGl6ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIG1lbnUsIHVubGVzcyBhbHJlYWR5IGNsb3NlZCAqL1xuICBhc3luYyBjbG9zZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5fZ2V0TWVudVBhbmVsKCkpPy5zZW5kS2V5cyhUZXN0S2V5LkVTQ0FQRSk7XG4gICAgLy8gVGhpcyBpcyBuZWNlc3Nhcnkgc28gdGhhdCB3ZSB3YWl0IGZvciB0aGUgY2xvc2luZyBhbmltYXRpb24gdG8gZmluaXNoLlxuICAgIHJldHVybiB0aGlzLmZvcmNlU3RhYmlsaXplKCk7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgbWVudSBpcyBvcGVuICovXG4gIGFzeW5jIGlzT3BlbigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gISEoYXdhaXQgdGhpcy5fZ2V0TWVudVBhbmVsKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSBsaXN0IG9mIGBHcmFuaXRlTWVudUl0ZW1IYXJuZXNzYCByZXByZXNlbnRpbmcgdGhlIGl0ZW1zIGluIHRoZSBtZW51LlxuICAgKiBAcGFyYW0gZmlsdGVycyBPcHRpb25hbGx5IGZpbHRlcnMgd2hpY2ggbWVudSBpdGVtcyBhcmUgaW5jbHVkZWQuXG4gICAqL1xuICBhc3luYyBnZXRJdGVtcyhcbiAgICBmaWx0ZXJzOiBPbWl0PEdyYW5pdGVNZW51SXRlbUhhcm5lc3NGaWx0ZXJzLCAnYW5jZXN0b3InPiA9IHt9XG4gICk6IFByb21pc2U8R3Jhbml0ZU1lbnVJdGVtSGFybmVzc1tdPiB7XG4gICAgY29uc3QgcGFuZWxJZCA9IGF3YWl0IHRoaXMuX2dldFBhbmVsSWQoKTtcbiAgICBpZiAocGFuZWxJZCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2RvY3VtZW50Um9vdExvY2F0b3IubG9jYXRvckZvckFsbChcbiAgICAgICAgR3Jhbml0ZU1lbnVJdGVtSGFybmVzcy53aXRoKHsgLi4uZmlsdGVycywgYW5jZXN0b3I6IGAjJHtwYW5lbElkfWAgfSlcbiAgICAgICkoKTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIG1lbnUgcGFuZWwgKHBvcHVwKSBhc3NvY2lhdGVkIHdpdGggdGhlIG1lbnUgKi9cbiAgcHJpdmF0ZSBhc3luYyBfZ2V0TWVudVBhbmVsKCk6IFByb21pc2U8VGVzdEVsZW1lbnQgfCBudWxsPiB7XG4gICAgY29uc3QgcGFuZWxJZCA9IGF3YWl0IHRoaXMuX2dldFBhbmVsSWQoKTtcbiAgICByZXR1cm4gcGFuZWxJZFxuICAgICAgPyB0aGlzLl9kb2N1bWVudFJvb3RMb2NhdG9yLmxvY2F0b3JGb3JPcHRpb25hbChgIyR7cGFuZWxJZH1gKSgpXG4gICAgICA6IG51bGw7XG4gIH1cblxuICAvKiogR2V0cyB0aGUgaWQgb2YgdGhlIG1lbnUgcGFuZWwgKHBvcHVwKSBhc3NvY2lhdGVkIHdpdGggdGhpcyBtZW51ICovXG4gIHByaXZhdGUgYXN5bmMgX2dldFBhbmVsSWQoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgY29uc3QgcGFuZWxJZCA9IGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuZ2V0QXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJyk7XG4gICAgcmV0dXJuIHBhbmVsSWQgfHwgbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgR3Jhbml0ZU1lbnVJdGVtSGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICAvKiogVGhlIHNlbGVjdG9yIGZvciB0aGUgaG9zdCBlbGVtZW50IG9mIGEgYE1lbnVJdGVtQ29tcG9uZW50YCBpbnN0YW5jZS4gKi9cbiAgc3RhdGljIGhvc3RTZWxlY3RvciA9ICcuZ3Jhbml0ZS1tZW51LWl0ZW0nO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhIGBHcmFuaXRlTWVudUl0ZW1IYXJuZXNzYCB0aGF0IG1lZXRzXG4gICAqIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIGZpbHRlcmluZyB3aGljaCBtZW51IGl0ZW0gaW5zdGFuY2VzIGFyZSBjb25zaWRlcmVkIGEgbWF0Y2guXG4gICAqIEByZXR1cm4gYSBgSGFybmVzc1ByZWRpY2F0ZWAgY29uZmlndXJlZCB3aXRoIHRoZSBnaXZlbiBvcHRpb25zLlxuICAgKi9cbiAgc3RhdGljIHdpdGgoXG4gICAgb3B0aW9uczogR3Jhbml0ZU1lbnVJdGVtSGFybmVzc0ZpbHRlcnMgPSB7fVxuICApOiBIYXJuZXNzUHJlZGljYXRlPEdyYW5pdGVNZW51SXRlbUhhcm5lc3M+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUoR3Jhbml0ZU1lbnVJdGVtSGFybmVzcywgb3B0aW9ucykuYWRkT3B0aW9uKFxuICAgICAgJ3RleHQnLFxuICAgICAgb3B0aW9ucy50ZXh0LFxuICAgICAgLyogQGR5bmFtaWMgKi8gKGhhcm5lc3MsIHRleHQpID0+XG4gICAgICAgIEhhcm5lc3NQcmVkaWNhdGUuc3RyaW5nTWF0Y2hlcyhoYXJuZXNzLmdldFRleHQoKSwgdGV4dClcbiAgICApO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIHRleHQgb2YgdGhlIG1lbnUgaXRlbS4gKi9cbiAgYXN5bmMgZ2V0VGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5ob3N0KCkpLnRleHQoKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXRlbSBoYXMgYSBzdWJtZW51LiAqL1xuICBhc3luYyBoYXNTdWJtZW51KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5ob3N0KCkpLm1hdGNoZXNTZWxlY3RvcihHcmFuaXRlTWVudUhhcm5lc3MuaG9zdFNlbGVjdG9yKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBzdWJtZW51IGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1lbnUgaXRlbSwgb3IgbnVsbCBpZiBub25lLiAqL1xuICBhc3luYyBnZXRTdWJtZW51KCk6IFByb21pc2U8R3Jhbml0ZU1lbnVIYXJuZXNzIHwgbnVsbD4ge1xuICAgIGlmIChhd2FpdCB0aGlzLmhhc1N1Ym1lbnUoKSkge1xuICAgICAgcmV0dXJuIG5ldyBHcmFuaXRlTWVudUhhcm5lc3ModGhpcy5sb2NhdG9yRmFjdG9yeSk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqIENsaWNrcyB0aGUgbWVudSBpdGVtLiAqL1xuICBhc3luYyBjbGljaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmNsaWNrKCk7XG4gICAgLy8gVGhpcyBpcyBuZWNlc3Nhcnkgc28gdGhhdCB3ZSB3YWl0IGZvciB0aGUgb3BlbmluZyBhbmltYXRpb24gdG8gZmluaXNoLiAoaS5lLiBpZiBpdCBvcGVucyBhbm90aGVyIG1lbnUpXG4gICAgcmV0dXJuIHRoaXMuZm9yY2VTdGFiaWxpemUoKTtcbiAgfVxufVxuXG4vKiogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIGBNZW51SGFybmVzc2AgaW5zdGFuY2VzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmFuaXRlTWVudUhhcm5lc3NGaWx0ZXJzIGV4dGVuZHMgQmFzZUhhcm5lc3NGaWx0ZXJzIHtcbiAgLyoqIE9ubHkgZmluZCBpbnN0YW5jZXMgd2hvc2UgdGV4dCBtYXRjaGVzIHRoZSBnaXZlbiB2YWx1ZS4gKi9cbiAgdGV4dD86IHN0cmluZyB8IFJlZ0V4cDtcbn1cblxuLyoqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGEgbGlzdCBvZiBgR3Jhbml0ZU1lbnVJdGVtSGFybmVzc2AgaW5zdGFuY2VzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmFuaXRlTWVudUl0ZW1IYXJuZXNzRmlsdGVycyBleHRlbmRzIEJhc2VIYXJuZXNzRmlsdGVycyB7XG4gIC8qKiBPbmx5IGZpbmQgaW5zdGFuY2VzIHdob3NlIHRleHQgbWF0Y2hlcyB0aGUgZ2l2ZW4gdmFsdWUuICovXG4gIHRleHQ/OiBzdHJpbmcgfCBSZWdFeHA7XG59XG4iXX0=
@@ -1,9 +0,0 @@
1
- export class GraniteTableCellConstants {
2
- }
3
- GraniteTableCellConstants.CELL_ID_PREFIX = 'granite-cell';
4
- GraniteTableCellConstants.RIGHT_ALIGN = 'granite-right-align';
5
- GraniteTableCellConstants.CENTER_ALIGN = 'granite-center-align';
6
- export class GraniteTableConstants {
7
- }
8
- GraniteTableConstants.STYLE_CLASS = 'granite-table';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29uc3RhbnRzLmxpYnJhcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy90YWJsZS9zcmMvbGliL3RhYmxlLWNvbnN0YW50cy5saWJyYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyx5QkFBeUI7O0FBQ3BCLHdDQUFjLEdBQVcsY0FBYyxDQUFDO0FBQ3hDLHFDQUFXLEdBQVcscUJBQXFCLENBQUM7QUFDNUMsc0NBQVksR0FBVyxzQkFBc0IsQ0FBQztBQUdoRSxNQUFNLE9BQU8scUJBQXFCOztBQUNoQixpQ0FBVyxHQUFXLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBHcmFuaXRlVGFibGVDZWxsQ29uc3RhbnRzIHtcbiAgc3RhdGljIHJlYWRvbmx5IENFTExfSURfUFJFRklYOiBzdHJpbmcgPSAnZ3Jhbml0ZS1jZWxsJztcbiAgc3RhdGljIHJlYWRvbmx5IFJJR0hUX0FMSUdOOiBzdHJpbmcgPSAnZ3Jhbml0ZS1yaWdodC1hbGlnbic7XG4gIHN0YXRpYyByZWFkb25seSBDRU5URVJfQUxJR046IHN0cmluZyA9ICdncmFuaXRlLWNlbnRlci1hbGlnbic7XG59XG5cbmV4cG9ydCBjbGFzcyBHcmFuaXRlVGFibGVDb25zdGFudHMge1xuICBzdGF0aWMgcmVhZG9ubHkgU1RZTEVfQ0xBU1M6IHN0cmluZyA9ICdncmFuaXRlLXRhYmxlJztcbn1cbiJdfQ==