@impartner/design-components 2.0.1 → 2.1.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 (155) hide show
  1. package/README.md +2 -1
  2. package/esm2022/lib/badge/badge.component.mjs +17 -1
  3. package/esm2022/lib/datetime-picker/components/datepicker-nav/datepicker-nav.component.mjs +105 -0
  4. package/esm2022/lib/datetime-picker/components/datepicker-nav/index.mjs +2 -0
  5. package/esm2022/lib/datetime-picker/components/datepicker-template-host/datepicker-template-host.component.mjs +30 -0
  6. package/esm2022/lib/datetime-picker/components/datepicker-template-host/index.mjs +2 -0
  7. package/esm2022/lib/datetime-picker/components/datetime-picker/datetime-picker.component.mjs +370 -0
  8. package/esm2022/lib/datetime-picker/components/datetime-picker/index.mjs +2 -0
  9. package/esm2022/lib/datetime-picker/components/datetime-picker-input/datetime-picker-input.component.mjs +367 -0
  10. package/esm2022/lib/datetime-picker/components/datetime-picker-input/index.mjs +2 -0
  11. package/esm2022/lib/datetime-picker/components/datetime-picker-input-footer/datetime-picker-input-footer.component.mjs +68 -0
  12. package/esm2022/lib/datetime-picker/components/datetime-picker-input-footer/index.mjs +2 -0
  13. package/esm2022/lib/datetime-picker/components/index.mjs +6 -0
  14. package/esm2022/lib/datetime-picker/constants/datetime-picker-defaults.mjs +12 -0
  15. package/esm2022/lib/datetime-picker/constants/index.mjs +2 -0
  16. package/esm2022/lib/datetime-picker/datetime-picker.module.mjs +22 -0
  17. package/esm2022/lib/datetime-picker/index.mjs +4 -0
  18. package/esm2022/lib/datetime-picker/services/datetime-formatter/datetime-formatter.service.mjs +40 -0
  19. package/esm2022/lib/datetime-picker/services/datetime-formatter/index.mjs +2 -0
  20. package/esm2022/lib/datetime-picker/services/index.mjs +2 -0
  21. package/esm2022/lib/datetime-picker/types/datetime-picker-value.interface.mjs +2 -0
  22. package/esm2022/lib/datetime-picker/types/index.mjs +2 -0
  23. package/esm2022/lib/design-components.module.mjs +20 -7
  24. package/esm2022/lib/form-field/component/directives/corner-hint.directive.mjs +15 -0
  25. package/esm2022/lib/form-field/component/directives/error.directive.mjs +27 -0
  26. package/esm2022/lib/form-field/component/directives/form-root.directive.mjs +93 -0
  27. package/esm2022/lib/form-field/component/directives/hint.directive.mjs +25 -0
  28. package/esm2022/lib/form-field/component/directives/index.mjs +25 -0
  29. package/esm2022/lib/form-field/component/directives/label.directive.mjs +15 -0
  30. package/esm2022/lib/form-field/component/directives/prefix.directive.mjs +25 -0
  31. package/esm2022/lib/form-field/component/directives/suffix.directive.mjs +25 -0
  32. package/esm2022/lib/form-field/component/form-field.component.mjs +131 -0
  33. package/esm2022/lib/form-field/component/form-field.module.mjs +24 -0
  34. package/esm2022/lib/form-field/component/index.mjs +4 -0
  35. package/esm2022/lib/form-field/controls/checkbox/checkbox.component.mjs +14 -6
  36. package/esm2022/lib/form-field/controls/checkbox/checkbox.module.mjs +4 -7
  37. package/esm2022/lib/form-field/controls/index.mjs +2 -1
  38. package/esm2022/lib/form-field/controls/input/input.directive.mjs +4 -3
  39. package/esm2022/lib/form-field/controls/radio/radio-button/radio-button.component.mjs +6 -4
  40. package/esm2022/lib/form-field/controls/radio/radio-group/radio-group.directive.mjs +4 -3
  41. package/esm2022/lib/form-field/controls/radio/radio.module.mjs +4 -7
  42. package/esm2022/lib/form-field/controls/select/index.mjs +6 -3
  43. package/esm2022/lib/form-field/controls/select/interfaces/index.mjs +2 -0
  44. package/esm2022/lib/form-field/controls/select/interfaces/select-option.interface.mjs +2 -0
  45. package/esm2022/lib/form-field/controls/select/option/index.mjs +2 -2
  46. package/esm2022/lib/form-field/controls/select/option/select-option.component.mjs +33 -128
  47. package/esm2022/lib/form-field/controls/select/option-display/index.mjs +2 -0
  48. package/esm2022/lib/form-field/controls/select/option-display/select-option-display.component.mjs +162 -0
  49. package/esm2022/lib/form-field/controls/select/option-group/index.mjs +2 -0
  50. package/esm2022/lib/form-field/controls/select/option-group/select-option-group.component.mjs +35 -0
  51. package/esm2022/lib/form-field/controls/select/option-parent.mjs +2 -1
  52. package/esm2022/lib/form-field/controls/select/select.component.mjs +348 -148
  53. package/esm2022/lib/form-field/controls/select/select.module.mjs +20 -13
  54. package/esm2022/lib/form-field/controls/select/value-tags-display/index.mjs +2 -0
  55. package/esm2022/lib/form-field/controls/select/value-tags-display/select-value-tags-display.component.mjs +91 -0
  56. package/esm2022/lib/form-field/controls/shared/toggle/components/toggle-input/toggle-input.component.mjs +3 -3
  57. package/esm2022/lib/form-field/controls/shared/toggle/toggle.component.mjs +19 -3
  58. package/esm2022/lib/form-field/controls/shared/toggle/toggle.module.mjs +4 -6
  59. package/esm2022/lib/form-field/controls/tag-select/index.mjs +2 -0
  60. package/esm2022/lib/form-field/controls/tag-select/tag-select.component.mjs +146 -0
  61. package/esm2022/lib/form-field/impdc-forms.mjs +2 -3
  62. package/esm2022/lib/form-field/impdc-forms.module.mjs +32 -47
  63. package/esm2022/lib/form-field/shared/error-state.mixin.mjs +1 -1
  64. package/esm2022/lib/icon/icon.component.mjs +12 -5
  65. package/esm2022/lib/index.mjs +3 -1
  66. package/esm2022/lib/pagination/pagination.component.mjs +6 -6
  67. package/esm2022/lib/select-icon/select-icon.component.mjs +6 -6
  68. package/esm2022/lib/select-icon/select-icon.module.mjs +5 -1
  69. package/esm2022/lib/table/containers/table.component.mjs +3 -3
  70. package/esm2022/lib/tag/index.mjs +2 -0
  71. package/esm2022/lib/tag/tag.component.mjs +104 -0
  72. package/esm2022/lib/text-highlight/text-highlight.component.mjs +52 -37
  73. package/esm2022/lib/text-highlight/text-highlight.module.mjs +4 -6
  74. package/fesm2022/impartner-design-components.mjs +5620 -3983
  75. package/fesm2022/impartner-design-components.mjs.map +1 -1
  76. package/lib/badge/badge.component.d.ts +15 -1
  77. package/lib/datetime-picker/components/datepicker-nav/datepicker-nav.component.d.ts +31 -0
  78. package/lib/datetime-picker/components/datepicker-nav/index.d.ts +1 -0
  79. package/lib/datetime-picker/components/datepicker-template-host/datepicker-template-host.component.d.ts +14 -0
  80. package/lib/datetime-picker/components/datepicker-template-host/index.d.ts +1 -0
  81. package/lib/datetime-picker/components/datetime-picker/datetime-picker.component.d.ts +157 -0
  82. package/lib/datetime-picker/components/datetime-picker/index.d.ts +1 -0
  83. package/lib/datetime-picker/components/datetime-picker-input/datetime-picker-input.component.d.ts +160 -0
  84. package/lib/datetime-picker/components/datetime-picker-input/index.d.ts +1 -0
  85. package/lib/datetime-picker/components/datetime-picker-input-footer/datetime-picker-input-footer.component.d.ts +24 -0
  86. package/lib/datetime-picker/components/datetime-picker-input-footer/index.d.ts +1 -0
  87. package/lib/datetime-picker/components/index.d.ts +5 -0
  88. package/lib/datetime-picker/constants/datetime-picker-defaults.d.ts +4 -0
  89. package/lib/datetime-picker/constants/index.d.ts +1 -0
  90. package/lib/datetime-picker/datetime-picker.module.d.ts +8 -0
  91. package/lib/datetime-picker/index.d.ts +4 -0
  92. package/lib/datetime-picker/services/datetime-formatter/datetime-formatter.service.d.ts +20 -0
  93. package/lib/datetime-picker/services/datetime-formatter/index.d.ts +1 -0
  94. package/lib/datetime-picker/services/index.d.ts +1 -0
  95. package/lib/datetime-picker/types/datetime-picker-value.interface.d.ts +5 -0
  96. package/lib/datetime-picker/types/index.d.ts +1 -0
  97. package/lib/design-components.module.d.ts +14 -12
  98. package/lib/form-field/{directives → component/directives}/corner-hint.directive.d.ts +1 -1
  99. package/lib/form-field/{directives → component/directives}/error.directive.d.ts +1 -1
  100. package/lib/form-field/{directives → component/directives}/form-root.directive.d.ts +2 -2
  101. package/lib/form-field/{directives → component/directives}/hint.directive.d.ts +1 -1
  102. package/lib/form-field/component/directives/index.d.ts +15 -0
  103. package/lib/form-field/{directives → component/directives}/label.directive.d.ts +1 -1
  104. package/lib/form-field/{directives → component/directives}/prefix.directive.d.ts +1 -1
  105. package/lib/form-field/{directives → component/directives}/suffix.directive.d.ts +1 -1
  106. package/lib/form-field/{form-field.component.d.ts → component/form-field.component.d.ts} +3 -5
  107. package/lib/form-field/component/form-field.module.d.ts +14 -0
  108. package/lib/form-field/component/index.d.ts +3 -0
  109. package/lib/form-field/controls/checkbox/checkbox.component.d.ts +6 -2
  110. package/lib/form-field/controls/checkbox/checkbox.module.d.ts +1 -3
  111. package/lib/form-field/controls/index.d.ts +1 -0
  112. package/lib/form-field/controls/input/input.directive.d.ts +2 -2
  113. package/lib/form-field/controls/radio/radio-button/radio-button.component.d.ts +1 -1
  114. package/lib/form-field/controls/radio/radio-group/radio-group.directive.d.ts +2 -2
  115. package/lib/form-field/controls/radio/radio.module.d.ts +1 -3
  116. package/lib/form-field/controls/select/index.d.ts +6 -2
  117. package/lib/form-field/controls/select/interfaces/index.d.ts +1 -0
  118. package/lib/form-field/controls/select/interfaces/select-option.interface.d.ts +6 -0
  119. package/lib/form-field/controls/select/option/index.d.ts +1 -1
  120. package/lib/form-field/controls/select/option/select-option.component.d.ts +10 -49
  121. package/lib/form-field/controls/select/option-display/index.d.ts +1 -0
  122. package/lib/form-field/controls/select/option-display/select-option-display.component.d.ts +64 -0
  123. package/lib/form-field/controls/select/option-group/index.d.ts +1 -0
  124. package/lib/form-field/controls/select/option-group/select-option-group.component.d.ts +11 -0
  125. package/lib/form-field/controls/select/option-parent.d.ts +12 -1
  126. package/lib/form-field/controls/select/select.component.d.ts +113 -51
  127. package/lib/form-field/controls/select/select.module.d.ts +5 -6
  128. package/lib/form-field/controls/select/value-tags-display/index.d.ts +1 -0
  129. package/lib/form-field/controls/select/value-tags-display/select-value-tags-display.component.d.ts +46 -0
  130. package/lib/form-field/controls/shared/toggle/components/toggle-input/toggle-input.component.d.ts +1 -1
  131. package/lib/form-field/controls/shared/toggle/toggle.component.d.ts +4 -1
  132. package/lib/form-field/controls/shared/toggle/toggle.module.d.ts +1 -2
  133. package/lib/form-field/controls/tag-select/index.d.ts +1 -0
  134. package/lib/form-field/controls/tag-select/tag-select.component.d.ts +43 -0
  135. package/lib/form-field/impdc-forms.d.ts +1 -2
  136. package/lib/form-field/impdc-forms.module.d.ts +8 -14
  137. package/lib/form-field/shared/error-state.mixin.d.ts +4 -4
  138. package/lib/icon/icon.component.d.ts +5 -3
  139. package/lib/index.d.ts +2 -0
  140. package/lib/select-icon/select-icon.module.d.ts +4 -3
  141. package/lib/tag/index.d.ts +1 -0
  142. package/lib/tag/tag.component.d.ts +54 -0
  143. package/lib/text-highlight/text-highlight.component.d.ts +12 -6
  144. package/lib/text-highlight/text-highlight.module.d.ts +1 -2
  145. package/package.json +2 -2
  146. package/esm2022/lib/form-field/directives/corner-hint.directive.mjs +0 -14
  147. package/esm2022/lib/form-field/directives/error.directive.mjs +0 -26
  148. package/esm2022/lib/form-field/directives/form-root.directive.mjs +0 -91
  149. package/esm2022/lib/form-field/directives/hint.directive.mjs +0 -24
  150. package/esm2022/lib/form-field/directives/index.mjs +0 -8
  151. package/esm2022/lib/form-field/directives/label.directive.mjs +0 -14
  152. package/esm2022/lib/form-field/directives/prefix.directive.mjs +0 -24
  153. package/esm2022/lib/form-field/directives/suffix.directive.mjs +0 -24
  154. package/esm2022/lib/form-field/form-field.component.mjs +0 -132
  155. package/lib/form-field/directives/index.d.ts +0 -7
