@ifsworld/granite-components 15.0.0 → 15.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/date-picker/lib/date-picker-base.d.ts +3 -3
- package/date-picker/lib/date-picker.module.d.ts +2 -2
- package/esm2022/carousel/ifsworld-granite-components-carousel.mjs +5 -0
- package/esm2022/carousel/index.mjs +3 -0
- package/esm2022/carousel/lib/carousel.component.mjs +156 -0
- package/esm2022/carousel/lib/carousel.module.mjs +31 -0
- package/esm2022/date-picker/ifsworld-granite-components-date-picker.mjs +5 -0
- package/esm2022/date-picker/index.mjs +5 -0
- package/esm2022/date-picker/lib/date-picker-base.mjs +53 -0
- package/esm2022/date-picker/lib/date-picker-trigger-for.directive.mjs +228 -0
- package/esm2022/date-picker/lib/date-picker.component.mjs +30 -0
- package/esm2022/date-picker/lib/date-picker.module.mjs +58 -0
- package/esm2022/date-picker/lib/date-range-picker.component.mjs +46 -0
- package/esm2022/file-upload/ifsworld-granite-components-file-upload.mjs +5 -0
- package/esm2022/file-upload/index.mjs +3 -0
- package/esm2022/file-upload/lib/directives/file-drag-and-drop.directive.mjs +102 -0
- package/esm2022/file-upload/lib/file-upload.component.mjs +182 -0
- package/esm2022/file-upload/lib/file-upload.constants.mjs +45 -0
- package/esm2022/file-upload/lib/file-upload.module.mjs +32 -0
- package/esm2022/file-upload/lib/file-upload.utils.mjs +13 -0
- package/esm2022/ifsworld-granite-components.mjs +5 -0
- package/esm2022/index.mjs +90 -0
- package/esm2022/lib/arrange-grid/arrange-grid-item.component.mjs +44 -0
- package/esm2022/lib/arrange-grid/arrange-grid.component.mjs +125 -0
- package/esm2022/lib/arrange-grid/arrange-grid.module.mjs +19 -0
- package/esm2022/lib/avatar/avatar-default-status/avatar-default-status.component.mjs +36 -0
- package/esm2022/lib/avatar/avatar.component.mjs +68 -0
- package/esm2022/lib/avatar/avatar.component.public-types.mjs +7 -0
- package/esm2022/lib/avatar/avatar.module.mjs +37 -0
- package/esm2022/lib/avatar/custom-avatar-status.directive.mjs +18 -0
- package/esm2022/lib/avatar/empty-avatar/empty-avatar.component.mjs +37 -0
- package/esm2022/lib/badge/badge.component.mjs +39 -0
- package/esm2022/lib/badge/badge.module.mjs +18 -0
- package/esm2022/lib/badge/testing/badge.harness.mjs +25 -0
- package/esm2022/lib/button/button.component.mjs +87 -0
- package/esm2022/lib/button/button.module.mjs +16 -0
- package/esm2022/lib/card-list/card/card-avatar.component.mjs +11 -0
- package/esm2022/lib/card-list/card/card-content/card-actions.component.mjs +11 -0
- package/esm2022/lib/card-list/card/card-content/card-body.component.mjs +11 -0
- package/esm2022/lib/card-list/card/card-content/card-content.component.mjs +11 -0
- package/esm2022/lib/card-list/card/card-content/card-footer.component.mjs +11 -0
- package/esm2022/lib/card-list/card/card-content/card-header-subtitle.component.mjs +11 -0
- package/esm2022/lib/card-list/card/card-content/card-header-title.component.mjs +11 -0
- package/esm2022/lib/card-list/card/card-content/card-header.component.mjs +11 -0
- package/esm2022/lib/card-list/card/card.component.mjs +11 -0
- package/esm2022/lib/card-list/card-list.component.mjs +24 -0
- package/esm2022/lib/card-list/card-list.module.mjs +68 -0
- package/esm2022/lib/checkbox/checkbox-group.component.mjs +17 -0
- package/esm2022/lib/checkbox/checkbox.component.mjs +99 -0
- package/esm2022/lib/checkbox/checkbox.module.mjs +17 -0
- package/esm2022/lib/chips/chip-input.mjs +195 -0
- package/esm2022/lib/chips/chip-list.component.mjs +567 -0
- package/esm2022/lib/chips/chip.component.mjs +288 -0
- package/esm2022/lib/chips/chips.module.mjs +31 -0
- package/esm2022/lib/collapsible-group/collapsible-group-body.directive.mjs +17 -0
- package/esm2022/lib/collapsible-group/collapsible-group-header.directive.mjs +17 -0
- package/esm2022/lib/collapsible-group/collapsible-group.component.mjs +46 -0
- package/esm2022/lib/collapsible-group/collapsible-group.module.mjs +33 -0
- package/esm2022/lib/contacts/contact-item/contact-item.component.mjs +27 -0
- package/esm2022/lib/contacts/contact-item-default-status/contact-item-default-status.component.mjs +20 -0
- package/esm2022/lib/contacts/contact-item-title/contact-item-title.component.mjs +15 -0
- package/esm2022/lib/contacts/contacts-profile/contacts-profile.component.mjs +18 -0
- package/esm2022/lib/contacts/contacts-trigger/contacts-trigger-data.mjs +24 -0
- package/esm2022/lib/contacts/contacts-trigger/contacts-trigger-for.directive.mjs +231 -0
- package/esm2022/lib/contacts/contacts-types/contacts.component.private-types.mjs +2 -0
- package/esm2022/lib/contacts/contacts-types/contacts.component.public-types.mjs +9 -0
- package/esm2022/lib/contacts/contacts.component.mjs +92 -0
- package/esm2022/lib/contacts/contacts.module.mjs +53 -0
- package/esm2022/lib/contacts/custom-profile.directive.mjs +16 -0
- package/esm2022/lib/contacts/custom-status.directive.mjs +18 -0
- package/esm2022/lib/core/animation.mjs +34 -0
- package/esm2022/lib/core/client-environment.mjs +20 -0
- package/esm2022/lib/core/common-behaviors/disabled.mjs +27 -0
- package/esm2022/lib/core/core.module.mjs +44 -0
- package/esm2022/lib/core/devices/client-input-desktop.directive.mjs +29 -0
- package/esm2022/lib/core/devices/client-input-touch.directive.mjs +29 -0
- package/esm2022/lib/core/devices/client-output-desktop.directive.mjs +29 -0
- package/esm2022/lib/core/devices/client-output-touch.directive.mjs +29 -0
- package/esm2022/lib/core/hide-on-overflow.directive.mjs +83 -0
- package/esm2022/lib/core/overlay-base.mjs +18 -0
- package/esm2022/lib/core/overlay-position-config.mjs +2 -0
- package/esm2022/lib/core/overlay-trigger-for-base.directive.mjs +121 -0
- package/esm2022/lib/core/overlay.service.mjs +90 -0
- package/esm2022/lib/core/pipes/pure-pipes.module.mjs +16 -0
- package/esm2022/lib/core/pipes/title.pipe.mjs +21 -0
- package/esm2022/lib/core/radio-checkbox-base.mjs +19 -0
- package/esm2022/lib/core/services/names-utils-service.mjs +51 -0
- package/esm2022/lib/core/theme.library.mjs +59 -0
- package/esm2022/lib/core/types.mjs +2 -0
- package/esm2022/lib/grid/grid.component.mjs +128 -0
- package/esm2022/lib/grid/grid.module.mjs +18 -0
- package/esm2022/lib/icon/icon.component.mjs +43 -0
- package/esm2022/lib/icon/icon.module.mjs +16 -0
- package/esm2022/lib/input-field/input-field.component.mjs +167 -0
- package/esm2022/lib/input-field/input-field.module.mjs +20 -0
- package/esm2022/lib/label/label.component.mjs +31 -0
- package/esm2022/lib/label/label.module.mjs +18 -0
- package/esm2022/lib/menu/divider.directive.mjs +23 -0
- package/esm2022/lib/menu/menu-base.mjs +364 -0
- package/esm2022/lib/menu/menu-desktop-animations.mjs +23 -0
- package/esm2022/lib/menu/menu-errors.mjs +37 -0
- package/esm2022/lib/menu/menu-item.component.mjs +89 -0
- package/esm2022/lib/menu/menu-panel.mjs +7 -0
- package/esm2022/lib/menu/menu-positions.mjs +9 -0
- package/esm2022/lib/menu/menu-touch-animations.mjs +137 -0
- package/esm2022/lib/menu/menu-touch-close.component.mjs +13 -0
- package/esm2022/lib/menu/menu-touch-title.component.mjs +59 -0
- package/esm2022/lib/menu/menu-trigger-for.directive.mjs +738 -0
- package/esm2022/lib/menu/menu.component.mjs +30 -0
- package/esm2022/lib/menu/menu.module.mjs +55 -0
- package/esm2022/lib/menu/testing/menu.harness.mjs +109 -0
- package/esm2022/lib/menu/title.directive.mjs +17 -0
- package/esm2022/lib/progress-bar/progress-bar-legend/progress-bar-legend.component.mjs +19 -0
- package/esm2022/lib/progress-bar/progress-bar-legend-base.mjs +17 -0
- package/esm2022/lib/progress-bar/progress-bar-legend-trigger-for.directive.mjs +54 -0
- package/esm2022/lib/progress-bar/progress-bar.component.mjs +92 -0
- package/esm2022/lib/progress-bar/progress-bar.model.mjs +2 -0
- package/esm2022/lib/progress-bar/progress-bar.module.mjs +44 -0
- package/esm2022/lib/radio-button/radio-button.component.mjs +119 -0
- package/esm2022/lib/radio-button/radio-button.module.mjs +17 -0
- package/esm2022/lib/radio-button/radio-group.component.mjs +17 -0
- package/esm2022/lib/toggle-switch/toggle-switch.component.mjs +100 -0
- package/esm2022/lib/toggle-switch/toggle-switch.module.mjs +16 -0
- package/esm2022/table/ifsworld-granite-components-table.mjs +5 -0
- package/esm2022/table/index.mjs +5 -0
- package/esm2022/table/lib/cell/cell-align/cell-align-classes.directive.mjs +26 -0
- package/esm2022/table/lib/cell/cell.mjs +15 -0
- package/esm2022/table/lib/cell/table-data-cell.component.mjs +25 -0
- package/esm2022/table/lib/cell/table-header-cell.component.mjs +14 -0
- package/esm2022/table/lib/column/table-column.directive.mjs +33 -0
- package/esm2022/table/lib/column-size/column-size.directive.mjs +34 -0
- package/esm2022/table/lib/table-constants.library.mjs +7 -0
- package/esm2022/table/lib/table.component.mjs +62 -0
- package/esm2022/table/lib/table.model.mjs +2 -0
- package/esm2022/table/lib/table.module.mjs +38 -0
- package/esm2022/tooltip/ifsworld-granite-components-tooltip.mjs +5 -0
- package/esm2022/tooltip/index.mjs +4 -0
- package/esm2022/tooltip/lib/Services/granite-tooltip.service.mjs +28 -0
- package/esm2022/tooltip/lib/tooltip-constants.library.mjs +4 -0
- package/esm2022/tooltip/lib/tooltip-trigger-for.directive.mjs +147 -0
- package/esm2022/tooltip/lib/tooltip.component.mjs +14 -0
- package/esm2022/tooltip/lib/tooltip.module.mjs +19 -0
- package/fesm2022/ifsworld-granite-components-carousel.mjs +9 -9
- package/fesm2022/ifsworld-granite-components-carousel.mjs.map +1 -1
- package/fesm2022/ifsworld-granite-components-date-picker.mjs +30 -34
- package/fesm2022/ifsworld-granite-components-date-picker.mjs.map +1 -1
- package/fesm2022/ifsworld-granite-components-file-upload.mjs +12 -13
- package/fesm2022/ifsworld-granite-components-file-upload.mjs.map +1 -1
- package/fesm2022/ifsworld-granite-components-table.mjs +29 -32
- package/fesm2022/ifsworld-granite-components-table.mjs.map +1 -1
- package/fesm2022/ifsworld-granite-components-tooltip.mjs +15 -16
- package/fesm2022/ifsworld-granite-components-tooltip.mjs.map +1 -1
- package/fesm2022/ifsworld-granite-components.mjs +323 -342
- package/fesm2022/ifsworld-granite-components.mjs.map +1 -1
- package/lib/contacts/contacts-trigger/contacts-trigger-data.d.ts +1 -1
- package/lib/core/overlay-base.d.ts +1 -1
- package/lib/core/radio-checkbox-base.d.ts +1 -1
- package/lib/menu/menu-base.d.ts +1 -1
- package/lib/progress-bar/progress-bar-legend-base.d.ts +1 -1
- package/package.json +21 -9
- package/src/lib/core/style/_mixins.scss +9 -10
- package/src/lib/core/style/_range-functions.scss +4 -6
- package/src/lib/core/style/_z-index.scss +4 -6
- package/table/lib/cell/cell.d.ts +1 -1
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
|
+
import { BACKSPACE, DELETE, ENTER, 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
|
+
/** ARIA role that should be applied to the chip. */
|
|
76
|
+
this.role = 'option';
|
|
77
|
+
this.ariaLabel = null;
|
|
78
|
+
this.ariaLabelledby = null;
|
|
79
|
+
/** Emitted when the chip is selected or deselected. */
|
|
80
|
+
this.selectionChange = new EventEmitter();
|
|
81
|
+
/** Emitted when a chip is to be removed. */
|
|
82
|
+
this.removed = new EventEmitter();
|
|
83
|
+
/** Emitted when the chip is destroyed. */
|
|
84
|
+
this.destroyed = new EventEmitter();
|
|
85
|
+
/** Emits when the chip is focused. */
|
|
86
|
+
this.chipFocus = new EventEmitter();
|
|
87
|
+
/** Emits when the chip is blurred. */
|
|
88
|
+
this.chipBlur = new EventEmitter();
|
|
89
|
+
/** Whether the chip has focus. */
|
|
90
|
+
this._hasFocus = false;
|
|
91
|
+
/** Whether the chip list is selectable */
|
|
92
|
+
this._chipListSelectable = true;
|
|
93
|
+
/** Whether the chip list is in multi-selection mode. */
|
|
94
|
+
this._chipListMultiple = false;
|
|
95
|
+
/** Whether the chip list as a whole is disabled. */
|
|
96
|
+
this._chipListDisabled = false;
|
|
97
|
+
this.tabIndex = -1;
|
|
98
|
+
this.inputChip = false;
|
|
99
|
+
this._selected = false;
|
|
100
|
+
this._selectable = true;
|
|
101
|
+
this._disabled = false;
|
|
102
|
+
this._removable = false;
|
|
103
|
+
this._invalid = false;
|
|
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
|
+
case ENTER:
|
|
183
|
+
// If we are selectable, toggle the focused chip
|
|
184
|
+
if (this.selectable) {
|
|
185
|
+
this.toggleSelected(true);
|
|
186
|
+
}
|
|
187
|
+
// Always prevent space from scrolling the page since the list has focus
|
|
188
|
+
event.preventDefault();
|
|
189
|
+
break;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
_handleRemoveClick(event) {
|
|
193
|
+
this.remove();
|
|
194
|
+
// We need to stop event propagation because otherwise the event will bubble up to the
|
|
195
|
+
// form field and cause the `onContainerClick` method to be invoked. This method would then
|
|
196
|
+
// reset the focused chip that has been focused after chip removal.
|
|
197
|
+
event.stopPropagation();
|
|
198
|
+
event.preventDefault();
|
|
199
|
+
}
|
|
200
|
+
_blur() {
|
|
201
|
+
// When animations are enabled, Angular may end up removing the chip from the DOM a little
|
|
202
|
+
// earlier than usual, causing it to be blurred and throwing off the logic in the chip list
|
|
203
|
+
// that moves focus not the next item. To work around the issue, we defer marking the chip
|
|
204
|
+
// as not focused until the next time the zone stabilizes.
|
|
205
|
+
this._ngZone.onStable.pipe(take(1)).subscribe(() => {
|
|
206
|
+
this._ngZone.run(() => {
|
|
207
|
+
this._hasFocus = false;
|
|
208
|
+
this.chipBlur.next({ chip: this });
|
|
209
|
+
});
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
_dispatchSelectionChange(isUserInput = false) {
|
|
213
|
+
this.selectionChange.emit({
|
|
214
|
+
source: this,
|
|
215
|
+
isUserInput,
|
|
216
|
+
selected: this._selected,
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
/** The ARIA selected applied to the chip. */
|
|
220
|
+
get ariaSelected() {
|
|
221
|
+
// Remove the `aria-selected` when the chip is deselected in single-selection mode, because
|
|
222
|
+
// it adds noise to NVDA users where "not selected" will be read out for each chip.
|
|
223
|
+
return this.selectable && (this._chipListMultiple || this.selected)
|
|
224
|
+
? this.selected.toString()
|
|
225
|
+
: null;
|
|
226
|
+
}
|
|
227
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", 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
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GraniteChipComponent, selector: "granite-chip, granite-input-chip", inputs: { tabIndex: "tabIndex", role: "role", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], selected: "selected", value: "value", selectable: "selectable", disabled: "disabled", removable: "removable", invalid: "invalid" }, 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:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;-moz-user-select:none;-ms-user-select:none;-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: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:focus{outline:var(--granite-border-width-focus) solid var(--granite-color-focus);outline-offset:calc(var(--granite-border-width-focus) * -1)}: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:-webkit-flex;display:-moz-box;display:-ms-flexbox;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
|
+
}
|
|
230
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteChipComponent, decorators: [{
|
|
231
|
+
type: Component,
|
|
232
|
+
args: [{ selector: `granite-chip, granite-input-chip`, inputs: ['tabIndex'], exportAs: 'graniteChip', host: {
|
|
233
|
+
class: 'granite-chip',
|
|
234
|
+
'[class.granite-chip-input]': 'inputChip',
|
|
235
|
+
'[class.granite-chip-selectable]': 'selectable',
|
|
236
|
+
'[class.granite-chip-selected]': 'selected',
|
|
237
|
+
'[class.granite-chip-disabled]': 'disabled',
|
|
238
|
+
'[class.granite-chip-invalid]': 'invalid',
|
|
239
|
+
'[class.granite-chip-removable]': '!disabled && (removable || inputChip)',
|
|
240
|
+
'[attr.tabindex]': 'disabled ? null : tabIndex',
|
|
241
|
+
'[attr.role]': 'role',
|
|
242
|
+
'[attr.disabled]': 'disabled || null',
|
|
243
|
+
'[attr.aria-label]': 'ariaLabel',
|
|
244
|
+
'[attr.aria-labelledby]': 'ariaLabelledby',
|
|
245
|
+
'[attr.aria-disabled]': 'disabled.toString()',
|
|
246
|
+
'[attr.aria-selected]': 'ariaSelected',
|
|
247
|
+
'(click)': '_handleClick($event)',
|
|
248
|
+
'(keydown)': '_handleKeydown($event)',
|
|
249
|
+
'(blur)': '_blur()',
|
|
250
|
+
'(focus)': 'focus()',
|
|
251
|
+
}, 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:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;-moz-user-select:none;-ms-user-select:none;-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: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:focus{outline:var(--granite-border-width-focus) solid var(--granite-color-focus);outline-offset:calc(var(--granite-border-width-focus) * -1)}: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:-webkit-flex;display:-moz-box;display:-ms-flexbox;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"] }]
|
|
252
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef, decorators: [{
|
|
253
|
+
type: Optional
|
|
254
|
+
}] }, { type: undefined, decorators: [{
|
|
255
|
+
type: Attribute,
|
|
256
|
+
args: ['tabindex']
|
|
257
|
+
}] }], propDecorators: { role: [{
|
|
258
|
+
type: Input
|
|
259
|
+
}], ariaLabel: [{
|
|
260
|
+
type: Input,
|
|
261
|
+
args: ['aria-label']
|
|
262
|
+
}], ariaLabelledby: [{
|
|
263
|
+
type: Input,
|
|
264
|
+
args: ['aria-labelledby']
|
|
265
|
+
}], selectionChange: [{
|
|
266
|
+
type: Output
|
|
267
|
+
}], removed: [{
|
|
268
|
+
type: Output
|
|
269
|
+
}], destroyed: [{
|
|
270
|
+
type: Output
|
|
271
|
+
}], chipFocus: [{
|
|
272
|
+
type: Output
|
|
273
|
+
}], chipBlur: [{
|
|
274
|
+
type: Output
|
|
275
|
+
}], selected: [{
|
|
276
|
+
type: Input
|
|
277
|
+
}], value: [{
|
|
278
|
+
type: Input
|
|
279
|
+
}], selectable: [{
|
|
280
|
+
type: Input
|
|
281
|
+
}], disabled: [{
|
|
282
|
+
type: Input
|
|
283
|
+
}], removable: [{
|
|
284
|
+
type: Input
|
|
285
|
+
}], invalid: [{
|
|
286
|
+
type: Input
|
|
287
|
+
}] } });
|
|
288
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NoaXBzL2NoaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jaGlwcy9jaGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFFBQVEsRUFDUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBUXRDLHVFQUF1RTtBQUN2RSxNQUFNLE9BQU8sK0JBQStCO0lBQTVDO1FBS0UsdUVBQXVFO1FBQ3ZFLGdCQUFXLEdBQVksS0FBSyxDQUFDO0lBQy9CLENBQUM7Q0FBQTtBQTZCRCxNQUFNLE9BQU8sb0JBQW9CO0lBb0QvQixvQ0FBb0M7SUFDcEMsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxELElBQUksWUFBWSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJ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Qjt3QkFDakMsV0FBVyxFQUFFLHdCQUF3Qjt3QkFDckMsUUFBUSxFQUFFLFNBQVM7d0JBQ25CLFNBQVMsRUFBRSxTQUFTO3FCQUNyQjs7MEJBOEhFLFFBQVE7OzBCQUNSLFNBQVM7MkJBQUMsVUFBVTt5Q0EzSGQsSUFBSTtzQkFBWixLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSzt1QkFBQyxZQUFZO2dCQUluQixjQUFjO3NCQURiLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUtmLGVBQWU7c0JBRHZCLE1BQU07Z0JBS1ksT0FBTztzQkFBekIsTUFBTTtnQkFJWSxTQUFTO3NCQUEzQixNQUFNO2dCQUlZLFNBQVM7c0JBQTNCLE1BQU07Z0JBSVksUUFBUTtzQkFBMUIsTUFBTTtnQkEwQkgsUUFBUTtzQkFEWCxLQUFLO2dCQWNGLEtBQUs7c0JBRFIsS0FBSztnQkFtQkYsVUFBVTtzQkFEYixLQUFLO2dCQVVGLFFBQVE7c0JBRFgsS0FBSztnQkFZRixTQUFTO3NCQURaLEtBQUs7Z0JBVUYsT0FBTztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNhYmxlT3B0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEJBQ0tTUEFDRSwgREVMRVRFLCBFTlRFUiwgU1BBQ0UgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHtcbiAgQXR0cmlidXRlLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKiogRXZlbnQgZmlyZWQgb24gYW4gaW5kaXZpZHVhbCBgZ3Jhbml0ZS1jaGlwYCBlbGVtZW50LiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmFuaXRlQ2hpcEV2ZW50IHtcbiAgLyoqIFRoZSBjaGlwIHRoZSBldmVudCB3YXMgZmlyZWQgb24uICovXG4gIGNoaXA6IEdyYW5pdGVDaGlwQ29tcG9uZW50O1xufVxuXG4vKiogRXZlbnQgb2JqZWN0IGVtaXR0ZWQgYnkgR3Jhbml0ZUNoaXAgd2hlbiBzZWxlY3RlZCBvciBkZXNlbGVjdGVkLiAqL1xuZXhwb3J0IGNsYXNzIEdyYW5pdGVDaGlwU2VsZWN0aW9uQ2hhbmdlRXZlbnQge1xuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBjaGlwIHRoYXQgZW1pdHRlZCB0aGUgZXZlbnQuICovXG4gIHNvdXJjZTogR3Jhbml0ZUNoaXBDb21wb25lbnQ7XG4gIC8qKiBXaGV0aGVyIHRoZSBjaGlwIHRoYXQgZW1pdHRlZCB0aGUgZXZlbnQgaXMgc2VsZWN0ZWQuICovXG4gIHNlbGVjdGVkOiBib29sZWFuO1xuICAvKiogV2hldGhlciB0aGUgc2VsZWN0aW9uIGNoYW5nZSB3YXMgYSByZXN1bHQgb2YgYSB1c2VyIGludGVyYWN0aW9uLiAqL1xuICBpc1VzZXJJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IGBncmFuaXRlLWNoaXAsIGdyYW5pdGUtaW5wdXQtY2hpcGAsXG4gIGlucHV0czogWyd0YWJJbmRleCddLFxuICBleHBvcnRBczogJ2dyYW5pdGVDaGlwJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hpcC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hpcC5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2dyYW5pdGUtY2hpcCcsXG4gICAgJ1tjbGFzcy5ncmFuaXRlLWNoaXAtaW5wdXRdJzogJ2lucHV0Q2hpcCcsXG4gICAgJ1tjbGFzcy5ncmFuaXRlLWNoaXAtc2VsZWN0YWJsZV0nOiAnc2VsZWN0YWJsZScsXG4gICAgJ1tjbGFzcy5ncmFuaXRlLWNoaXAtc2VsZWN0ZWRdJzogJ3NlbGVjdGVkJyxcbiAgICAnW2NsYXNzLmdyYW5pdGUtY2hpcC1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbY2xhc3MuZ3Jhbml0ZS1jaGlwLWludmFsaWRdJzogJ2ludmFsaWQnLFxuICAgICdbY2xhc3MuZ3Jhbml0ZS1jaGlwLXJlbW92YWJsZV0nOiAnIWRpc2FibGVkICYmIChyZW1vdmFibGUgfHwgaW5wdXRDaGlwKScsXG4gICAgJ1thdHRyLnRhYmluZGV4XSc6ICdkaXNhYmxlZCA/IG51bGwgOiB0YWJJbmRleCcsXG4gICAgJ1thdHRyLnJvbGVdJzogJ3JvbGUnLFxuICAgICdbYXR0ci5kaXNhYmxlZF0nOiAnZGlzYWJsZWQgfHwgbnVsbCcsXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxdJzogJ2FyaWFMYWJlbCcsXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnYXJpYUxhYmVsbGVkYnknLFxuICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdkaXNhYmxlZC50b1N0cmluZygpJyxcbiAgICAnW2F0dHIuYXJpYS1zZWxlY3RlZF0nOiAnYXJpYVNlbGVjdGVkJyxcbiAgICAnKGNsaWNrKSc6ICdfaGFuZGxlQ2xpY2soJGV2ZW50KScsXG4gICAgJyhrZXlkb3duKSc6ICdfaGFuZGxlS2V5ZG93bigkZXZlbnQpJyxcbiAgICAnKGJsdXIpJzogJ19ibHVyKCknLFxuICAgICcoZm9jdXMpJzogJ2ZvY3VzKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlQ2hpcENvbXBvbmVudCBpbXBsZW1lbnRzIEZvY3VzYWJsZU9wdGlvbiwgT25EZXN0cm95IHtcbiAgLyoqIEFSSUEgcm9sZSB0aGF0IHNob3VsZCBiZSBhcHBsaWVkIHRvIHRoZSBjaGlwLiAqL1xuICBASW5wdXQoKSByb2xlOiBzdHJpbmcgPSAnb3B0aW9uJztcblxuICBASW5wdXQoJ2FyaWEtbGFiZWwnKVxuICBhcmlhTGFiZWw6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgnYXJpYS1sYWJlbGxlZGJ5JylcbiAgYXJpYUxhYmVsbGVkYnk6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGNoaXAgaXMgc2VsZWN0ZWQgb3IgZGVzZWxlY3RlZC4gKi9cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPEdyYW5pdGVDaGlwU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPEdyYW5pdGVDaGlwU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIGNoaXAgaXMgdG8gYmUgcmVtb3ZlZC4gKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IHJlbW92ZWQ6IEV2ZW50RW1pdHRlcjxHcmFuaXRlQ2hpcEV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxHcmFuaXRlQ2hpcEV2ZW50PigpO1xuXG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGNoaXAgaXMgZGVzdHJveWVkLiAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgZGVzdHJveWVkOiBFdmVudEVtaXR0ZXI8R3Jhbml0ZUNoaXBFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8R3Jhbml0ZUNoaXBFdmVudD4oKTtcblxuICAvKiogRW1pdHMgd2hlbiB0aGUgY2hpcCBpcyBmb2N1c2VkLiAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hpcEZvY3VzOiBFdmVudEVtaXR0ZXI8R3Jhbml0ZUNoaXBFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8R3Jhbml0ZUNoaXBFdmVudD4oKTtcblxuICAvKiogRW1pdHMgd2hlbiB0aGUgY2hpcCBpcyBibHVycmVkLiAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hpcEJsdXI6IEV2ZW50RW1pdHRlcjxHcmFuaXRlQ2hpcEV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxHcmFuaXRlQ2hpcEV2ZW50PigpO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjaGlwIGhhcyBmb2N1cy4gKi9cbiAgX2hhc0ZvY3VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNoaXAgbGlzdCBpcyBzZWxlY3RhYmxlICovXG4gIF9jaGlwTGlzdFNlbGVjdGFibGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjaGlwIGxpc3QgaXMgaW4gbXVsdGktc2VsZWN0aW9uIG1vZGUuICovXG4gIF9jaGlwTGlzdE11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNoaXAgbGlzdCBhcyBhIHdob2xlIGlzIGRpc2FibGVkLiAqL1xuICBfY2hpcExpc3REaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHRhYkluZGV4OiBudW1iZXIgPSAtMTtcbiAgaW5wdXRDaGlwOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIF9zZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgX3NlbGVjdGFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICBwcm90ZWN0ZWQgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfcmVtb3ZhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfaW52YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjaGlwIGlzIHNlbGVjdGVkLiAqL1xuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xuICB9XG4gIHNldCBzZWxlY3RlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGNvbnN0IGNvZXJjZWRWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICBpZiAoY29lcmNlZFZhbHVlICE9PSB0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBjb2VyY2VkVmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgY2hpcC4gRGVmYXVsdHMgdG8gdGhlIHRleHQgY29udGVudCBpbnNpZGUgYDxncmFuaXRlLWNoaXA+YCB0YWdzLiAqL1xuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUgIT0gbnVsbFxuICAgICAgPyB0aGlzLl92YWx1ZVxuICAgICAgOiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ7XG4gIH1cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1tb2R1bGUtYm91bmRhcnktdHlwZXNcbiAgc2V0IHZhbHVlKHZhbDogYW55KSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWw7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIGNoaXAgaXMgc2VsZWN0YWJsZS4gV2hlbiBhIGNoaXAgaXMgbm90IHNlbGVjdGFibGUsXG4gICAqIGNoYW5nZXMgdG8gaXRzIHNlbGVjdGVkIHN0YXRlIGFyZSBhbHdheXMgaWdub3JlZC4gQnkgZGVmYXVsdCBhIGNoaXAgaXNcbiAgICogc2VsZWN0YWJsZSwgYW5kIGl0IGJlY29tZXMgbm9uLXNlbGVjdGFibGUgaWYgaXRzIHBhcmVudCBjaGlwIGxpc3QgaXNcbiAgICogbm90IHNlbGVjdGFibGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0YWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0YWJsZSAmJiB0aGlzLl9jaGlwTGlzdFNlbGVjdGFibGU7XG4gIH1cbiAgc2V0IHNlbGVjdGFibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zZWxlY3RhYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBjaGlwIGlzIGRpc2FibGVkLiBBbHNvIHRoZSBpbmRpdmlkdWFsIGNoaXBzIGFyZSBkaXNhYmxlZCB3aGVuIGNoaXAgbGlzdCBpcyBkaXNhYmxlZCAqL1xuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2NoaXBMaXN0RGlzYWJsZWQgfHwgdGhpcy5fZGlzYWJsZWQ7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoaXAgY2FuIGJlIHJlbW92ZWQgZnJvbSB0aGUgbGlzdFxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHJlbW92YWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVtb3ZhYmxlO1xuICB9XG4gIHNldCByZW1vdmFibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZW1vdmFibGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNoaXAgaXMgaW4gYW4gaW52YWxpZCBzdGF0ZS4gKi9cbiAgQElucHV0KClcbiAgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ludmFsaWQ7XG4gIH1cbiAgc2V0IGludmFsaWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pbnZhbGlkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQEF0dHJpYnV0ZSgndGFiaW5kZXgnKSB0YWJJbmRleD86IHN0cmluZ1xuICApIHtcbiAgICBjb25zdCBpbnB1dENoaXBBdHRyTmFtZSA9ICdncmFuaXRlLWlucHV0LWNoaXAnO1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgaWYgKFxuICAgICAgZWxlbWVudC5oYXNBdHRyaWJ1dGUoaW5wdXRDaGlwQXR0ck5hbWUpIHx8XG4gICAgICBlbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gaW5wdXRDaGlwQXR0ck5hbWVcbiAgICApIHtcbiAgICAgIHRoaXMuaW5wdXRDaGlwID0gdHJ1ZTtcbiAgICB9XG5cbiAgICB0aGlzLnRhYkluZGV4ID0gdGFiSW5kZXggIT0gbnVsbCA/IHBhcnNlSW50KHRhYkluZGV4KSB8fCAtMSA6IC0xO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQuZW1pdCh7IGNoaXA6IHRoaXMgfSk7XG4gIH1cblxuICAvKiogU2VsZWN0cyB0aGUgY2hpcC4gKi9cbiAgc2VsZWN0KGlzVXNlcklucHV0OiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3NlbGVjdGVkKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZCA9IHRydWU7XG4gICAgICB0aGlzLl9kaXNwYXRjaFNlbGVjdGlvbkNoYW5nZShpc1VzZXJJbnB1dCk7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICAvKiogRGVzZWxlY3RzIHRoZSBjaGlwLiAqL1xuICBkZXNlbGVjdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkID0gZmFsc2U7XG4gICAgICB0aGlzLl9kaXNwYXRjaFNlbGVjdGlvbkNoYW5nZSgpO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFRvZ2dsZXMgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgc3RhdGUgb2YgdGhpcyBjaGlwLiAqL1xuICB0b2dnbGVTZWxlY3RlZChpc1VzZXJJbnB1dDogYm9vbGVhbiA9IGZhbHNlKTogYm9vbGVhbiB7XG4gICAgdGhpcy5fc2VsZWN0ZWQgPSAhdGhpcy5zZWxlY3RlZDtcbiAgICB0aGlzLl9kaXNwYXRjaFNlbGVjdGlvbkNoYW5nZShpc1VzZXJJbnB1dCk7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQ7XG4gIH1cblxuICAvKiogQWxsb3dzIGZvciBwcm9ncmFtbWF0aWMgZm9jdXNpbmcgb2YgdGhlIGNoaXAgdW5sZXNzIGl0J3MgZGlzYWJsZWQuICovXG4gIGZvY3VzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgaWYgKCF0aGlzLl9oYXNGb2N1cykge1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgdGhpcy5jaGlwRm9jdXMubmV4dCh7IGNoaXA6IHRoaXMgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLl9oYXNGb2N1cyA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93cyBmb3IgcHJvZ3JhbW1hdGljIHJlbW92YWwgb2YgdGhlIGNoaXAuXG4gICAqIENhbGxlZCBieSB0aGUgR3Jhbml0ZUNoaXBMaXN0IHdoZW4gdGhlIERFTEVURSBvciBCQUNLU1BBQ0Uga2V5cyBhcmUgcHJlc3NlZC5cbiAgICogSW5mb3JtcyBhbnkgbGlzdGVuZXJzIG9mIHRoZSByZW1vdmFsIHJlcXVlc3QuIERvZXMgbm90IHJlbW92ZSB0aGUgY2hpcCBmcm9tIHRoZSBET00uXG4gICAqL1xuICByZW1vdmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVtb3ZhYmxlIHx8IHRoaXMuaW5wdXRDaGlwKSB7XG4gICAgICB0aGlzLnJlbW92ZWQuZW1pdCh7IGNoaXA6IHRoaXMgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEhhbmRsZXMgY2xpY2sgZXZlbnRzIG9uIHRoZSBjaGlwLiAqL1xuICBfaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMudG9nZ2xlU2VsZWN0ZWQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEhhbmRsZSBjdXN0b20ga2V5IHByZXNzZXMuICovXG4gIF9oYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGV2ZW50LmtleUNvZGUpIHtcbiAgICAgIGNhc2UgREVMRVRFOlxuICAgICAgY2FzZSBCQUNLU1BBQ0U6XG4gICAgICAgIC8vIElmIHRoZSBjaGlwIGlzIHJlbW92YWJsZSwgcmVtb3ZlIHRoZSBmb2N1c2VkIGNoaXBcbiAgICAgICAgdGhpcy5yZW1vdmUoKTtcbiAgICAgICAgLy8gQWx3YXlzIHByZXZlbnQgc28gcGFnZSBuYXZpZ2F0aW9uIGRvZXMgbm90IG9jY3VyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUEFDRTpcbiAgICAgIGNhc2UgRU5URVI6XG4gICAgICAgIC8vIElmIHdlIGFyZSBzZWxlY3RhYmxlLCB0b2dnbGUgdGhlIGZvY3VzZWQgY2hpcFxuICAgICAgICBpZiAodGhpcy5zZWxlY3RhYmxlKSB7XG4gICAgICAgICAgdGhpcy50b2dnbGVTZWxlY3RlZCh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFsd2F5cyBwcmV2ZW50IHNwYWNlIGZyb20gc2Nyb2xsaW5nIHRoZSBwYWdlIHNpbmNlIHRoZSBsaXN0IGhhcyBmb2N1c1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBfaGFuZGxlUmVtb3ZlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmUoKTtcbiAgICAvLyBXZSBuZWVkIHRvIHN0b3AgZXZlbnQgcHJvcGFnYXRpb24gYmVjYXVzZSBvdGhlcndpc2UgdGhlIGV2ZW50IHdpbGwgYnViYmxlIHVwIHRvIHRoZVxuICAgIC8vIGZvcm0gZmllbGQgYW5kIGNhdXNlIHRoZSBgb25Db250YWluZXJDbGlja2AgbWV0aG9kIHRvIGJlIGludm9rZWQuIFRoaXMgbWV0aG9kIHdvdWxkIHRoZW5cbiAgICAvLyByZXNldCB0aGUgZm9jdXNlZCBjaGlwIHRoYXQgaGFzIGJlZW4gZm9jdXNlZCBhZnRlciBjaGlwIHJlbW92YWwuXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIF9ibHVyKCk6IHZvaWQge1xuICAgIC8vIFdoZW4gYW5pbWF0aW9ucyBhcmUgZW5hYmxlZCwgQW5ndWxhciBtYXkgZW5kIHVwIHJlbW92aW5nIHRoZSBjaGlwIGZyb20gdGhlIERPTSBhIGxpdHRsZVxuICAgIC8vIGVhcmxpZXIgdGhhbiB1c3VhbCwgY2F1c2luZyBpdCB0byBiZSBibHVycmVkIGFuZCB0aHJvd2luZyBvZmYgdGhlIGxvZ2ljIGluIHRoZSBjaGlwIGxpc3RcbiAgICAvLyB0aGF0IG1vdmVzIGZvY3VzIG5vdCB0aGUgbmV4dCBpdGVtLiBUbyB3b3JrIGFyb3VuZCB0aGUgaXNzdWUsIHdlIGRlZmVyIG1hcmtpbmcgdGhlIGNoaXBcbiAgICAvLyBhcyBub3QgZm9jdXNlZCB1bnRpbCB0aGUgbmV4dCB0aW1lIHRoZSB6b25lIHN0YWJpbGl6ZXMuXG4gICAgdGhpcy5fbmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX25nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLl9oYXNGb2N1cyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNoaXBCbHVyLm5leHQoeyBjaGlwOiB0aGlzIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9kaXNwYXRjaFNlbGVjdGlvbkNoYW5nZShpc1VzZXJJbnB1dCA9IGZhbHNlKSB7XG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh7XG4gICAgICBzb3VyY2U6IHRoaXMsXG4gICAgICBpc1VzZXJJbnB1dCxcbiAgICAgIHNlbGVjdGVkOiB0aGlzLl9zZWxlY3RlZCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBUaGUgQVJJQSBzZWxlY3RlZCBhcHBsaWVkIHRvIHRoZSBjaGlwLiAqL1xuICBnZXQgYXJpYVNlbGVjdGVkKCk6IHN0cmluZyB8IG51bGwge1xuICAgIC8vIFJlbW92ZSB0aGUgYGFyaWEtc2VsZWN0ZWRgIHdoZW4gdGhlIGNoaXAgaXMgZGVzZWxlY3RlZCBpbiBzaW5nbGUtc2VsZWN0aW9uIG1vZGUsIGJlY2F1c2VcbiAgICAvLyBpdCBhZGRzIG5vaXNlIHRvIE5WREEgdXNlcnMgd2hlcmUgXCJub3Qgc2VsZWN0ZWRcIiB3aWxsIGJlIHJlYWQgb3V0IGZvciBlYWNoIGNoaXAuXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0YWJsZSAmJiAodGhpcy5fY2hpcExpc3RNdWx0aXBsZSB8fCB0aGlzLnNlbGVjdGVkKVxuICAgICAgPyB0aGlzLnNlbGVjdGVkLnRvU3RyaW5nKClcbiAgICAgIDogbnVsbDtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPGJ1dHRvblxuICAqbmdJZj1cIiFkaXNhYmxlZCAmJiAocmVtb3ZhYmxlIHx8IGlucHV0Q2hpcClcIlxuICBjbGFzcz1cImdyYW5pdGUtY2hpcC1yZW1vdmVcIlxuICAoY2xpY2spPVwiX2hhbmRsZVJlbW92ZUNsaWNrKCRldmVudClcIlxuPlxuICA8Z3Jhbml0ZS1pY29uXG4gICAgZm9udEljb249XCJpY29uLWNsb3NlXCJcbiAgICBjbGFzcz1cImdyYW5pdGUtY2hpcC1yZW1vdmUtaWNvblwiXG4gICAgW2NsYXNzLmdyYW5pdGUtY2hpcC1yZW1vdmUtaWNvbi1pbnZhbGlkXT1cImludmFsaWRcIlxuICA+PC9ncmFuaXRlLWljb24+XG48L2J1dHRvbj5cbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { GraniteIconModule } from '../icon/icon.module';
|
|
5
|
+
import { GraniteChipListComponent } from './chip-list.component';
|
|
6
|
+
import { GraniteChipComponent } from './chip.component';
|
|
7
|
+
import { GraniteChipInputDirective } from './chip-input';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
const CHIP_DECLARATIONS = [
|
|
10
|
+
GraniteChipListComponent,
|
|
11
|
+
GraniteChipComponent,
|
|
12
|
+
GraniteChipInputDirective,
|
|
13
|
+
];
|
|
14
|
+
export class GraniteChipsModule {
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteChipsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
16
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: GraniteChipsModule, declarations: [GraniteChipListComponent,
|
|
17
|
+
GraniteChipComponent,
|
|
18
|
+
GraniteChipInputDirective], imports: [CommonModule, FormsModule, ReactiveFormsModule, GraniteIconModule], exports: [GraniteChipListComponent,
|
|
19
|
+
GraniteChipComponent,
|
|
20
|
+
GraniteChipInputDirective] }); }
|
|
21
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteChipsModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, GraniteIconModule] }); }
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteChipsModule, decorators: [{
|
|
24
|
+
type: NgModule,
|
|
25
|
+
args: [{
|
|
26
|
+
imports: [CommonModule, FormsModule, ReactiveFormsModule, GraniteIconModule],
|
|
27
|
+
declarations: CHIP_DECLARATIONS,
|
|
28
|
+
exports: CHIP_DECLARATIONS,
|
|
29
|
+
}]
|
|
30
|
+
}] });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jaGlwcy9jaGlwcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFekQsTUFBTSxpQkFBaUIsR0FBRztJQUN4Qix3QkFBd0I7SUFDeEIsb0JBQW9CO0lBQ3BCLHlCQUF5QjtDQUMxQixDQUFDO0FBT0YsTUFBTSxPQUFPLGtCQUFrQjsrR0FBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0IsaUJBVjdCLHdCQUF3QjtZQUN4QixvQkFBb0I7WUFDcEIseUJBQXlCLGFBSWYsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsYUFOM0Usd0JBQXdCO1lBQ3hCLG9CQUFvQjtZQUNwQix5QkFBeUI7Z0hBUWQsa0JBQWtCLFlBSm5CLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCOzs0RkFJaEUsa0JBQWtCO2tCQUw5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLENBQUM7b0JBQzVFLFlBQVksRUFBRSxpQkFBaUI7b0JBQy9CLE9BQU8sRUFBRSxpQkFBaUI7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEdyYW5pdGVJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZHVsZSc7XG5pbXBvcnQgeyBHcmFuaXRlQ2hpcExpc3RDb21wb25lbnQgfSBmcm9tICcuL2NoaXAtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3Jhbml0ZUNoaXBDb21wb25lbnQgfSBmcm9tICcuL2NoaXAuY29tcG9uZW50JztcbmltcG9ydCB7IEdyYW5pdGVDaGlwSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL2NoaXAtaW5wdXQnO1xuXG5jb25zdCBDSElQX0RFQ0xBUkFUSU9OUyA9IFtcbiAgR3Jhbml0ZUNoaXBMaXN0Q29tcG9uZW50LFxuICBHcmFuaXRlQ2hpcENvbXBvbmVudCxcbiAgR3Jhbml0ZUNoaXBJbnB1dERpcmVjdGl2ZSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBHcmFuaXRlSWNvbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogQ0hJUF9ERUNMQVJBVElPTlMsXG4gIGV4cG9ydHM6IENISVBfREVDTEFSQVRJT05TLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlQ2hpcHNNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Directive, TemplateRef, inject } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class GraniteCollapsibleConditionalBodyDirective {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.template = inject(TemplateRef);
|
|
6
|
+
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteCollapsibleConditionalBodyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: GraniteCollapsibleConditionalBodyDirective, selector: "[graniteCollapsibleGroupBody]", exportAs: ["graniteCollapsibleGroupBody"], ngImport: i0 }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteCollapsibleConditionalBodyDirective, decorators: [{
|
|
11
|
+
type: Directive,
|
|
12
|
+
args: [{
|
|
13
|
+
selector: '[graniteCollapsibleGroupBody]',
|
|
14
|
+
exportAs: 'graniteCollapsibleGroupBody',
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUtZ3JvdXAtYm9keS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbGxhcHNpYmxlLWdyb3VwL2NvbGxhcHNpYmxlLWdyb3VwLWJvZHkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNL0QsTUFBTSxPQUFPLDBDQUEwQztJQUp2RDtRQUtFLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDaEM7K0dBRlksMENBQTBDO21HQUExQywwQ0FBMEM7OzRGQUExQywwQ0FBMEM7a0JBSnRELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLCtCQUErQjtvQkFDekMsUUFBUSxFQUFFLDZCQUE2QjtpQkFDeEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2dyYW5pdGVDb2xsYXBzaWJsZUdyb3VwQm9keV0nLFxuICBleHBvcnRBczogJ2dyYW5pdGVDb2xsYXBzaWJsZUdyb3VwQm9keScsXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVDb2xsYXBzaWJsZUNvbmRpdGlvbmFsQm9keURpcmVjdGl2ZSB7XG4gIHRlbXBsYXRlID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Directive, TemplateRef, inject } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class GraniteCollapsibleConditionalHeaderDirective {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.template = inject(TemplateRef);
|
|
6
|
+
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteCollapsibleConditionalHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: GraniteCollapsibleConditionalHeaderDirective, selector: "[graniteCollapsibleGroupHeader]", exportAs: ["graniteCollapsibleGroupHeader"], ngImport: i0 }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteCollapsibleConditionalHeaderDirective, decorators: [{
|
|
11
|
+
type: Directive,
|
|
12
|
+
args: [{
|
|
13
|
+
selector: '[graniteCollapsibleGroupHeader]',
|
|
14
|
+
exportAs: 'graniteCollapsibleGroupHeader',
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUtZ3JvdXAtaGVhZGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvY29sbGFwc2libGUtZ3JvdXAvY29sbGFwc2libGUtZ3JvdXAtaGVhZGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTS9ELE1BQU0sT0FBTyw0Q0FBNEM7SUFKekQ7UUFLRSxhQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQ2hDOytHQUZZLDRDQUE0QzttR0FBNUMsNENBQTRDOzs0RkFBNUMsNENBQTRDO2tCQUp4RCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLFFBQVEsRUFBRSwrQkFBK0I7aUJBQzFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tncmFuaXRlQ29sbGFwc2libGVHcm91cEhlYWRlcl0nLFxuICBleHBvcnRBczogJ2dyYW5pdGVDb2xsYXBzaWJsZUdyb3VwSGVhZGVyJyxcbn0pXG5leHBvcnQgY2xhc3MgR3Jhbml0ZUNvbGxhcHNpYmxlQ29uZGl0aW9uYWxIZWFkZXJEaXJlY3RpdmUge1xuICB0ZW1wbGF0ZSA9IGluamVjdChUZW1wbGF0ZVJlZik7XG59XG4iXX0=
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Component, ContentChild, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
import { GraniteCollapsibleConditionalBodyDirective } from './collapsible-group-body.directive';
|
|
3
|
+
import { GraniteCollapsibleConditionalHeaderDirective } from './collapsible-group-header.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "../icon/icon.component";
|
|
7
|
+
export class GraniteCollapsibleGroupComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.collapsed = false;
|
|
10
|
+
this.id = '';
|
|
11
|
+
this.arialabel = null;
|
|
12
|
+
this.collapsedChanged = new EventEmitter();
|
|
13
|
+
}
|
|
14
|
+
toggleCollapsibleGroup() {
|
|
15
|
+
this.collapsed = !this.collapsed;
|
|
16
|
+
this.collapsedChanged.emit(this.collapsed);
|
|
17
|
+
}
|
|
18
|
+
_toogleCollapsing(event) {
|
|
19
|
+
if (event.code === 'Enter' || event.code === 'Space') {
|
|
20
|
+
event.preventDefault();
|
|
21
|
+
event.stopPropagation();
|
|
22
|
+
this.toggleCollapsibleGroup();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteCollapsibleGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GraniteCollapsibleGroupComponent, selector: "granite-collapsible-group", inputs: { collapsed: "collapsed", id: "id", arialabel: "arialabel" }, outputs: { collapsedChanged: "collapsedChanged" }, queries: [{ propertyName: "conditionalBodyContentRef", first: true, predicate: GraniteCollapsibleConditionalBodyDirective, descendants: true }, { propertyName: "conditionalHeaderContentRef", first: true, predicate: GraniteCollapsibleConditionalHeaderDirective, descendants: true }], ngImport: i0, template: "<div class=\"collapsible-wrapper\">\n <div\n data-fnd=\"collapsible-group-header\"\n class=\"collapsible-group-header\"\n [class]=\"collapsed ? 'collapsed-header' : 'expanded-header'\"\n role=\"button\"\n (click)=\"toggleCollapsibleGroup()\"\n (keydown)=\"_toogleCollapsing($event)\"\n [attr.id]=\"id ? 'collapsible-group-header-' + id : null\"\n [attr.aria-label]=\"arialabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id ? 'collapsible-group-body-' + id : null\"\n tabindex=\"0\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n conditionalHeaderContentRef\n ? conditionalHeaderContentRef.template\n : null\n \"\n ></ng-container>\n\n <div class=\"collapse-icon\">\n <granite-icon\n [fontIcon]=\"collapsed ? 'icon-caret-down' : 'icon-caret-up'\"\n ></granite-icon>\n </div>\n </div>\n <div\n data-fnd=\"collapsible-group-body\"\n class=\"collapsible-group-body\"\n [class]=\"collapsed ? 'collapse' : 'expand'\"\n role=\"region\"\n [attr.id]=\"id ? 'collapsible-group-body-' + id : null\"\n [attr.aria-labelledby]=\"id ? 'collapsible-group-header-' + id : null\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n !collapsed && conditionalBodyContentRef\n ? conditionalBodyContentRef.template\n : null\n \"\n >\n </ng-container>\n </div>\n</div>\n", styles: [".collapsible-wrapper{background-color:var(--granite-color-background);box-shadow:var(--granite-shadow-base);border-radius:var(--granite-radius-s);width:100%;font-family:var(--granite-font-family-default)}.collapsible-wrapper .collapse-icon{align-self:center;width:var(--granite-size-base-rem);height:var(--granite-size-base-rem);font-size:var(--granite-font-size-body);color:var(--granite-color-background-inverse);display:none}.collapsible-wrapper .collapsible-group-header{display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;flex-direction:row;justify-content:space-between;cursor:pointer;font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-base-rem);font-weight:var(--granite-font-weight-bold);padding:var(--granite-spacing-8) var(--granite-spacing-16);transition:background-color .2s ease-out;color:var(--granite-color-text);background-color:var(--granite-color-background);align-items:center}.collapsible-wrapper .collapsible-group-header:focus{outline:var(--granite-border-width-focus) solid var(--granite-color-focus)}.collapsible-wrapper .collapsible-group-header:hover{background-color:var(--granite-color-background-hover)}.collapsible-wrapper .collapsible-group-header:hover .collapse-icon{display:block}.collapsible-wrapper .collapsible-group-header.expanded-header{border-start-start-radius:var(--granite-radius-s);border-start-end-radius:var(--granite-radius-s);border-end-start-radius:0;border-end-end-radius:0}.collapsible-wrapper .collapsible-group-header.collapsed-header{border-radius:var(--granite-radius-s)}.collapsible-wrapper .collapsible-group-body{padding:var(--granite-spacing-16);transition:all .3s ease-in-out}.collapsible-wrapper .collapsible-group-body.expand{display:block;background-color:var(--granite-color-background);border-end-start-radius:var(--granite-radius-s);border-end-end-radius:var(--granite-radius-s)}.collapsible-wrapper .collapsible-group-body.collapse{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }] }); }
|
|
27
|
+
}
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteCollapsibleGroupComponent, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{ selector: 'granite-collapsible-group', template: "<div class=\"collapsible-wrapper\">\n <div\n data-fnd=\"collapsible-group-header\"\n class=\"collapsible-group-header\"\n [class]=\"collapsed ? 'collapsed-header' : 'expanded-header'\"\n role=\"button\"\n (click)=\"toggleCollapsibleGroup()\"\n (keydown)=\"_toogleCollapsing($event)\"\n [attr.id]=\"id ? 'collapsible-group-header-' + id : null\"\n [attr.aria-label]=\"arialabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id ? 'collapsible-group-body-' + id : null\"\n tabindex=\"0\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n conditionalHeaderContentRef\n ? conditionalHeaderContentRef.template\n : null\n \"\n ></ng-container>\n\n <div class=\"collapse-icon\">\n <granite-icon\n [fontIcon]=\"collapsed ? 'icon-caret-down' : 'icon-caret-up'\"\n ></granite-icon>\n </div>\n </div>\n <div\n data-fnd=\"collapsible-group-body\"\n class=\"collapsible-group-body\"\n [class]=\"collapsed ? 'collapse' : 'expand'\"\n role=\"region\"\n [attr.id]=\"id ? 'collapsible-group-body-' + id : null\"\n [attr.aria-labelledby]=\"id ? 'collapsible-group-header-' + id : null\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n !collapsed && conditionalBodyContentRef\n ? conditionalBodyContentRef.template\n : null\n \"\n >\n </ng-container>\n </div>\n</div>\n", styles: [".collapsible-wrapper{background-color:var(--granite-color-background);box-shadow:var(--granite-shadow-base);border-radius:var(--granite-radius-s);width:100%;font-family:var(--granite-font-family-default)}.collapsible-wrapper .collapse-icon{align-self:center;width:var(--granite-size-base-rem);height:var(--granite-size-base-rem);font-size:var(--granite-font-size-body);color:var(--granite-color-background-inverse);display:none}.collapsible-wrapper .collapsible-group-header{display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;flex-direction:row;justify-content:space-between;cursor:pointer;font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-base-rem);font-weight:var(--granite-font-weight-bold);padding:var(--granite-spacing-8) var(--granite-spacing-16);transition:background-color .2s ease-out;color:var(--granite-color-text);background-color:var(--granite-color-background);align-items:center}.collapsible-wrapper .collapsible-group-header:focus{outline:var(--granite-border-width-focus) solid var(--granite-color-focus)}.collapsible-wrapper .collapsible-group-header:hover{background-color:var(--granite-color-background-hover)}.collapsible-wrapper .collapsible-group-header:hover .collapse-icon{display:block}.collapsible-wrapper .collapsible-group-header.expanded-header{border-start-start-radius:var(--granite-radius-s);border-start-end-radius:var(--granite-radius-s);border-end-start-radius:0;border-end-end-radius:0}.collapsible-wrapper .collapsible-group-header.collapsed-header{border-radius:var(--granite-radius-s)}.collapsible-wrapper .collapsible-group-body{padding:var(--granite-spacing-16);transition:all .3s ease-in-out}.collapsible-wrapper .collapsible-group-body.expand{display:block;background-color:var(--granite-color-background);border-end-start-radius:var(--granite-radius-s);border-end-end-radius:var(--granite-radius-s)}.collapsible-wrapper .collapsible-group-body.collapse{display:none}\n"] }]
|
|
31
|
+
}], propDecorators: { collapsed: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], id: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}], arialabel: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}], collapsedChanged: [{
|
|
38
|
+
type: Output
|
|
39
|
+
}], conditionalBodyContentRef: [{
|
|
40
|
+
type: ContentChild,
|
|
41
|
+
args: [GraniteCollapsibleConditionalBodyDirective]
|
|
42
|
+
}], conditionalHeaderContentRef: [{
|
|
43
|
+
type: ContentChild,
|
|
44
|
+
args: [GraniteCollapsibleConditionalHeaderDirective]
|
|
45
|
+
}] } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jb2xsYXBzaWJsZS1ncm91cC9jb2xsYXBzaWJsZS1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbGxhcHNpYmxlLWdyb3VwL2NvbGxhcHNpYmxlLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7O0FBTXBHLE1BQU0sT0FBTyxnQ0FBZ0M7SUFMN0M7UUFPRSxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRzNCLE9BQUUsR0FBVyxFQUFFLENBQUM7UUFHaEIsY0FBUyxHQUFrQixJQUFJLENBQUM7UUFHdkIscUJBQWdCLEdBQ3ZCLElBQUksWUFBWSxFQUFXLENBQUM7S0FvQi9CO0lBWkMsc0JBQXNCO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFvQjtRQUNwQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDckQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQzsrR0EvQlUsZ0NBQWdDO21HQUFoQyxnQ0FBZ0MsaVBBYzdCLDBDQUEwQyw4RkFHMUMsNENBQTRDLGdEQy9CNUQscTVDQThDQTs7NEZEaENhLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSwyQkFBMkI7OEJBTXJDLFNBQVM7c0JBRFIsS0FBSztnQkFJTixFQUFFO3NCQURELEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlHLGdCQUFnQjtzQkFEeEIsTUFBTTtnQkFLUCx5QkFBeUI7c0JBRHhCLFlBQVk7dUJBQUMsMENBQTBDO2dCQUl4RCwyQkFBMkI7c0JBRDFCLFlBQVk7dUJBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcmFuaXRlQ29sbGFwc2libGVDb25kaXRpb25hbEJvZHlEaXJlY3RpdmUgfSBmcm9tICcuL2NvbGxhcHNpYmxlLWdyb3VwLWJvZHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IEdyYW5pdGVDb2xsYXBzaWJsZUNvbmRpdGlvbmFsSGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2xsYXBzaWJsZS1ncm91cC1oZWFkZXIuZGlyZWN0aXZlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtY29sbGFwc2libGUtZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJ2NvbGxhcHNpYmxlLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2NvbGxhcHNpYmxlLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVDb2xsYXBzaWJsZUdyb3VwQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgY29sbGFwc2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgaWQ6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGFyaWFsYWJlbDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGNvbGxhcHNlZENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoR3Jhbml0ZUNvbGxhcHNpYmxlQ29uZGl0aW9uYWxCb2R5RGlyZWN0aXZlKVxuICBjb25kaXRpb25hbEJvZHlDb250ZW50UmVmOiBHcmFuaXRlQ29sbGFwc2libGVDb25kaXRpb25hbEJvZHlEaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChHcmFuaXRlQ29sbGFwc2libGVDb25kaXRpb25hbEhlYWRlckRpcmVjdGl2ZSlcbiAgY29uZGl0aW9uYWxIZWFkZXJDb250ZW50UmVmOiBHcmFuaXRlQ29sbGFwc2libGVDb25kaXRpb25hbEhlYWRlckRpcmVjdGl2ZTtcblxuICB0b2dnbGVDb2xsYXBzaWJsZUdyb3VwKCk6IHZvaWQge1xuICAgIHRoaXMuY29sbGFwc2VkID0gIXRoaXMuY29sbGFwc2VkO1xuICAgIHRoaXMuY29sbGFwc2VkQ2hhbmdlZC5lbWl0KHRoaXMuY29sbGFwc2VkKTtcbiAgfVxuXG4gIF90b29nbGVDb2xsYXBzaW5nKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdFbnRlcicgfHwgZXZlbnQuY29kZSA9PT0gJ1NwYWNlJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy50b2dnbGVDb2xsYXBzaWJsZUdyb3VwKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29sbGFwc2libGUtd3JhcHBlclwiPlxuICA8ZGl2XG4gICAgZGF0YS1mbmQ9XCJjb2xsYXBzaWJsZS1ncm91cC1oZWFkZXJcIlxuICAgIGNsYXNzPVwiY29sbGFwc2libGUtZ3JvdXAtaGVhZGVyXCJcbiAgICBbY2xhc3NdPVwiY29sbGFwc2VkID8gJ2NvbGxhcHNlZC1oZWFkZXInIDogJ2V4cGFuZGVkLWhlYWRlcidcIlxuICAgIHJvbGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzaWJsZUdyb3VwKClcIlxuICAgIChrZXlkb3duKT1cIl90b29nbGVDb2xsYXBzaW5nKCRldmVudClcIlxuICAgIFthdHRyLmlkXT1cImlkID8gJ2NvbGxhcHNpYmxlLWdyb3VwLWhlYWRlci0nICsgaWQgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFsYWJlbFwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhY29sbGFwc2VkXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlkID8gJ2NvbGxhcHNpYmxlLWdyb3VwLWJvZHktJyArIGlkIDogbnVsbFwiXG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIlxuICAgICAgICBjb25kaXRpb25hbEhlYWRlckNvbnRlbnRSZWZcbiAgICAgICAgICA/IGNvbmRpdGlvbmFsSGVhZGVyQ29udGVudFJlZi50ZW1wbGF0ZVxuICAgICAgICAgIDogbnVsbFxuICAgICAgXCJcbiAgICA+PC9uZy1jb250YWluZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY29sbGFwc2UtaWNvblwiPlxuICAgICAgPGdyYW5pdGUtaWNvblxuICAgICAgICBbZm9udEljb25dPVwiY29sbGFwc2VkID8gJ2ljb24tY2FyZXQtZG93bicgOiAnaWNvbi1jYXJldC11cCdcIlxuICAgICAgPjwvZ3Jhbml0ZS1pY29uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGRhdGEtZm5kPVwiY29sbGFwc2libGUtZ3JvdXAtYm9keVwiXG4gICAgY2xhc3M9XCJjb2xsYXBzaWJsZS1ncm91cC1ib2R5XCJcbiAgICBbY2xhc3NdPVwiY29sbGFwc2VkID8gJ2NvbGxhcHNlJyA6ICdleHBhbmQnXCJcbiAgICByb2xlPVwicmVnaW9uXCJcbiAgICBbYXR0ci5pZF09XCJpZCA/ICdjb2xsYXBzaWJsZS1ncm91cC1ib2R5LScgKyBpZCA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJpZCA/ICdjb2xsYXBzaWJsZS1ncm91cC1oZWFkZXItJyArIGlkIDogbnVsbFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJcbiAgICAgICAgIWNvbGxhcHNlZCAmJiBjb25kaXRpb25hbEJvZHlDb250ZW50UmVmXG4gICAgICAgICAgPyBjb25kaXRpb25hbEJvZHlDb250ZW50UmVmLnRlbXBsYXRlXG4gICAgICAgICAgOiBudWxsXG4gICAgICBcIlxuICAgID5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { GraniteIconModule } from '../icon/icon.module';
|
|
4
|
+
import { GraniteCollapsibleGroupComponent } from './collapsible-group.component';
|
|
5
|
+
import { GraniteCollapsibleConditionalBodyDirective } from './collapsible-group-body.directive';
|
|
6
|
+
import { GraniteCollapsibleConditionalHeaderDirective } from './collapsible-group-header.directive';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class GraniteCollapsibleGroupModule {
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteCollapsibleGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: GraniteCollapsibleGroupModule, declarations: [GraniteCollapsibleGroupComponent,
|
|
11
|
+
GraniteCollapsibleConditionalHeaderDirective,
|
|
12
|
+
GraniteCollapsibleConditionalBodyDirective], imports: [CommonModule, GraniteIconModule], exports: [GraniteCollapsibleGroupComponent,
|
|
13
|
+
GraniteCollapsibleConditionalHeaderDirective,
|
|
14
|
+
GraniteCollapsibleConditionalBodyDirective] }); }
|
|
15
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteCollapsibleGroupModule, imports: [CommonModule, GraniteIconModule] }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteCollapsibleGroupModule, decorators: [{
|
|
18
|
+
type: NgModule,
|
|
19
|
+
args: [{
|
|
20
|
+
imports: [CommonModule, GraniteIconModule],
|
|
21
|
+
declarations: [
|
|
22
|
+
GraniteCollapsibleGroupComponent,
|
|
23
|
+
GraniteCollapsibleConditionalHeaderDirective,
|
|
24
|
+
GraniteCollapsibleConditionalBodyDirective,
|
|
25
|
+
],
|
|
26
|
+
exports: [
|
|
27
|
+
GraniteCollapsibleGroupComponent,
|
|
28
|
+
GraniteCollapsibleConditionalHeaderDirective,
|
|
29
|
+
GraniteCollapsibleConditionalBodyDirective,
|
|
30
|
+
],
|
|
31
|
+
}]
|
|
32
|
+
}] });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUtZ3JvdXAubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jb2xsYXBzaWJsZS1ncm91cC9jb2xsYXBzaWJsZS1ncm91cC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakYsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEcsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBZXBHLE1BQU0sT0FBTyw2QkFBNkI7K0dBQTdCLDZCQUE2QjtnSEFBN0IsNkJBQTZCLGlCQVZ0QyxnQ0FBZ0M7WUFDaEMsNENBQTRDO1lBQzVDLDBDQUEwQyxhQUpsQyxZQUFZLEVBQUUsaUJBQWlCLGFBT3ZDLGdDQUFnQztZQUNoQyw0Q0FBNEM7WUFDNUMsMENBQTBDO2dIQUdqQyw2QkFBNkIsWUFaOUIsWUFBWSxFQUFFLGlCQUFpQjs7NEZBWTlCLDZCQUE2QjtrQkFiekMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUM7b0JBQzFDLFlBQVksRUFBRTt3QkFDWixnQ0FBZ0M7d0JBQ2hDLDRDQUE0Qzt3QkFDNUMsMENBQTBDO3FCQUMzQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0NBQWdDO3dCQUNoQyw0Q0FBNEM7d0JBQzVDLDBDQUEwQztxQkFDM0M7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEdyYW5pdGVJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZHVsZSc7XG5pbXBvcnQgeyBHcmFuaXRlQ29sbGFwc2libGVHcm91cENvbXBvbmVudCB9IGZyb20gJy4vY29sbGFwc2libGUtZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IEdyYW5pdGVDb2xsYXBzaWJsZUNvbmRpdGlvbmFsQm9keURpcmVjdGl2ZSB9IGZyb20gJy4vY29sbGFwc2libGUtZ3JvdXAtYm9keS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgR3Jhbml0ZUNvbGxhcHNpYmxlQ29uZGl0aW9uYWxIZWFkZXJEaXJlY3RpdmUgfSBmcm9tICcuL2NvbGxhcHNpYmxlLWdyb3VwLWhlYWRlci5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBHcmFuaXRlSWNvbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEdyYW5pdGVDb2xsYXBzaWJsZUdyb3VwQ29tcG9uZW50LFxuICAgIEdyYW5pdGVDb2xsYXBzaWJsZUNvbmRpdGlvbmFsSGVhZGVyRGlyZWN0aXZlLFxuICAgIEdyYW5pdGVDb2xsYXBzaWJsZUNvbmRpdGlvbmFsQm9keURpcmVjdGl2ZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEdyYW5pdGVDb2xsYXBzaWJsZUdyb3VwQ29tcG9uZW50LFxuICAgIEdyYW5pdGVDb2xsYXBzaWJsZUNvbmRpdGlvbmFsSGVhZGVyRGlyZWN0aXZlLFxuICAgIEdyYW5pdGVDb2xsYXBzaWJsZUNvbmRpdGlvbmFsQm9keURpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgR3Jhbml0ZUNvbGxhcHNpYmxlR3JvdXBNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../icon/icon.component";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
import * as i3 from "../contact-item-default-status/contact-item-default-status.component";
|
|
6
|
+
import * as i4 from "../contact-item-title/contact-item-title.component";
|
|
7
|
+
export class GraniteContactItemComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.selectedContact = new EventEmitter();
|
|
10
|
+
}
|
|
11
|
+
emitSelectedContact(selectedContact) {
|
|
12
|
+
this.selectedContact.emit(selectedContact);
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteContactItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GraniteContactItemComponent, selector: "granite-contact-item", inputs: { contact: "contact" }, outputs: { selectedContact: "selectedContact" }, host: { classAttribute: "granite-contact-item" }, ngImport: i0, template: "<div class=\"contact-item\" [attr.data-fnd]=\"contact.name\">\n <div class=\"contact-item-main\">\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: {\n contact: contact,\n testName: 'contact',\n selectedContactOutput: { contact }\n }\n \"\n ></ng-container>\n </div>\n\n <ul *ngIf=\"contact.options\" class=\"contact-item-options\">\n <li\n tabindex=\"0\"\n *ngFor=\"let option of contact.options; let i = index\"\n class=\"option-item\"\n [attr.data-fnd]=\"'contact-option-' + i\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: {\n contact: option,\n testName: 'contact-option-' + i,\n selectedContactOutput: { contact: option, parent: contact }\n }\n \"\n ></ng-container>\n </li>\n </ul>\n</div>\n\n<ng-template\n let-testName=\"testName\"\n let-contact=\"contact\"\n let-selectedContactOutput=\"selectedContactOutput\"\n #contactItem\n>\n <granite-icon\n [attr.data-fnd]=\"testName + '-icon'\"\n fontIcon=\"{{ contact.iconName }}\"\n ></granite-icon>\n\n <granite-contact-item-title\n [attr.data-fnd]=\"testName + '-title'\"\n tabindex=\"0\"\n [contact]=\"contact\"\n [class.contact-item-disabled]=\"contact.options || contact.disabled\"\n (click)=\"emitSelectedContact(selectedContactOutput)\"\n ></granite-contact-item-title>\n\n <ng-container *ngIf=\"contact.statusTemplate; else defaultStatus\">\n <ng-container *ngTemplateOutlet=\"contact.statusTemplate\"></ng-container>\n </ng-container>\n\n <ng-template #defaultStatus>\n <granite-contact-item-default-status\n [attr.data-fnd]=\"testName + '-status'\"\n [status]=\"contact.status\"\n ></granite-contact-item-default-status>\n </ng-template>\n</ng-template>\n", styles: [".contact-item{display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--granite-spacing-8)}.contact-item-main{display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item-disabled{pointer-events:none}.contact-item-options{display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-inline-start:var(--granite-spacing-24);gap:var(--granite-spacing-8);list-style:none}.contact-item-options .option-item{display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item granite-contact-item-title,.contact-item granite-contact-item-default-status{display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}granite-icon{padding:0;color:var(--granite-color-text-hint);width:var(--granite-size-base-rem);height:var(--granite-size-base-rem)}\n"], dependencies: [{ kind: "component", type: i1.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ContactItemDefaultStatusComponent, selector: "granite-contact-item-default-status", inputs: ["status"] }, { kind: "component", type: i4.GraniteContactItemTitleComponent, selector: "granite-contact-item-title", inputs: ["contact"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteContactItemComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{ selector: 'granite-contact-item', host: {
|
|
20
|
+
class: 'granite-contact-item',
|
|
21
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"contact-item\" [attr.data-fnd]=\"contact.name\">\n <div class=\"contact-item-main\">\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: {\n contact: contact,\n testName: 'contact',\n selectedContactOutput: { contact }\n }\n \"\n ></ng-container>\n </div>\n\n <ul *ngIf=\"contact.options\" class=\"contact-item-options\">\n <li\n tabindex=\"0\"\n *ngFor=\"let option of contact.options; let i = index\"\n class=\"option-item\"\n [attr.data-fnd]=\"'contact-option-' + i\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: {\n contact: option,\n testName: 'contact-option-' + i,\n selectedContactOutput: { contact: option, parent: contact }\n }\n \"\n ></ng-container>\n </li>\n </ul>\n</div>\n\n<ng-template\n let-testName=\"testName\"\n let-contact=\"contact\"\n let-selectedContactOutput=\"selectedContactOutput\"\n #contactItem\n>\n <granite-icon\n [attr.data-fnd]=\"testName + '-icon'\"\n fontIcon=\"{{ contact.iconName }}\"\n ></granite-icon>\n\n <granite-contact-item-title\n [attr.data-fnd]=\"testName + '-title'\"\n tabindex=\"0\"\n [contact]=\"contact\"\n [class.contact-item-disabled]=\"contact.options || contact.disabled\"\n (click)=\"emitSelectedContact(selectedContactOutput)\"\n ></granite-contact-item-title>\n\n <ng-container *ngIf=\"contact.statusTemplate; else defaultStatus\">\n <ng-container *ngTemplateOutlet=\"contact.statusTemplate\"></ng-container>\n </ng-container>\n\n <ng-template #defaultStatus>\n <granite-contact-item-default-status\n [attr.data-fnd]=\"testName + '-status'\"\n [status]=\"contact.status\"\n ></granite-contact-item-default-status>\n </ng-template>\n</ng-template>\n", styles: [".contact-item{display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--granite-spacing-8)}.contact-item-main{display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item-disabled{pointer-events:none}.contact-item-options{display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-inline-start:var(--granite-spacing-24);gap:var(--granite-spacing-8);list-style:none}.contact-item-options .option-item{display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item granite-contact-item-title,.contact-item granite-contact-item-default-status{display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex}granite-icon{padding:0;color:var(--granite-color-text-hint);width:var(--granite-size-base-rem);height:var(--granite-size-base-rem)}\n"] }]
|
|
22
|
+
}], propDecorators: { contact: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}], selectedContact: [{
|
|
25
|
+
type: Output
|
|
26
|
+
}] } });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvY29udGFjdHMvY29udGFjdC1pdGVtL2NvbnRhY3QtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3QtaXRlbS9jb250YWN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7OztBQWF2QixNQUFNLE9BQU8sMkJBQTJCO0lBVHhDO1FBWXFCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7S0FLMUU7SUFIQyxtQkFBbUIsQ0FBQyxlQUFnQztRQUNsRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3QyxDQUFDOytHQVBVLDJCQUEyQjttR0FBM0IsMkJBQTJCLCtMQ25CeEMsbzJEQWlFQTs7NEZEOUNhLDJCQUEyQjtrQkFUdkMsU0FBUzsrQkFDRSxzQkFBc0IsUUFDMUI7d0JBQ0osS0FBSyxFQUFFLHNCQUFzQjtxQkFDOUIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE9BQU87c0JBQWYsS0FBSztnQkFFYSxlQUFlO3NCQUFqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlbGVjdGVkQ29udGFjdCB9IGZyb20gJy4uL2NvbnRhY3RzLXR5cGVzL2NvbnRhY3RzLmNvbXBvbmVudC5wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHsgQ29udGFjdEV4dGVuZGVkIH0gZnJvbSAnLi4vY29udGFjdHMtdHlwZXMvY29udGFjdHMuY29tcG9uZW50LnByaXZhdGUtdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdncmFuaXRlLWNvbnRhY3QtaXRlbScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2dyYW5pdGUtY29udGFjdC1pdGVtJyxcbiAgfSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRhY3QtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRhY3QtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgR3Jhbml0ZUNvbnRhY3RJdGVtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY29udGFjdDogQ29udGFjdEV4dGVuZGVkO1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3RlZENvbnRhY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGVkQ29udGFjdD4oKTtcblxuICBlbWl0U2VsZWN0ZWRDb250YWN0KHNlbGVjdGVkQ29udGFjdDogU2VsZWN0ZWRDb250YWN0KTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZENvbnRhY3QuZW1pdChzZWxlY3RlZENvbnRhY3QpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGFjdC1pdGVtXCIgW2F0dHIuZGF0YS1mbmRdPVwiY29udGFjdC5uYW1lXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWN0LWl0ZW0tbWFpblwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgIGNvbnRhY3RJdGVtO1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgY29udGFjdDogY29udGFjdCxcbiAgICAgICAgICB0ZXN0TmFtZTogJ2NvbnRhY3QnLFxuICAgICAgICAgIHNlbGVjdGVkQ29udGFjdE91dHB1dDogeyBjb250YWN0IH1cbiAgICAgICAgfVxuICAgICAgXCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDx1bCAqbmdJZj1cImNvbnRhY3Qub3B0aW9uc1wiIGNsYXNzPVwiY29udGFjdC1pdGVtLW9wdGlvbnNcIj5cbiAgICA8bGlcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGNvbnRhY3Qub3B0aW9uczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICBjbGFzcz1cIm9wdGlvbi1pdGVtXCJcbiAgICAgIFthdHRyLmRhdGEtZm5kXT1cIidjb250YWN0LW9wdGlvbi0nICsgaVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgIGNvbnRhY3RJdGVtO1xuICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgIGNvbnRhY3Q6IG9wdGlvbixcbiAgICAgICAgICAgIHRlc3ROYW1lOiAnY29udGFjdC1vcHRpb24tJyArIGksXG4gICAgICAgICAgICBzZWxlY3RlZENvbnRhY3RPdXRwdXQ6IHsgY29udGFjdDogb3B0aW9uLCBwYXJlbnQ6IGNvbnRhY3QgfVxuICAgICAgICAgIH1cbiAgICAgICAgXCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZVxuICBsZXQtdGVzdE5hbWU9XCJ0ZXN0TmFtZVwiXG4gIGxldC1jb250YWN0PVwiY29udGFjdFwiXG4gIGxldC1zZWxlY3RlZENvbnRhY3RPdXRwdXQ9XCJzZWxlY3RlZENvbnRhY3RPdXRwdXRcIlxuICAjY29udGFjdEl0ZW1cbj5cbiAgPGdyYW5pdGUtaWNvblxuICAgIFthdHRyLmRhdGEtZm5kXT1cInRlc3ROYW1lICsgJy1pY29uJ1wiXG4gICAgZm9udEljb249XCJ7eyBjb250YWN0Lmljb25OYW1lIH19XCJcbiAgPjwvZ3Jhbml0ZS1pY29uPlxuXG4gIDxncmFuaXRlLWNvbnRhY3QtaXRlbS10aXRsZVxuICAgIFthdHRyLmRhdGEtZm5kXT1cInRlc3ROYW1lICsgJy10aXRsZSdcIlxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgW2NvbnRhY3RdPVwiY29udGFjdFwiXG4gICAgW2NsYXNzLmNvbnRhY3QtaXRlbS1kaXNhYmxlZF09XCJjb250YWN0Lm9wdGlvbnMgfHwgY29udGFjdC5kaXNhYmxlZFwiXG4gICAgKGNsaWNrKT1cImVtaXRTZWxlY3RlZENvbnRhY3Qoc2VsZWN0ZWRDb250YWN0T3V0cHV0KVwiXG4gID48L2dyYW5pdGUtY29udGFjdC1pdGVtLXRpdGxlPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250YWN0LnN0YXR1c1RlbXBsYXRlOyBlbHNlIGRlZmF1bHRTdGF0dXNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGFjdC5zdGF0dXNUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRTdGF0dXM+XG4gICAgPGdyYW5pdGUtY29udGFjdC1pdGVtLWRlZmF1bHQtc3RhdHVzXG4gICAgICBbYXR0ci5kYXRhLWZuZF09XCJ0ZXN0TmFtZSArICctc3RhdHVzJ1wiXG4gICAgICBbc3RhdHVzXT1cImNvbnRhY3Quc3RhdHVzXCJcbiAgICA+PC9ncmFuaXRlLWNvbnRhY3QtaXRlbS1kZWZhdWx0LXN0YXR1cz5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|