@impartner/design-components 1.0.0
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/LICENSE.txt +11 -0
- package/README.md +22 -0
- package/constants/fontawesome-icons.d.ts +6 -0
- package/constants/index.d.ts +1 -0
- package/esm2020/constants/fontawesome-icons.mjs +3012 -0
- package/esm2020/constants/index.mjs +2 -0
- package/esm2020/impartner-design-components.mjs +5 -0
- package/esm2020/lib/alert/alert.component.mjs +57 -0
- package/esm2020/lib/alert/alert.module.mjs +18 -0
- package/esm2020/lib/alert/index.mjs +4 -0
- package/esm2020/lib/alert/theme/alert-theme.mjs +2 -0
- package/esm2020/lib/alert/theme/index.mjs +2 -0
- package/esm2020/lib/avatar/avatar.component.mjs +47 -0
- package/esm2020/lib/avatar/avatar.module.mjs +18 -0
- package/esm2020/lib/avatar/index.mjs +3 -0
- package/esm2020/lib/avatar-group/avatar-group.component.mjs +16 -0
- package/esm2020/lib/avatar-group/avatar-group.module.mjs +19 -0
- package/esm2020/lib/avatar-group/index.mjs +3 -0
- package/esm2020/lib/backdrop/backdrop.component.mjs +34 -0
- package/esm2020/lib/backdrop/backdrop.module.mjs +19 -0
- package/esm2020/lib/backdrop/index.mjs +3 -0
- package/esm2020/lib/badge/badge.component.mjs +98 -0
- package/esm2020/lib/badge/badge.module.mjs +19 -0
- package/esm2020/lib/badge/index.mjs +4 -0
- package/esm2020/lib/badge/types/badge-icon.mjs +2 -0
- package/esm2020/lib/badge/types/badge-size.mjs +7 -0
- package/esm2020/lib/badge/types/index.mjs +2 -0
- package/esm2020/lib/branding/branded.directive.mjs +19 -0
- package/esm2020/lib/branding/branding.module.mjs +19 -0
- package/esm2020/lib/branding/index.mjs +3 -0
- package/esm2020/lib/breadcrumb/breadcrumb-item.component.mjs +25 -0
- package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +33 -0
- package/esm2020/lib/breadcrumb/breadcrumb.module.mjs +19 -0
- package/esm2020/lib/breadcrumb/index.mjs +4 -0
- package/esm2020/lib/button/button.component.mjs +116 -0
- package/esm2020/lib/button/button.module.mjs +21 -0
- package/esm2020/lib/button/index.mjs +4 -0
- package/esm2020/lib/button/themes/button-theme.mjs +2 -0
- package/esm2020/lib/button/themes/index.mjs +2 -0
- package/esm2020/lib/button-group/button-group.component.mjs +52 -0
- package/esm2020/lib/button-group/button-group.module.mjs +20 -0
- package/esm2020/lib/button-group/index.mjs +3 -0
- package/esm2020/lib/card-heading/card-heading.component.mjs +30 -0
- package/esm2020/lib/card-heading/card-heading.module.mjs +19 -0
- package/esm2020/lib/card-heading/index.mjs +3 -0
- package/esm2020/lib/design-components.module.mjs +119 -0
- package/esm2020/lib/dropdown/components/dropdown-item/dropdown-item.component.mjs +22 -0
- package/esm2020/lib/dropdown/components/index.mjs +2 -0
- package/esm2020/lib/dropdown/dropdown.component.mjs +140 -0
- package/esm2020/lib/dropdown/dropdown.module.mjs +21 -0
- package/esm2020/lib/dropdown/index.mjs +5 -0
- package/esm2020/lib/dropdown/types/dropdown-position.mjs +2 -0
- package/esm2020/lib/dropdown/types/index.mjs +2 -0
- package/esm2020/lib/file-upload/directives/file-drop.directive.mjs +50 -0
- package/esm2020/lib/file-upload/directives/index.mjs +2 -0
- package/esm2020/lib/file-upload/file-upload.component.mjs +334 -0
- package/esm2020/lib/file-upload/file-upload.module.mjs +29 -0
- package/esm2020/lib/file-upload/index.mjs +5 -0
- package/esm2020/lib/file-upload/pipes/human-readable-byte-size.pipe.mjs +23 -0
- package/esm2020/lib/file-upload/pipes/index.mjs +2 -0
- package/esm2020/lib/form-field/controls/checkbox/checkbox.component.mjs +337 -0
- package/esm2020/lib/form-field/controls/checkbox/checkbox.module.mjs +19 -0
- package/esm2020/lib/form-field/controls/checkbox/index.mjs +3 -0
- package/esm2020/lib/form-field/controls/index.mjs +5 -0
- package/esm2020/lib/form-field/controls/input/index.mjs +2 -0
- package/esm2020/lib/form-field/controls/input/input.directive.mjs +233 -0
- package/esm2020/lib/form-field/controls/radio/index.mjs +6 -0
- package/esm2020/lib/form-field/controls/radio/injection-tokens.mjs +4 -0
- package/esm2020/lib/form-field/controls/radio/interfaces/index.mjs +4 -0
- package/esm2020/lib/form-field/controls/radio/interfaces/radio-button.interface.mjs +2 -0
- package/esm2020/lib/form-field/controls/radio/interfaces/radio-change-event.interface.mjs +11 -0
- package/esm2020/lib/form-field/controls/radio/interfaces/radio-group.interface.mjs +2 -0
- package/esm2020/lib/form-field/controls/radio/radio-button/radio-button.component.mjs +260 -0
- package/esm2020/lib/form-field/controls/radio/radio-group/radio-group.directive.mjs +288 -0
- package/esm2020/lib/form-field/controls/radio/radio.module.mjs +20 -0
- package/esm2020/lib/form-field/controls/select/index.mjs +6 -0
- package/esm2020/lib/form-field/controls/select/option/index.mjs +2 -0
- package/esm2020/lib/form-field/controls/select/option/select-option.component.mjs +138 -0
- package/esm2020/lib/form-field/controls/select/option-parent.mjs +3 -0
- package/esm2020/lib/form-field/controls/select/select-model.mjs +149 -0
- package/esm2020/lib/form-field/controls/select/select.component.mjs +522 -0
- package/esm2020/lib/form-field/controls/select/select.module.mjs +20 -0
- package/esm2020/lib/form-field/controls/shared/index.mjs +2 -0
- package/esm2020/lib/form-field/controls/shared/toggle/components/index.mjs +2 -0
- package/esm2020/lib/form-field/controls/shared/toggle/components/toggle-input/toggle-input.component.mjs +17 -0
- package/esm2020/lib/form-field/controls/shared/toggle/index.mjs +4 -0
- package/esm2020/lib/form-field/controls/shared/toggle/toggle.component.mjs +96 -0
- package/esm2020/lib/form-field/controls/shared/toggle/toggle.module.mjs +20 -0
- package/esm2020/lib/form-field/directives/corner-hint.directive.mjs +14 -0
- package/esm2020/lib/form-field/directives/error.directive.mjs +26 -0
- package/esm2020/lib/form-field/directives/form-root.directive.mjs +91 -0
- package/esm2020/lib/form-field/directives/hint.directive.mjs +24 -0
- package/esm2020/lib/form-field/directives/index.mjs +8 -0
- package/esm2020/lib/form-field/directives/label.directive.mjs +14 -0
- package/esm2020/lib/form-field/directives/prefix.directive.mjs +24 -0
- package/esm2020/lib/form-field/directives/suffix.directive.mjs +24 -0
- package/esm2020/lib/form-field/form-field-errors.mjs +5 -0
- package/esm2020/lib/form-field/form-field.component.mjs +132 -0
- package/esm2020/lib/form-field/impdc-forms.mjs +8 -0
- package/esm2020/lib/form-field/impdc-forms.module.mjs +68 -0
- package/esm2020/lib/form-field/index.mjs +2 -0
- package/esm2020/lib/form-field/services/error-state-matcher.service.mjs +28 -0
- package/esm2020/lib/form-field/services/index.mjs +3 -0
- package/esm2020/lib/form-field/services/unique-selection-dispatcher.service.mjs +48 -0
- package/esm2020/lib/form-field/shared/constructors.type.mjs +2 -0
- package/esm2020/lib/form-field/shared/disabled.mixin.mjs +15 -0
- package/esm2020/lib/form-field/shared/error-state.mixin.mjs +24 -0
- package/esm2020/lib/form-field/shared/form-field-control.mjs +10 -0
- package/esm2020/lib/form-field/shared/index.mjs +5 -0
- package/esm2020/lib/form-field/shared/tab-index.mixin.mjs +19 -0
- package/esm2020/lib/icon/icon.component.mjs +70 -0
- package/esm2020/lib/icon/icon.module.mjs +19 -0
- package/esm2020/lib/icon/index.mjs +3 -0
- package/esm2020/lib/index.mjs +26 -0
- package/esm2020/lib/modal/index.mjs +4 -0
- package/esm2020/lib/modal/modal.component.mjs +141 -0
- package/esm2020/lib/modal/modal.module.mjs +37 -0
- package/esm2020/lib/modal/types/index.mjs +3 -0
- package/esm2020/lib/modal/types/modal-component-sizes.mjs +9 -0
- package/esm2020/lib/modal/types/modal-theme.mjs +12 -0
- package/esm2020/lib/pagination/index.mjs +3 -0
- package/esm2020/lib/pagination/pagination.component.mjs +134 -0
- package/esm2020/lib/pagination/pagination.module.mjs +21 -0
- package/esm2020/lib/progress-bar/index.mjs +3 -0
- package/esm2020/lib/progress-bar/progress-bar.component.mjs +35 -0
- package/esm2020/lib/progress-bar/progress-bar.module.mjs +18 -0
- package/esm2020/lib/scrollable/index.mjs +3 -0
- package/esm2020/lib/scrollable/scrollable.component.mjs +193 -0
- package/esm2020/lib/scrollable/scrollable.module.mjs +21 -0
- package/esm2020/lib/select-icon/index.mjs +3 -0
- package/esm2020/lib/select-icon/select-icon.component.mjs +307 -0
- package/esm2020/lib/select-icon/select-icon.module.mjs +35 -0
- package/esm2020/lib/size-detection/directive/element-size.interface.mjs +2 -0
- package/esm2020/lib/size-detection/directive/index.mjs +3 -0
- package/esm2020/lib/size-detection/directive/size-detector.directive.mjs +43 -0
- package/esm2020/lib/size-detection/index.mjs +3 -0
- package/esm2020/lib/size-detection/size-detection.module.mjs +18 -0
- package/esm2020/lib/spinner/index.mjs +3 -0
- package/esm2020/lib/spinner/spinner.component.mjs +24 -0
- package/esm2020/lib/spinner/spinner.module.mjs +18 -0
- package/esm2020/lib/table/index.mjs +3 -0
- package/esm2020/lib/table/table.component.mjs +33 -0
- package/esm2020/lib/table/table.module.mjs +19 -0
- package/esm2020/lib/text-highlight/index.mjs +3 -0
- package/esm2020/lib/text-highlight/text-highlight.component.mjs +81 -0
- package/esm2020/lib/text-highlight/text-highlight.module.mjs +19 -0
- package/esm2020/public-api.mjs +9 -0
- package/esm2020/services/index.mjs +2 -0
- package/esm2020/services/interaction.service.mjs +54 -0
- package/esm2020/types/component-size.mjs +12 -0
- package/esm2020/types/component-theme.mjs +22 -0
- package/esm2020/types/index.mjs +3 -0
- package/esm2020/utilities/boolean-props.mjs +7 -0
- package/esm2020/utilities/dc.mjs +9 -0
- package/esm2020/utilities/index.mjs +6 -0
- package/esm2020/utilities/lc.mjs +9 -0
- package/esm2020/utilities/number-props.mjs +18 -0
- package/esm2020/utilities/sanitize.mjs +7 -0
- package/fesm2015/impartner-design-components.mjs +8295 -0
- package/fesm2015/impartner-design-components.mjs.map +1 -0
- package/fesm2020/impartner-design-components.mjs +8264 -0
- package/fesm2020/impartner-design-components.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/alert/alert.component.d.ts +29 -0
- package/lib/alert/alert.module.d.ts +8 -0
- package/lib/alert/index.d.ts +3 -0
- package/lib/alert/theme/alert-theme.d.ts +1 -0
- package/lib/alert/theme/index.d.ts +1 -0
- package/lib/avatar/avatar.component.d.ts +28 -0
- package/lib/avatar/avatar.module.d.ts +8 -0
- package/lib/avatar/index.d.ts +2 -0
- package/lib/avatar-group/avatar-group.component.d.ts +10 -0
- package/lib/avatar-group/avatar-group.module.d.ts +9 -0
- package/lib/avatar-group/index.d.ts +2 -0
- package/lib/backdrop/backdrop.component.d.ts +19 -0
- package/lib/backdrop/backdrop.module.d.ts +9 -0
- package/lib/backdrop/index.d.ts +2 -0
- package/lib/badge/badge.component.d.ts +48 -0
- package/lib/badge/badge.module.d.ts +9 -0
- package/lib/badge/index.d.ts +3 -0
- package/lib/badge/types/badge-icon.d.ts +1 -0
- package/lib/badge/types/badge-size.d.ts +6 -0
- package/lib/badge/types/index.d.ts +2 -0
- package/lib/branding/branded.directive.d.ts +6 -0
- package/lib/branding/branding.module.d.ts +9 -0
- package/lib/branding/index.d.ts +2 -0
- package/lib/breadcrumb/breadcrumb-item.component.d.ts +7 -0
- package/lib/breadcrumb/breadcrumb.component.d.ts +18 -0
- package/lib/breadcrumb/breadcrumb.module.d.ts +9 -0
- package/lib/breadcrumb/index.d.ts +3 -0
- package/lib/button/button.component.d.ts +47 -0
- package/lib/button/button.module.d.ts +11 -0
- package/lib/button/index.d.ts +3 -0
- package/lib/button/themes/button-theme.d.ts +1 -0
- package/lib/button/themes/index.d.ts +1 -0
- package/lib/button-group/button-group.component.d.ts +22 -0
- package/lib/button-group/button-group.module.d.ts +10 -0
- package/lib/button-group/index.d.ts +2 -0
- package/lib/card-heading/card-heading.component.d.ts +18 -0
- package/lib/card-heading/card-heading.module.d.ts +9 -0
- package/lib/card-heading/index.d.ts +2 -0
- package/lib/design-components.module.d.ts +22 -0
- package/lib/dropdown/components/dropdown-item/dropdown-item.component.d.ts +11 -0
- package/lib/dropdown/components/index.d.ts +1 -0
- package/lib/dropdown/dropdown.component.d.ts +65 -0
- package/lib/dropdown/dropdown.module.d.ts +11 -0
- package/lib/dropdown/index.d.ts +4 -0
- package/lib/dropdown/types/dropdown-position.d.ts +1 -0
- package/lib/dropdown/types/index.d.ts +1 -0
- package/lib/file-upload/directives/file-drop.directive.d.ts +11 -0
- package/lib/file-upload/directives/index.d.ts +1 -0
- package/lib/file-upload/file-upload.component.d.ts +105 -0
- package/lib/file-upload/file-upload.module.d.ts +13 -0
- package/lib/file-upload/index.d.ts +4 -0
- package/lib/file-upload/pipes/human-readable-byte-size.pipe.d.ts +7 -0
- package/lib/file-upload/pipes/index.d.ts +1 -0
- package/lib/form-field/controls/checkbox/checkbox.component.d.ts +133 -0
- package/lib/form-field/controls/checkbox/checkbox.module.d.ts +9 -0
- package/lib/form-field/controls/checkbox/index.d.ts +2 -0
- package/lib/form-field/controls/index.d.ts +4 -0
- package/lib/form-field/controls/input/index.d.ts +1 -0
- package/lib/form-field/controls/input/input.directive.d.ts +84 -0
- package/lib/form-field/controls/radio/index.d.ts +5 -0
- package/lib/form-field/controls/radio/injection-tokens.d.ts +4 -0
- package/lib/form-field/controls/radio/interfaces/index.d.ts +3 -0
- package/lib/form-field/controls/radio/interfaces/radio-button.interface.d.ts +6 -0
- package/lib/form-field/controls/radio/interfaces/radio-change-event.interface.d.ts +12 -0
- package/lib/form-field/controls/radio/interfaces/radio-group.interface.d.ts +13 -0
- package/lib/form-field/controls/radio/radio-button/radio-button.component.d.ts +98 -0
- package/lib/form-field/controls/radio/radio-group/radio-group.directive.d.ts +104 -0
- package/lib/form-field/controls/radio/radio.module.d.ts +10 -0
- package/lib/form-field/controls/select/index.d.ts +5 -0
- package/lib/form-field/controls/select/option/index.d.ts +1 -0
- package/lib/form-field/controls/select/option/select-option.component.d.ts +60 -0
- package/lib/form-field/controls/select/option-parent.d.ts +5 -0
- package/lib/form-field/controls/select/select-model.d.ts +36 -0
- package/lib/form-field/controls/select/select.component.d.ts +170 -0
- package/lib/form-field/controls/select/select.module.d.ts +10 -0
- package/lib/form-field/controls/shared/index.d.ts +1 -0
- package/lib/form-field/controls/shared/toggle/components/index.d.ts +1 -0
- package/lib/form-field/controls/shared/toggle/components/toggle-input/toggle-input.component.d.ts +6 -0
- package/lib/form-field/controls/shared/toggle/index.d.ts +3 -0
- package/lib/form-field/controls/shared/toggle/toggle.component.d.ts +26 -0
- package/lib/form-field/controls/shared/toggle/toggle.module.d.ts +10 -0
- package/lib/form-field/directives/corner-hint.directive.d.ts +5 -0
- package/lib/form-field/directives/error.directive.d.ts +8 -0
- package/lib/form-field/directives/form-root.directive.d.ts +26 -0
- package/lib/form-field/directives/hint.directive.d.ts +6 -0
- package/lib/form-field/directives/index.d.ts +7 -0
- package/lib/form-field/directives/label.directive.d.ts +5 -0
- package/lib/form-field/directives/prefix.directive.d.ts +9 -0
- package/lib/form-field/directives/suffix.directive.d.ts +9 -0
- package/lib/form-field/form-field-errors.d.ts +2 -0
- package/lib/form-field/form-field.component.d.ts +39 -0
- package/lib/form-field/impdc-forms.d.ts +7 -0
- package/lib/form-field/impdc-forms.module.d.ts +19 -0
- package/lib/form-field/index.d.ts +1 -0
- package/lib/form-field/services/error-state-matcher.service.d.ts +12 -0
- package/lib/form-field/services/index.d.ts +2 -0
- package/lib/form-field/services/unique-selection-dispatcher.service.d.ts +29 -0
- package/lib/form-field/shared/constructors.type.d.ts +7 -0
- package/lib/form-field/shared/disabled.mixin.d.ts +10 -0
- package/lib/form-field/shared/error-state.mixin.d.ts +31 -0
- package/lib/form-field/shared/form-field-control.d.ts +24 -0
- package/lib/form-field/shared/index.d.ts +5 -0
- package/lib/form-field/shared/tab-index.mixin.d.ts +13 -0
- package/lib/icon/icon.component.d.ts +30 -0
- package/lib/icon/icon.module.d.ts +9 -0
- package/lib/icon/index.d.ts +2 -0
- package/lib/index.d.ts +25 -0
- package/lib/modal/index.d.ts +3 -0
- package/lib/modal/modal.component.d.ts +80 -0
- package/lib/modal/modal.module.d.ts +13 -0
- package/lib/modal/types/index.d.ts +2 -0
- package/lib/modal/types/modal-component-sizes.d.ts +3 -0
- package/lib/modal/types/modal-theme.d.ts +7 -0
- package/lib/pagination/index.d.ts +2 -0
- package/lib/pagination/pagination.component.d.ts +41 -0
- package/lib/pagination/pagination.module.d.ts +11 -0
- package/lib/progress-bar/index.d.ts +2 -0
- package/lib/progress-bar/progress-bar.component.d.ts +22 -0
- package/lib/progress-bar/progress-bar.module.d.ts +8 -0
- package/lib/scrollable/index.d.ts +2 -0
- package/lib/scrollable/scrollable.component.d.ts +39 -0
- package/lib/scrollable/scrollable.module.d.ts +11 -0
- package/lib/select-icon/index.d.ts +2 -0
- package/lib/select-icon/select-icon.component.d.ts +123 -0
- package/lib/select-icon/select-icon.module.d.ts +11 -0
- package/lib/size-detection/directive/element-size.interface.d.ts +4 -0
- package/lib/size-detection/directive/index.d.ts +2 -0
- package/lib/size-detection/directive/size-detector.directive.d.ts +14 -0
- package/lib/size-detection/index.d.ts +3 -0
- package/lib/size-detection/size-detection.module.d.ts +8 -0
- package/lib/spinner/index.d.ts +2 -0
- package/lib/spinner/spinner.component.d.ts +13 -0
- package/lib/spinner/spinner.module.d.ts +8 -0
- package/lib/table/index.d.ts +2 -0
- package/lib/table/table.component.d.ts +15 -0
- package/lib/table/table.module.d.ts +9 -0
- package/lib/text-highlight/index.d.ts +2 -0
- package/lib/text-highlight/text-highlight.component.d.ts +31 -0
- package/lib/text-highlight/text-highlight.module.d.ts +9 -0
- package/package.json +51 -0
- package/public-api.d.ts +4 -0
- package/services/index.d.ts +1 -0
- package/services/interaction.service.d.ts +14 -0
- package/types/component-size.d.ts +12 -0
- package/types/component-theme.d.ts +12 -0
- package/types/index.d.ts +2 -0
- package/utilities/boolean-props.d.ts +8 -0
- package/utilities/dc.d.ts +6 -0
- package/utilities/index.d.ts +5 -0
- package/utilities/lc.d.ts +6 -0
- package/utilities/number-props.d.ts +15 -0
- package/utilities/sanitize.d.ts +1 -0
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
import { ContentChildren, Directive, EventEmitter, Inject, Input, Optional, Output, Self } from '@angular/core';
|
|
2
|
+
import { Validators } from '@angular/forms';
|
|
3
|
+
import { nanoid } from 'nanoid';
|
|
4
|
+
import { coerceBooleanPropertyValue } from '../../../../../utilities';
|
|
5
|
+
import { Subject } from 'rxjs';
|
|
6
|
+
import { IMPDC_FORM_ROOT } from '../../../directives';
|
|
7
|
+
import { ImpdcFormFieldControl, mixinErrorState } from '../../../shared';
|
|
8
|
+
import { IMPDC_RADIO_BUTTON, IMPDC_RADIO_GROUP } from '../injection-tokens';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "../../../services";
|
|
11
|
+
import * as i2 from "@angular/forms";
|
|
12
|
+
const _RadioGroupDirectiveBase = mixinErrorState(class {
|
|
13
|
+
constructor(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl) {
|
|
14
|
+
this._defaultErrorStateMatcher = _defaultErrorStateMatcher;
|
|
15
|
+
this._formRoot = _formRoot;
|
|
16
|
+
this._parentForm = _parentForm;
|
|
17
|
+
this._parentFormGroup = _parentFormGroup;
|
|
18
|
+
this.ngControl = ngControl;
|
|
19
|
+
this.stateChanges = new Subject();
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* The `RadioGroupDirective` (`<impdc-radio-group`) is a container for `RadioButtonComponent` (`<impdc-radio-button`).
|
|
24
|
+
* This directive/component can be used within a `FormFieldComponent` (`<impdc-form-field`).
|
|
25
|
+
* To use, import `RadioModule` or another module that imports and exports that module from `@impartner/design-components`.
|
|
26
|
+
*/
|
|
27
|
+
export class RadioGroupDirective extends _RadioGroupDirectiveBase {
|
|
28
|
+
constructor(_changeDetector, _defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl) {
|
|
29
|
+
super(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl);
|
|
30
|
+
this._changeDetector = _changeDetector;
|
|
31
|
+
this._uid = `impdc-radio-group-${nanoid()}`;
|
|
32
|
+
this._initialized = false;
|
|
33
|
+
this._cvaOnChange = () => { };
|
|
34
|
+
this._cvaOnTouched = () => { };
|
|
35
|
+
this._name = this._uid;
|
|
36
|
+
this._inline = false;
|
|
37
|
+
this._selected = null;
|
|
38
|
+
/**
|
|
39
|
+
* Event emitted whenever a new radio option is selected.
|
|
40
|
+
*/
|
|
41
|
+
this.change = new EventEmitter();
|
|
42
|
+
this._focused = false;
|
|
43
|
+
this._disabled = false;
|
|
44
|
+
this.controlType = 'impdc-radio-group';
|
|
45
|
+
this.supportsAffixes = false;
|
|
46
|
+
if (this.ngControl) {
|
|
47
|
+
this.ngControl.valueAccessor = this;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The unique name for the group of radio options; Autogenerated by default.
|
|
52
|
+
*/
|
|
53
|
+
get name() {
|
|
54
|
+
return this._name;
|
|
55
|
+
}
|
|
56
|
+
set name(value) {
|
|
57
|
+
this._name = value || this._uid;
|
|
58
|
+
this._updateRadioOptionNames();
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Whether or not the nested radio options should display inline.
|
|
62
|
+
*/
|
|
63
|
+
get inline() {
|
|
64
|
+
return this._inline;
|
|
65
|
+
}
|
|
66
|
+
set inline(value) {
|
|
67
|
+
this._inline = coerceBooleanPropertyValue(value);
|
|
68
|
+
this._markRadioOptionsForCheck();
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* A reference to the currently selected radio button component (eg. `<impdc-radio-button>`).
|
|
72
|
+
*/
|
|
73
|
+
get selected() {
|
|
74
|
+
return this._selected;
|
|
75
|
+
}
|
|
76
|
+
set selected(selected) {
|
|
77
|
+
this._selected = selected;
|
|
78
|
+
this.value = selected ? selected.value : null;
|
|
79
|
+
this._checkSelectedRadioOption();
|
|
80
|
+
}
|
|
81
|
+
/** @ignore */
|
|
82
|
+
ngAfterContentInit() {
|
|
83
|
+
this._initialized = true;
|
|
84
|
+
}
|
|
85
|
+
/** @ignore */
|
|
86
|
+
ngDoCheck() {
|
|
87
|
+
const ngControl = this.ngControl;
|
|
88
|
+
if (!ngControl) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (this._previousControl !== ngControl.control) {
|
|
92
|
+
if (this._previousControl !== undefined &&
|
|
93
|
+
ngControl.disabled !== null &&
|
|
94
|
+
ngControl.disabled !== this.disabled) {
|
|
95
|
+
this.disabled = ngControl?.disabled;
|
|
96
|
+
}
|
|
97
|
+
this._previousControl = ngControl.control;
|
|
98
|
+
}
|
|
99
|
+
this.updateErrorState();
|
|
100
|
+
this._markRadioOptionsForCheck();
|
|
101
|
+
}
|
|
102
|
+
/** @ignore */
|
|
103
|
+
ngOnDestroy() {
|
|
104
|
+
this.stateChanges.complete();
|
|
105
|
+
}
|
|
106
|
+
/* ImpdcFormFieldControl */
|
|
107
|
+
get value() {
|
|
108
|
+
return this._value;
|
|
109
|
+
}
|
|
110
|
+
set value(value) {
|
|
111
|
+
if (this._value !== value) {
|
|
112
|
+
this._value = value;
|
|
113
|
+
this._updateSelectedRadioOptionFromValue();
|
|
114
|
+
this._checkSelectedRadioOption();
|
|
115
|
+
this.stateChanges.next();
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
get id() {
|
|
119
|
+
return this._id;
|
|
120
|
+
}
|
|
121
|
+
set id(value) {
|
|
122
|
+
this._id = value || this._uid;
|
|
123
|
+
this.stateChanges.next();
|
|
124
|
+
}
|
|
125
|
+
get focused() {
|
|
126
|
+
return this._focused;
|
|
127
|
+
}
|
|
128
|
+
get disabled() {
|
|
129
|
+
return this._disabled;
|
|
130
|
+
}
|
|
131
|
+
set disabled(value) {
|
|
132
|
+
this._disabled = coerceBooleanPropertyValue(value);
|
|
133
|
+
this._markRadioOptionsForCheck();
|
|
134
|
+
this.stateChanges.next();
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Used to set requiredness of control in a template-based manner;
|
|
138
|
+
* not necessary when using the Angular reactive forms API and `required` validator.
|
|
139
|
+
*/
|
|
140
|
+
get required() {
|
|
141
|
+
return (this._required ??
|
|
142
|
+
this.ngControl?.control?.hasValidator(Validators.required) ??
|
|
143
|
+
false);
|
|
144
|
+
}
|
|
145
|
+
set required(value) {
|
|
146
|
+
this._required = coerceBooleanPropertyValue(value);
|
|
147
|
+
this.stateChanges.next();
|
|
148
|
+
}
|
|
149
|
+
/* ControlValueAccessor */
|
|
150
|
+
/** @ignore */
|
|
151
|
+
writeValue(value) {
|
|
152
|
+
this.value = value;
|
|
153
|
+
this._changeDetector.markForCheck();
|
|
154
|
+
}
|
|
155
|
+
/** @ignore */
|
|
156
|
+
registerOnChange(fn) {
|
|
157
|
+
this._cvaOnChange = fn;
|
|
158
|
+
}
|
|
159
|
+
/** @ignore */
|
|
160
|
+
registerOnTouched(fn) {
|
|
161
|
+
this._cvaOnTouched = fn;
|
|
162
|
+
}
|
|
163
|
+
/** @ignore */
|
|
164
|
+
setDisabledState(isDisabled) {
|
|
165
|
+
this.disabled = isDisabled;
|
|
166
|
+
this._changeDetector.markForCheck();
|
|
167
|
+
}
|
|
168
|
+
/* Internals */
|
|
169
|
+
/** @ignore */
|
|
170
|
+
emitChangesEvent() {
|
|
171
|
+
if (this._initialized) {
|
|
172
|
+
this.change.emit({ source: this._selected, value: this._value });
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
/** @ignore */
|
|
176
|
+
onChangeFn(value) {
|
|
177
|
+
this._cvaOnChange(value);
|
|
178
|
+
}
|
|
179
|
+
/** @ignore */
|
|
180
|
+
touch() {
|
|
181
|
+
if (this._cvaOnTouched) {
|
|
182
|
+
this._cvaOnTouched();
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
_checkSelectedRadioOption() {
|
|
186
|
+
if (this._selected && !this._selected.checked) {
|
|
187
|
+
this._selected.checked = true;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
_markRadioOptionsForCheck() {
|
|
191
|
+
if (this._radioOptions) {
|
|
192
|
+
this._radioOptions.forEach(option => option.markForCheck());
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
_updateRadioOptionNames() {
|
|
196
|
+
if (this._radioOptions) {
|
|
197
|
+
this._radioOptions.forEach(option => {
|
|
198
|
+
option.name = this.name;
|
|
199
|
+
option.markForCheck();
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
_updateSelectedRadioOptionFromValue() {
|
|
204
|
+
const isAlreadySelected = this._selected !== null && this._selected.value === this._value;
|
|
205
|
+
if (this._radioOptions && !isAlreadySelected) {
|
|
206
|
+
this._selected = null;
|
|
207
|
+
this._radioOptions.forEach(option => {
|
|
208
|
+
option.checked = this.value === option.value;
|
|
209
|
+
if (option.checked) {
|
|
210
|
+
this._selected = option;
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
RadioGroupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RadioGroupDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ErrorStateMatcher }, { token: IMPDC_FORM_ROOT, optional: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
217
|
+
RadioGroupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: RadioGroupDirective, selector: "impdc-radio-group", inputs: { name: "name", inline: "inline", selected: "selected", errorStateMatcher: "errorStateMatcher", value: "value", id: "id", disabled: "disabled", required: "required" }, outputs: { change: "change" }, host: { attributes: { "role": "radiogroup" }, properties: { "class.impdc-radio-group--required": "required", "class.impdc-radio-group--disabled": "disabled", "class.impdc-radio-group--invalid": "errorState", "class.impdc-radio-group--inline": "inline" }, classAttribute: "impdc-radio-group" }, providers: [
|
|
218
|
+
{
|
|
219
|
+
provide: ImpdcFormFieldControl,
|
|
220
|
+
useExisting: RadioGroupDirective
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
provide: IMPDC_RADIO_GROUP,
|
|
224
|
+
useExisting: RadioGroupDirective
|
|
225
|
+
}
|
|
226
|
+
], queries: [{ propertyName: "_radioOptions", predicate: IMPDC_RADIO_BUTTON, descendants: true }], exportAs: ["impdcRadioGroup"], usesInheritance: true, ngImport: i0 });
|
|
227
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RadioGroupDirective, decorators: [{
|
|
228
|
+
type: Directive,
|
|
229
|
+
args: [{
|
|
230
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
231
|
+
selector: 'impdc-radio-group',
|
|
232
|
+
exportAs: 'impdcRadioGroup',
|
|
233
|
+
providers: [
|
|
234
|
+
{
|
|
235
|
+
provide: ImpdcFormFieldControl,
|
|
236
|
+
useExisting: RadioGroupDirective
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
provide: IMPDC_RADIO_GROUP,
|
|
240
|
+
useExisting: RadioGroupDirective
|
|
241
|
+
}
|
|
242
|
+
],
|
|
243
|
+
// eslint-disable-next-line @angular-eslint/no-host-metadata-property
|
|
244
|
+
host: {
|
|
245
|
+
role: 'radiogroup',
|
|
246
|
+
class: 'impdc-radio-group',
|
|
247
|
+
'[class.impdc-radio-group--required]': 'required',
|
|
248
|
+
'[class.impdc-radio-group--disabled]': 'disabled',
|
|
249
|
+
'[class.impdc-radio-group--invalid]': 'errorState',
|
|
250
|
+
'[class.impdc-radio-group--inline]': 'inline'
|
|
251
|
+
}
|
|
252
|
+
}]
|
|
253
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.ErrorStateMatcher }, { type: undefined, decorators: [{
|
|
254
|
+
type: Optional
|
|
255
|
+
}, {
|
|
256
|
+
type: Inject,
|
|
257
|
+
args: [IMPDC_FORM_ROOT]
|
|
258
|
+
}] }, { type: i2.NgForm, decorators: [{
|
|
259
|
+
type: Optional
|
|
260
|
+
}] }, { type: i2.FormGroupDirective, decorators: [{
|
|
261
|
+
type: Optional
|
|
262
|
+
}] }, { type: i2.NgControl, decorators: [{
|
|
263
|
+
type: Self
|
|
264
|
+
}, {
|
|
265
|
+
type: Optional
|
|
266
|
+
}] }]; }, propDecorators: { _radioOptions: [{
|
|
267
|
+
type: ContentChildren,
|
|
268
|
+
args: [IMPDC_RADIO_BUTTON, { descendants: true }]
|
|
269
|
+
}], name: [{
|
|
270
|
+
type: Input
|
|
271
|
+
}], inline: [{
|
|
272
|
+
type: Input
|
|
273
|
+
}], selected: [{
|
|
274
|
+
type: Input
|
|
275
|
+
}], errorStateMatcher: [{
|
|
276
|
+
type: Input
|
|
277
|
+
}], change: [{
|
|
278
|
+
type: Output
|
|
279
|
+
}], value: [{
|
|
280
|
+
type: Input
|
|
281
|
+
}], id: [{
|
|
282
|
+
type: Input
|
|
283
|
+
}], disabled: [{
|
|
284
|
+
type: Input
|
|
285
|
+
}], required: [{
|
|
286
|
+
type: Input
|
|
287
|
+
}] } });
|
|
288
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9mb3JtLWZpZWxkL2NvbnRyb2xzL3JhZGlvL3JhZGlvLWdyb3VwL3JhZGlvLWdyb3VwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsZUFBZSxFQUNmLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUVOLElBQUksRUFDTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBTUwsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEVBRUwsMEJBQTBCLEVBQzNCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQWlCLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXJFLE9BQU8sRUFFTCxxQkFBcUIsRUFDckIsZUFBZSxFQUNoQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBRzVFLE1BQU0sd0JBQXdCLEdBQUcsZUFBZSxDQUM5QztJQUdFLFlBQ1MseUJBQTRDLEVBQzVDLFNBQXdCLEVBQ3hCLFdBQW1CLEVBQ25CLGdCQUFvQyxFQUNwQyxTQUEyQjtRQUozQiw4QkFBeUIsR0FBekIseUJBQXlCLENBQW1CO1FBQzVDLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFvQjtRQUNwQyxjQUFTLEdBQVQs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SSxNQUFNOzJCQUFDLGVBQWU7OzBCQUNsQyxRQUFROzswQkFDUixRQUFROzswQkFDUixJQUFJOzswQkFBSSxRQUFROzRDQWpFVCxhQUFhO3NCQUR0QixlQUFlO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFjL0MsSUFBSTtzQkFEZCxLQUFLO2dCQWNLLE1BQU07c0JBRGhCLEtBQUs7Z0JBY0ssUUFBUTtzQkFEbEIsS0FBSztnQkFZVSxpQkFBaUI7c0JBRGhDLEtBQUs7Z0JBUVUsTUFBTTtzQkFGckIsTUFBTTtnQkE2REksS0FBSztzQkFEZixLQUFLO2dCQWdCSyxFQUFFO3NCQURaLEtBQUs7Z0JBZ0JLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBZ0JLLFFBQVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIERvQ2hlY2ssXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFNlbGZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gIE5nQ29udHJvbCxcbiAgTmdGb3JtLFxuICBWYWxpZGF0b3JzXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG5hbm9pZCB9IGZyb20gJ25hbm9pZCc7XG5pbXBvcnQge1xuICBCb29sZWFuSW5wdXQsXG4gIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eVZhbHVlXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWxpdGllcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbXBkY0Zvcm1Sb290LCBJTVBEQ19GT1JNX1JPT1QgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IEVycm9yU3RhdGVNYXRjaGVyIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgSUhhc0Vycm9yU3RhdGUsXG4gIEltcGRjRm9ybUZpZWxkQ29udHJvbCxcbiAgbWl4aW5FcnJvclN0YXRlXG59IGZyb20gJy4uLy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBJTVBEQ19SQURJT19CVVRUT04sIElNUERDX1JBRElPX0dST1VQIH0gZnJvbSAnLi4vaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQgeyBSYWRpb0NoYW5nZUV2ZW50LCBJUmFkaW9CdXR0b24sIElSYWRpb0dyb3VwIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmNvbnN0IF9SYWRpb0dyb3VwRGlyZWN0aXZlQmFzZSA9IG1peGluRXJyb3JTdGF0ZShcbiAgY2xhc3Mge1xuICAgIHB1YmxpYyByZWFkb25seSBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICBwdWJsaWMgX2RlZmF1bHRFcnJvclN0YXRlTWF0Y2hlcjogRXJyb3JTdGF0ZU1hdGNoZXIsXG4gICAgICBwdWJsaWMgX2Zvcm1Sb290OiBJbXBkY0Zvcm1Sb290LFxuICAgICAgcHVibGljIF9wYXJlbnRGb3JtOiBOZ0Zvcm0sXG4gICAgICBwdWJsaWMgX3BhcmVudEZvcm1Hcm91cDogRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgICAgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sIHwgbnVsbFxuICAgICkge31cbiAgfVxuKTtcblxuLyoqXG4gKiBUaGUgYFJhZGlvR3JvdXBEaXJlY3RpdmVgIChgPGltcGRjLXJhZGlvLWdyb3VwYCkgaXMgYSBjb250YWluZXIgZm9yIGBSYWRpb0J1dHRvbkNvbXBvbmVudGAgKGA8aW1wZGMtcmFkaW8tYnV0dG9uYCkuXG4gKiBUaGlzIGRpcmVjdGl2ZS9jb21wb25lbnQgY2FuIGJlIHVzZWQgd2l0aGluIGEgYEZvcm1GaWVsZENvbXBvbmVudGAgKGA8aW1wZGMtZm9ybS1maWVsZGApLlxuICogVG8gdXNlLCBpbXBvcnQgYFJhZGlvTW9kdWxlYCBvciBhbm90aGVyIG1vZHVsZSB0aGF0IGltcG9ydHMgYW5kIGV4cG9ydHMgdGhhdCBtb2R1bGUgZnJvbSBgQGltcGFydG5lci9kZXNpZ24tY29tcG9uZW50c2AuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2ltcGRjLXJhZGlvLWdyb3VwJyxcbiAgZXhwb3J0QXM6ICdpbXBkY1JhZGlvR3JvdXAnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBJbXBkY0Zvcm1GaWVsZENvbnRyb2wsXG4gICAgICB1c2VFeGlzdGluZzogUmFkaW9Hcm91cERpcmVjdGl2ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogSU1QRENfUkFESU9fR1JPVVAsXG4gICAgICB1c2VFeGlzdGluZzogUmFkaW9Hcm91cERpcmVjdGl2ZVxuICAgIH1cbiAgXSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHtcbiAgICByb2xlOiAncmFkaW9ncm91cCcsXG4gICAgY2xhc3M6ICdpbXBkYy1yYWRpby1ncm91cCcsXG4gICAgJ1tjbGFzcy5pbXBkYy1yYWRpby1ncm91cC0tcmVxdWlyZWRdJzogJ3JlcXVpcmVkJyxcbiAgICAnW2NsYXNzLmltcGRjLXJhZGlvLWdyb3VwLS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbY2xhc3MuaW1wZGMtcmFkaW8tZ3JvdXAtLWludmFsaWRdJzogJ2Vycm9yU3RhdGUnLFxuICAgICdbY2xhc3MuaW1wZGMtcmFkaW8tZ3JvdXAtLWlubGluZV0nOiAnaW5saW5lJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvR3JvdXBEaXJlY3RpdmU8XG4gICAgVFJhZGlvQnV0dG9uIGV4dGVuZHMgSVJhZGlvQnV0dG9uID0gSVJhZGlvQnV0dG9uXG4gID5cbiAgZXh0ZW5kcyBfUmFkaW9Hcm91cERpcmVjdGl2ZUJhc2VcbiAgaW1wbGVtZW50c1xuICAgIElSYWRpb0dyb3VwLFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIEltcGRjRm9ybUZpZWxkQ29udHJvbDxhbnk+LFxuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgRG9DaGVjayxcbiAgICBPbkRlc3Ryb3ksXG4gICAgSUhhc0Vycm9yU3RhdGVcbntcbiAgQENvbnRlbnRDaGlsZHJlbihJTVBEQ19SQURJT19CVVRUT04sIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJvdGVjdGVkIF9yYWRpb09wdGlvbnMhOiBRdWVyeUxpc3Q8VFJhZGlvQnV0dG9uPjtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3VpZCA9IGBpbXBkYy1yYWRpby1ncm91cC0ke25hbm9pZCgpfWA7XG4gIHByb3RlY3RlZCBfaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIF9wcmV2aW91c0NvbnRyb2w/OiBBYnN0cmFjdENvbnRyb2wgfCBudWxsO1xuICBwcml2YXRlIF9jdmFPbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgcHJpdmF0ZSBfY3ZhT25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBmb3IgdGhlIGdyb3VwIG9mIHJhZGlvIG9wdGlvbnM7IEF1dG9nZW5lcmF0ZWQgYnkgZGVmYXVsdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9uYW1lO1xuICB9XG4gIHB1YmxpYyBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbmFtZSA9IHZhbHVlIHx8IHRoaXMuX3VpZDtcbiAgICB0aGlzLl91cGRhdGVSYWRpb09wdGlvbk5hbWVzKCk7XG4gIH1cbiAgcHJvdGVjdGVkIF9uYW1lOiBzdHJpbmcgPSB0aGlzLl91aWQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBuZXN0ZWQgcmFkaW8gb3B0aW9ucyBzaG91bGQgZGlzcGxheSBpbmxpbmUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGlubGluZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faW5saW5lO1xuICB9XG4gIHB1YmxpYyBzZXQgaW5saW5lKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9pbmxpbmUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHlWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5fbWFya1JhZGlvT3B0aW9uc0ZvckNoZWNrKCk7XG4gIH1cbiAgcHJvdGVjdGVkIF9pbmxpbmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQSByZWZlcmVuY2UgdG8gdGhlIGN1cnJlbnRseSBzZWxlY3RlZCByYWRpbyBidXR0b24gY29tcG9uZW50IChlZy4gYDxpbXBkYy1yYWRpby1idXR0b24+YCkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgfVxuICBwdWJsaWMgc2V0IHNlbGVjdGVkKHNlbGVjdGVkOiBUUmFkaW9CdXR0b24gfCBudWxsKSB7XG4gICAgdGhpcy5fc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICB0aGlzLnZhbHVlID0gc2VsZWN0ZWQgPyBzZWxlY3RlZC52YWx1ZSA6IG51bGw7XG4gICAgdGhpcy5fY2hlY2tTZWxlY3RlZFJhZGlvT3B0aW9uKCk7XG4gIH1cbiAgcHJvdGVjdGVkIF9zZWxlY3RlZDogVFJhZGlvQnV0dG9uIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGVycm9yU3RhdGVNYXRjaGVyITogRXJyb3JTdGF0ZU1hdGNoZXI7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbmV2ZXIgYSBuZXcgcmFkaW8gb3B0aW9uIGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBwdWJsaWMgcmVhZG9ubHkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8UmFkaW9DaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJhZGlvQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIF9kZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoSU1QRENfRk9STV9ST09UKSBfZm9ybVJvb3Q6IEltcGRjRm9ybVJvb3QsXG4gICAgQE9wdGlvbmFsKCkgX3BhcmVudEZvcm06IE5nRm9ybSxcbiAgICBAT3B0aW9uYWwoKSBfcGFyZW50Rm9ybUdyb3VwOiBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGxcbiAgKSB7XG4gICAgc3VwZXIoXG4gICAgICBfZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyLFxuICAgICAgX2Zvcm1Sb290LFxuICAgICAgX3BhcmVudEZvcm0sXG4gICAgICBfcGFyZW50Rm9ybUdyb3VwLFxuICAgICAgbmdDb250cm9sXG4gICAgKTtcblxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGNvbnN0IG5nQ29udHJvbCA9IHRoaXMubmdDb250cm9sO1xuXG4gICAgaWYgKCFuZ0NvbnRyb2wpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcHJldmlvdXNDb250cm9sICE9PSBuZ0NvbnRyb2wuY29udHJvbCkge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLl9wcmV2aW91c0NvbnRyb2wgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBuZ0NvbnRyb2wuZGlzYWJsZWQgIT09IG51bGwgJiZcbiAgICAgICAgbmdDb250cm9sLmRpc2FibGVkICE9PSB0aGlzLmRpc2FibGVkXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IG5nQ29udHJvbD8uZGlzYWJsZWQ7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX3ByZXZpb3VzQ29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlRXJyb3JTdGF0ZSgpO1xuICAgIHRoaXMuX21hcmtSYWRpb09wdGlvbnNGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKiBJbXBkY0Zvcm1GaWVsZENvbnRyb2wgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5fdmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuXG4gICAgICB0aGlzLl91cGRhdGVTZWxlY3RlZFJhZGlvT3B0aW9uRnJvbVZhbHVlKCk7XG4gICAgICB0aGlzLl9jaGVja1NlbGVjdGVkUmFkaW9PcHRpb24oKTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cbiAgcHJvdGVjdGVkIF92YWx1ZTogYW55O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cbiAgcHVibGljIHNldCBpZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5faWQgPSB2YWx1ZSB8fCB0aGlzLl91aWQ7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHByb3RlY3RlZCBfaWQhOiBzdHJpbmc7XG5cbiAgcHVibGljIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9mb2N1c2VkO1xuICB9XG4gIHByb3RlY3RlZCBfZm9jdXNlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5VmFsdWUodmFsdWUpO1xuICAgIHRoaXMuX21hcmtSYWRpb09wdGlvbnNGb3JDaGVjaygpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwcm90ZWN0ZWQgX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gc2V0IHJlcXVpcmVkbmVzcyBvZiBjb250cm9sIGluIGEgdGVtcGxhdGUtYmFzZWQgbWFubmVyO1xuICAgKiBub3QgbmVjZXNzYXJ5IHdoZW4gdXNpbmcgdGhlIEFuZ3VsYXIgcmVhY3RpdmUgZm9ybXMgQVBJIGFuZCBgcmVxdWlyZWRgIHZhbGlkYXRvci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuX3JlcXVpcmVkID8/XG4gICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpID8/XG4gICAgICBmYWxzZVxuICAgICk7XG4gIH1cbiAgcHVibGljIHNldCByZXF1aXJlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHlWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHByaXZhdGUgX3JlcXVpcmVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb250cm9sVHlwZSA9ICdpbXBkYy1yYWRpby1ncm91cCc7XG5cbiAgcHVibGljIHJlYWRvbmx5IHN1cHBvcnRzQWZmaXhlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qIENvbnRyb2xWYWx1ZUFjY2Vzc29yICovXG4gIC8qKiBAaWdub3JlICovXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fY3ZhT25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB7fSk6IHZvaWQge1xuICAgIHRoaXMuX2N2YU9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKiBJbnRlcm5hbHMgKi9cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgZW1pdENoYW5nZXNFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuY2hhbmdlLmVtaXQoeyBzb3VyY2U6IHRoaXMuX3NlbGVjdGVkISwgdmFsdWU6IHRoaXMuX3ZhbHVlIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyBvbkNoYW5nZUZuKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9jdmFPbkNoYW5nZSh2YWx1ZSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgdG91Y2goKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2N2YU9uVG91Y2hlZCkge1xuICAgICAgdGhpcy5fY3ZhT25Ub3VjaGVkKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9jaGVja1NlbGVjdGVkUmFkaW9PcHRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkICYmICF0aGlzLl9zZWxlY3RlZC5jaGVja2VkKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZC5jaGVja2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX21hcmtSYWRpb09wdGlvbnNGb3JDaGVjaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcmFkaW9PcHRpb25zKSB7XG4gICAgICB0aGlzLl9yYWRpb09wdGlvbnMuZm9yRWFjaChvcHRpb24gPT4gb3B0aW9uLm1hcmtGb3JDaGVjaygpKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX3VwZGF0ZVJhZGlvT3B0aW9uTmFtZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3JhZGlvT3B0aW9ucykge1xuICAgICAgdGhpcy5fcmFkaW9PcHRpb25zLmZvckVhY2gob3B0aW9uID0+IHtcbiAgICAgICAgb3B0aW9uLm5hbWUgPSB0aGlzLm5hbWU7XG4gICAgICAgIG9wdGlvbi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfdXBkYXRlU2VsZWN0ZWRSYWRpb09wdGlvbkZyb21WYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpc0FscmVhZHlTZWxlY3RlZCA9XG4gICAgICB0aGlzLl9zZWxlY3RlZCAhPT0gbnVsbCAmJiB0aGlzLl9zZWxlY3RlZC52YWx1ZSA9PT0gdGhpcy5fdmFsdWU7XG5cbiAgICBpZiAodGhpcy5fcmFkaW9PcHRpb25zICYmICFpc0FscmVhZHlTZWxlY3RlZCkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBudWxsO1xuICAgICAgdGhpcy5fcmFkaW9PcHRpb25zLmZvckVhY2gob3B0aW9uID0+IHtcbiAgICAgICAgb3B0aW9uLmNoZWNrZWQgPSB0aGlzLnZhbHVlID09PSBvcHRpb24udmFsdWU7XG5cbiAgICAgICAgaWYgKG9wdGlvbi5jaGVja2VkKSB7XG4gICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBvcHRpb247XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
3
|
+
import { ToggleModule } from '../shared';
|
|
4
|
+
import { RadioButtonComponent } from './radio-button/radio-button.component';
|
|
5
|
+
import { RadioGroupDirective } from './radio-group/radio-group.directive';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class RadioModule {
|
|
8
|
+
}
|
|
9
|
+
RadioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
RadioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: RadioModule, declarations: [RadioButtonComponent, RadioGroupDirective], imports: [ReactiveFormsModule, ToggleModule], exports: [RadioButtonComponent, RadioGroupDirective] });
|
|
11
|
+
RadioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RadioModule, imports: [ReactiveFormsModule, ToggleModule] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RadioModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
declarations: [RadioButtonComponent, RadioGroupDirective],
|
|
16
|
+
imports: [ReactiveFormsModule, ToggleModule],
|
|
17
|
+
exports: [RadioButtonComponent, RadioGroupDirective]
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9mb3JtLWZpZWxkL2NvbnRyb2xzL3JhZGlvL3JhZGlvLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBTzFFLE1BQU0sT0FBTyxXQUFXOzt5R0FBWCxXQUFXOzBHQUFYLFdBQVcsaUJBSlAsb0JBQW9CLEVBQUUsbUJBQW1CLGFBQzlDLG1CQUFtQixFQUFFLFlBQVksYUFDakMsb0JBQW9CLEVBQUUsbUJBQW1COzBHQUV4QyxXQUFXLFlBSFosbUJBQW1CLEVBQUUsWUFBWTs0RkFHaEMsV0FBVztrQkFMdkIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxtQkFBbUIsQ0FBQztvQkFDekQsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsWUFBWSxDQUFDO29CQUM1QyxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxtQkFBbUIsQ0FBQztpQkFDckQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRvZ2dsZU1vZHVsZSB9IGZyb20gJy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBSYWRpb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmFkaW9Hcm91cERpcmVjdGl2ZSB9IGZyb20gJy4vcmFkaW8tZ3JvdXAvcmFkaW8tZ3JvdXAuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbUmFkaW9CdXR0b25Db21wb25lbnQsIFJhZGlvR3JvdXBEaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgVG9nZ2xlTW9kdWxlXSxcbiAgZXhwb3J0czogW1JhZGlvQnV0dG9uQ29tcG9uZW50LCBSYWRpb0dyb3VwRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb01vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { SelectOptionSelectionChangeEvent, SelectOptionComponent } from './option';
|
|
2
|
+
export { IMPDC_SELECT_OPTION_PARENT_COMPONENT } from './option-parent';
|
|
3
|
+
export { SelectModel } from './select-model';
|
|
4
|
+
export { SelectChangeEvent, SelectComponent } from './select.component';
|
|
5
|
+
export { SelectModule } from './select.module';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2Zvcm0tZmllbGQvY29udHJvbHMvc2VsZWN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQ0FBZ0MsRUFDaEMscUJBQXFCLEVBQ3RCLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFFTCxvQ0FBb0MsRUFDckMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQWdCLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBTZWxlY3RPcHRpb25TZWxlY3Rpb25DaGFuZ2VFdmVudCxcbiAgU2VsZWN0T3B0aW9uQ29tcG9uZW50XG59IGZyb20gJy4vb3B0aW9uJztcbmV4cG9ydCB7XG4gIElTZWxlY3RPcHRpb25QYXJlbnRDb21wb25lbnQsXG4gIElNUERDX1NFTEVDVF9PUFRJT05fUEFSRU5UX0NPTVBPTkVOVFxufSBmcm9tICcuL29wdGlvbi1wYXJlbnQnO1xuZXhwb3J0IHsgU2VsZWN0Q2hhbmdlLCBTZWxlY3RNb2RlbCB9IGZyb20gJy4vc2VsZWN0LW1vZGVsJztcbmV4cG9ydCB7IFNlbGVjdENoYW5nZUV2ZW50LCBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2VsZWN0TW9kdWxlIH0gZnJvbSAnLi9zZWxlY3QubW9kdWxlJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { SelectOptionSelectionChangeEvent, SelectOptionComponent } from './select-option.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2Zvcm0tZmllbGQvY29udHJvbHMvc2VsZWN0L29wdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLHFCQUFxQixFQUN0QixNQUFNLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcbiAgU2VsZWN0T3B0aW9uU2VsZWN0aW9uQ2hhbmdlRXZlbnQsXG4gIFNlbGVjdE9wdGlvbkNvbXBvbmVudFxufSBmcm9tICcuL3NlbGVjdC1vcHRpb24uY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Optional, Output } from '@angular/core';
|
|
2
|
+
import { NgbDropdownItem } from '@ng-bootstrap/ng-bootstrap';
|
|
3
|
+
import { nanoid } from 'nanoid';
|
|
4
|
+
import { coerceBooleanPropertyValue } from '../../../../../utilities';
|
|
5
|
+
import { Subject } from 'rxjs';
|
|
6
|
+
import { IMPDC_SELECT_OPTION_PARENT_COMPONENT } from '../option-parent';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
export class SelectOptionSelectionChangeEvent {
|
|
10
|
+
constructor(source, isUserInput = false) {
|
|
11
|
+
this.source = source;
|
|
12
|
+
this.isUserInput = isUserInput;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export class SelectOptionComponent extends NgbDropdownItem {
|
|
16
|
+
constructor(_parent, _changeDetector, _elementRef, _renderer) {
|
|
17
|
+
super(_elementRef, _renderer);
|
|
18
|
+
this._parent = _parent;
|
|
19
|
+
this._changeDetector = _changeDetector;
|
|
20
|
+
/** @ignore */
|
|
21
|
+
this.stateChanges = new Subject();
|
|
22
|
+
this._selected = false;
|
|
23
|
+
this.__disabled = false;
|
|
24
|
+
this._label = '';
|
|
25
|
+
/** @ignore */
|
|
26
|
+
this.id = `impdc-option-${nanoid()}`;
|
|
27
|
+
/** @ignore */
|
|
28
|
+
this.onSelectionChange = new EventEmitter();
|
|
29
|
+
}
|
|
30
|
+
/** @ignore */
|
|
31
|
+
get multiple() {
|
|
32
|
+
return this._parent && !!this._parent.multiple;
|
|
33
|
+
}
|
|
34
|
+
/** @ignore */
|
|
35
|
+
get selected() {
|
|
36
|
+
return this._selected;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Label text describing the select option.
|
|
40
|
+
*/
|
|
41
|
+
get label() {
|
|
42
|
+
return this._label;
|
|
43
|
+
}
|
|
44
|
+
set label(label) {
|
|
45
|
+
this._label = label;
|
|
46
|
+
this._emitSelectionChangeEvent();
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Used to enable or disable the specific select option.
|
|
50
|
+
*/
|
|
51
|
+
get disabled() {
|
|
52
|
+
return this.__disabled;
|
|
53
|
+
}
|
|
54
|
+
set disabled(value) {
|
|
55
|
+
this.__disabled = coerceBooleanPropertyValue(value);
|
|
56
|
+
}
|
|
57
|
+
/** @ignore */
|
|
58
|
+
select() {
|
|
59
|
+
if (!this._selected) {
|
|
60
|
+
this._selected = true;
|
|
61
|
+
this._changeDetector.markForCheck();
|
|
62
|
+
this._emitSelectionChangeEvent();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/** @ignore */
|
|
66
|
+
deselect() {
|
|
67
|
+
if (this._selected) {
|
|
68
|
+
this._selected = false;
|
|
69
|
+
this._changeDetector.markForCheck();
|
|
70
|
+
this._emitSelectionChangeEvent();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/** @ignore */
|
|
74
|
+
ngOnDestroy() {
|
|
75
|
+
this.stateChanges.complete();
|
|
76
|
+
}
|
|
77
|
+
/** Ensures the option is selected when activated from the keyboard. */
|
|
78
|
+
_handleKeydown(event) {
|
|
79
|
+
if (this._isInteractionKeyEvent(event)) {
|
|
80
|
+
this._selectViaInteraction();
|
|
81
|
+
// Prevent the page from scrolling down and form submits.
|
|
82
|
+
event.preventDefault();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* `Selects the option while indicating the selection came from the user. Used to
|
|
87
|
+
* determine if the select's view -> model callback should be invoked.`
|
|
88
|
+
*/
|
|
89
|
+
_selectViaInteraction() {
|
|
90
|
+
if (!this.disabled) {
|
|
91
|
+
this._selected = this.multiple ? !this._selected : true;
|
|
92
|
+
this._changeDetector.markForCheck();
|
|
93
|
+
this._emitSelectionChangeEvent(true);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
_emitSelectionChangeEvent(isUserInput = false) {
|
|
97
|
+
this.onSelectionChange.emit(new SelectOptionSelectionChangeEvent(this, isUserInput));
|
|
98
|
+
}
|
|
99
|
+
_isInteractionKeyEvent(event) {
|
|
100
|
+
// Bail if key isn't "enter" or "space"
|
|
101
|
+
if (event.keyCode !== 13 && event.keyCode !== 32) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
// Bail if keypress has any modifers
|
|
105
|
+
if (event.altKey || event.shiftKey || event.ctrlKey || event.metaKey) {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
SelectOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectOptionComponent, deps: [{ token: IMPDC_SELECT_OPTION_PARENT_COMPONENT, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
112
|
+
SelectOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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 || ' ' }}</span>\n <span *ngIf=\"selected\" class=\"selected-check ms-auto fas fa-check\"></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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SelectOptionComponent, decorators: [{
|
|
114
|
+
type: Component,
|
|
115
|
+
args: [{ selector: 'impdc-select-option', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
116
|
+
'[class.impdc-select-option--single]': '!multiple',
|
|
117
|
+
'[class.impdc-select-option--multiple]': 'multiple',
|
|
118
|
+
'[class.impdc-select-option--selected]': 'selected',
|
|
119
|
+
'(click)': '_selectViaInteraction()',
|
|
120
|
+
'(keydown)': '_handleKeydown($event)'
|
|
121
|
+
}, template: "<ng-template #singleSelectTemplate>\n <span>{{ label || ' ' }}</span>\n <span *ngIf=\"selected\" class=\"selected-check ms-auto fas fa-check\"></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"] }]
|
|
122
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
123
|
+
type: Optional
|
|
124
|
+
}, {
|
|
125
|
+
type: Inject,
|
|
126
|
+
args: [IMPDC_SELECT_OPTION_PARENT_COMPONENT]
|
|
127
|
+
}] }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { value: [{
|
|
128
|
+
type: Input
|
|
129
|
+
}], label: [{
|
|
130
|
+
type: Input
|
|
131
|
+
}], id: [{
|
|
132
|
+
type: Input
|
|
133
|
+
}], disabled: [{
|
|
134
|
+
type: Input
|
|
135
|
+
}], onSelectionChange: [{
|
|
136
|
+
type: Output
|
|
137
|
+
}] } });
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2Zvcm0tZmllbGQvY29udHJvbHMvc2VsZWN0L29wdGlvbi9zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZm9ybS1maWVsZC9jb250cm9scy9zZWxlY3Qvb3B0aW9uL3NlbGVjdC1vcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEVBRUwsMEJBQTBCLEVBQzNCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBRUwsb0NBQW9DLEVBQ3JDLE1BQU0sa0JBQWtCLENBQUM7OztBQUUxQixNQUFNLE9BQU8sZ0NBQWdDO0lBQzNDLFlBQ1MsTUFBNkIsRUFDN0IsY0FBYyxLQUFLO1FBRG5CLFdBQU0sR0FBTixNQUFNLENBQXVCO1FBQzdCLGdCQUFXLEdBQVgsV0FBVyxDQUFRO0lBQ3pCLENBQUM7Q0FDTDtBQWdCRCxNQUFNLE9BQU8scUJBQ1gsU0FBUSxlQUFlO0lBMkR2QixZQUdtQixPQUFxQyxFQUNyQyxlQUFrQyxFQUNuRCxXQUF1QixFQUN2QixTQUFvQjtRQUVwQixLQUFLLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBTGIsWUFBTyxHQUFQLE9BQU8sQ0FBOEI7UUFDckMsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBNURyRCxjQUFjO1FBQ0UsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzNDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQTZCbkIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUVwQixjQUFjO1FBRVAsT0FBRSxHQUFXLGdCQUFnQixNQUFNLEVBQUUsRUFBRSxDQUFDO1FBYS9DLGNBQWM7UUFHRSxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFFakQsQ0FBQztJQVdKLENBQUM7SUE1REQsY0FBYztJQUNkLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDakQsQ0FBQztJQUVELGNBQWM7SUFDZCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQVFEOztPQUVHO0lBQ0gsSUFDVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFXLEtBQUssQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFPRDs7T0FFRztJQUNILElBQ29CLFFBQVE7UUFDMUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFvQixRQUFRLENBQUMsS0FBbUI7UUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBb0JELGNBQWM7SUFDUCxNQUFNO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFRCxjQUFjO0lBQ1AsUUFBUTtRQUNiLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVELGNBQWM7SUFDUCxXQUFXO1FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELHVFQUF1RTtJQUM3RCxjQUFjLENBQUMsS0FBb0I7UUFDM0MsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFFN0IseURBQXlEO1lBQ3pELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDTyxxQkFBcUI7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUN4RCxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QztJQUNILENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxXQUFXLEdBQUcsS0FBSztRQUNuRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUN6QixJQUFJLGdDQUFnQyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FDeEQsQ0FBQztJQUNKLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxLQUFvQjtRQUNqRCx1Q0FBdUM7UUFDdkMsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLEVBQUUsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLEVBQUUsRUFBRTtZQUNoRCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsb0NBQW9DO1FBQ3BDLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNwRSxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzttSEF0SVUscUJBQXFCLGtCQThEdEIsb0NBQW9DO3VHQTlEbkMscUJBQXFCLDZkQzlDbEMsNnFCQXlCQTs0RkRxQmEscUJBQXFCO2tCQWRqQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLFFBRXpDO3dCQUNKLHFDQUFxQyxFQUFFLFdBQVc7d0JBQ2xELHVDQUF1QyxFQUFFLFVBQVU7d0JBQ25ELHVDQUF1QyxFQUFFLFVBQVU7d0JBQ25ELFNBQVMsRUFBRSx5QkFBeUI7d0JBQ3BDLFdBQVcsRUFBRSx3QkFBd0I7cUJBQ3RDOzswQkErREUsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxvQ0FBb0M7NkhBdkN2QyxLQUFLO3NCQURYLEtBQUs7Z0JBT0ssS0FBSztzQkFEZixLQUFLO2dCQVlDLEVBQUU7c0JBRFIsS0FBSztnQkFPYyxRQUFRO3NCQUQzQixLQUFLO2dCQVdVLGlCQUFpQjtzQkFGaEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdiRHJvcGRvd25JdGVtIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgbmFub2lkIH0gZnJvbSAnbmFub2lkJztcbmltcG9ydCB7XG4gIEJvb2xlYW5JbnB1dCxcbiAgY29lcmNlQm9vbGVhblByb3BlcnR5VmFsdWVcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbGl0aWVzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIElTZWxlY3RPcHRpb25QYXJlbnRDb21wb25lbnQsXG4gIElNUERDX1NFTEVDVF9PUFRJT05fUEFSRU5UX0NPTVBPTkVOVFxufSBmcm9tICcuLi9vcHRpb24tcGFyZW50JztcblxuZXhwb3J0IGNsYXNzIFNlbGVjdE9wdGlvblNlbGVjdGlvbkNoYW5nZUV2ZW50PFQgPSBhbnk+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNvdXJjZTogU2VsZWN0T3B0aW9uQ29tcG9uZW50LFxuICAgIHB1YmxpYyBpc1VzZXJJbnB1dCA9IGZhbHNlXG4gICkge31cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1wZGMtc2VsZWN0LW9wdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3NlbGVjdC1vcHRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5pbXBkYy1zZWxlY3Qtb3B0aW9uLS1zaW5nbGVdJzogJyFtdWx0aXBsZScsXG4gICAgJ1tjbGFzcy5pbXBkYy1zZWxlY3Qtb3B0aW9uLS1tdWx0aXBsZV0nOiAnbXVsdGlwbGUnLFxuICAgICdbY2xhc3MuaW1wZGMtc2VsZWN0LW9wdGlvbi0tc2VsZWN0ZWRdJzogJ3NlbGVjdGVkJyxcbiAgICAnKGNsaWNrKSc6ICdfc2VsZWN0VmlhSW50ZXJhY3Rpb24oKScsXG4gICAgJyhrZXlkb3duKSc6ICdfaGFuZGxlS2V5ZG93bigkZXZlbnQpJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdE9wdGlvbkNvbXBvbmVudDxUID0gYW55PlxuICBleHRlbmRzIE5nYkRyb3Bkb3duSXRlbVxuICBpbXBsZW1lbnRzIE9uRGVzdHJveVxue1xuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfc2VsZWN0ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgZ2V0IG11bHRpcGxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9wYXJlbnQgJiYgISF0aGlzLl9wYXJlbnQubXVsdGlwbGU7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBzcGVjaWZpYyB2YWx1ZSByZXByZXNlbnRlZCBieSB0aGUgc2VsZWN0IG9wdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YWx1ZT86IFQ7XG5cbiAgLyoqXG4gICAqIExhYmVsIHRleHQgZGVzY3JpYmluZyB0aGUgc2VsZWN0IG9wdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgbGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbGFiZWw7XG4gIH1cbiAgcHVibGljIHNldCBsYWJlbChsYWJlbDogc3RyaW5nKSB7XG4gICAgdGhpcy5fbGFiZWwgPSBsYWJlbDtcbiAgICB0aGlzLl9lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoKTtcbiAgfVxuICBwcml2YXRlIF9sYWJlbCA9ICcnO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpZDogc3RyaW5nID0gYGltcGRjLW9wdGlvbi0ke25hbm9pZCgpfWA7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZW5hYmxlIG9yIGRpc2FibGUgdGhlIHNwZWNpZmljIHNlbGVjdCBvcHRpb24uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9fZGlzYWJsZWQ7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIHNldCBkaXNhYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5VmFsdWUodmFsdWUpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgQE91dHB1dCgpXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICBwdWJsaWMgcmVhZG9ubHkgb25TZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIFNlbGVjdE9wdGlvblNlbGVjdGlvbkNoYW5nZUV2ZW50PFQ+XG4gID4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoSU1QRENfU0VMRUNUX09QVElPTl9QQVJFTlRfQ09NUE9ORU5UKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3BhcmVudDogSVNlbGVjdE9wdGlvblBhcmVudENvbXBvbmVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgX3JlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7XG4gICAgc3VwZXIoX2VsZW1lbnRSZWYsIF9yZW5kZXJlcik7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgdGhpcy5fZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIGRlc2VsZWN0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgdGhpcy5fZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKiogRW5zdXJlcyB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkIHdoZW4gYWN0aXZhdGVkIGZyb20gdGhlIGtleWJvYXJkLiAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faXNJbnRlcmFjdGlvbktleUV2ZW50KGV2ZW50KSkge1xuICAgICAgdGhpcy5fc2VsZWN0VmlhSW50ZXJhY3Rpb24oKTtcblxuICAgICAgLy8gUHJldmVudCB0aGUgcGFnZSBmcm9tIHNjcm9sbGluZyBkb3duIGFuZCBmb3JtIHN1Ym1pdHMuXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBgU2VsZWN0cyB0aGUgb3B0aW9uIHdoaWxlIGluZGljYXRpbmcgdGhlIHNlbGVjdGlvbiBjYW1lIGZyb20gdGhlIHVzZXIuIFVzZWQgdG9cbiAgICogZGV0ZXJtaW5lIGlmIHRoZSBzZWxlY3QncyB2aWV3IC0+IG1vZGVsIGNhbGxiYWNrIHNob3VsZCBiZSBpbnZva2VkLmBcbiAgICovXG4gIHByb3RlY3RlZCBfc2VsZWN0VmlhSW50ZXJhY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZCA9IHRoaXMubXVsdGlwbGUgPyAhdGhpcy5fc2VsZWN0ZWQgOiB0cnVlO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB0aGlzLl9lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KGlzVXNlcklucHV0ID0gZmFsc2UpOiB2b2lkIHtcbiAgICB0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlLmVtaXQoXG4gICAgICBuZXcgU2VsZWN0T3B0aW9uU2VsZWN0aW9uQ2hhbmdlRXZlbnQodGhpcywgaXNVc2VySW5wdXQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzSW50ZXJhY3Rpb25LZXlFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICAgIC8vIEJhaWwgaWYga2V5IGlzbid0IFwiZW50ZXJcIiBvciBcInNwYWNlXCJcbiAgICBpZiAoZXZlbnQua2V5Q29kZSAhPT0gMTMgJiYgZXZlbnQua2V5Q29kZSAhPT0gMzIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBCYWlsIGlmIGtleXByZXNzIGhhcyBhbnkgbW9kaWZlcnNcbiAgICBpZiAoZXZlbnQuYWx0S2V5IHx8IGV2ZW50LnNoaWZ0S2V5IHx8IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI3NpbmdsZVNlbGVjdFRlbXBsYXRlPlxuICA8c3Bhbj57eyBsYWJlbCB8fCAnJm5ic3A7JyB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJzZWxlY3RlZFwiIGNsYXNzPVwic2VsZWN0ZWQtY2hlY2sgbXMtYXV0byBmYXMgZmEtY2hlY2tcIj48L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI211bHRpcGxlU2VsZWN0VGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC01XCI+XG4gICAgPHNwYW4+XG4gICAgICA8aW5wdXRcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0IG9wYWNpdHktMTAwXCJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgZGlzYWJsZWRcbiAgICAgICAgcmVhZG9ubHk9XCJyZWFkb25seVwiXG4gICAgICAgIFthdHRyLmNoZWNrZWRdPVwic2VsZWN0ZWQgPyAnY2hlY2tlZCcgOiBudWxsXCIgLz5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4+XG4gICAgICB7eyBsYWJlbCB9fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgW25nVGVtcGxhdGVPdXRsZXRdPVwiXG4gICAgbXVsdGlwbGUgPyBtdWx0aXBsZVNlbGVjdFRlbXBsYXRlIDogc2luZ2xlU2VsZWN0VGVtcGxhdGVcbiAgXCI+PC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const IMPDC_SELECT_OPTION_PARENT_COMPONENT = new InjectionToken('IMPDC_SELECT_OPTION_PARENT_COMPONENT');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLXBhcmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvZm9ybS1maWVsZC9jb250cm9scy9zZWxlY3Qvb3B0aW9uLXBhcmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTS9DLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUMvQyxJQUFJLGNBQWMsQ0FDaEIsc0NBQXNDLENBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTZWxlY3RPcHRpb25QYXJlbnRDb21wb25lbnQge1xuICBtdWx0aXBsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBJTVBEQ19TRUxFQ1RfT1BUSU9OX1BBUkVOVF9DT01QT05FTlQgPVxuICBuZXcgSW5qZWN0aW9uVG9rZW48SVNlbGVjdE9wdGlvblBhcmVudENvbXBvbmVudD4oXG4gICAgJ0lNUERDX1NFTEVDVF9PUFRJT05fUEFSRU5UX0NPTVBPTkVOVCdcbiAgKTtcbiJdfQ==
|