@@ -1,139 +1,44 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Optional, Output } from '@angular/core';
2
- import { NgbDropdownItem } from '@ng-bootstrap/ng-bootstrap';
1
+ import { Component, Input, inject } from '@angular/core';
3
2
  import { nanoid } from 'nanoid';
4
- import { coerceBooleanPropertyValue } from '../../../../../utilities';
5
- import { Subject } from 'rxjs';
6
- import { IMPDC_SELECT_OPTION_PARENT_COMPONENT } from '../option-parent';
3
+ import { IMPDC_SELECT_OPTION_GROUP_COMPONENT } from '../option-group';
7
4
  import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
9
- import * as i2 from "../../../../icon/icon.component";
10
- export class SelectOptionSelectionChangeEvent {
11
- constructor(source, isUserInput = false) {
12
- this.source = source;
13
- this.isUserInput = isUserInput;
14
- }
15
- }
16
- export class SelectOptionComponent extends NgbDropdownItem {
17
- /** @ignore */
18
- get multiple() {
19
- return this._parent && !!this._parent.multiple;
20
- }
21
- /** @ignore */
22
- get selected() {
23
- return this._selected;
24
- }
25
- /**
26
- * Label text describing the select option.
27
- */
28
- get label() {
29
- return this._label;
30
- }
31
- set label(label) {
32
- this._label = label;
33
- this._emitSelectionChangeEvent();
34
- }
35
- /**
36
- * Used to enable or disable the specific select option.
37
- */
38
- get disabled() {
39
- return this.__disabled;
40
- }
41
- set disabled(value) {
42
- this.__disabled = coerceBooleanPropertyValue(value);
43
- }
44
- constructor(_parent, _changeDetector) {
45
- super();
46
- this._parent = _parent;
47
- this._changeDetector = _changeDetector;
48
- /** @ignore */
49
- this.stateChanges = new Subject();
50
- this._selected = false;
51
- this.__disabled = false;
52
- this._label = '';
53
- /** @ignore */
54
- this.id = `impdc-option-${nanoid()}`;
55
- /** @ignore */
56
- this.onSelectionChange = new EventEmitter();
57
- }
58
- /** @ignore */
59
- select() {
60
- if (!this._selected) {
61
- this._selected = true;
62
- this._changeDetector.markForCheck();
63
- this._emitSelectionChangeEvent();
64
- }
65
- }
66
- /** @ignore */
67
- deselect() {
68
- if (this._selected) {
69
- this._selected = false;
70
- this._changeDetector.markForCheck();
71
- this._emitSelectionChangeEvent();
72
- }
73
- }
74
- /** @ignore */
75
- ngOnDestroy() {
76
- this.stateChanges.complete();
77
- }
78
- /** Ensures the option is selected when activated from the keyboard. */
79
- _handleKeydown(event) {
80
- if (this._isInteractionKeyEvent(event)) {
81
- this._selectViaInteraction();
82
- // Prevent the page from scrolling down and form submits.
83
- event.preventDefault();
84
- }
85
- }
86
- /**
87
- * `Selects the option while indicating the selection came from the user. Used to
88
- * determine if the select's view -> model callback should be invoked.`
89
- */
90
- _selectViaInteraction() {
91
- if (!this.disabled) {
92
- this._selected = this.multiple ? !this._selected : true;
93
- this._changeDetector.markForCheck();
94
- this._emitSelectionChangeEvent(true);
95
- }
96
- }
97
- _emitSelectionChangeEvent(isUserInput = false) {
98
- this.onSelectionChange.emit(new SelectOptionSelectionChangeEvent(this, isUserInput));
99
- }
100
- _isInteractionKeyEvent(event) {
101
- // Bail if key isn't "enter" or "space"
102
- if (event.keyCode !== 13 && event.keyCode !== 32) {
103
- return false;
104
- }
105
- // Bail if keypress has any modifers
106
- if (event.altKey || event.shiftKey || event.ctrlKey || event.metaKey) {
107
- return false;
108
- }
109
- return true;
110
- }
111
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectOptionComponent, deps: [{ token: IMPDC_SELECT_OPTION_PARENT_COMPONENT, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
112
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: SelectOptionComponent, selector: "impdc-select-option", inputs: { value: "value", label: "label", id: "id", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { listeners: { "click": "_selectViaInteraction()", "keydown": "_handleKeydown($event)" }, properties: { "class.impdc-select-option--single": "!multiple", "class.impdc-select-option--multiple": "multiple", "class.impdc-select-option--selected": "selected" } }, usesInheritance: true, ngImport: i0, template: "<ng-template #singleSelectTemplate>\n <span>{{ label || '&nbsp;' }}</span>\n <span\n *ngIf=\"selected\"\n impdc-icon\n name=\"check\"\n class=\"selected-check ms-auto\"></span>\n</ng-template>\n\n<ng-template #multipleSelectTemplate>\n <div class=\"d-flex align-items-center gap-5\">\n <span>\n <input\n class=\"form-check-input opacity-100\"\n type=\"checkbox\"\n disabled\n readonly=\"readonly\"\n [attr.checked]=\"selected ? 'checked' : null\" />\n </span>\n <span>\n {{ label }}\n </span>\n </div>\n</ng-template>\n\n<ng-template\n [ngTemplateOutlet]=\"\n multiple ? multipleSelectTemplate : singleSelectTemplate\n \"></ng-template>\n", styles: [":host{background-color:var(--impd-color-white);color:var(--impd-color-gray-600);padding:var(--impd-size-2) var(--impd-size-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:flex!important;align-items:center;column-gap:var(--impd-size-2);cursor:pointer}:host:hover,:host:focus{background-color:var(--impd-color-gray-100);border:0;outline:0}:host.impdc-select-option--selected{font-weight:var(--impd-font-weight-semibold)}:host.impdc-select-option--single .selected-check{display:none}:host.impdc-select-option--single.impdc-select-option--selected{background-color:var(--impd-color-motion-blue-600);color:var(--impd-color-white)}:host.impdc-select-option--single.impdc-select-option--selected:hover,:host.impdc-select-option--single.impdc-select-option--selected:focus{background:linear-gradient(to top,rgba(0,0,0,.1),rgba(0,0,0,.1)) var(--impd-color-motion-blue-600);color:var(--impd-color-white);border:0;outline:0}:host.impdc-select-option--single.impdc-select-option--selected .selected-check{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5
+ export class SelectOptionComponent {
6
+ constructor() {
7
+ this._group = inject(IMPDC_SELECT_OPTION_GROUP_COMPONENT, {
8
+ optional: true
9
+ });
10
+ this.uid = `impdc-select-${nanoid()}`;
11
+ /**
12
+ * The specific value represented by the select option.
13
+ */
14
+ this.value = null;
15
+ /**
16
+ * Label text describing the select option.
17
+ */
18
+ this.label = '';
19
+ /**
20
+ * Used to enable or disable the specific select option.
21
+ */
22
+ this.disabled = false;
23
+ }
24
+ get groupLabel() {
25
+ return this._group?.label;
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: SelectOptionComponent, isStandalone: true, selector: "impdc-select-option", inputs: { value: "value", label: "label", disabled: "disabled" }, ngImport: i0, template: '', isInline: true }); }
113
29
  }
114
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectOptionComponent, decorators: [{
115
31
  type: Component,
116
- args: [{ selector: 'impdc-select-option', changeDetection: ChangeDetectionStrategy.OnPush, host: {
117
- '[class.impdc-select-option--single]': '!multiple',
118
- '[class.impdc-select-option--multiple]': 'multiple',
119
- '[class.impdc-select-option--selected]': 'selected',
120
- '(click)': '_selectViaInteraction()',
121
- '(keydown)': '_handleKeydown($event)'
122
- }, template: "<ng-template #singleSelectTemplate>\n <span>{{ label || '&nbsp;' }}</span>\n <span\n *ngIf=\"selected\"\n impdc-icon\n name=\"check\"\n class=\"selected-check ms-auto\"></span>\n</ng-template>\n\n<ng-template #multipleSelectTemplate>\n <div class=\"d-flex align-items-center gap-5\">\n <span>\n <input\n class=\"form-check-input opacity-100\"\n type=\"checkbox\"\n disabled\n readonly=\"readonly\"\n [attr.checked]=\"selected ? 'checked' : null\" />\n </span>\n <span>\n {{ label }}\n </span>\n </div>\n</ng-template>\n\n<ng-template\n [ngTemplateOutlet]=\"\n multiple ? multipleSelectTemplate : singleSelectTemplate\n \"></ng-template>\n", styles: [":host{background-color:var(--impd-color-white);color:var(--impd-color-gray-600);padding:var(--impd-size-2) var(--impd-size-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:flex!important;align-items:center;column-gap:var(--impd-size-2);cursor:pointer}:host:hover,:host:focus{background-color:var(--impd-color-gray-100);border:0;outline:0}:host.impdc-select-option--selected{font-weight:var(--impd-font-weight-semibold)}:host.impdc-select-option--single .selected-check{display:none}:host.impdc-select-option--single.impdc-select-option--selected{background-color:var(--impd-color-motion-blue-600);color:var(--impd-color-white)}:host.impdc-select-option--single.impdc-select-option--selected:hover,:host.impdc-select-option--single.impdc-select-option--selected:focus{background:linear-gradient(to top,rgba(0,0,0,.1),rgba(0,0,0,.1)) var(--impd-color-motion-blue-600);color:var(--impd-color-white);border:0;outline:0}:host.impdc-select-option--single.impdc-select-option--selected .selected-check{display:inline-block}\n"] }]
123
- }], ctorParameters: () => [{ type: undefined, decorators: [{
124
- type: Optional
125
- }, {
126
- type: Inject,
127
- args: [IMPDC_SELECT_OPTION_PARENT_COMPONENT]
128
- }] }, { type: i0.ChangeDetectorRef }], propDecorators: { value: [{
32
+ args: [{
33
+ selector: 'impdc-select-option',
34
+ standalone: true,
35
+ template: ''
36
+ }]
37
+ }], propDecorators: { value: [{
129
38
  type: Input
130
39
  }], label: [{
131
40
  type: Input
132
- }], id: [{
133
- type: Input
134
41
  }], disabled: [{
135
42
  type: Input
136
- }], onSelectionChange: [{
137
- type: Output
138
43
  }] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2Zvcm0tZmllbGQvY29udHJvbHMvc2VsZWN0L29wdGlvbi9zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZm9ybS1maWVsZC9jb250cm9scy9zZWxlY3Qvb3B0aW9uL3NlbGVjdC1vcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEVBRUwsMEJBQTBCLEVBQzNCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBRUwsb0NBQW9DLEVBQ3JDLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFFMUIsTUFBTSxPQUFPLGdDQUFnQztJQUMzQyxZQUNTLE1BQTZCLEVBQzdCLGNBQWMsS0FBSztRQURuQixXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQUM3QixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtJQUN6QixDQUFDO0NBQ0w7QUFnQkQsTUFBTSxPQUFPLHFCQUNYLFNBQVEsZUFBZTtJQVF2QixjQUFjO0lBQ2QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxJ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Q2pELHVDQUF1QztRQUN2QyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssRUFBRSxFQUFFO1lBQ2hELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxvQ0FBb0M7UUFDcEMsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ3BFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBcElVLHFCQUFxQixrQkE4RHRCLG9DQUFvQztrR0E5RG5DLHFCQUFxQiw2ZEM1Q2xDLDhzQkE2QkE7OzJGRGVhLHFCQUFxQjtrQkFkakMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxRQUV6Qzt3QkFDSixxQ0FBcUMsRUFBRSxXQUFXO3dCQUNsRCx1Q0FBdUMsRUFBRSxVQUFVO3dCQUNuRCx1Q0FBdUMsRUFBRSxVQUFVO3dCQUNuRCxTQUFTLEVBQUUseUJBQXlCO3dCQUNwQyxXQUFXLEVBQUUsd0JBQXdCO3FCQUN0Qzs7MEJBK0RFLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsb0NBQW9DO3lFQXZDdkMsS0FBSztzQkFEWCxLQUFLO2dCQU9LLEtBQUs7c0JBRGYsS0FBSztnQkFZQyxFQUFFO3NCQURSLEtBQUs7Z0JBT2MsUUFBUTtzQkFEM0IsS0FBSztnQkFXVSxpQkFBaUI7c0JBRmhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ2JEcm9wZG93bkl0ZW0gfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBuYW5vaWQgfSBmcm9tICduYW5vaWQnO1xuaW1wb3J0IHtcbiAgQm9vbGVhbklucHV0LFxuICBjb2VyY2VCb29sZWFuUHJvcGVydHlWYWx1ZVxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsaXRpZXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgSVNlbGVjdE9wdGlvblBhcmVudENvbXBvbmVudCxcbiAgSU1QRENfU0VMRUNUX09QVElPTl9QQVJFTlRfQ09NUE9ORU5UXG59IGZyb20gJy4uL29wdGlvbi1wYXJlbnQnO1xuXG5leHBvcnQgY2xhc3MgU2VsZWN0T3B0aW9uU2VsZWN0aW9uQ2hhbmdlRXZlbnQ8VCA9IGFueT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgc291cmNlOiBTZWxlY3RPcHRpb25Db21wb25lbnQsXG4gICAgcHVibGljIGlzVXNlcklucHV0ID0gZmFsc2VcbiAgKSB7fVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbXBkYy1zZWxlY3Qtb3B0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmltcGRjLXNlbGVjdC1vcHRpb24tLXNpbmdsZV0nOiAnIW11bHRpcGxlJyxcbiAgICAnW2NsYXNzLmltcGRjLXNlbGVjdC1vcHRpb24tLW11bHRpcGxlXSc6ICdtdWx0aXBsZScsXG4gICAgJ1tjbGFzcy5pbXBkYy1zZWxlY3Qtb3B0aW9uLS1zZWxlY3RlZF0nOiAnc2VsZWN0ZWQnLFxuICAgICcoY2xpY2spJzogJ19zZWxlY3RWaWFJbnRlcmFjdGlvbigpJyxcbiAgICAnKGtleWRvd24pJzogJ19oYW5kbGVLZXlkb3duKCRldmVudCknXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0T3B0aW9uQ29tcG9uZW50PFQgPSBhbnk+XG4gIGV4dGVuZHMgTmdiRHJvcGRvd25JdGVtXG4gIGltcGxlbWVudHMgT25EZXN0cm95XG57XG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9zZWxlY3RlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9fZGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBnZXQgbXVsdGlwbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmVudCAmJiAhIXRoaXMuX3BhcmVudC5tdWx0aXBsZTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHNwZWNpZmljIHZhbHVlIHJlcHJlc2VudGVkIGJ5IHRoZSBzZWxlY3Qgb3B0aW9uLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHZhbHVlPzogVDtcblxuICAvKipcbiAgICogTGFiZWwgdGV4dCBkZXNjcmliaW5nIHRoZSBzZWxlY3Qgb3B0aW9uLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBsYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9sYWJlbDtcbiAgfVxuICBwdWJsaWMgc2V0IGxhYmVsKGxhYmVsOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9sYWJlbCA9IGxhYmVsO1xuICAgIHRoaXMuX2VtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpO1xuICB9XG4gIHByaXZhdGUgX2xhYmVsID0gJyc7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGlkID0gYGltcGRjLW9wdGlvbi0ke25hbm9pZCgpfWA7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZW5hYmxlIG9yIGRpc2FibGUgdGhlIHNwZWNpZmljIHNlbGVjdCBvcHRpb24uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9fZGlzYWJsZWQ7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIHNldCBkaXNhYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgQE91dHB1dCgpXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICBwdWJsaWMgcmVhZG9ubHkgb25TZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIFNlbGVjdE9wdGlvblNlbGVjdGlvbkNoYW5nZUV2ZW50PFQ+XG4gID4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoSU1QRENfU0VMRUNUX09QVElPTl9QQVJFTlRfQ09NUE9ORU5UKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3BhcmVudDogSVNlbGVjdE9wdGlvblBhcmVudENvbXBvbmVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyBzZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB0aGlzLl9lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB0aGlzLl9lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKiBFbnN1cmVzIHRoZSBvcHRpb24gaXMgc2VsZWN0ZWQgd2hlbiBhY3RpdmF0ZWQgZnJvbSB0aGUga2V5Ym9hcmQuICovXG4gIHByb3RlY3RlZCBfaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc0ludGVyYWN0aW9uS2V5RXZlbnQoZXZlbnQpKSB7XG4gICAgICB0aGlzLl9zZWxlY3RWaWFJbnRlcmFjdGlvbigpO1xuXG4gICAgICAvLyBQcmV2ZW50IHRoZSBwYWdlIGZyb20gc2Nyb2xsaW5nIGRvd24gYW5kIGZvcm0gc3VibWl0cy5cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGBTZWxlY3RzIHRoZSBvcHRpb24gd2hpbGUgaW5kaWNhdGluZyB0aGUgc2VsZWN0aW9uIGNhbWUgZnJvbSB0aGUgdXNlci4gVXNlZCB0b1xuICAgKiBkZXRlcm1pbmUgaWYgdGhlIHNlbGVjdCdzIHZpZXcgLT4gbW9kZWwgY2FsbGJhY2sgc2hvdWxkIGJlIGludm9rZWQuYFxuICAgKi9cbiAgcHJvdGVjdGVkIF9zZWxlY3RWaWFJbnRlcmFjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkID0gdGhpcy5tdWx0aXBsZSA/ICF0aGlzLl9zZWxlY3RlZCA6IHRydWU7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMuX2VtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoaXNVc2VySW5wdXQgPSBmYWxzZSk6IHZvaWQge1xuICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UuZW1pdChcbiAgICAgIG5ldyBTZWxlY3RPcHRpb25TZWxlY3Rpb25DaGFuZ2VFdmVudCh0aGlzLCBpc1VzZXJJbnB1dClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNJbnRlcmFjdGlvbktleUV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgLy8gQmFpbCBpZiBrZXkgaXNuJ3QgXCJlbnRlclwiIG9yIFwic3BhY2VcIlxuICAgIGlmIChldmVudC5rZXlDb2RlICE9PSAxMyAmJiBldmVudC5rZXlDb2RlICE9PSAzMikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIEJhaWwgaWYga2V5cHJlc3MgaGFzIGFueSBtb2RpZmVyc1xuICAgIGlmIChldmVudC5hbHRLZXkgfHwgZXZlbnQuc2hpZnRLZXkgfHwgZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjc2luZ2xlU2VsZWN0VGVtcGxhdGU+XG4gIDxzcGFuPnt7IGxhYmVsIHx8ICcmbmJzcDsnIH19PC9zcGFuPlxuICA8c3BhblxuICAgICpuZ0lmPVwic2VsZWN0ZWRcIlxuICAgIGltcGRjLWljb25cbiAgICBuYW1lPVwiY2hlY2tcIlxuICAgIGNsYXNzPVwic2VsZWN0ZWQtY2hlY2sgbXMtYXV0b1wiPjwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbXVsdGlwbGVTZWxlY3RUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTVcIj5cbiAgICA8c3Bhbj5cbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgb3BhY2l0eS0xMDBcIlxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBkaXNhYmxlZFxuICAgICAgICByZWFkb25seT1cInJlYWRvbmx5XCJcbiAgICAgICAgW2F0dHIuY2hlY2tlZF09XCJzZWxlY3RlZCA/ICdjaGVja2VkJyA6IG51bGxcIiAvPlxuICAgIDwvc3Bhbj5cbiAgICA8c3Bhbj5cbiAgICAgIHt7IGxhYmVsIH19XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICBbbmdUZW1wbGF0ZU91dGxldF09XCJcbiAgICBtdWx0aXBsZSA/IG11bHRpcGxlU2VsZWN0VGVtcGxhdGUgOiBzaW5nbGVTZWxlY3RUZW1wbGF0ZVxuICBcIj48L25nLXRlbXBsYXRlPlxuIl19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2Zvcm0tZmllbGQvY29udHJvbHMvc2VsZWN0L29wdGlvbi9zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVoQyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFPdEUsTUFBTSxPQUFPLHFCQUFxQjtJQUxsQztRQU1tQixXQUFNLEdBQUksTUFBTSxDQUFDLG1DQUFtQyxFQUFFO1lBQ3JFLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBQ2EsUUFBRyxHQUFHLGdCQUFnQixNQUFNLEVBQUUsRUFBRSxDQUFDO1FBRWpEOztXQUVHO1FBRUksVUFBSyxHQUFRLElBQUksQ0FBQztRQUV6Qjs7V0FFRztRQUVJLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFMUI7O1dBRUc7UUFFSSxhQUFRLEdBQVksS0FBSyxDQUFDO0tBS2xDO0lBSEMsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7SUFDNUIsQ0FBQzs4R0ExQlUscUJBQXFCO2tHQUFyQixxQkFBcUIsaUpBRnRCLEVBQUU7OzJGQUVELHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7OEJBV1EsS0FBSztzQkFEWCxLQUFLO2dCQU9DLEtBQUs7c0JBRFgsS0FBSztnQkFPQyxRQUFRO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG5hbm9pZCB9IGZyb20gJ25hbm9pZCc7XG5pbXBvcnQgeyBJU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBJTVBEQ19TRUxFQ1RfT1BUSU9OX0dST1VQX0NPTVBPTkVOVCB9IGZyb20gJy4uL29wdGlvbi1ncm91cCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltcGRjLXNlbGVjdC1vcHRpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0T3B0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgSVNlbGVjdE9wdGlvbiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2dyb3VwPyA9IGluamVjdChJTVBEQ19TRUxFQ1RfT1BUSU9OX0dST1VQX0NPTVBPTkVOVCwge1xuICAgIG9wdGlvbmFsOiB0cnVlXG4gIH0pO1xuICBwdWJsaWMgcmVhZG9ubHkgdWlkID0gYGltcGRjLXNlbGVjdC0ke25hbm9pZCgpfWA7XG5cbiAgLyoqXG4gICAqIFRoZSBzcGVjaWZpYyB2YWx1ZSByZXByZXNlbnRlZCBieSB0aGUgc2VsZWN0IG9wdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YWx1ZTogYW55ID0gbnVsbDtcblxuICAvKipcbiAgICogTGFiZWwgdGV4dCBkZXNjcmliaW5nIHRoZSBzZWxlY3Qgb3B0aW9uLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogVXNlZCB0byBlbmFibGUgb3IgZGlzYWJsZSB0aGUgc3BlY2lmaWMgc2VsZWN0IG9wdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgZ3JvdXBMYWJlbCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9ncm91cD8ubGFiZWw7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export { SelectOptionSelectionChangeEvent, SelectOptionDisplayComponent } from './select-option-display.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2Zvcm0tZmllbGQvY29udHJvbHMvc2VsZWN0L29wdGlvbi1kaXNwbGF5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQ0FBZ0MsRUFDaEMsNEJBQTRCLEVBQzdCLE1BQU0sbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBTZWxlY3RPcHRpb25TZWxlY3Rpb25DaGFuZ2VFdmVudCxcbiAgU2VsZWN0T3B0aW9uRGlzcGxheUNvbXBvbmVudFxufSBmcm9tICcuL3NlbGVjdC1vcHRpb24tZGlzcGxheS5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,162 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Optional, Output } from '@angular/core';
3
+ import { NgbDropdownItem } from '@ng-bootstrap/ng-bootstrap';
4
+ import { nanoid } from 'nanoid';
5
+ import { Subject } from 'rxjs';
6
+ import { coerceBooleanPropertyValue } from '../../../../../utilities';
7
+ import { IconModule } from '../../../../icon';
8
+ import { TextHighlightModule } from '../../../../text-highlight';
9
+ import { IMPDC_SELECT_OPTION_PARENT_COMPONENT } from '../option-parent';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/common";
12
+ import * as i2 from "../../../../text-highlight/text-highlight.component";
13
+ import * as i3 from "../../../../icon/icon.component";
14
+ export class SelectOptionSelectionChangeEvent {
15
+ constructor(source, isUserInput = false) {
16
+ this.source = source;
17
+ this.isUserInput = isUserInput;
18
+ }
19
+ }
20
+ export class SelectOptionDisplayComponent extends NgbDropdownItem {
21
+ /** @ignore */
22
+ get multiple() {
23
+ return !!this.parent && !!this.parent.multiple;
24
+ }
25
+ /** @ignore */
26
+ get selected() {
27
+ return this._selected;
28
+ }
29
+ set selected(value) {
30
+ if (typeof value !== 'boolean')
31
+ return;
32
+ if (value) {
33
+ this.select();
34
+ }
35
+ else {
36
+ this.deselect();
37
+ }
38
+ }
39
+ /**
40
+ * Label text describing the select option.
41
+ */
42
+ get label() {
43
+ return this._label;
44
+ }
45
+ set label(label) {
46
+ this._label = label;
47
+ this._emitSelectionChangeEvent();
48
+ }
49
+ /**
50
+ * Used to enable or disable the specific select option.
51
+ */
52
+ get disabled() {
53
+ return this.__disabled;
54
+ }
55
+ set disabled(value) {
56
+ this.__disabled = coerceBooleanPropertyValue(value);
57
+ }
58
+ constructor(parent, _changeDetector) {
59
+ super();
60
+ this.parent = parent;
61
+ this._changeDetector = _changeDetector;
62
+ /** @ignore */
63
+ this.stateChanges = new Subject();
64
+ this._selected = false;
65
+ this.__disabled = false;
66
+ this._label = '';
67
+ this.highlightText = null;
68
+ /** @ignore */
69
+ this.id = `impdc-option-display-${nanoid()}`;
70
+ /** @ignore */
71
+ this.onSelectionChange = new EventEmitter();
72
+ }
73
+ /** @ignore */
74
+ select() {
75
+ if (!this._selected) {
76
+ this._selected = true;
77
+ this._changeDetector.markForCheck();
78
+ this._emitSelectionChangeEvent();
79
+ }
80
+ }
81
+ /** @ignore */
82
+ deselect() {
83
+ if (this._selected) {
84
+ this._selected = false;
85
+ this._changeDetector.markForCheck();
86
+ this._emitSelectionChangeEvent();
87
+ }
88
+ }
89
+ /** @ignore */
90
+ ngOnDestroy() {
91
+ this.stateChanges.complete();
92
+ }
93
+ /** Ensures the option is selected when activated from the keyboard. */
94
+ handleKeydown(event) {
95
+ if (this._isInteractionKeyEvent(event)) {
96
+ this.selectViaInteraction();
97
+ // Prevent the page from scrolling down and form submits.
98
+ event.preventDefault();
99
+ }
100
+ }
101
+ /**
102
+ * `Selects the option while indicating the selection came from the user. Used to
103
+ * determine if the select's view -> model callback should be invoked.`
104
+ */
105
+ selectViaInteraction() {
106
+ if (!this.disabled) {
107
+ this._selected = this.multiple ? !this._selected : true;
108
+ this._changeDetector.markForCheck();
109
+ this._emitSelectionChangeEvent(true);
110
+ }
111
+ }
112
+ _emitSelectionChangeEvent(isUserInput = false) {
113
+ this.onSelectionChange.emit(new SelectOptionSelectionChangeEvent(this, isUserInput));
114
+ }
115
+ _isInteractionKeyEvent(event) {
116
+ // Bail if key isn't "enter" or "space"
117
+ if (event.keyCode !== 13 && event.keyCode !== 32) {
118
+ return false;
119
+ }
120
+ // Bail if keypress has any modifers
121
+ if (event.altKey || event.shiftKey || event.ctrlKey || event.metaKey) {
122
+ return false;
123
+ }
124
+ return true;
125
+ }
126
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectOptionDisplayComponent, deps: [{ token: IMPDC_SELECT_OPTION_PARENT_COMPONENT, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
127
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.1", type: SelectOptionDisplayComponent, isStandalone: true, selector: "impdc-select-option-display", inputs: { selected: "selected", value: "value", label: "label", groupLabel: "groupLabel", highlightText: "highlightText", id: "id", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { listeners: { "click": "selectViaInteraction()", "keydown": "handleKeydown($event)" }, properties: { "class.impdc-select-option--single": "!multiple", "class.impdc-select-option--multiple": "multiple", "class.impdc-select-option--selected": "selected", "class.active": "!multiple && selected", "class.impdc-select-option--grouped": "!!groupLabel" } }, usesInheritance: true, ngImport: i0, template: "<ng-template #singleSelectTemplate>\n <span>\n @if (highlightText && !selected) {\n <impdc-text-highlight\n method=\"class\"\n highlightClass=\"impdc-select-option--highlight\"\n text=\"{{ label }}\"\n [search]=\"highlightText\"></impdc-text-highlight>\n } @else {\n {{ label || '&nbsp' }}\n }\n </span>\n <span\n *ngIf=\"selected\"\n impdc-icon\n name=\"check\"\n [size]=\"16\"\n class=\"selected-check lh-1 ms-auto\"></span>\n</ng-template>\n\n<ng-template #multipleSelectTemplate>\n <div class=\"d-flex align-items-center gap-5\">\n <span>\n <input\n class=\"form-check-input opacity-100\"\n type=\"checkbox\"\n disabled\n readonly=\"readonly\"\n [attr.checked]=\"selected ? 'checked' : null\" />\n </span>\n <span>\n @if (highlightText && !selected) {\n <impdc-text-highlight\n method=\"class\"\n highlightClass=\"impdc-select-option--highlight\"\n text=\"{{ label }}\"\n [search]=\"highlightText\"></impdc-text-highlight>\n } @else {\n {{ label || '&nbsp' }}\n }\n </span>\n </div>\n</ng-template>\n\n<ng-template\n [ngTemplateOutlet]=\"\n multiple ? multipleSelectTemplate : singleSelectTemplate\n \"></ng-template>\n", styles: [":host{background-color:var(--impd-color-white);color:var(--impd-color-gray-600);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:flex!important;align-items:center;column-gap:var(--impd-size-2);cursor:pointer}:host:hover,:host:focus,:host.impdc-select-option--active{color:var(--impartner-hex-dropdown-link-hover-color);background-color:var(--impartner-hex-dropdown-link-hover-bg);border:0;outline:0}:host.impdc-select-option--hidden{display:none!important}:host.impdc-select-option--selected{font-weight:var(--impd-font-weight-semibold)}:host.impdc-select-option--single .selected-check{display:none}:host.impdc-select-option--single.impdc-select-option--selected .selected-check{display:inline-block}:host.impdc-select-option--grouped{padding-left:var(--impd-size-5)}:host ::ng-deep .impdc-select-option--highlight{font-weight:var(--impd-font-weight-semibold)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TextHighlightModule }, { kind: "component", type: i2.TextHighlightComponent, selector: "impdc-text-highlight, [impdc-text-highlight]", inputs: ["text", "search", "method", "exact", "highlightClass"] }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: i3.IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
128
+ }
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectOptionDisplayComponent, decorators: [{
130
+ type: Component,
131
+ args: [{ selector: 'impdc-select-option-display', standalone: true, imports: [CommonModule, TextHighlightModule, IconModule], changeDetection: ChangeDetectionStrategy.OnPush, host: {
132
+ '[class.impdc-select-option--single]': '!multiple',
133
+ '[class.impdc-select-option--multiple]': 'multiple',
134
+ '[class.impdc-select-option--selected]': 'selected',
135
+ '[class.active]': '!multiple && selected',
136
+ '[class.impdc-select-option--grouped]': '!!groupLabel',
137
+ '(click)': 'selectViaInteraction()',
138
+ '(keydown)': 'handleKeydown($event)'
139
+ }, template: "<ng-template #singleSelectTemplate>\n <span>\n @if (highlightText && !selected) {\n <impdc-text-highlight\n method=\"class\"\n highlightClass=\"impdc-select-option--highlight\"\n text=\"{{ label }}\"\n [search]=\"highlightText\"></impdc-text-highlight>\n } @else {\n {{ label || '&nbsp' }}\n }\n </span>\n <span\n *ngIf=\"selected\"\n impdc-icon\n name=\"check\"\n [size]=\"16\"\n class=\"selected-check lh-1 ms-auto\"></span>\n</ng-template>\n\n<ng-template #multipleSelectTemplate>\n <div class=\"d-flex align-items-center gap-5\">\n <span>\n <input\n class=\"form-check-input opacity-100\"\n type=\"checkbox\"\n disabled\n readonly=\"readonly\"\n [attr.checked]=\"selected ? 'checked' : null\" />\n </span>\n <span>\n @if (highlightText && !selected) {\n <impdc-text-highlight\n method=\"class\"\n highlightClass=\"impdc-select-option--highlight\"\n text=\"{{ label }}\"\n [search]=\"highlightText\"></impdc-text-highlight>\n } @else {\n {{ label || '&nbsp' }}\n }\n </span>\n </div>\n</ng-template>\n\n<ng-template\n [ngTemplateOutlet]=\"\n multiple ? multipleSelectTemplate : singleSelectTemplate\n \"></ng-template>\n", styles: [":host{background-color:var(--impd-color-white);color:var(--impd-color-gray-600);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:flex!important;align-items:center;column-gap:var(--impd-size-2);cursor:pointer}:host:hover,:host:focus,:host.impdc-select-option--active{color:var(--impartner-hex-dropdown-link-hover-color);background-color:var(--impartner-hex-dropdown-link-hover-bg);border:0;outline:0}:host.impdc-select-option--hidden{display:none!important}:host.impdc-select-option--selected{font-weight:var(--impd-font-weight-semibold)}:host.impdc-select-option--single .selected-check{display:none}:host.impdc-select-option--single.impdc-select-option--selected .selected-check{display:inline-block}:host.impdc-select-option--grouped{padding-left:var(--impd-size-5)}:host ::ng-deep .impdc-select-option--highlight{font-weight:var(--impd-font-weight-semibold)}\n"] }]
140
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
141
+ type: Optional
142
+ }, {
143
+ type: Inject,
144
+ args: [IMPDC_SELECT_OPTION_PARENT_COMPONENT]
145
+ }] }, { type: i0.ChangeDetectorRef }], propDecorators: { selected: [{
146
+ type: Input
147
+ }], value: [{
148
+ type: Input
149
+ }], label: [{
150
+ type: Input
151
+ }], groupLabel: [{
152
+ type: Input
153
+ }], highlightText: [{
154
+ type: Input
155
+ }], id: [{
156
+ type: Input
157
+ }], disabled: [{
158
+ type: Input
159
+ }], onSelectionChange: [{
160
+ type: Output
161
+ }] } });
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi1kaXNwbGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZm9ybS1maWVsZC9jb250cm9scy9zZWxlY3Qvb3B0aW9uLWRpc3BsYXkvc2VsZWN0LW9wdGlvbi1kaXNwbGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZm9ybS1maWVsZC9jb250cm9scy9zZWxlY3Qvb3B0aW9uLWRpc3BsYXkvc2VsZWN0LW9wdGlvbi1kaXNwbGF5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUVMLDBCQUEwQixFQUMzQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVqRSxPQUFPLEVBRUwsb0NBQW9DLEVBQ3JDLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBRTFCLE1BQU0sT0FBTyxnQ0FBZ0M7SUFDM0MsWUFDUyxNQUFvQyxFQUNwQyxjQUFjLEtB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bEQsdUNBQXVDLEVBQUUsVUFBVTt3QkFDbkQsdUNBQXVDLEVBQUUsVUFBVTt3QkFDbkQsZ0JBQWdCLEVBQUUsdUJBQXVCO3dCQUN6QyxzQ0FBc0MsRUFBRSxjQUFjO3dCQUN0RCxTQUFTLEVBQUUsd0JBQXdCO3dCQUNuQyxXQUFXLEVBQUUsdUJBQXVCO3FCQUNyQzs7MEJBOEVFLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsb0NBQW9DO3lFQTdEMUMsUUFBUTtzQkFEWCxLQUFLO2dCQWtCQyxLQUFLO3NCQURYLEtBQUs7Z0JBT0ssS0FBSztzQkFEZixLQUFLO2dCQVdDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSztnQkFLQyxFQUFFO3NCQURSLEtBQUs7Z0JBT2MsUUFBUTtzQkFEM0IsS0FBSztnQkFXVSxpQkFBaUI7c0JBRmhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdiRHJvcGRvd25JdGVtIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgbmFub2lkIH0gZnJvbSAnbmFub2lkJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgQm9vbGVhbklucHV0LFxuICBjb2VyY2VCb29sZWFuUHJvcGVydHlWYWx1ZVxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsaXRpZXMnO1xuaW1wb3J0IHsgSWNvbk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL2ljb24nO1xuaW1wb3J0IHsgVGV4dEhpZ2hsaWdodE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3RleHQtaGlnaGxpZ2h0JztcbmltcG9ydCB7IElTZWxlY3RPcHRpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gIElTZWxlY3RPcHRpb25QYXJlbnRDb21wb25lbnQsXG4gIElNUERDX1NFTEVDVF9PUFRJT05fUEFSRU5UX0NPTVBPTkVOVFxufSBmcm9tICcuLi9vcHRpb24tcGFyZW50JztcblxuZXhwb3J0IGNsYXNzIFNlbGVjdE9wdGlvblNlbGVjdGlvbkNoYW5nZUV2ZW50PFQgPSBhbnk+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNvdXJjZTogU2VsZWN0T3B0aW9uRGlzcGxheUNvbXBvbmVudCxcbiAgICBwdWJsaWMgaXNVc2VySW5wdXQgPSBmYWxzZVxuICApIHt9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltcGRjLXNlbGVjdC1vcHRpb24tZGlzcGxheScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRleHRIaWdobGlnaHRNb2R1bGUsIEljb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LW9wdGlvbi1kaXNwbGF5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3NlbGVjdC1vcHRpb24tZGlzcGxheS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmltcGRjLXNlbGVjdC1vcHRpb24tLXNpbmdsZV0nOiAnIW11bHRpcGxlJyxcbiAgICAnW2NsYXNzLmltcGRjLXNlbGVjdC1vcHRpb24tLW11bHRpcGxlXSc6ICdtdWx0aXBsZScsXG4gICAgJ1tjbGFzcy5pbXBkYy1zZWxlY3Qtb3B0aW9uLS1zZWxlY3RlZF0nOiAnc2VsZWN0ZWQnLFxuICAgICdbY2xhc3MuYWN0aXZlXSc6ICchbXVsdGlwbGUgJiYgc2VsZWN0ZWQnLFxuICAgICdbY2xhc3MuaW1wZGMtc2VsZWN0LW9wdGlvbi0tZ3JvdXBlZF0nOiAnISFncm91cExhYmVsJyxcbiAgICAnKGNsaWNrKSc6ICdzZWxlY3RWaWFJbnRlcmFjdGlvbigpJyxcbiAgICAnKGtleWRvd24pJzogJ2hhbmRsZUtleWRvd24oJGV2ZW50KSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RPcHRpb25EaXNwbGF5Q29tcG9uZW50XG4gIGV4dGVuZHMgTmdiRHJvcGRvd25JdGVtXG4gIGltcGxlbWVudHMgSVNlbGVjdE9wdGlvbiwgT25EZXN0cm95XG57XG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9zZWxlY3RlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9fZGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBnZXQgbXVsdGlwbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5wYXJlbnQgJiYgISF0aGlzLnBhcmVudC5tdWx0aXBsZTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIEBJbnB1dCgpXG4gIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gIH1cbiAgc2V0IHNlbGVjdGVkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nKSByZXR1cm47XG5cbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVzZWxlY3QoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIHNwZWNpZmljIHZhbHVlIHJlcHJlc2VudGVkIGJ5IHRoZSBzZWxlY3Qgb3B0aW9uLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHZhbHVlOiBhbnk7XG5cbiAgLyoqXG4gICAqIExhYmVsIHRleHQgZGVzY3JpYmluZyB0aGUgc2VsZWN0IG9wdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgbGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbGFiZWw7XG4gIH1cbiAgcHVibGljIHNldCBsYWJlbChsYWJlbDogc3RyaW5nKSB7XG4gICAgdGhpcy5fbGFiZWwgPSBsYWJlbDtcbiAgICB0aGlzLl9lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoKTtcbiAgfVxuICBwcml2YXRlIF9sYWJlbCA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBncm91cExhYmVsPzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaWdobGlnaHRUZXh0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKiogQGlnbm9yZSAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaWQgPSBgaW1wZGMtb3B0aW9uLWRpc3BsYXktJHtuYW5vaWQoKX1gO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRoZSBzcGVjaWZpYyBzZWxlY3Qgb3B0aW9uLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fX2Rpc2FibGVkO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZGlzYWJsZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX19kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eVZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIEBPdXRwdXQoKVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgcHVibGljIHJlYWRvbmx5IG9uU2VsZWN0aW9uQ2hhbmdlID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdE9wdGlvblNlbGVjdGlvbkNoYW5nZUV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChJTVBEQ19TRUxFQ1RfT1BUSU9OX1BBUkVOVF9DT01QT05FTlQpXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhcmVudDogSVNlbGVjdE9wdGlvblBhcmVudENvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyBzZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB0aGlzLl9lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB0aGlzLl9lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKiBFbnN1cmVzIHRoZSBvcHRpb24gaXMgc2VsZWN0ZWQgd2hlbiBhY3RpdmF0ZWQgZnJvbSB0aGUga2V5Ym9hcmQuICovXG4gIHByb3RlY3RlZCBoYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2lzSW50ZXJhY3Rpb25LZXlFdmVudChldmVudCkpIHtcbiAgICAgIHRoaXMuc2VsZWN0VmlhSW50ZXJhY3Rpb24oKTtcblxuICAgICAgLy8gUHJldmVudCB0aGUgcGFnZSBmcm9tIHNjcm9sbGluZyBkb3duIGFuZCBmb3JtIHN1Ym1pdHMuXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBgU2VsZWN0cyB0aGUgb3B0aW9uIHdoaWxlIGluZGljYXRpbmcgdGhlIHNlbGVjdGlvbiBjYW1lIGZyb20gdGhlIHVzZXIuIFVzZWQgdG9cbiAgICogZGV0ZXJtaW5lIGlmIHRoZSBzZWxlY3QncyB2aWV3IC0+IG1vZGVsIGNhbGxiYWNrIHNob3VsZCBiZSBpbnZva2VkLmBcbiAgICovXG4gIHByb3RlY3RlZCBzZWxlY3RWaWFJbnRlcmFjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkID0gdGhpcy5tdWx0aXBsZSA/ICF0aGlzLl9zZWxlY3RlZCA6IHRydWU7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMuX2VtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoaXNVc2VySW5wdXQgPSBmYWxzZSk6IHZvaWQge1xuICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UuZW1pdChcbiAgICAgIG5ldyBTZWxlY3RPcHRpb25TZWxlY3Rpb25DaGFuZ2VFdmVudCh0aGlzLCBpc1VzZXJJbnB1dClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNJbnRlcmFjdGlvbktleUV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgLy8gQmFpbCBpZiBrZXkgaXNuJ3QgXCJlbnRlclwiIG9yIFwic3BhY2VcIlxuICAgIGlmIChldmVudC5rZXlDb2RlICE9PSAxMyAmJiBldmVudC5rZXlDb2RlICE9PSAzMikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIEJhaWwgaWYga2V5cHJlc3MgaGFzIGFueSBtb2RpZmVyc1xuICAgIGlmIChldmVudC5hbHRLZXkgfHwgZXZlbnQuc2hpZnRLZXkgfHwgZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjc2luZ2xlU2VsZWN0VGVtcGxhdGU+XG4gIDxzcGFuPlxuICAgIEBpZiAoaGlnaGxpZ2h0VGV4dCAmJiAhc2VsZWN0ZWQpIHtcbiAgICA8aW1wZGMtdGV4dC1oaWdobGlnaHRcbiAgICAgIG1ldGhvZD1cImNsYXNzXCJcbiAgICAgIGhpZ2hsaWdodENsYXNzPVwiaW1wZGMtc2VsZWN0LW9wdGlvbi0taGlnaGxpZ2h0XCJcbiAgICAgIHRleHQ9XCJ7eyBsYWJlbCB9fVwiXG4gICAgICBbc2VhcmNoXT1cImhpZ2hsaWdodFRleHRcIj48L2ltcGRjLXRleHQtaGlnaGxpZ2h0PlxuICAgIH0gQGVsc2Uge1xuICAgIHt7IGxhYmVsIHx8ICcmbmJzcCcgfX1cbiAgICB9XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdJZj1cInNlbGVjdGVkXCJcbiAgICBpbXBkYy1pY29uXG4gICAgbmFtZT1cImNoZWNrXCJcbiAgICBbc2l6ZV09XCIxNlwiXG4gICAgY2xhc3M9XCJzZWxlY3RlZC1jaGVjayBsaC0xIG1zLWF1dG9cIj48L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI211bHRpcGxlU2VsZWN0VGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC01XCI+XG4gICAgPHNwYW4+XG4gICAgICA8aW5wdXRcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0IG9wYWNpdHktMTAwXCJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgZGlzYWJsZWRcbiAgICAgICAgcmVhZG9ubHk9XCJyZWFkb25seVwiXG4gICAgICAgIFthdHRyLmNoZWNrZWRdPVwic2VsZWN0ZWQgPyAnY2hlY2tlZCcgOiBudWxsXCIgLz5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4+XG4gICAgICBAaWYgKGhpZ2hsaWdodFRleHQgJiYgIXNlbGVjdGVkKSB7XG4gICAgICA8aW1wZGMtdGV4dC1oaWdobGlnaHRcbiAgICAgICAgbWV0aG9kPVwiY2xhc3NcIlxuICAgICAgICBoaWdobGlnaHRDbGFzcz1cImltcGRjLXNlbGVjdC1vcHRpb24tLWhpZ2hsaWdodFwiXG4gICAgICAgIHRleHQ9XCJ7eyBsYWJlbCB9fVwiXG4gICAgICAgIFtzZWFyY2hdPVwiaGlnaGxpZ2h0VGV4dFwiPjwvaW1wZGMtdGV4dC1oaWdobGlnaHQ+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgIHt7IGxhYmVsIHx8ICcmbmJzcCcgfX1cbiAgICAgIH1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIlxuICAgIG11bHRpcGxlID8gbXVsdGlwbGVTZWxlY3RUZW1wbGF0ZSA6IHNpbmdsZVNlbGVjdFRlbXBsYXRlXG4gIFwiPjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './select-option-group.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2Zvcm0tZmllbGQvY29udHJvbHMvc2VsZWN0L29wdGlvbi1ncm91cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Qtb3B0aW9uLWdyb3VwLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, InjectionToken, Input } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export const IMPDC_SELECT_OPTION_GROUP_COMPONENT = new InjectionToken('IMPDC_SELECT_OPTION_GROUP_COMPONENT');
5
+ export class SelectOptionGroupComponent {
6
+ constructor() {
7
+ this.label = '';
8
+ }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectOptionGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: SelectOptionGroupComponent, isStandalone: true, selector: "impdc-select-option-group", inputs: { label: "label" }, providers: [
11
+ {
12
+ provide: IMPDC_SELECT_OPTION_GROUP_COMPONENT,
13
+ useExisting: SelectOptionGroupComponent
14
+ }
15
+ ], ngImport: i0, template: `<ng-content select="impdc-select-option"></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: SelectOptionGroupComponent, decorators: [{
18
+ type: Component,
19
+ args: [{
20
+ selector: 'impdc-select-option-group',
21
+ standalone: true,
22
+ imports: [CommonModule],
23
+ template: `<ng-content select="impdc-select-option"></ng-content>`,
24
+ providers: [
25
+ {
26
+ provide: IMPDC_SELECT_OPTION_GROUP_COMPONENT,
27
+ useExisting: SelectOptionGroupComponent
28
+ }
29
+ ]
30
+ }]
31
+ }], propDecorators: { label: [{
32
+ type: Input,
33
+ args: [{ required: true }]
34
+ }] } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2Zvcm0tZmllbGQvY29udHJvbHMvc2VsZWN0L29wdGlvbi1ncm91cC9zZWxlY3Qtb3B0aW9uLWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1qRSxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FDOUMsSUFBSSxjQUFjLENBQXFCLHFDQUFxQyxDQUFDLENBQUM7QUFjaEYsTUFBTSxPQUFPLDBCQUEwQjtJQVp2QztRQWNTLFVBQUssR0FBVyxFQUFFLENBQUM7S0FDM0I7OEdBSFksMEJBQTBCO2tHQUExQiwwQkFBMEIsb0dBUDFCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLG1DQUFtQztnQkFDNUMsV0FBVyxFQUFFLDBCQUEwQjthQUN4QztTQUNGLDBCQU5TLHdEQUF3RCwyREFEeEQsWUFBWTs7MkZBU1gsMEJBQTBCO2tCQVp0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFFBQVEsRUFBRSx3REFBd0Q7b0JBQ2xFLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsbUNBQW1DOzRCQUM1QyxXQUFXLDRCQUE0Qjt5QkFDeEM7cUJBQ0Y7aUJBQ0Y7OEJBR1EsS0FBSztzQkFEWCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdGlvblRva2VuLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTZWxlY3RPcHRpb25Hcm91cCB7XG4gIHJlYWRvbmx5IGxhYmVsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBJTVBEQ19TRUxFQ1RfT1BUSU9OX0dST1VQX0NPTVBPTkVOVCA9XG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxJU2VsZWN0T3B0aW9uR3JvdXA+KCdJTVBEQ19TRUxFQ1RfT1BUSU9OX0dST1VQX0NPTVBPTkVOVCcpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbXBkYy1zZWxlY3Qtb3B0aW9uLWdyb3VwJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaW1wZGMtc2VsZWN0LW9wdGlvblwiPjwvbmctY29udGVudD5gLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBJTVBEQ19TRUxFQ1RfT1BUSU9OX0dST1VQX0NPTVBPTkVOVCxcbiAgICAgIHVzZUV4aXN0aW5nOiBTZWxlY3RPcHRpb25Hcm91cENvbXBvbmVudFxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RPcHRpb25Hcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIElTZWxlY3RPcHRpb25Hcm91cCB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gJyc7XG59XG4iXX0=
@@ -1,3 +1,4 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const IMPDC_SELECT_OPTION_PARENT_COMPONENT = new InjectionToken('IMPDC_SELECT_OPTION_PARENT_COMPONENT');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLXBhcmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZm9ybS1maWVsZC9jb250cm9scy9zZWxlY3Qvb3B0aW9uLXBhcmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTS9DLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUMvQyxJQUFJLGNBQWMsQ0FDaEIsc0NBQXNDLENBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTZWxlY3RPcHRpb25QYXJlbnRDb21wb25lbnQge1xuICBtdWx0aXBsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBJTVBEQ19TRUxFQ1RfT1BUSU9OX1BBUkVOVF9DT01QT05FTlQgPVxuICBuZXcgSW5qZWN0aW9uVG9rZW48SVNlbGVjdE9wdGlvblBhcmVudENvbXBvbmVudD4oXG4gICAgJ0lNUERDX1NFTEVDVF9PUFRJT05fUEFSRU5UX0NPTVBPTkVOVCdcbiAgKTtcbiJdfQ==
3
+ export const IMPDC_SELECT_VALUE_BADGES_PARENT_COMPONENT = new InjectionToken('IMPDC_SELECT_VALUE_BADGES_PARENT_COMPONENT');
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLXBhcmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZm9ybS1maWVsZC9jb250cm9scy9zZWxlY3Qvb3B0aW9uLXBhcmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUy9DLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUMvQyxJQUFJLGNBQWMsQ0FDaEIsc0NBQXNDLENBQ3ZDLENBQUM7QUFZSixNQUFNLENBQUMsTUFBTSwwQ0FBMEMsR0FDckQsSUFBSSxjQUFjLENBQ2hCLDRDQUE0QyxDQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElTZWxlY3RPcHRpb24gfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgU2VsZWN0Q2hhbmdlRXZlbnQgfSBmcm9tICcuL3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTZWxlY3RPcHRpb25QYXJlbnRDb21wb25lbnQge1xuICByZWFkb25seSBtdWx0aXBsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBJTVBEQ19TRUxFQ1RfT1BUSU9OX1BBUkVOVF9DT01QT05FTlQgPVxuICBuZXcgSW5qZWN0aW9uVG9rZW48SVNlbGVjdE9wdGlvblBhcmVudENvbXBvbmVudD4oXG4gICAgJ0lNUERDX1NFTEVDVF9PUFRJT05fUEFSRU5UX0NPTVBPTkVOVCdcbiAgKTtcblxuZXhwb3J0IGludGVyZmFjZSBJU2VsZWN0VmFsdWVCYWRnZXNQYXJlbnRDb21wb25lbnQge1xuICByZWFkb25seSBzZWxlY3RlZDogSVNlbGVjdE9wdGlvbiB8IElTZWxlY3RPcHRpb25bXTtcbiAgcmVhZG9ubHkgc2VsZWN0aW9uQ2hhbmdlOiBPYnNlcnZhYmxlPFxuICAgIFNlbGVjdENoYW5nZUV2ZW50PElTZWxlY3RWYWx1ZUJhZGdlc1BhcmVudENvbXBvbmVudD5cbiAgPjtcbiAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzOiBPYnNlcnZhYmxlPHZvaWQ+O1xuICByZWFkb25seSBkaXNhYmxlZDogYm9vbGVhbjtcbiAgZGVzZWxlY3RPcHRpb24ob3B0aW9uOiBJU2VsZWN0T3B0aW9uKTogdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IElNUERDX1NFTEVDVF9WQUxVRV9CQURHRVNfUEFSRU5UX0NPTVBPTkVOVCA9XG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxJU2VsZWN0VmFsdWVCYWRnZXNQYXJlbnRDb21wb25lbnQ+KFxuICAgICdJTVBEQ19TRUxFQ1RfVkFMVUVfQkFER0VTX1BBUkVOVF9DT01QT05FTlQnXG4gICk7XG4iXX0=