@impartner/design-components 3.0.1 → 4.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/README.md +9 -8
- package/fesm2022/impartner-design-components.mjs +1668 -973
- package/fesm2022/impartner-design-components.mjs.map +1 -1
- package/index.d.ts +3634 -3
- package/package.json +9 -12
- package/constants/fontawesome-icons.d.ts +0 -6
- package/constants/index.d.ts +0 -1
- package/esm2022/constants/fontawesome-icons.mjs +0 -3012
- package/esm2022/constants/index.mjs +0 -2
- package/esm2022/impartner-design-components.mjs +0 -5
- package/esm2022/lib/alert/alert.component.mjs +0 -106
- package/esm2022/lib/alert/alert.module.mjs +0 -19
- package/esm2022/lib/alert/index.mjs +0 -4
- package/esm2022/lib/alert/theme/alert-theme.mjs +0 -2
- package/esm2022/lib/alert/theme/index.mjs +0 -2
- package/esm2022/lib/avatar/avatar.component.mjs +0 -48
- package/esm2022/lib/avatar/avatar.module.mjs +0 -19
- package/esm2022/lib/avatar/index.mjs +0 -3
- package/esm2022/lib/avatar-group/avatar-group.component.mjs +0 -16
- package/esm2022/lib/avatar-group/avatar-group.module.mjs +0 -19
- package/esm2022/lib/avatar-group/index.mjs +0 -3
- package/esm2022/lib/backdrop/backdrop.component.mjs +0 -52
- package/esm2022/lib/backdrop/backdrop.module.mjs +0 -19
- package/esm2022/lib/backdrop/index.mjs +0 -3
- package/esm2022/lib/badge/badge.component.mjs +0 -121
- package/esm2022/lib/badge/badge.module.mjs +0 -20
- package/esm2022/lib/badge/index.mjs +0 -4
- package/esm2022/lib/badge/types/badge-icon.mjs +0 -2
- package/esm2022/lib/badge/types/badge-size.mjs +0 -7
- package/esm2022/lib/badge/types/index.mjs +0 -2
- package/esm2022/lib/branding/branded.directive.mjs +0 -19
- package/esm2022/lib/branding/branding.module.mjs +0 -19
- package/esm2022/lib/branding/index.mjs +0 -3
- package/esm2022/lib/breadcrumb/breadcrumb-item.component.mjs +0 -25
- package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -37
- package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +0 -19
- package/esm2022/lib/breadcrumb/index.mjs +0 -4
- package/esm2022/lib/button/button.component.mjs +0 -116
- package/esm2022/lib/button/button.module.mjs +0 -21
- package/esm2022/lib/button/index.mjs +0 -4
- package/esm2022/lib/button/themes/button-theme.mjs +0 -2
- package/esm2022/lib/button/themes/index.mjs +0 -2
- package/esm2022/lib/button-group/button-group.component.mjs +0 -52
- package/esm2022/lib/button-group/button-group.module.mjs +0 -20
- package/esm2022/lib/button-group/index.mjs +0 -3
- package/esm2022/lib/card-heading/card-heading.component.mjs +0 -30
- package/esm2022/lib/card-heading/card-heading.module.mjs +0 -19
- package/esm2022/lib/card-heading/index.mjs +0 -3
- package/esm2022/lib/data-card/data-card.component.mjs +0 -123
- package/esm2022/lib/data-card/data-card.module.mjs +0 -21
- package/esm2022/lib/data-card/index.mjs +0 -3
- package/esm2022/lib/datetime-picker/components/datepicker-nav/datepicker-nav.component.mjs +0 -105
- package/esm2022/lib/datetime-picker/components/datepicker-nav/index.mjs +0 -2
- package/esm2022/lib/datetime-picker/components/datepicker-template-host/datepicker-template-host.component.mjs +0 -33
- package/esm2022/lib/datetime-picker/components/datepicker-template-host/index.mjs +0 -2
- package/esm2022/lib/datetime-picker/components/datetime-picker/datetime-picker.component.mjs +0 -369
- package/esm2022/lib/datetime-picker/components/datetime-picker/index.mjs +0 -2
- package/esm2022/lib/datetime-picker/components/datetime-picker-input/datetime-picker-input.component.mjs +0 -367
- package/esm2022/lib/datetime-picker/components/datetime-picker-input/index.mjs +0 -2
- package/esm2022/lib/datetime-picker/components/datetime-picker-input-footer/datetime-picker-input-footer.component.mjs +0 -68
- package/esm2022/lib/datetime-picker/components/datetime-picker-input-footer/index.mjs +0 -2
- package/esm2022/lib/datetime-picker/components/index.mjs +0 -6
- package/esm2022/lib/datetime-picker/constants/datetime-picker-defaults.mjs +0 -12
- package/esm2022/lib/datetime-picker/constants/index.mjs +0 -2
- package/esm2022/lib/datetime-picker/datetime-picker.module.mjs +0 -22
- package/esm2022/lib/datetime-picker/index.mjs +0 -4
- package/esm2022/lib/datetime-picker/services/datetime-formatter/datetime-formatter.service.mjs +0 -40
- package/esm2022/lib/datetime-picker/services/datetime-formatter/index.mjs +0 -2
- package/esm2022/lib/datetime-picker/services/index.mjs +0 -2
- package/esm2022/lib/datetime-picker/types/datetime-picker-value.interface.mjs +0 -2
- package/esm2022/lib/datetime-picker/types/index.mjs +0 -2
- package/esm2022/lib/design-components.module.mjs +0 -132
- package/esm2022/lib/dropdown/components/dropdown-item/dropdown-item.component.mjs +0 -22
- package/esm2022/lib/dropdown/components/index.mjs +0 -2
- package/esm2022/lib/dropdown/dropdown.component.mjs +0 -143
- package/esm2022/lib/dropdown/dropdown.module.mjs +0 -21
- package/esm2022/lib/dropdown/index.mjs +0 -5
- package/esm2022/lib/dropdown/types/dropdown-position.mjs +0 -2
- package/esm2022/lib/dropdown/types/index.mjs +0 -2
- package/esm2022/lib/file-upload/directives/file-drop.directive.mjs +0 -50
- package/esm2022/lib/file-upload/directives/index.mjs +0 -2
- package/esm2022/lib/file-upload/file-upload.component.mjs +0 -335
- package/esm2022/lib/file-upload/file-upload.module.mjs +0 -38
- package/esm2022/lib/file-upload/index.mjs +0 -5
- package/esm2022/lib/file-upload/pipes/human-readable-byte-size.pipe.mjs +0 -23
- package/esm2022/lib/file-upload/pipes/index.mjs +0 -2
- package/esm2022/lib/form-field/component/directives/corner-hint.directive.mjs +0 -15
- package/esm2022/lib/form-field/component/directives/error.directive.mjs +0 -27
- package/esm2022/lib/form-field/component/directives/form-root.directive.mjs +0 -93
- package/esm2022/lib/form-field/component/directives/hint.directive.mjs +0 -25
- package/esm2022/lib/form-field/component/directives/index.mjs +0 -25
- package/esm2022/lib/form-field/component/directives/label.directive.mjs +0 -15
- package/esm2022/lib/form-field/component/directives/prefix.directive.mjs +0 -25
- package/esm2022/lib/form-field/component/directives/suffix.directive.mjs +0 -25
- package/esm2022/lib/form-field/component/form-field.component.mjs +0 -131
- package/esm2022/lib/form-field/component/form-field.module.mjs +0 -24
- package/esm2022/lib/form-field/component/index.mjs +0 -4
- package/esm2022/lib/form-field/controls/checkbox/checkbox.component.mjs +0 -345
- package/esm2022/lib/form-field/controls/checkbox/checkbox.module.mjs +0 -16
- package/esm2022/lib/form-field/controls/checkbox/index.mjs +0 -3
- package/esm2022/lib/form-field/controls/index.mjs +0 -6
- package/esm2022/lib/form-field/controls/input/index.mjs +0 -2
- package/esm2022/lib/form-field/controls/input/input.directive.mjs +0 -234
- package/esm2022/lib/form-field/controls/radio/index.mjs +0 -6
- package/esm2022/lib/form-field/controls/radio/injection-tokens.mjs +0 -4
- package/esm2022/lib/form-field/controls/radio/interfaces/index.mjs +0 -4
- package/esm2022/lib/form-field/controls/radio/interfaces/radio-button.interface.mjs +0 -2
- package/esm2022/lib/form-field/controls/radio/interfaces/radio-change-event.interface.mjs +0 -11
- package/esm2022/lib/form-field/controls/radio/interfaces/radio-group.interface.mjs +0 -2
- package/esm2022/lib/form-field/controls/radio/radio-button/radio-button.component.mjs +0 -262
- package/esm2022/lib/form-field/controls/radio/radio-group/radio-group.directive.mjs +0 -290
- package/esm2022/lib/form-field/controls/radio/radio.module.mjs +0 -17
- package/esm2022/lib/form-field/controls/select/index.mjs +0 -9
- package/esm2022/lib/form-field/controls/select/interfaces/index.mjs +0 -2
- package/esm2022/lib/form-field/controls/select/interfaces/select-option.interface.mjs +0 -2
- package/esm2022/lib/form-field/controls/select/option/index.mjs +0 -2
- package/esm2022/lib/form-field/controls/select/option/select-option.component.mjs +0 -44
- package/esm2022/lib/form-field/controls/select/option-display/index.mjs +0 -2
- package/esm2022/lib/form-field/controls/select/option-display/select-option-display.component.mjs +0 -162
- package/esm2022/lib/form-field/controls/select/option-group/index.mjs +0 -2
- package/esm2022/lib/form-field/controls/select/option-group/select-option-group.component.mjs +0 -35
- package/esm2022/lib/form-field/controls/select/option-parent.mjs +0 -4
- package/esm2022/lib/form-field/controls/select/select-model.mjs +0 -150
- package/esm2022/lib/form-field/controls/select/select.component.mjs +0 -725
- package/esm2022/lib/form-field/controls/select/select.module.mjs +0 -37
- package/esm2022/lib/form-field/controls/select/value-tags-display/index.mjs +0 -2
- package/esm2022/lib/form-field/controls/select/value-tags-display/select-value-tags-display.component.mjs +0 -91
- package/esm2022/lib/form-field/controls/shared/index.mjs +0 -2
- package/esm2022/lib/form-field/controls/shared/toggle/components/index.mjs +0 -2
- package/esm2022/lib/form-field/controls/shared/toggle/components/toggle-input/toggle-input.component.mjs +0 -17
- package/esm2022/lib/form-field/controls/shared/toggle/index.mjs +0 -4
- package/esm2022/lib/form-field/controls/shared/toggle/toggle.component.mjs +0 -112
- package/esm2022/lib/form-field/controls/shared/toggle/toggle.module.mjs +0 -18
- package/esm2022/lib/form-field/controls/tag-select/index.mjs +0 -2
- package/esm2022/lib/form-field/controls/tag-select/tag-select.component.mjs +0 -146
- package/esm2022/lib/form-field/form-field-errors.mjs +0 -5
- package/esm2022/lib/form-field/impdc-forms.mjs +0 -7
- package/esm2022/lib/form-field/impdc-forms.module.mjs +0 -53
- package/esm2022/lib/form-field/index.mjs +0 -2
- package/esm2022/lib/form-field/services/error-state-matcher.service.mjs +0 -28
- package/esm2022/lib/form-field/services/index.mjs +0 -3
- package/esm2022/lib/form-field/services/unique-selection-dispatcher.service.mjs +0 -48
- package/esm2022/lib/form-field/shared/constructors.type.mjs +0 -2
- package/esm2022/lib/form-field/shared/disabled.mixin.mjs +0 -15
- package/esm2022/lib/form-field/shared/error-state.mixin.mjs +0 -24
- package/esm2022/lib/form-field/shared/form-field-control.mjs +0 -10
- package/esm2022/lib/form-field/shared/index.mjs +0 -5
- package/esm2022/lib/form-field/shared/tab-index.mixin.mjs +0 -19
- package/esm2022/lib/icon/icon.component.mjs +0 -83
- package/esm2022/lib/icon/icon.module.mjs +0 -19
- package/esm2022/lib/icon/index.mjs +0 -3
- package/esm2022/lib/index.mjs +0 -29
- package/esm2022/lib/modal/index.mjs +0 -4
- package/esm2022/lib/modal/modal.component.mjs +0 -266
- package/esm2022/lib/modal/modal.module.mjs +0 -37
- package/esm2022/lib/modal/types/index.mjs +0 -3
- package/esm2022/lib/modal/types/modal-component-sizes.mjs +0 -9
- package/esm2022/lib/modal/types/modal-theme.mjs +0 -12
- package/esm2022/lib/pagination/index.mjs +0 -3
- package/esm2022/lib/pagination/pagination.component.mjs +0 -176
- package/esm2022/lib/pagination/pagination.module.mjs +0 -41
- package/esm2022/lib/progress-bar/index.mjs +0 -3
- package/esm2022/lib/progress-bar/progress-bar.component.mjs +0 -51
- package/esm2022/lib/progress-bar/progress-bar.module.mjs +0 -18
- package/esm2022/lib/scrollable/index.mjs +0 -3
- package/esm2022/lib/scrollable/scrollable.component.mjs +0 -186
- package/esm2022/lib/scrollable/scrollable.module.mjs +0 -21
- package/esm2022/lib/select-icon/index.mjs +0 -3
- package/esm2022/lib/select-icon/select-icon.component.mjs +0 -308
- package/esm2022/lib/select-icon/select-icon.module.mjs +0 -39
- package/esm2022/lib/size-detection/directive/element-size.interface.mjs +0 -2
- package/esm2022/lib/size-detection/directive/index.mjs +0 -3
- package/esm2022/lib/size-detection/directive/size-detector.directive.mjs +0 -43
- package/esm2022/lib/size-detection/index.mjs +0 -3
- package/esm2022/lib/size-detection/size-detection.module.mjs +0 -18
- package/esm2022/lib/spinner/index.mjs +0 -3
- package/esm2022/lib/spinner/spinner.component.mjs +0 -24
- package/esm2022/lib/spinner/spinner.module.mjs +0 -18
- package/esm2022/lib/table/components/bulk-actions/bulk-actions.component.mjs +0 -16
- package/esm2022/lib/table/components/column-heading/column-heading.component.mjs +0 -38
- package/esm2022/lib/table/components/index.mjs +0 -4
- package/esm2022/lib/table/components/row-actions/row-actions.component.mjs +0 -61
- package/esm2022/lib/table/constants/index.mjs +0 -3
- package/esm2022/lib/table/constants/public-table.constants.mjs +0 -2
- package/esm2022/lib/table/constants/table.constants.mjs +0 -23
- package/esm2022/lib/table/containers/index.mjs +0 -2
- package/esm2022/lib/table/containers/table.component.mjs +0 -474
- package/esm2022/lib/table/directives/collapse-monitor.directive.mjs +0 -42
- package/esm2022/lib/table/directives/index.mjs +0 -4
- package/esm2022/lib/table/directives/table-inject-component.directive.mjs +0 -46
- package/esm2022/lib/table/directives/table.directive.mjs +0 -55
- package/esm2022/lib/table/enumerations/index.mjs +0 -2
- package/esm2022/lib/table/enumerations/table-column-type.mjs +0 -21
- package/esm2022/lib/table/helpers/index.mjs +0 -2
- package/esm2022/lib/table/helpers/table-theme.helper.mjs +0 -31
- package/esm2022/lib/table/index.mjs +0 -8
- package/esm2022/lib/table/interfaces/cell-renderer.interface.mjs +0 -2
- package/esm2022/lib/table/interfaces/collapsible-row-content-context.interface.mjs +0 -2
- package/esm2022/lib/table/interfaces/custom-cell-renderer-components.type.mjs +0 -2
- package/esm2022/lib/table/interfaces/index.mjs +0 -13
- package/esm2022/lib/table/interfaces/sort-by-payload.interface.mjs +0 -2
- package/esm2022/lib/table/interfaces/table-cell-option.interface.mjs +0 -2
- package/esm2022/lib/table/interfaces/table-column-defs.type.mjs +0 -2
- package/esm2022/lib/table/interfaces/table-event-payload.interface.mjs +0 -2
- package/esm2022/lib/table/interfaces/table-row-action-payload.interface.mjs +0 -2
- package/esm2022/lib/table/interfaces/table-row-action.interface.mjs +0 -2
- package/esm2022/lib/table/interfaces/table-row-collapse-change.interface.mjs +0 -2
- package/esm2022/lib/table/interfaces/table-row-item.interface.mjs +0 -2
- package/esm2022/lib/table/table.module.mjs +0 -101
- package/esm2022/lib/tag/index.mjs +0 -2
- package/esm2022/lib/tag/tag.component.mjs +0 -104
- package/esm2022/lib/text-highlight/index.mjs +0 -3
- package/esm2022/lib/text-highlight/text-highlight.component.mjs +0 -101
- package/esm2022/lib/text-highlight/text-highlight.module.mjs +0 -17
- package/esm2022/public-api.mjs +0 -9
- package/esm2022/services/index.mjs +0 -2
- package/esm2022/services/interaction.service.mjs +0 -88
- package/esm2022/types/component-size.mjs +0 -12
- package/esm2022/types/component-theme.mjs +0 -22
- package/esm2022/types/index.mjs +0 -3
- package/esm2022/utilities/boolean-props.mjs +0 -7
- package/esm2022/utilities/dc.mjs +0 -9
- package/esm2022/utilities/index.mjs +0 -6
- package/esm2022/utilities/lc.mjs +0 -9
- package/esm2022/utilities/number-props.mjs +0 -18
- package/esm2022/utilities/sanitize.mjs +0 -7
- package/lib/alert/alert.component.d.ts +0 -50
- package/lib/alert/alert.module.d.ts +0 -9
- package/lib/alert/index.d.ts +0 -3
- package/lib/alert/theme/alert-theme.d.ts +0 -1
- package/lib/alert/theme/index.d.ts +0 -1
- package/lib/avatar/avatar.component.d.ts +0 -28
- package/lib/avatar/avatar.module.d.ts +0 -9
- package/lib/avatar/index.d.ts +0 -2
- package/lib/avatar-group/avatar-group.component.d.ts +0 -10
- package/lib/avatar-group/avatar-group.module.d.ts +0 -9
- package/lib/avatar-group/index.d.ts +0 -2
- package/lib/backdrop/backdrop.component.d.ts +0 -24
- package/lib/backdrop/backdrop.module.d.ts +0 -9
- package/lib/backdrop/index.d.ts +0 -2
- package/lib/badge/badge.component.d.ts +0 -63
- package/lib/badge/badge.module.d.ts +0 -10
- package/lib/badge/index.d.ts +0 -3
- package/lib/badge/types/badge-icon.d.ts +0 -1
- package/lib/badge/types/badge-size.d.ts +0 -6
- package/lib/badge/types/index.d.ts +0 -2
- package/lib/branding/branded.directive.d.ts +0 -6
- package/lib/branding/branding.module.d.ts +0 -9
- package/lib/branding/index.d.ts +0 -2
- package/lib/breadcrumb/breadcrumb-item.component.d.ts +0 -7
- package/lib/breadcrumb/breadcrumb.component.d.ts +0 -21
- package/lib/breadcrumb/breadcrumb.module.d.ts +0 -9
- package/lib/breadcrumb/index.d.ts +0 -3
- package/lib/button/button.component.d.ts +0 -47
- package/lib/button/button.module.d.ts +0 -11
- package/lib/button/index.d.ts +0 -3
- package/lib/button/themes/button-theme.d.ts +0 -1
- package/lib/button/themes/index.d.ts +0 -1
- package/lib/button-group/button-group.component.d.ts +0 -22
- package/lib/button-group/button-group.module.d.ts +0 -10
- package/lib/button-group/index.d.ts +0 -2
- package/lib/card-heading/card-heading.component.d.ts +0 -18
- package/lib/card-heading/card-heading.module.d.ts +0 -9
- package/lib/card-heading/index.d.ts +0 -2
- package/lib/data-card/data-card.component.d.ts +0 -68
- package/lib/data-card/data-card.module.d.ts +0 -11
- package/lib/data-card/index.d.ts +0 -2
- package/lib/datetime-picker/components/datepicker-nav/datepicker-nav.component.d.ts +0 -31
- package/lib/datetime-picker/components/datepicker-nav/index.d.ts +0 -1
- package/lib/datetime-picker/components/datepicker-template-host/datepicker-template-host.component.d.ts +0 -15
- package/lib/datetime-picker/components/datepicker-template-host/index.d.ts +0 -1
- package/lib/datetime-picker/components/datetime-picker/datetime-picker.component.d.ts +0 -155
- package/lib/datetime-picker/components/datetime-picker/index.d.ts +0 -1
- package/lib/datetime-picker/components/datetime-picker-input/datetime-picker-input.component.d.ts +0 -160
- package/lib/datetime-picker/components/datetime-picker-input/index.d.ts +0 -1
- package/lib/datetime-picker/components/datetime-picker-input-footer/datetime-picker-input-footer.component.d.ts +0 -24
- package/lib/datetime-picker/components/datetime-picker-input-footer/index.d.ts +0 -1
- package/lib/datetime-picker/components/index.d.ts +0 -5
- package/lib/datetime-picker/constants/datetime-picker-defaults.d.ts +0 -4
- package/lib/datetime-picker/constants/index.d.ts +0 -1
- package/lib/datetime-picker/datetime-picker.module.d.ts +0 -8
- package/lib/datetime-picker/index.d.ts +0 -4
- package/lib/datetime-picker/services/datetime-formatter/datetime-formatter.service.d.ts +0 -20
- package/lib/datetime-picker/services/datetime-formatter/index.d.ts +0 -1
- package/lib/datetime-picker/services/index.d.ts +0 -1
- package/lib/datetime-picker/types/datetime-picker-value.interface.d.ts +0 -5
- package/lib/datetime-picker/types/index.d.ts +0 -1
- package/lib/design-components.module.d.ts +0 -24
- package/lib/dropdown/components/dropdown-item/dropdown-item.component.d.ts +0 -11
- package/lib/dropdown/components/index.d.ts +0 -1
- package/lib/dropdown/dropdown.component.d.ts +0 -67
- package/lib/dropdown/dropdown.module.d.ts +0 -11
- package/lib/dropdown/index.d.ts +0 -4
- package/lib/dropdown/types/dropdown-position.d.ts +0 -1
- package/lib/dropdown/types/index.d.ts +0 -1
- package/lib/file-upload/directives/file-drop.directive.d.ts +0 -11
- package/lib/file-upload/directives/index.d.ts +0 -1
- package/lib/file-upload/file-upload.component.d.ts +0 -105
- package/lib/file-upload/file-upload.module.d.ts +0 -14
- package/lib/file-upload/index.d.ts +0 -4
- package/lib/file-upload/pipes/human-readable-byte-size.pipe.d.ts +0 -7
- package/lib/file-upload/pipes/index.d.ts +0 -1
- package/lib/form-field/component/directives/corner-hint.directive.d.ts +0 -5
- package/lib/form-field/component/directives/error.directive.d.ts +0 -8
- package/lib/form-field/component/directives/form-root.directive.d.ts +0 -26
- package/lib/form-field/component/directives/hint.directive.d.ts +0 -6
- package/lib/form-field/component/directives/index.d.ts +0 -15
- package/lib/form-field/component/directives/label.directive.d.ts +0 -5
- package/lib/form-field/component/directives/prefix.directive.d.ts +0 -9
- package/lib/form-field/component/directives/suffix.directive.d.ts +0 -9
- package/lib/form-field/component/form-field.component.d.ts +0 -37
- package/lib/form-field/component/form-field.module.d.ts +0 -14
- package/lib/form-field/component/index.d.ts +0 -3
- package/lib/form-field/controls/checkbox/checkbox.component.d.ts +0 -137
- package/lib/form-field/controls/checkbox/checkbox.module.d.ts +0 -7
- package/lib/form-field/controls/checkbox/index.d.ts +0 -2
- package/lib/form-field/controls/index.d.ts +0 -5
- package/lib/form-field/controls/input/index.d.ts +0 -1
- package/lib/form-field/controls/input/input.directive.d.ts +0 -84
- package/lib/form-field/controls/radio/index.d.ts +0 -5
- package/lib/form-field/controls/radio/injection-tokens.d.ts +0 -4
- package/lib/form-field/controls/radio/interfaces/index.d.ts +0 -3
- package/lib/form-field/controls/radio/interfaces/radio-button.interface.d.ts +0 -6
- package/lib/form-field/controls/radio/interfaces/radio-change-event.interface.d.ts +0 -12
- package/lib/form-field/controls/radio/interfaces/radio-group.interface.d.ts +0 -13
- package/lib/form-field/controls/radio/radio-button/radio-button.component.d.ts +0 -98
- package/lib/form-field/controls/radio/radio-group/radio-group.directive.d.ts +0 -104
- package/lib/form-field/controls/radio/radio.module.d.ts +0 -8
- package/lib/form-field/controls/select/index.d.ts +0 -9
- package/lib/form-field/controls/select/interfaces/index.d.ts +0 -1
- package/lib/form-field/controls/select/interfaces/select-option.interface.d.ts +0 -6
- package/lib/form-field/controls/select/option/index.d.ts +0 -1
- package/lib/form-field/controls/select/option/select-option.component.d.ts +0 -21
- package/lib/form-field/controls/select/option-display/index.d.ts +0 -1
- package/lib/form-field/controls/select/option-display/select-option-display.component.d.ts +0 -64
- package/lib/form-field/controls/select/option-group/index.d.ts +0 -1
- package/lib/form-field/controls/select/option-group/select-option-group.component.d.ts +0 -11
- package/lib/form-field/controls/select/option-parent.d.ts +0 -16
- package/lib/form-field/controls/select/select-model.d.ts +0 -36
- package/lib/form-field/controls/select/select.component.d.ts +0 -232
- package/lib/form-field/controls/select/select.module.d.ts +0 -10
- package/lib/form-field/controls/select/value-tags-display/index.d.ts +0 -1
- package/lib/form-field/controls/select/value-tags-display/select-value-tags-display.component.d.ts +0 -46
- package/lib/form-field/controls/shared/index.d.ts +0 -1
- package/lib/form-field/controls/shared/toggle/components/index.d.ts +0 -1
- package/lib/form-field/controls/shared/toggle/components/toggle-input/toggle-input.component.d.ts +0 -6
- package/lib/form-field/controls/shared/toggle/index.d.ts +0 -3
- package/lib/form-field/controls/shared/toggle/toggle.component.d.ts +0 -29
- package/lib/form-field/controls/shared/toggle/toggle.module.d.ts +0 -9
- package/lib/form-field/controls/tag-select/index.d.ts +0 -1
- package/lib/form-field/controls/tag-select/tag-select.component.d.ts +0 -43
- package/lib/form-field/form-field-errors.d.ts +0 -2
- package/lib/form-field/impdc-forms.d.ts +0 -6
- package/lib/form-field/impdc-forms.module.d.ts +0 -13
- package/lib/form-field/index.d.ts +0 -1
- package/lib/form-field/services/error-state-matcher.service.d.ts +0 -12
- package/lib/form-field/services/index.d.ts +0 -2
- package/lib/form-field/services/unique-selection-dispatcher.service.d.ts +0 -29
- package/lib/form-field/shared/constructors.type.d.ts +0 -7
- package/lib/form-field/shared/disabled.mixin.d.ts +0 -10
- package/lib/form-field/shared/error-state.mixin.d.ts +0 -31
- package/lib/form-field/shared/form-field-control.d.ts +0 -24
- package/lib/form-field/shared/index.d.ts +0 -5
- package/lib/form-field/shared/tab-index.mixin.d.ts +0 -13
- package/lib/icon/icon.component.d.ts +0 -36
- package/lib/icon/icon.module.d.ts +0 -9
- package/lib/icon/index.d.ts +0 -2
- package/lib/index.d.ts +0 -28
- package/lib/modal/index.d.ts +0 -3
- package/lib/modal/modal.component.d.ts +0 -116
- package/lib/modal/modal.module.d.ts +0 -13
- package/lib/modal/types/index.d.ts +0 -2
- package/lib/modal/types/modal-component-sizes.d.ts +0 -3
- package/lib/modal/types/modal-theme.d.ts +0 -7
- package/lib/pagination/index.d.ts +0 -2
- package/lib/pagination/pagination.component.d.ts +0 -58
- package/lib/pagination/pagination.module.d.ts +0 -14
- package/lib/progress-bar/index.d.ts +0 -2
- package/lib/progress-bar/progress-bar.component.d.ts +0 -31
- package/lib/progress-bar/progress-bar.module.d.ts +0 -8
- package/lib/scrollable/index.d.ts +0 -2
- package/lib/scrollable/scrollable.component.d.ts +0 -41
- package/lib/scrollable/scrollable.module.d.ts +0 -11
- package/lib/select-icon/index.d.ts +0 -2
- package/lib/select-icon/select-icon.component.d.ts +0 -123
- package/lib/select-icon/select-icon.module.d.ts +0 -12
- package/lib/size-detection/directive/element-size.interface.d.ts +0 -4
- package/lib/size-detection/directive/index.d.ts +0 -2
- package/lib/size-detection/directive/size-detector.directive.d.ts +0 -14
- package/lib/size-detection/index.d.ts +0 -3
- package/lib/size-detection/size-detection.module.d.ts +0 -8
- package/lib/spinner/index.d.ts +0 -2
- package/lib/spinner/spinner.component.d.ts +0 -13
- package/lib/spinner/spinner.module.d.ts +0 -8
- package/lib/table/components/bulk-actions/bulk-actions.component.d.ts +0 -10
- package/lib/table/components/column-heading/column-heading.component.d.ts +0 -14
- package/lib/table/components/index.d.ts +0 -3
- package/lib/table/components/row-actions/row-actions.component.d.ts +0 -21
- package/lib/table/constants/index.d.ts +0 -2
- package/lib/table/constants/public-table.constants.d.ts +0 -1
- package/lib/table/constants/table.constants.d.ts +0 -9
- package/lib/table/containers/index.d.ts +0 -1
- package/lib/table/containers/table.component.d.ts +0 -178
- package/lib/table/directives/collapse-monitor.directive.d.ts +0 -12
- package/lib/table/directives/index.d.ts +0 -3
- package/lib/table/directives/table-inject-component.directive.d.ts +0 -16
- package/lib/table/directives/table.directive.d.ts +0 -23
- package/lib/table/enumerations/index.d.ts +0 -1
- package/lib/table/enumerations/table-column-type.d.ts +0 -19
- package/lib/table/helpers/index.d.ts +0 -1
- package/lib/table/helpers/table-theme.helper.d.ts +0 -7
- package/lib/table/index.d.ts +0 -7
- package/lib/table/interfaces/cell-renderer.interface.d.ts +0 -13
- package/lib/table/interfaces/collapsible-row-content-context.interface.d.ts +0 -39
- package/lib/table/interfaces/custom-cell-renderer-components.type.d.ts +0 -3
- package/lib/table/interfaces/index.d.ts +0 -12
- package/lib/table/interfaces/sort-by-payload.interface.d.ts +0 -11
- package/lib/table/interfaces/table-cell-option.interface.d.ts +0 -4
- package/lib/table/interfaces/table-column-defs.type.d.ts +0 -53
- package/lib/table/interfaces/table-event-payload.interface.d.ts +0 -13
- package/lib/table/interfaces/table-row-action-payload.interface.d.ts +0 -13
- package/lib/table/interfaces/table-row-action.interface.d.ts +0 -17
- package/lib/table/interfaces/table-row-collapse-change.interface.d.ts +0 -11
- package/lib/table/interfaces/table-row-item.interface.d.ts +0 -8
- package/lib/table/table.module.d.ts +0 -24
- package/lib/tag/index.d.ts +0 -1
- package/lib/tag/tag.component.d.ts +0 -54
- package/lib/text-highlight/index.d.ts +0 -2
- package/lib/text-highlight/text-highlight.component.d.ts +0 -37
- package/lib/text-highlight/text-highlight.module.d.ts +0 -8
- package/public-api.d.ts +0 -4
- package/services/index.d.ts +0 -1
- package/services/interaction.service.d.ts +0 -28
- package/types/component-size.d.ts +0 -12
- package/types/component-theme.d.ts +0 -12
- package/types/index.d.ts +0 -2
- package/utilities/boolean-props.d.ts +0 -8
- package/utilities/dc.d.ts +0 -6
- package/utilities/index.d.ts +0 -5
- package/utilities/lc.d.ts +0 -6
- package/utilities/number-props.d.ts +0 -15
- package/utilities/sanitize.d.ts +0 -1
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { BrandingModule } from '../branding';
|
|
4
|
-
import { SizeDetectionModule } from '../size-detection';
|
|
5
|
-
import { ScrollableComponent } from './scrollable.component';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class ScrollableModule {
|
|
8
|
-
constructor() { }
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ScrollableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: ScrollableModule, declarations: [ScrollableComponent], imports: [CommonModule, SizeDetectionModule, BrandingModule], exports: [ScrollableComponent, BrandingModule] }); }
|
|
11
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ScrollableModule, imports: [CommonModule, SizeDetectionModule, BrandingModule, BrandingModule] }); }
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ScrollableModule, decorators: [{
|
|
14
|
-
type: NgModule,
|
|
15
|
-
args: [{
|
|
16
|
-
imports: [CommonModule, SizeDetectionModule, BrandingModule],
|
|
17
|
-
declarations: [ScrollableComponent],
|
|
18
|
-
exports: [ScrollableComponent, BrandingModule]
|
|
19
|
-
}]
|
|
20
|
-
}], ctorParameters: () => [] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3Njcm9sbGFibGUvc2Nyb2xsYWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFPN0QsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixnQkFBZSxDQUFDOzhHQURMLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQUhaLG1CQUFtQixhQUR4QixZQUFZLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxhQUVqRCxtQkFBbUIsRUFBRSxjQUFjOytHQUVsQyxnQkFBZ0IsWUFKakIsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFFNUIsY0FBYzs7MkZBRWxDLGdCQUFnQjtrQkFMNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxDQUFDO29CQUM1RCxZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsY0FBYyxDQUFDO2lCQUMvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJhbmRpbmdNb2R1bGUgfSBmcm9tICcuLi9icmFuZGluZyc7XG5pbXBvcnQgeyBTaXplRGV0ZWN0aW9uTW9kdWxlIH0gZnJvbSAnLi4vc2l6ZS1kZXRlY3Rpb24nO1xuaW1wb3J0IHsgU2Nyb2xsYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vc2Nyb2xsYWJsZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTaXplRGV0ZWN0aW9uTW9kdWxlLCBCcmFuZGluZ01vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1Njcm9sbGFibGVDb21wb25lbnRdLFxuICBleHBvcnRzOiBbU2Nyb2xsYWJsZUNvbXBvbmVudCwgQnJhbmRpbmdNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIFNjcm9sbGFibGVNb2R1bGUge1xuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './select-icon.component';
|
|
2
|
-
export * from './select-icon.module';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3NlbGVjdC1pY29uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWljb24ubW9kdWxlJztcbiJdfQ==
|
|
@@ -1,308 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @angular-eslint/no-conflicting-lifecycle */
|
|
2
|
-
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Inject, Input, Optional, Output, Self, ViewChild } from '@angular/core';
|
|
3
|
-
import { FormControl, Validators } from '@angular/forms';
|
|
4
|
-
import { nanoid } from 'nanoid';
|
|
5
|
-
import { BehaviorSubject, combineLatest, debounceTime, distinctUntilChanged, map, startWith, Subject } from 'rxjs';
|
|
6
|
-
import { FontAwesomeIcons } from '../../constants';
|
|
7
|
-
import { coerceBooleanPropertyValue } from '../../utilities';
|
|
8
|
-
import { ImpdcFormFieldControl, IMPDC_FORM_ROOT, mixinDisabled, mixinErrorState, mixinTabIndex } from '../form-field';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "../form-field";
|
|
11
|
-
import * as i2 from "@angular/forms";
|
|
12
|
-
import * as i3 from "@angular/common";
|
|
13
|
-
import * as i4 from "../form-field/component/form-field.component";
|
|
14
|
-
import * as i5 from "../form-field/component/directives/prefix.directive";
|
|
15
|
-
import * as i6 from "../form-field/controls/input/input.directive";
|
|
16
|
-
import * as i7 from "../icon/icon.component";
|
|
17
|
-
import * as i8 from "@ng-bootstrap/ng-bootstrap";
|
|
18
|
-
export class ImpdcSelectIconChange {
|
|
19
|
-
constructor(source, value) {
|
|
20
|
-
this.source = source;
|
|
21
|
-
this.value = value;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
const _SelectIconComponentBase = mixinTabIndex(mixinDisabled(mixinErrorState(class {
|
|
25
|
-
constructor(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl) {
|
|
26
|
-
this._defaultErrorStateMatcher = _defaultErrorStateMatcher;
|
|
27
|
-
this._formRoot = _formRoot;
|
|
28
|
-
this._parentForm = _parentForm;
|
|
29
|
-
this._parentFormGroup = _parentFormGroup;
|
|
30
|
-
this.ngControl = ngControl;
|
|
31
|
-
this.stateChanges = new Subject();
|
|
32
|
-
}
|
|
33
|
-
})));
|
|
34
|
-
/**
|
|
35
|
-
* The `SelectIconComponent` (`<impdc-select-icon`) is a select dropdown with search that shows all standard icons from Bootstrap 5.
|
|
36
|
-
* To use, import `SelectIconModule` or another module that imports and exports that module from `@impartner/design-components`.
|
|
37
|
-
*/
|
|
38
|
-
export class SelectIconComponent extends _SelectIconComponentBase {
|
|
39
|
-
get iconOptions() {
|
|
40
|
-
return [...this._iconOptionsSubject.value];
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Set to override the default set of FontAwesome icon options.
|
|
44
|
-
*/
|
|
45
|
-
set iconOptions(iconOptions) {
|
|
46
|
-
if (iconOptions) {
|
|
47
|
-
this._iconOptionsSubject.next([...iconOptions]);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* The placeholder text that will be displayed when no selection has been made.
|
|
52
|
-
*
|
|
53
|
-
* @default \- Select -
|
|
54
|
-
*/
|
|
55
|
-
get placeholder() {
|
|
56
|
-
return this._placeholder;
|
|
57
|
-
}
|
|
58
|
-
set placeholder(value) {
|
|
59
|
-
this._placeholder = value;
|
|
60
|
-
this.stateChanges.next();
|
|
61
|
-
}
|
|
62
|
-
constructor(_changeDetector, _defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl) {
|
|
63
|
-
super(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl);
|
|
64
|
-
this._changeDetector = _changeDetector;
|
|
65
|
-
this.searchControl = new FormControl('');
|
|
66
|
-
this._uid = `impdc-select-icon-${nanoid()}`;
|
|
67
|
-
this._dropdownOpen = false;
|
|
68
|
-
this._iconOptionsSubject = new BehaviorSubject(FontAwesomeIcons);
|
|
69
|
-
this._cvaOnChange = () => { };
|
|
70
|
-
this._cvaOnTouched = () => { };
|
|
71
|
-
this._placeholder = '- Select -';
|
|
72
|
-
/** Events fire when selection has been changed by the user. */
|
|
73
|
-
this.selectionChange = new EventEmitter();
|
|
74
|
-
/**
|
|
75
|
-
* Events fire when raw value of select changes. Mainly exists to handle
|
|
76
|
-
* two-way binding of `value` input property.
|
|
77
|
-
* @ignore
|
|
78
|
-
*/
|
|
79
|
-
this.valueChange = new EventEmitter();
|
|
80
|
-
this._value = null;
|
|
81
|
-
this._focused = false;
|
|
82
|
-
this.controlType = 'impdc-select-icon';
|
|
83
|
-
this.supportsAffixes = true;
|
|
84
|
-
this.allowSearch = false;
|
|
85
|
-
this.showText = true;
|
|
86
|
-
this.showSelectedText = true;
|
|
87
|
-
const debouncedSearchValues = this.searchControl.valueChanges.pipe(startWith(''), debounceTime(200), distinctUntilChanged());
|
|
88
|
-
this.filteredOptions$ = combineLatest([
|
|
89
|
-
debouncedSearchValues,
|
|
90
|
-
this._iconOptionsSubject.asObservable()
|
|
91
|
-
]).pipe(map(([searchTerm, iconOptions]) => {
|
|
92
|
-
if (!searchTerm) {
|
|
93
|
-
return [...iconOptions];
|
|
94
|
-
}
|
|
95
|
-
const searchTermLowerCase = searchTerm.toLowerCase();
|
|
96
|
-
return iconOptions.filter(option => option.toLowerCase().indexOf(searchTermLowerCase) > -1);
|
|
97
|
-
}));
|
|
98
|
-
if (this.ngControl) {
|
|
99
|
-
this.ngControl.valueAccessor = this;
|
|
100
|
-
}
|
|
101
|
-
this.id = this.id;
|
|
102
|
-
}
|
|
103
|
-
get empty() {
|
|
104
|
-
return !this.value;
|
|
105
|
-
}
|
|
106
|
-
/** @ignore */
|
|
107
|
-
focus(options) {
|
|
108
|
-
this._toggleButtonRef.nativeElement.focus(options);
|
|
109
|
-
}
|
|
110
|
-
/* Lifecycle Hooks */
|
|
111
|
-
/** @ignore */
|
|
112
|
-
ngDoCheck() {
|
|
113
|
-
const ngControl = this.ngControl;
|
|
114
|
-
if (!ngControl) {
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
if (this._previousControl !== ngControl.control) {
|
|
118
|
-
if (this._previousControl !== undefined &&
|
|
119
|
-
ngControl.disabled !== null &&
|
|
120
|
-
ngControl.disabled !== this.disabled) {
|
|
121
|
-
this.disabled = ngControl?.disabled;
|
|
122
|
-
}
|
|
123
|
-
this._previousControl = ngControl.control;
|
|
124
|
-
}
|
|
125
|
-
this.updateErrorState();
|
|
126
|
-
}
|
|
127
|
-
/** @ignore */
|
|
128
|
-
ngOnChanges(changes) {
|
|
129
|
-
// Managing disabled state is handled via the `mixinDisabled` mixin/generator, but we still need to signal
|
|
130
|
-
// to the parent form field so it can run change detection when disabled state is changed.
|
|
131
|
-
if (changes['disabled']) {
|
|
132
|
-
this.stateChanges.next();
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
/** @ignore */
|
|
136
|
-
ngOnDestroy() {
|
|
137
|
-
this.stateChanges.complete();
|
|
138
|
-
}
|
|
139
|
-
/* ControlValueAccessor */
|
|
140
|
-
/** @ignore */
|
|
141
|
-
writeValue(value) {
|
|
142
|
-
this.value = value;
|
|
143
|
-
this._changeDetector.markForCheck();
|
|
144
|
-
}
|
|
145
|
-
/** @ignore */
|
|
146
|
-
registerOnChange(fn) {
|
|
147
|
-
this._cvaOnChange = fn;
|
|
148
|
-
}
|
|
149
|
-
/** @ignore */
|
|
150
|
-
registerOnTouched(fn) {
|
|
151
|
-
this._cvaOnTouched = fn;
|
|
152
|
-
}
|
|
153
|
-
/** @ignore */
|
|
154
|
-
setDisabledState(isDisabled) {
|
|
155
|
-
this.disabled = isDisabled;
|
|
156
|
-
this._changeDetector.markForCheck();
|
|
157
|
-
}
|
|
158
|
-
/* ImpdcFormFieldControl */
|
|
159
|
-
get value() {
|
|
160
|
-
return this._value;
|
|
161
|
-
}
|
|
162
|
-
set value(value) {
|
|
163
|
-
const newValue = (value && this.iconOptions.find(opt => opt === value)) || null;
|
|
164
|
-
if (newValue !== this._value) {
|
|
165
|
-
this._value = newValue;
|
|
166
|
-
this.stateChanges.next();
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
get id() {
|
|
170
|
-
return this._id;
|
|
171
|
-
}
|
|
172
|
-
set id(value) {
|
|
173
|
-
this._id = value || this._uid;
|
|
174
|
-
this.stateChanges.next();
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Used to set requiredness of control in a template-based manner;
|
|
178
|
-
* not necessary when using the Angular reactive forms API and `required` validator.
|
|
179
|
-
*
|
|
180
|
-
* @default false
|
|
181
|
-
*/
|
|
182
|
-
get required() {
|
|
183
|
-
return (this._required ??
|
|
184
|
-
this.ngControl?.control?.hasValidator(Validators.required) ??
|
|
185
|
-
false);
|
|
186
|
-
}
|
|
187
|
-
set required(value) {
|
|
188
|
-
this._required = coerceBooleanPropertyValue(value);
|
|
189
|
-
this.stateChanges.next();
|
|
190
|
-
}
|
|
191
|
-
get focused() {
|
|
192
|
-
return this._focused || this._dropdownOpen;
|
|
193
|
-
}
|
|
194
|
-
/* Internals */
|
|
195
|
-
handleOpenChange(isOpen) {
|
|
196
|
-
this._dropdownOpen = isOpen;
|
|
197
|
-
this.searchControl.reset();
|
|
198
|
-
if (isOpen) {
|
|
199
|
-
this._onFocus();
|
|
200
|
-
}
|
|
201
|
-
else {
|
|
202
|
-
this._onBlur();
|
|
203
|
-
}
|
|
204
|
-
this.stateChanges.next();
|
|
205
|
-
}
|
|
206
|
-
selectIcon(iconName) {
|
|
207
|
-
if (iconName !== this.value) {
|
|
208
|
-
this.value = iconName;
|
|
209
|
-
this.valueChange.emit(this.value);
|
|
210
|
-
this._cvaOnChange(this.value);
|
|
211
|
-
this.selectionChange.emit(this._buildChangeEvent(this.value));
|
|
212
|
-
this._changeDetector.markForCheck();
|
|
213
|
-
}
|
|
214
|
-
if (this._dropdownOpen) {
|
|
215
|
-
this.focus();
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
_onFocus() {
|
|
219
|
-
if (!this.disabled) {
|
|
220
|
-
this._focused = true;
|
|
221
|
-
this.stateChanges.next();
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Calls the CVA touched callback only if the dropdown is closed.
|
|
226
|
-
*/
|
|
227
|
-
_onBlur() {
|
|
228
|
-
this._focused = false;
|
|
229
|
-
if (!this.disabled && !this._dropdownOpen) {
|
|
230
|
-
this._cvaOnTouched();
|
|
231
|
-
this._changeDetector.markForCheck();
|
|
232
|
-
this.stateChanges.next();
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
_buildChangeEvent(value) {
|
|
236
|
-
return new ImpdcSelectIconChange(this, value);
|
|
237
|
-
}
|
|
238
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectIconComponent, 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.Component }); }
|
|
239
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: SelectIconComponent, selector: "impdc-select-icon", inputs: { disabled: "disabled", tabIndex: "tabIndex", allowSearch: "allowSearch", iconOptions: "iconOptions", showText: "showText", showSelectedText: "showSelectedText", placeholder: "placeholder", errorStateMatcher: "errorStateMatcher", value: "value", id: "id", required: "required" }, outputs: { selectionChange: "selectionChange", valueChange: "valueChange" }, host: { listeners: { "focus": "_onFocus(); focus()" }, properties: { "attr.id": "id", "attr.tabindex": "tabIndex", "attr.aria-required": "required.toString()", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "class.form-select": "true", "class.is-invalid": "errorState", "class.impdc-form-field-control": "true", "class.impdc-select-icon--required": "required", "class.impdc-select-icon--disabled": "disabled", "class.impdc-select-icon--invalid": "errorState", "class.impdc-select-icon--empty": "empty" }, classAttribute: "impdc-select-icon" }, providers: [
|
|
240
|
-
{
|
|
241
|
-
provide: ImpdcFormFieldControl,
|
|
242
|
-
useExisting: SelectIconComponent
|
|
243
|
-
}
|
|
244
|
-
], viewQueries: [{ propertyName: "_toggleButtonRef", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n ngbDropdown\n autoClose=\"outside\"\n container=\"body\"\n dropdownClass=\"impartner-hex\"\n (openChange)=\"handleOpenChange($event)\"\n class=\"w-100\">\n <button\n #toggleButton\n class=\"impdc-select-icon--toggle btn border-0 text-start\"\n type=\"button\"\n role=\"combobox\"\n [disabled]=\"disabled\"\n ngbDropdownToggle>\n <ng-container [ngSwitch]=\"empty\">\n <span\n class=\"impdc-select-icon--text impdc-select-icon--placeholder\"\n *ngSwitchCase=\"true\">\n {{ placeholder }}\n </span>\n <div\n class=\"impdc-select-icon--text impdc-select-icon--value-text\"\n *ngSwitchCase=\"false\">\n <i impdc-icon [name]=\"value ?? undefined\"></i>\n <span *ngIf=\"showSelectedText\" class=\"ms-2\">{{ value }}</span>\n </div>\n </ng-container>\n </button>\n <div ngbDropdownMenu class=\"impdc-select-icon--dropdown-menu\" tabindex=\"-1\">\n <div *ngIf=\"allowSearch\" class=\"impdc-select-icon--search\">\n <impdc-form-field>\n <span impdcTextPrefix><i impdc-icon name=\"search\"></i></span>\n <input\n impdcInput\n [formControl]=\"searchControl\"\n class=\"impdc-select-icon--search-input\"\n type=\"search\" />\n </impdc-form-field>\n </div>\n <div class=\"impdc-select-icon--grid\">\n <button\n *ngFor=\"let iconName of filteredOptions$ | async\"\n type=\"button\"\n (click)=\"selectIcon(iconName)\"\n class=\"impdc-select-icon--option\"\n [class.selected]=\"value === iconName\"\n [title]=\"iconName\"\n [attr.aria-labelledby]=\"showText ? id + '_' + iconName : null\">\n <div class=\"impdc-select-icon--option-container\">\n <i impdc-icon [name]=\"iconName\" class=\"fs-2xl\"></i>\n </div>\n <div\n id=\"{{ id }}_{{ iconName }}\"\n class=\"impdc-select-icon--option-label\"\n [class.sr-only]=\"!showText\">\n {{ iconName }}\n </div>\n </button>\n </div>\n </div>\n</div>\n", styles: [":host{padding:0!important;position:relative}:host.impdc-select-icon--disabled{background-color:var(--impd-color-gray-100)}.impdc-select-icon--toggle{font-weight:inherit;padding-right:3.6rem;-webkit-user-select:none;user-select:none;width:100%}:host-context(.is-invalid) .impdc-select-icon--toggle{padding-right:6.6rem}.impdc-select-icon--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.impdc-select-icon--dropdown-menu{background-color:var(--impd-color-white);color:var(--impd-color-gray-600);max-width:51.2rem;min-width:32rem;overflow:hidden;width:100%}.impdc-select-icon--search{margin:var(--impd-size-2);font-size:var(--impd-font-size-sm)}.impdc-select-icon--grid{display:grid;align-items:start;grid-template-columns:repeat(auto-fit,minmax(4.8rem,1fr));gap:var(--impd-size-4);width:100%;max-height:var(--impd-size-40);overflow-y:auto;overflow-x:hidden;padding:var(--impd-size-4);-webkit-user-select:none;user-select:none}button[ngbDropdownToggle].dropdown-toggle:after{display:none}.impdc-select-icon--option{padding:0;background:unset;border:none}.impdc-select-icon--option:focus{outline:0}.impdc-select-icon--option-container{height:4rem;width:4rem;margin-left:auto;margin-right:auto;display:flex;align-items:center;justify-content:center;border-radius:50%;justify-items:center}.selected>.impdc-select-icon--option-container,:hover>.impdc-select-icon--option-container,:focus>.impdc-select-icon--option-container{background-color:var(--impartner-hex-primary);color:var(--impartner-hex-white)}.impdc-select-icon--option-label{text-align:center;font-size:1rem}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i4.FormFieldComponent, selector: "impdc-form-field", exportAs: ["impdcFormField"] }, { kind: "directive", type: i5.PrefixDirective, selector: "[impdcPrefix], [impdcTextPrefix]", inputs: ["impdcTextPrefix"] }, { kind: "directive", type: i6.InputDirective, selector: "input[impdcInput], textarea[impdcInput], select[impdcNativeSelect]", inputs: ["disabled", "id", "type", "required", "readonly", "errorStateMatcher", "value"], exportAs: ["impdcInput"] }, { kind: "component", type: i7.IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }, { kind: "directive", type: i8.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i8.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i8.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
245
|
-
}
|
|
246
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectIconComponent, decorators: [{
|
|
247
|
-
type: Component,
|
|
248
|
-
args: [{ selector: 'impdc-select-icon', inputs: ['disabled', 'tabIndex'], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
249
|
-
class: 'impdc-select-icon',
|
|
250
|
-
'[attr.id]': 'id',
|
|
251
|
-
'[attr.tabindex]': 'tabIndex',
|
|
252
|
-
'[attr.aria-required]': 'required.toString()',
|
|
253
|
-
'[attr.aria-disabled]': 'disabled.toString()',
|
|
254
|
-
'[attr.aria-invalid]': 'errorState',
|
|
255
|
-
'[class.form-select]': 'true',
|
|
256
|
-
'[class.is-invalid]': 'errorState',
|
|
257
|
-
'[class.impdc-form-field-control]': 'true',
|
|
258
|
-
'[class.impdc-select-icon--required]': 'required',
|
|
259
|
-
'[class.impdc-select-icon--disabled]': 'disabled',
|
|
260
|
-
'[class.impdc-select-icon--invalid]': 'errorState',
|
|
261
|
-
'[class.impdc-select-icon--empty]': 'empty',
|
|
262
|
-
'(focus)': '_onFocus(); focus()'
|
|
263
|
-
}, providers: [
|
|
264
|
-
{
|
|
265
|
-
provide: ImpdcFormFieldControl,
|
|
266
|
-
useExisting: SelectIconComponent
|
|
267
|
-
}
|
|
268
|
-
], template: "<div\n ngbDropdown\n autoClose=\"outside\"\n container=\"body\"\n dropdownClass=\"impartner-hex\"\n (openChange)=\"handleOpenChange($event)\"\n class=\"w-100\">\n <button\n #toggleButton\n class=\"impdc-select-icon--toggle btn border-0 text-start\"\n type=\"button\"\n role=\"combobox\"\n [disabled]=\"disabled\"\n ngbDropdownToggle>\n <ng-container [ngSwitch]=\"empty\">\n <span\n class=\"impdc-select-icon--text impdc-select-icon--placeholder\"\n *ngSwitchCase=\"true\">\n {{ placeholder }}\n </span>\n <div\n class=\"impdc-select-icon--text impdc-select-icon--value-text\"\n *ngSwitchCase=\"false\">\n <i impdc-icon [name]=\"value ?? undefined\"></i>\n <span *ngIf=\"showSelectedText\" class=\"ms-2\">{{ value }}</span>\n </div>\n </ng-container>\n </button>\n <div ngbDropdownMenu class=\"impdc-select-icon--dropdown-menu\" tabindex=\"-1\">\n <div *ngIf=\"allowSearch\" class=\"impdc-select-icon--search\">\n <impdc-form-field>\n <span impdcTextPrefix><i impdc-icon name=\"search\"></i></span>\n <input\n impdcInput\n [formControl]=\"searchControl\"\n class=\"impdc-select-icon--search-input\"\n type=\"search\" />\n </impdc-form-field>\n </div>\n <div class=\"impdc-select-icon--grid\">\n <button\n *ngFor=\"let iconName of filteredOptions$ | async\"\n type=\"button\"\n (click)=\"selectIcon(iconName)\"\n class=\"impdc-select-icon--option\"\n [class.selected]=\"value === iconName\"\n [title]=\"iconName\"\n [attr.aria-labelledby]=\"showText ? id + '_' + iconName : null\">\n <div class=\"impdc-select-icon--option-container\">\n <i impdc-icon [name]=\"iconName\" class=\"fs-2xl\"></i>\n </div>\n <div\n id=\"{{ id }}_{{ iconName }}\"\n class=\"impdc-select-icon--option-label\"\n [class.sr-only]=\"!showText\">\n {{ iconName }}\n </div>\n </button>\n </div>\n </div>\n</div>\n", styles: [":host{padding:0!important;position:relative}:host.impdc-select-icon--disabled{background-color:var(--impd-color-gray-100)}.impdc-select-icon--toggle{font-weight:inherit;padding-right:3.6rem;-webkit-user-select:none;user-select:none;width:100%}:host-context(.is-invalid) .impdc-select-icon--toggle{padding-right:6.6rem}.impdc-select-icon--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.impdc-select-icon--dropdown-menu{background-color:var(--impd-color-white);color:var(--impd-color-gray-600);max-width:51.2rem;min-width:32rem;overflow:hidden;width:100%}.impdc-select-icon--search{margin:var(--impd-size-2);font-size:var(--impd-font-size-sm)}.impdc-select-icon--grid{display:grid;align-items:start;grid-template-columns:repeat(auto-fit,minmax(4.8rem,1fr));gap:var(--impd-size-4);width:100%;max-height:var(--impd-size-40);overflow-y:auto;overflow-x:hidden;padding:var(--impd-size-4);-webkit-user-select:none;user-select:none}button[ngbDropdownToggle].dropdown-toggle:after{display:none}.impdc-select-icon--option{padding:0;background:unset;border:none}.impdc-select-icon--option:focus{outline:0}.impdc-select-icon--option-container{height:4rem;width:4rem;margin-left:auto;margin-right:auto;display:flex;align-items:center;justify-content:center;border-radius:50%;justify-items:center}.selected>.impdc-select-icon--option-container,:hover>.impdc-select-icon--option-container,:focus>.impdc-select-icon--option-container{background-color:var(--impartner-hex-primary);color:var(--impartner-hex-white)}.impdc-select-icon--option-label{text-align:center;font-size:1rem}\n"] }]
|
|
269
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.ErrorStateMatcher }, { type: undefined, decorators: [{
|
|
270
|
-
type: Optional
|
|
271
|
-
}, {
|
|
272
|
-
type: Inject,
|
|
273
|
-
args: [IMPDC_FORM_ROOT]
|
|
274
|
-
}] }, { type: i2.NgForm, decorators: [{
|
|
275
|
-
type: Optional
|
|
276
|
-
}] }, { type: i2.FormGroupDirective, decorators: [{
|
|
277
|
-
type: Optional
|
|
278
|
-
}] }, { type: i2.NgControl, decorators: [{
|
|
279
|
-
type: Self
|
|
280
|
-
}, {
|
|
281
|
-
type: Optional
|
|
282
|
-
}] }], propDecorators: { _toggleButtonRef: [{
|
|
283
|
-
type: ViewChild,
|
|
284
|
-
args: ['toggleButton', { static: true, read: ElementRef }]
|
|
285
|
-
}], allowSearch: [{
|
|
286
|
-
type: Input
|
|
287
|
-
}], iconOptions: [{
|
|
288
|
-
type: Input
|
|
289
|
-
}], showText: [{
|
|
290
|
-
type: Input
|
|
291
|
-
}], showSelectedText: [{
|
|
292
|
-
type: Input
|
|
293
|
-
}], placeholder: [{
|
|
294
|
-
type: Input
|
|
295
|
-
}], errorStateMatcher: [{
|
|
296
|
-
type: Input
|
|
297
|
-
}], selectionChange: [{
|
|
298
|
-
type: Output
|
|
299
|
-
}], valueChange: [{
|
|
300
|
-
type: Output
|
|
301
|
-
}], value: [{
|
|
302
|
-
type: Input
|
|
303
|
-
}], id: [{
|
|
304
|
-
type: Input
|
|
305
|
-
}], required: [{
|
|
306
|
-
type: Input
|
|
307
|
-
}] } });
|
|
308
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9zZWxlY3QtaWNvbi9zZWxlY3QtaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3NlbGVjdC1pY29uL3NlbGVjdC1pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZEQUE2RDtBQUM3RCxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBRUosU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxXQUFXLEVBSVgsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLEdBQUcsRUFFSCxTQUFTLEVBQ1QsT0FBTyxFQUNSLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFnQiwwQkFBMEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFJTCxxQkFBcUIsRUFFckIsZUFBZSxFQUNmLGFBQWEsRUFDYixlQUFlLEVBQ2YsYUFBYSxFQUNkLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBRXZCLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsWUFBbUIsTUFBMkIsRUFBUyxLQUFVO1FBQTlDLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQVMsVUFBSyxH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Tzt3QkFDM0MsU0FBUyxFQUFFLHFCQUFxQjtxQkFDakMsYUFDVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUscUJBQXFCOzRCQUM5QixXQUFXLHFCQUFxQjt5QkFDakM7cUJBQ0Y7OzBCQWtHRSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWU7OzBCQUNsQyxRQUFROzswQkFDUixRQUFROzswQkFDUixJQUFJOzswQkFBSSxRQUFRO3lDQXZGVCxnQkFBZ0I7c0JBRHpCLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQXFCdEQsV0FBVztzQkFEakIsS0FBSztnQkFXSyxXQUFXO3NCQURyQixLQUFLO2dCQVlDLFFBQVE7c0JBRGQsS0FBSztnQkFRQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBU0ssV0FBVztzQkFEckIsS0FBSztnQkFXVSxpQkFBaUI7c0JBRGhDLEtBQUs7Z0JBS1UsZUFBZTtzQkFEOUIsTUFBTTtnQkFVUyxXQUFXO3NCQUQxQixNQUFNO2dCQThISSxLQUFLO3NCQURmLEtBQUs7Z0JBZ0JLLEVBQUU7c0JBRFosS0FBSztnQkFpQkssUUFBUTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1jb25mbGljdGluZy1saWZlY3ljbGUgKi9cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBTZWxmLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBGb3JtQ29udHJvbCxcbiAgRm9ybUdyb3VwRGlyZWN0aXZlLFxuICBOZ0NvbnRyb2wsXG4gIE5nRm9ybSxcbiAgVmFsaWRhdG9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBuYW5vaWQgfSBmcm9tICduYW5vaWQnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBkZWJvdW5jZVRpbWUsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIHN0YXJ0V2l0aCxcbiAgU3ViamVjdFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbnMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHlWYWx1ZSB9IGZyb20gJy4uLy4uL3V0aWxpdGllcyc7XG5pbXBvcnQge1xuICBFcnJvclN0YXRlTWF0Y2hlcixcbiAgSUNhblVwZGF0ZUVycm9yU3RhdGUsXG4gIElIYXNFcnJvclN0YXRlLFxuICBJbXBkY0Zvcm1GaWVsZENvbnRyb2wsXG4gIEltcGRjRm9ybVJvb3QsXG4gIElNUERDX0ZPUk1fUk9PVCxcbiAgbWl4aW5EaXNhYmxlZCxcbiAgbWl4aW5FcnJvclN0YXRlLFxuICBtaXhpblRhYkluZGV4XG59IGZyb20gJy4uL2Zvcm0tZmllbGQnO1xuXG5leHBvcnQgY2xhc3MgSW1wZGNTZWxlY3RJY29uQ2hhbmdlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHNvdXJjZTogU2VsZWN0SWNvbkNvbXBvbmVudCwgcHVibGljIHZhbHVlOiBhbnkpIHt9XG59XG5cbmNvbnN0IF9TZWxlY3RJY29uQ29tcG9uZW50QmFzZSA9IG1peGluVGFiSW5kZXgoXG4gIG1peGluRGlzYWJsZWQoXG4gICAgbWl4aW5FcnJvclN0YXRlKFxuICAgICAgY2xhc3Mge1xuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgICAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgICBwdWJsaWMgX2RlZmF1bHRFcnJvclN0YXRlTWF0Y2hlcjogRXJyb3JTdGF0ZU1hdGNoZXIsXG4gICAgICAgICAgcHVibGljIF9mb3JtUm9vdDogSW1wZGNGb3JtUm9vdCxcbiAgICAgICAgICBwdWJsaWMgX3BhcmVudEZvcm06IE5nRm9ybSxcbiAgICAgICAgICBwdWJsaWMgX3BhcmVudEZvcm1Hcm91cDogRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgICAgICAgIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGxcbiAgICAgICAgKSB7fVxuICAgICAgfVxuICAgIClcbiAgKVxuKTtcblxuLyoqXG4gKiBUaGUgYFNlbGVjdEljb25Db21wb25lbnRgIChgPGltcGRjLXNlbGVjdC1pY29uYCkgaXMgYSBzZWxlY3QgZHJvcGRvd24gd2l0aCBzZWFyY2ggdGhhdCBzaG93cyBhbGwgc3RhbmRhcmQgaWNvbnMgZnJvbSBCb290c3RyYXAgNS5cbiAqIFRvIHVzZSwgaW1wb3J0IGBTZWxlY3RJY29uTW9kdWxlYCBvciBhbm90aGVyIG1vZHVsZSB0aGF0IGltcG9ydHMgYW5kIGV4cG9ydHMgdGhhdCBtb2R1bGUgZnJvbSBgQGltcGFydG5lci9kZXNpZ24tY29tcG9uZW50c2AuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ltcGRjLXNlbGVjdC1pY29uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWljb24uY29tcG9uZW50LnNjc3MnXSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3RhYkluZGV4J10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHlcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnaW1wZGMtc2VsZWN0LWljb24nLFxuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgICdbYXR0ci50YWJpbmRleF0nOiAndGFiSW5kZXgnLFxuICAgICdbYXR0ci5hcmlhLXJlcXVpcmVkXSc6ICdyZXF1aXJlZC50b1N0cmluZygpJyxcbiAgICAnW2F0dHIuYXJpYS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQudG9TdHJpbmcoKScsXG4gICAgJ1thdHRyLmFyaWEtaW52YWxpZF0nOiAnZXJyb3JTdGF0ZScsXG4gICAgJ1tjbGFzcy5mb3JtLXNlbGVjdF0nOiAndHJ1ZScsXG4gICAgJ1tjbGFzcy5pcy1pbnZhbGlkXSc6ICdlcnJvclN0YXRlJyxcbiAgICAnW2NsYXNzLmltcGRjLWZvcm0tZmllbGQtY29udHJvbF0nOiAndHJ1ZScsXG4gICAgJ1tjbGFzcy5pbXBkYy1zZWxlY3QtaWNvbi0tcmVxdWlyZWRdJzogJ3JlcXVpcmVkJyxcbiAgICAnW2NsYXNzLmltcGRjLXNlbGVjdC1pY29uLS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbY2xhc3MuaW1wZGMtc2VsZWN0LWljb24tLWludmFsaWRdJzogJ2Vycm9yU3RhdGUnLFxuICAgICdbY2xhc3MuaW1wZGMtc2VsZWN0LWljb24tLWVtcHR5XSc6ICdlbXB0eScsXG4gICAgJyhmb2N1cyknOiAnX29uRm9jdXMoKTsgZm9jdXMoKSdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogSW1wZGNGb3JtRmllbGRDb250cm9sLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNlbGVjdEljb25Db21wb25lbnRcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0SWNvbkNvbXBvbmVudFxuICBleHRlbmRzIF9TZWxlY3RJY29uQ29tcG9uZW50QmFzZVxuICBpbXBsZW1lbnRzXG4gICAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gICAgSW1wZGNGb3JtRmllbGRDb250cm9sPHN0cmluZyB8IG51bGw+LFxuICAgIElDYW5VcGRhdGVFcnJvclN0YXRlLFxuICAgIElIYXNFcnJvclN0YXRlLFxuICAgIERvQ2hlY2ssXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveVxue1xuICBAVmlld0NoaWxkKCd0b2dnbGVCdXR0b24nLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcm90ZWN0ZWQgX3RvZ2dsZUJ1dHRvblJlZiE6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBmaWx0ZXJlZE9wdGlvbnMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlYXJjaENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJyk7XG4gIHByb3RlY3RlZCByZWFkb25seSBfdWlkID0gYGltcGRjLXNlbGVjdC1pY29uLSR7bmFub2lkKCl9YDtcbiAgcHJvdGVjdGVkIF9kcm9wZG93bk9wZW4gPSBmYWxzZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pY29uT3B0aW9uc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHJlYWRvbmx5IHN0cmluZ1tdPihcbiAgICBGb250QXdlc29tZUljb25zXG4gICk7XG4gIHByaXZhdGUgX3ByZXZpb3VzQ29udHJvbD86IEFic3RyYWN0Q29udHJvbCB8IG51bGw7XG4gIHByaXZhdGUgX2N2YU9uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuICBwcml2YXRlIF9jdmFPblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICAvKipcbiAgICogU2V0IHdoZXRoZXIgb3Igbm90IGFuIGlucHV0IGZpZWxkIHdpbGwgYXBwZWFyIGZvciBzZWFyY2hpbmcgYW5kXG4gICAqIGZpbHRlcmluZyBpY29uIG9wdGlvbnMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhbGxvd1NlYXJjaDogYm9vbGVhbjtcblxuICBwdWJsaWMgZ2V0IGljb25PcHRpb25zKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuX2ljb25PcHRpb25zU3ViamVjdC52YWx1ZV07XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHNldCBvZiBGb250QXdlc29tZSBpY29uIG9wdGlvbnMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGljb25PcHRpb25zKGljb25PcHRpb25zOiBzdHJpbmdbXSkge1xuICAgIGlmIChpY29uT3B0aW9ucykge1xuICAgICAgdGhpcy5faWNvbk9wdGlvbnNTdWJqZWN0Lm5leHQoWy4uLmljb25PcHRpb25zXSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCB3aGV0aGVyIG9yIG5vdCB0byBzaG93IHRoZSBpY29uIG5hbWVzIGFzIGxhYmVscyBmb3IgaWNvbiBvcHRpb25zLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd1RleHQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNldCB3aGV0aGVyIG9yIG5vdCB0byBzaG93IHRoZSBuYW1lIG9mIHRoZSBzZWxlY3RlZCBpY29uIGluc2lkZSB0aGUgY29udHJvbC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dTZWxlY3RlZFRleHQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBwbGFjZWhvbGRlciB0ZXh0IHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgd2hlbiBubyBzZWxlY3Rpb24gaGFzIGJlZW4gbWFkZS5cbiAgICpcbiAgICogQGRlZmF1bHQgXFwtIFNlbGVjdCAtXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyO1xuICB9XG4gIHB1YmxpYyBzZXQgcGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gdmFsdWU7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHByaXZhdGUgX3BsYWNlaG9sZGVyID0gJy0gU2VsZWN0IC0nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBlcnJvclN0YXRlTWF0Y2hlciE6IEVycm9yU3RhdGVNYXRjaGVyO1xuXG4gIC8qKiBFdmVudHMgZmlyZSB3aGVuIHNlbGVjdGlvbiBoYXMgYmVlbiBjaGFuZ2VkIGJ5IHRoZSB1c2VyLiAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPEltcGRjU2VsZWN0SWNvbkNoYW5nZT4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8SW1wZGNTZWxlY3RJY29uQ2hhbmdlPigpO1xuXG4gIC8qKlxuICAgKiBFdmVudHMgZmlyZSB3aGVuIHJhdyB2YWx1ZSBvZiBzZWxlY3QgY2hhbmdlcy4gTWFpbmx5IGV4aXN0cyB0byBoYW5kbGVcbiAgICogdHdvLXdheSBiaW5kaW5nIG9mIGB2YWx1ZWAgaW5wdXQgcHJvcGVydHkuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bGw+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIF9kZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoSU1QRENfRk9STV9ST09UKSBfZm9ybVJvb3Q6IEltcGRjRm9ybVJvb3QsXG4gICAgQE9wdGlvbmFsKCkgX3BhcmVudEZvcm06IE5nRm9ybSxcbiAgICBAT3B0aW9uYWwoKSBfcGFyZW50Rm9ybUdyb3VwOiBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbFxuICApIHtcbiAgICBzdXBlcihcbiAgICAgIF9kZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXIsXG4gICAgICBfZm9ybVJvb3QsXG4gICAgICBfcGFyZW50Rm9ybSxcbiAgICAgIF9wYXJlbnRGb3JtR3JvdXAsXG4gICAgICBuZ0NvbnRyb2xcbiAgICApO1xuXG4gICAgdGhpcy5hbGxvd1NlYXJjaCA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd1RleHQgPSB0cnVlO1xuICAgIHRoaXMuc2hvd1NlbGVjdGVkVGV4dCA9IHRydWU7XG5cbiAgICBjb25zdCBkZWJvdW5jZWRTZWFyY2hWYWx1ZXMgPSB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICBzdGFydFdpdGgoJycpLFxuICAgICAgZGVib3VuY2VUaW1lKDIwMCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKTtcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIGRlYm91bmNlZFNlYXJjaFZhbHVlcyxcbiAgICAgIHRoaXMuX2ljb25PcHRpb25zU3ViamVjdC5hc09ic2VydmFibGUoKVxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtzZWFyY2hUZXJtLCBpY29uT3B0aW9uc10pID0+IHtcbiAgICAgICAgaWYgKCFzZWFyY2hUZXJtKSB7XG4gICAgICAgICAgcmV0dXJuIFsuLi5pY29uT3B0aW9uc107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZWFyY2hUZXJtTG93ZXJDYXNlID0gc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICByZXR1cm4gaWNvbk9wdGlvbnMuZmlsdGVyKFxuICAgICAgICAgIG9wdGlvbiA9PiBvcHRpb24udG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRlcm1Mb3dlckNhc2UpID4gLTFcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuXG4gICAgdGhpcy5pZCA9IHRoaXMuaWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy52YWx1ZTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5fdG9nZ2xlQnV0dG9uUmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMob3B0aW9ucyk7XG4gIH1cblxuICAvKiBMaWZlY3ljbGUgSG9va3MgKi9cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGNvbnN0IG5nQ29udHJvbCA9IHRoaXMubmdDb250cm9sO1xuXG4gICAgaWYgKCFuZ0NvbnRyb2wpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcHJldmlvdXNDb250cm9sICE9PSBuZ0NvbnRyb2wuY29udHJvbCkge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLl9wcmV2aW91c0NvbnRyb2wgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBuZ0NvbnRyb2wuZGlzYWJsZWQgIT09IG51bGwgJiZcbiAgICAgICAgbmdDb250cm9sLmRpc2FibGVkICE9PSB0aGlzLmRpc2FibGVkXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IG5nQ29udHJvbD8uZGlzYWJsZWQ7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX3ByZXZpb3VzQ29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlRXJyb3JTdGF0ZSgpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLyBNYW5hZ2luZyBkaXNhYmxlZCBzdGF0ZSBpcyBoYW5kbGVkIHZpYSB0aGUgYG1peGluRGlzYWJsZWRgIG1peGluL2dlbmVyYXRvciwgYnV0IHdlIHN0aWxsIG5lZWQgdG8gc2lnbmFsXG4gICAgLy8gdG8gdGhlIHBhcmVudCBmb3JtIGZpZWxkIHNvIGl0IGNhbiBydW4gY2hhbmdlIGRldGVjdGlvbiB3aGVuIGRpc2FibGVkIHN0YXRlIGlzIGNoYW5nZWQuXG4gICAgaWYgKGNoYW5nZXNbJ2Rpc2FibGVkJ10pIHtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qIENvbnRyb2xWYWx1ZUFjY2Vzc29yICovXG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX2N2YU9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHt9KTogdm9pZCB7XG4gICAgdGhpcy5fY3ZhT25Ub3VjaGVkID0gZm47XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyogSW1wZGNGb3JtRmllbGRDb250cm9sICovXG5cbiAgQElucHV0KClcbiAgcHVibGljIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgIGNvbnN0IG5ld1ZhbHVlID1cbiAgICAgICh2YWx1ZSAmJiB0aGlzLmljb25PcHRpb25zLmZpbmQob3B0ID0+IG9wdCA9PT0gdmFsdWUpKSB8fCBudWxsO1xuXG4gICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cbiAgcHVibGljIHNldCBpZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5faWQgPSB2YWx1ZSB8fCB0aGlzLl91aWQ7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHByb3RlY3RlZCBfaWQhOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gc2V0IHJlcXVpcmVkbmVzcyBvZiBjb250cm9sIGluIGEgdGVtcGxhdGUtYmFzZWQgbWFubmVyO1xuICAgKiBub3QgbmVjZXNzYXJ5IHdoZW4gdXNpbmcgdGhlIEFuZ3VsYXIgcmVhY3RpdmUgZm9ybXMgQVBJIGFuZCBgcmVxdWlyZWRgIHZhbGlkYXRvci5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuX3JlcXVpcmVkID8/XG4gICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpID8/XG4gICAgICBmYWxzZVxuICAgICk7XG4gIH1cbiAgcHVibGljIHNldCByZXF1aXJlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHlWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHByaXZhdGUgX3JlcXVpcmVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNlZCB8fCB0aGlzLl9kcm9wZG93bk9wZW47XG4gIH1cbiAgcHJvdGVjdGVkIF9mb2N1c2VkID0gZmFsc2U7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvbnRyb2xUeXBlOiBzdHJpbmcgPSAnaW1wZGMtc2VsZWN0LWljb24nO1xuICBwdWJsaWMgcmVhZG9ubHkgc3VwcG9ydHNBZmZpeGVzOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKiBJbnRlcm5hbHMgKi9cblxuICBwcm90ZWN0ZWQgaGFuZGxlT3BlbkNoYW5nZShpc09wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9kcm9wZG93bk9wZW4gPSBpc09wZW47XG4gICAgdGhpcy5zZWFyY2hDb250cm9sLnJlc2V0KCk7XG5cbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICB0aGlzLl9vbkZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX29uQmx1cigpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZWxlY3RJY29uKGljb25OYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoaWNvbk5hbWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBpY29uTmFtZTtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMuX2N2YU9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLl9idWlsZENoYW5nZUV2ZW50KHRoaXMudmFsdWUpKTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9kcm9wZG93bk9wZW4pIHtcbiAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX29uRm9jdXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLl9mb2N1c2VkID0gdHJ1ZTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2FsbHMgdGhlIENWQSB0b3VjaGVkIGNhbGxiYWNrIG9ubHkgaWYgdGhlIGRyb3Bkb3duIGlzIGNsb3NlZC5cbiAgICovXG4gIHByb3RlY3RlZCBfb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZvY3VzZWQgPSBmYWxzZTtcblxuICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5fZHJvcGRvd25PcGVuKSB7XG4gICAgICB0aGlzLl9jdmFPblRvdWNoZWQoKTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2J1aWxkQ2hhbmdlRXZlbnQodmFsdWU6IHN0cmluZyB8IG51bGwpOiBJbXBkY1NlbGVjdEljb25DaGFuZ2Uge1xuICAgIHJldHVybiBuZXcgSW1wZGNTZWxlY3RJY29uQ2hhbmdlKHRoaXMsIHZhbHVlKTtcbiAgfVxufVxuIiwiPGRpdlxuICBuZ2JEcm9wZG93blxuICBhdXRvQ2xvc2U9XCJvdXRzaWRlXCJcbiAgY29udGFpbmVyPVwiYm9keVwiXG4gIGRyb3Bkb3duQ2xhc3M9XCJpbXBhcnRuZXItaGV4XCJcbiAgKG9wZW5DaGFuZ2UpPVwiaGFuZGxlT3BlbkNoYW5nZSgkZXZlbnQpXCJcbiAgY2xhc3M9XCJ3LTEwMFwiPlxuICA8YnV0dG9uXG4gICAgI3RvZ2dsZUJ1dHRvblxuICAgIGNsYXNzPVwiaW1wZGMtc2VsZWN0LWljb24tLXRvZ2dsZSBidG4gYm9yZGVyLTAgdGV4dC1zdGFydFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgcm9sZT1cImNvbWJvYm94XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIG5nYkRyb3Bkb3duVG9nZ2xlPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImVtcHR5XCI+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cImltcGRjLXNlbGVjdC1pY29uLS10ZXh0IGltcGRjLXNlbGVjdC1pY29uLS1wbGFjZWhvbGRlclwiXG4gICAgICAgICpuZ1N3aXRjaENhc2U9XCJ0cnVlXCI+XG4gICAgICAgIHt7IHBsYWNlaG9sZGVyIH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaW1wZGMtc2VsZWN0LWljb24tLXRleHQgaW1wZGMtc2VsZWN0LWljb24tLXZhbHVlLXRleHRcIlxuICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiZmFsc2VcIj5cbiAgICAgICAgPGkgaW1wZGMtaWNvbiBbbmFtZV09XCJ2YWx1ZSA/PyB1bmRlZmluZWRcIj48L2k+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwic2hvd1NlbGVjdGVkVGV4dFwiIGNsYXNzPVwibXMtMlwiPnt7IHZhbHVlIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvYnV0dG9uPlxuICA8ZGl2IG5nYkRyb3Bkb3duTWVudSBjbGFzcz1cImltcGRjLXNlbGVjdC1pY29uLS1kcm9wZG93bi1tZW51XCIgdGFiaW5kZXg9XCItMVwiPlxuICAgIDxkaXYgKm5nSWY9XCJhbGxvd1NlYXJjaFwiIGNsYXNzPVwiaW1wZGMtc2VsZWN0LWljb24tLXNlYXJjaFwiPlxuICAgICAgPGltcGRjLWZvcm0tZmllbGQ+XG4gICAgICAgIDxzcGFuIGltcGRjVGV4dFByZWZpeD48aSBpbXBkYy1pY29uIG5hbWU9XCJzZWFyY2hcIj48L2k+PC9zcGFuPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBpbXBkY0lucHV0XG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaENvbnRyb2xcIlxuICAgICAgICAgIGNsYXNzPVwiaW1wZGMtc2VsZWN0LWljb24tLXNlYXJjaC1pbnB1dFwiXG4gICAgICAgICAgdHlwZT1cInNlYXJjaFwiIC8+XG4gICAgICA8L2ltcGRjLWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImltcGRjLXNlbGVjdC1pY29uLS1ncmlkXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBpY29uTmFtZSBvZiBmaWx0ZXJlZE9wdGlvbnMkIHwgYXN5bmNcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdEljb24oaWNvbk5hbWUpXCJcbiAgICAgICAgY2xhc3M9XCJpbXBkYy1zZWxlY3QtaWNvbi0tb3B0aW9uXCJcbiAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInZhbHVlID09PSBpY29uTmFtZVwiXG4gICAgICAgIFt0aXRsZV09XCJpY29uTmFtZVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJzaG93VGV4dCA/IGlkICsgJ18nICsgaWNvbk5hbWUgOiBudWxsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbXBkYy1zZWxlY3QtaWNvbi0tb3B0aW9uLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxpIGltcGRjLWljb24gW25hbWVdPVwiaWNvbk5hbWVcIiBjbGFzcz1cImZzLTJ4bFwiPjwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBpZD1cInt7IGlkIH19X3t7IGljb25OYW1lIH19XCJcbiAgICAgICAgICBjbGFzcz1cImltcGRjLXNlbGVjdC1pY29uLS1vcHRpb24tbGFiZWxcIlxuICAgICAgICAgIFtjbGFzcy5zci1vbmx5XT1cIiFzaG93VGV4dFwiPlxuICAgICAgICAgIHt7IGljb25OYW1lIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
import { NgbDropdownModule, NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap';
|
|
5
|
-
import { ImpdcFormsModule } from '../form-field';
|
|
6
|
-
import { SelectIconComponent } from './select-icon.component';
|
|
7
|
-
import { IconModule } from '../icon';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class SelectIconModule {
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: SelectIconModule, declarations: [SelectIconComponent], imports: [CommonModule,
|
|
12
|
-
ImpdcFormsModule,
|
|
13
|
-
IconModule,
|
|
14
|
-
NgbTypeaheadModule,
|
|
15
|
-
NgbDropdownModule,
|
|
16
|
-
ReactiveFormsModule], exports: [SelectIconComponent] }); }
|
|
17
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectIconModule, imports: [CommonModule,
|
|
18
|
-
ImpdcFormsModule,
|
|
19
|
-
IconModule,
|
|
20
|
-
NgbTypeaheadModule,
|
|
21
|
-
NgbDropdownModule,
|
|
22
|
-
ReactiveFormsModule] }); }
|
|
23
|
-
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectIconModule, decorators: [{
|
|
25
|
-
type: NgModule,
|
|
26
|
-
args: [{
|
|
27
|
-
declarations: [SelectIconComponent],
|
|
28
|
-
imports: [
|
|
29
|
-
CommonModule,
|
|
30
|
-
ImpdcFormsModule,
|
|
31
|
-
IconModule,
|
|
32
|
-
NgbTypeaheadModule,
|
|
33
|
-
NgbDropdownModule,
|
|
34
|
-
ReactiveFormsModule
|
|
35
|
-
],
|
|
36
|
-
exports: [SelectIconComponent]
|
|
37
|
-
}]
|
|
38
|
-
}] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWljb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9zZWxlY3QtaWNvbi9zZWxlY3QtaWNvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbkIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFjckMsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBWFosbUJBQW1CLGFBRWhDLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsVUFBVTtZQUNWLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFDakIsbUJBQW1CLGFBRVgsbUJBQW1COytHQUVsQixnQkFBZ0IsWUFUekIsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixVQUFVO1lBQ1Ysa0JBQWtCO1lBQ2xCLGlCQUFpQjtZQUNqQixtQkFBbUI7OzJGQUlWLGdCQUFnQjtrQkFaNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixVQUFVO3dCQUNWLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIE5nYkRyb3Bkb3duTW9kdWxlLFxuICBOZ2JUeXBlYWhlYWRNb2R1bGVcbn0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgSW1wZGNGb3Jtc01vZHVsZSB9IGZyb20gJy4uL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgU2VsZWN0SWNvbkNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2VsZWN0SWNvbkNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW1wZGNGb3Jtc01vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIE5nYlR5cGVhaGVhZE1vZHVsZSxcbiAgICBOZ2JEcm9wZG93bk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtTZWxlY3RJY29uQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RJY29uTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1zaXplLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvc2l6ZS1kZXRlY3Rpb24vZGlyZWN0aXZlL2VsZW1lbnQtc2l6ZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUVsZW1lbnRTaXplIHtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './element-size.interface';
|
|
2
|
-
export * from './size-detector.directive';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3NpemUtZGV0ZWN0aW9uL2RpcmVjdGl2ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VsZW1lbnQtc2l6ZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zaXplLWRldGVjdG9yLmRpcmVjdGl2ZSc7XG4iXX0=
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Directive, EventEmitter, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class SizeDetectorDirective {
|
|
4
|
-
constructor(_elementRef) {
|
|
5
|
-
this._elementRef = _elementRef;
|
|
6
|
-
this.resized = new EventEmitter();
|
|
7
|
-
this._resizeObserver = null;
|
|
8
|
-
this._observe();
|
|
9
|
-
}
|
|
10
|
-
ngOnDestroy() {
|
|
11
|
-
this.resized.complete();
|
|
12
|
-
this._unobserve();
|
|
13
|
-
}
|
|
14
|
-
_observe() {
|
|
15
|
-
this._resizeObserver = new ResizeObserver((entries) => {
|
|
16
|
-
window.requestAnimationFrame(() => {
|
|
17
|
-
const elementEntry = entries && entries[0];
|
|
18
|
-
if (elementEntry) {
|
|
19
|
-
this.resized.emit({
|
|
20
|
-
height: elementEntry.contentRect.height,
|
|
21
|
-
width: elementEntry.contentRect.width
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
this._resizeObserver.observe(this._elementRef.nativeElement);
|
|
27
|
-
}
|
|
28
|
-
_unobserve() {
|
|
29
|
-
this._resizeObserver &&
|
|
30
|
-
this._resizeObserver.unobserve(this._elementRef.nativeElement);
|
|
31
|
-
}
|
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SizeDetectorDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
33
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: SizeDetectorDirective, selector: "[impdcSizeDetector]", outputs: { resized: "resized" }, ngImport: i0 }); }
|
|
34
|
-
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SizeDetectorDirective, decorators: [{
|
|
36
|
-
type: Directive,
|
|
37
|
-
args: [{
|
|
38
|
-
selector: '[impdcSizeDetector]'
|
|
39
|
-
}]
|
|
40
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { resized: [{
|
|
41
|
-
type: Output
|
|
42
|
-
}] } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS1kZXRlY3Rvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3NpemUtZGV0ZWN0aW9uL2RpcmVjdGl2ZS9zaXplLWRldGVjdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFFWixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7O0FBTXZCLE1BQU0sT0FBTyxxQkFBcUI7SUFLaEMsWUFBNkIsV0FBdUI7UUFBdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFKMUIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBRTdELG9CQUFlLEdBQTBCLElBQUksQ0FBQztRQUdwRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVPLFFBQVE7UUFDZCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksY0FBYyxDQUN2QyxDQUFDLE9BQThCLEVBQVEsRUFBRTtZQUN2QyxNQUFNLENBQUMscUJBQXFCLENBQUMsR0FBRyxFQUFFO2dCQUNoQyxNQUFNLFlBQVksR0FBRyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLFlBQVksRUFBRSxDQUFDO29CQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQzt3QkFDaEIsTUFBTSxFQUFFLFlBQVksQ0FBQyxXQUFXLENBQUMsTUFBTTt3QkFDdkMsS0FBSyxFQUFFLFlBQVksQ0FBQyxXQUFXLENBQUMsS0FBSztxQkFDdEMsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsZUFBZTtZQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ25FLENBQUM7OEdBbkNVLHFCQUFxQjtrR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDOytFQUUyQixPQUFPO3NCQUFoQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUVsZW1lbnRTaXplIH0gZnJvbSAnLi9lbGVtZW50LXNpemUuaW50ZXJmYWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ltcGRjU2l6ZURldGVjdG9yXSdcbn0pXG5leHBvcnQgY2xhc3MgU2l6ZURldGVjdG9yRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSByZXNpemVkID0gbmV3IEV2ZW50RW1pdHRlcjxJRWxlbWVudFNpemU+KCk7XG5cbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHRoaXMuX29ic2VydmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6ZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLl91bm9ic2VydmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX29ic2VydmUoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoXG4gICAgICAoZW50cmllczogUmVzaXplT2JzZXJ2ZXJFbnRyeVtdKTogdm9pZCA9PiB7XG4gICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGVsZW1lbnRFbnRyeSA9IGVudHJpZXMgJiYgZW50cmllc1swXTtcbiAgICAgICAgICBpZiAoZWxlbWVudEVudHJ5KSB7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZWQuZW1pdCh7XG4gICAgICAgICAgICAgIGhlaWdodDogZWxlbWVudEVudHJ5LmNvbnRlbnRSZWN0LmhlaWdodCxcbiAgICAgICAgICAgICAgd2lkdGg6IGVsZW1lbnRFbnRyeS5jb250ZW50UmVjdC53aWR0aFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdW5vYnNlcnZlKCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyICYmXG4gICAgICB0aGlzLl9yZXNpemVPYnNlcnZlci51bm9ic2VydmUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { SizeDetectorDirective } from './directive/size-detector.directive';
|
|
2
|
-
export { SizeDetectionModule } from './size-detection.module';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3NpemUtZGV0ZWN0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgSUVsZW1lbnRTaXplIH0gZnJvbSAnLi9kaXJlY3RpdmUvZWxlbWVudC1zaXplLmludGVyZmFjZSc7XG5leHBvcnQgeyBTaXplRGV0ZWN0b3JEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9zaXplLWRldGVjdG9yLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTaXplRGV0ZWN0aW9uTW9kdWxlIH0gZnJvbSAnLi9zaXplLWRldGVjdGlvbi5tb2R1bGUnO1xuIl19
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { SizeDetectorDirective } from './directive/index';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class SizeDetectionModule {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SizeDetectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: SizeDetectionModule, declarations: [SizeDetectorDirective], imports: [CommonModule], exports: [SizeDetectorDirective] }); }
|
|
8
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SizeDetectionModule, imports: [CommonModule] }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SizeDetectionModule, decorators: [{
|
|
11
|
-
type: NgModule,
|
|
12
|
-
args: [{
|
|
13
|
-
declarations: [SizeDetectorDirective],
|
|
14
|
-
imports: [CommonModule],
|
|
15
|
-
exports: [SizeDetectorDirective]
|
|
16
|
-
}]
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS1kZXRlY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9zaXplLWRldGVjdGlvbi9zaXplLWRldGVjdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBTzFELE1BQU0sT0FBTyxtQkFBbUI7OEdBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1CLGlCQUpmLHFCQUFxQixhQUMxQixZQUFZLGFBQ1oscUJBQXFCOytHQUVwQixtQkFBbUIsWUFIcEIsWUFBWTs7MkZBR1gsbUJBQW1CO2tCQUwvQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2l6ZURldGVjdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvaW5kZXgnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTaXplRGV0ZWN0b3JEaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW1NpemVEZXRlY3RvckRpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgU2l6ZURldGVjdGlvbk1vZHVsZSB7fVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './spinner.component';
|
|
2
|
-
export * from './spinner.module';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3NwaW5uZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcGlubmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NwaW5uZXIubW9kdWxlJztcbiJdfQ==
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
/**
|
|
5
|
-
* The `SpinnerComponent` (`<impdc-spinner` or `<div impdc-spinner`) is used when data is processing and content isn't ready to be interacted with yet.
|
|
6
|
-
* To use, import `SpinnerModule` or another module that imports and exports that module from `@impartner/design-components`.
|
|
7
|
-
*/
|
|
8
|
-
export class SpinnerComponent {
|
|
9
|
-
constructor() {
|
|
10
|
-
/**
|
|
11
|
-
* Accessibility text used by screen readers.
|
|
12
|
-
*/
|
|
13
|
-
this.accessibilityText = 'Loading...';
|
|
14
|
-
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: SpinnerComponent, selector: "impdc-spinner, div[impdc-spinner]", inputs: { accessibilityText: "accessibilityText" }, ngImport: i0, template: "<div class=\"spinner-border\" role=\"status\">\n <span *ngIf=\"accessibilityText\" class=\"visually-hidden\">{{\n accessibilityText\n }}</span>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
17
|
-
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SpinnerComponent, decorators: [{
|
|
19
|
-
type: Component,
|
|
20
|
-
args: [{ selector: 'impdc-spinner, div[impdc-spinner]', template: "<div class=\"spinner-border\" role=\"status\">\n <span *ngIf=\"accessibilityText\" class=\"visually-hidden\">{{\n accessibilityText\n }}</span>\n</div>\n" }]
|
|
21
|
-
}], propDecorators: { accessibilityText: [{
|
|
22
|
-
type: Input
|
|
23
|
-
}] } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRWpEOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxnQkFBZ0I7SUFMN0I7UUFNRTs7V0FFRztRQUVJLHNCQUFpQixHQUFHLFlBQVksQ0FBQztLQUN6Qzs4R0FOWSxnQkFBZ0I7a0dBQWhCLGdCQUFnQiw2SENYN0IsZ0tBS0E7OzJGRE1hLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxtQ0FBbUM7OEJBU3RDLGlCQUFpQjtzQkFEdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBUaGUgYFNwaW5uZXJDb21wb25lbnRgIChgPGltcGRjLXNwaW5uZXJgIG9yIGA8ZGl2IGltcGRjLXNwaW5uZXJgKSBpcyB1c2VkIHdoZW4gZGF0YSBpcyBwcm9jZXNzaW5nIGFuZCBjb250ZW50IGlzbid0IHJlYWR5IHRvIGJlIGludGVyYWN0ZWQgd2l0aCB5ZXQuXG4gKiBUbyB1c2UsIGltcG9ydCBgU3Bpbm5lck1vZHVsZWAgb3IgYW5vdGhlciBtb2R1bGUgdGhhdCBpbXBvcnRzIGFuZCBleHBvcnRzIHRoYXQgbW9kdWxlIGZyb20gYEBpbXBhcnRuZXIvZGVzaWduLWNvbXBvbmVudHNgLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbXBkYy1zcGlubmVyLCBkaXZbaW1wZGMtc3Bpbm5lcl0nLFxuICB0ZW1wbGF0ZVVybDogJy4vc3Bpbm5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NwaW5uZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTcGlubmVyQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEFjY2Vzc2liaWxpdHkgdGV4dCB1c2VkIGJ5IHNjcmVlbiByZWFkZXJzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFjY2Vzc2liaWxpdHlUZXh0ID0gJ0xvYWRpbmcuLi4nO1xufVxuIiwiPGRpdiBjbGFzcz1cInNwaW5uZXItYm9yZGVyXCIgcm9sZT1cInN0YXR1c1wiPlxuICA8c3BhbiAqbmdJZj1cImFjY2Vzc2liaWxpdHlUZXh0XCIgY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj57e1xuICAgIGFjY2Vzc2liaWxpdHlUZXh0XG4gIH19PC9zcGFuPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { SpinnerComponent } from './spinner.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class SpinnerModule {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: SpinnerModule, declarations: [SpinnerComponent], imports: [CommonModule], exports: [SpinnerComponent] }); }
|
|
8
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SpinnerModule, imports: [CommonModule] }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SpinnerModule, decorators: [{
|
|
11
|
-
type: NgModule,
|
|
12
|
-
args: [{
|
|
13
|
-
imports: [CommonModule],
|
|
14
|
-
declarations: [SpinnerComponent],
|
|
15
|
-
exports: [SpinnerComponent]
|
|
16
|
-
}]
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL3NwaW5uZXIvc3Bpbm5lci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBT3ZELE1BQU0sT0FBTyxhQUFhOzhHQUFiLGFBQWE7K0dBQWIsYUFBYSxpQkFIVCxnQkFBZ0IsYUFEckIsWUFBWSxhQUVaLGdCQUFnQjsrR0FFZixhQUFhLFlBSmQsWUFBWTs7MkZBSVgsYUFBYTtrQkFMekIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUNoQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuL3NwaW5uZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1NwaW5uZXJDb21wb25lbnRdLFxuICBleHBvcnRzOiBbU3Bpbm5lckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgU3Bpbm5lck1vZHVsZSB7fVxuIl19
|