@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,335 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ElementRef, Inject, Input, Optional, Self, ViewChild } from '@angular/core';
|
|
2
|
-
import { Validators } from '@angular/forms';
|
|
3
|
-
import { nanoid } from 'nanoid';
|
|
4
|
-
import { Subject } from 'rxjs';
|
|
5
|
-
import { coerceBooleanPropertyValue } from '../../utilities';
|
|
6
|
-
import { ImpdcFormFieldControl, IMPDC_FORM_ROOT, mixinDisabled, mixinErrorState, mixinTabIndex } from '../form-field';
|
|
7
|
-
import { FileDropDirective } from './directives';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../form-field";
|
|
10
|
-
import * as i2 from "@angular/forms";
|
|
11
|
-
import * as i3 from "@angular/common";
|
|
12
|
-
import * as i4 from "../button/button.component";
|
|
13
|
-
import * as i5 from "../icon/icon.component";
|
|
14
|
-
import * as i6 from "./directives/file-drop.directive";
|
|
15
|
-
import * as i7 from "./pipes/human-readable-byte-size.pipe";
|
|
16
|
-
const _FileUploadComponentBase = mixinTabIndex(mixinDisabled(mixinErrorState(class {
|
|
17
|
-
constructor(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl) {
|
|
18
|
-
this._defaultErrorStateMatcher = _defaultErrorStateMatcher;
|
|
19
|
-
this._formRoot = _formRoot;
|
|
20
|
-
this._parentForm = _parentForm;
|
|
21
|
-
this._parentFormGroup = _parentFormGroup;
|
|
22
|
-
this.ngControl = ngControl;
|
|
23
|
-
this.stateChanges = new Subject();
|
|
24
|
-
}
|
|
25
|
-
})));
|
|
26
|
-
/**
|
|
27
|
-
* The `FileUploadComponent` (`<impdc-file-upload` or `<any impdc-file-upload`) is a file selector that supports drag and drop.
|
|
28
|
-
* To use, import `FileUploadModule` or another module that imports and exports that module from `@impartner/design-components`.
|
|
29
|
-
*/
|
|
30
|
-
export class FileUploadComponent extends _FileUploadComponentBase {
|
|
31
|
-
get canUpload() {
|
|
32
|
-
return this.multiple || this._value.length === 0;
|
|
33
|
-
}
|
|
34
|
-
get acceptTypes() {
|
|
35
|
-
if (!this.accept || !this.accept.length) {
|
|
36
|
-
return [];
|
|
37
|
-
}
|
|
38
|
-
return this.accept
|
|
39
|
-
.split(',')
|
|
40
|
-
.map(a => a.trim())
|
|
41
|
-
.filter(a => !!a);
|
|
42
|
-
}
|
|
43
|
-
get empty() {
|
|
44
|
-
return this._value.length === 0;
|
|
45
|
-
}
|
|
46
|
-
get filesForDisplay() {
|
|
47
|
-
return this._value || [];
|
|
48
|
-
}
|
|
49
|
-
constructor(_changeDetector, _defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl) {
|
|
50
|
-
super(_defaultErrorStateMatcher, _formRoot, _parentForm, _parentFormGroup, ngControl);
|
|
51
|
-
this._changeDetector = _changeDetector;
|
|
52
|
-
/**
|
|
53
|
-
* Whether the control supports uploading multiple files.
|
|
54
|
-
*/
|
|
55
|
-
this.multiple = false;
|
|
56
|
-
/**
|
|
57
|
-
* The instructional text to display in the file upload dropzone.
|
|
58
|
-
*/
|
|
59
|
-
this.uploadText = 'Drag and drop files here or click to upload';
|
|
60
|
-
/**
|
|
61
|
-
* The comma-delimited list of file types that are accepted by the control.
|
|
62
|
-
*/
|
|
63
|
-
this.accept = '';
|
|
64
|
-
this._uid = `impdc-file-upload-${nanoid()}`;
|
|
65
|
-
this._value = [];
|
|
66
|
-
this._focused = false;
|
|
67
|
-
this.controlType = 'impdc-file-upload';
|
|
68
|
-
this.supportsAffixes = false;
|
|
69
|
-
if (this.ngControl) {
|
|
70
|
-
this.ngControl.valueAccessor = this;
|
|
71
|
-
this.ngControl.control?.addValidators(() => {
|
|
72
|
-
return this.validate();
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
this.id = this.id;
|
|
76
|
-
}
|
|
77
|
-
/** @ignore */
|
|
78
|
-
handleChange(event) {
|
|
79
|
-
const fileList = (event.target || {})
|
|
80
|
-
.files;
|
|
81
|
-
if (!fileList) {
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
this._mergeNewFilesWithExistingFiles(fileList);
|
|
85
|
-
}
|
|
86
|
-
/** @ignore */
|
|
87
|
-
handleDrop(event) {
|
|
88
|
-
if (this.disabled || !event) {
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
this._mergeNewFilesWithExistingFiles(event);
|
|
92
|
-
}
|
|
93
|
-
/** @ignore */
|
|
94
|
-
removeFile(fileIndex) {
|
|
95
|
-
const newFilesArr = [...this._value];
|
|
96
|
-
newFilesArr.splice(fileIndex, 1);
|
|
97
|
-
this._updateValueFromInteraction(newFilesArr);
|
|
98
|
-
}
|
|
99
|
-
/** @ignore */
|
|
100
|
-
focus(options) {
|
|
101
|
-
this.fileDropElementRef.nativeElement.focus(options);
|
|
102
|
-
}
|
|
103
|
-
/* Lifecycle Hooks */
|
|
104
|
-
/** @ignore */
|
|
105
|
-
ngDoCheck() {
|
|
106
|
-
this.updateErrorState();
|
|
107
|
-
}
|
|
108
|
-
/** @ignore */
|
|
109
|
-
ngOnDestroy() {
|
|
110
|
-
this.stateChanges.complete();
|
|
111
|
-
}
|
|
112
|
-
/* ImpdcFormFieldControl */
|
|
113
|
-
/**
|
|
114
|
-
* The file(s) currently uploaded into the control. Returns `File | null` when `multiple` is `false`,
|
|
115
|
-
* and `File[]` when `multiple` is `true`.
|
|
116
|
-
*/
|
|
117
|
-
get value() {
|
|
118
|
-
return this.multiple ? [...this._value] : this._value[0];
|
|
119
|
-
}
|
|
120
|
-
set value(newValue) {
|
|
121
|
-
if (newValue !== this._value) {
|
|
122
|
-
if (Array.isArray(newValue)) {
|
|
123
|
-
this._value = newValue ? [...newValue] : [];
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
this._value = newValue ? [newValue] : [];
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
const fileList = this._getFileList(this._value);
|
|
130
|
-
if (this.fileUploadInputEltRef &&
|
|
131
|
-
this.fileUploadInputEltRef.nativeElement) {
|
|
132
|
-
this.fileUploadInputEltRef.nativeElement.files = fileList;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
/** @ignore */
|
|
136
|
-
get id() {
|
|
137
|
-
return this._id;
|
|
138
|
-
}
|
|
139
|
-
set id(value) {
|
|
140
|
-
this._id = value || this._uid;
|
|
141
|
-
this.stateChanges.next();
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Used to set requiredness of control in a template-based manner;
|
|
145
|
-
* not necessary when using the Angular reactive forms API and `required` validator.
|
|
146
|
-
*
|
|
147
|
-
* @default false
|
|
148
|
-
*/
|
|
149
|
-
get required() {
|
|
150
|
-
return (this._required ??
|
|
151
|
-
this.ngControl?.control?.hasValidator(Validators.required) ??
|
|
152
|
-
false);
|
|
153
|
-
}
|
|
154
|
-
set required(value) {
|
|
155
|
-
this._required = coerceBooleanPropertyValue(value);
|
|
156
|
-
this.stateChanges.next();
|
|
157
|
-
}
|
|
158
|
-
get focused() {
|
|
159
|
-
return this._focused;
|
|
160
|
-
}
|
|
161
|
-
/* ControlValueAccessor */
|
|
162
|
-
/** @ignore */
|
|
163
|
-
writeValue(value) {
|
|
164
|
-
this.value = value;
|
|
165
|
-
this._changeDetector.markForCheck();
|
|
166
|
-
}
|
|
167
|
-
/** @ignore */
|
|
168
|
-
registerOnChange(fn) {
|
|
169
|
-
this._cvaOnChange = fn;
|
|
170
|
-
}
|
|
171
|
-
/** @ignore */
|
|
172
|
-
registerOnTouched(fn) {
|
|
173
|
-
this._cvaOnTouched = fn;
|
|
174
|
-
this._changeDetector.markForCheck();
|
|
175
|
-
}
|
|
176
|
-
/** @ignore */
|
|
177
|
-
setDisabledState(isDisabled) {
|
|
178
|
-
this.disabled = isDisabled;
|
|
179
|
-
}
|
|
180
|
-
/* Validator */
|
|
181
|
-
/**
|
|
182
|
-
* @ignore
|
|
183
|
-
*/
|
|
184
|
-
validate() {
|
|
185
|
-
return !this.disabled && this.required && this._value.length === 0
|
|
186
|
-
? { required: true }
|
|
187
|
-
: null;
|
|
188
|
-
}
|
|
189
|
-
/* Internals */
|
|
190
|
-
_onFocus() {
|
|
191
|
-
if (!this.disabled) {
|
|
192
|
-
this._focused = true;
|
|
193
|
-
this.stateChanges.next();
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
_onBlur() {
|
|
197
|
-
this._focused = false;
|
|
198
|
-
if (!this.disabled) {
|
|
199
|
-
this._cvaOnTouched && this._cvaOnTouched();
|
|
200
|
-
this._changeDetector.markForCheck();
|
|
201
|
-
this.stateChanges.next();
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
_updateValueFromInteraction(newValue) {
|
|
205
|
-
this.value = newValue;
|
|
206
|
-
this._cvaOnChange && this._cvaOnChange(this.value);
|
|
207
|
-
this._cvaOnTouched && this._cvaOnTouched();
|
|
208
|
-
this.stateChanges.next();
|
|
209
|
-
}
|
|
210
|
-
_mergeNewFilesWithExistingFiles(fileList) {
|
|
211
|
-
if (!fileList) {
|
|
212
|
-
return;
|
|
213
|
-
}
|
|
214
|
-
if (this._value && this._value.length == 1 && !this.multiple) {
|
|
215
|
-
return;
|
|
216
|
-
}
|
|
217
|
-
const tempFiles = [...this._value];
|
|
218
|
-
Array.from(fileList).forEach(newFile => {
|
|
219
|
-
if (!this.multiple && tempFiles.length > 0) {
|
|
220
|
-
return;
|
|
221
|
-
}
|
|
222
|
-
const existingFile = tempFiles.find(existing => existing.name === newFile.name &&
|
|
223
|
-
existing.lastModified === newFile.lastModified &&
|
|
224
|
-
existing.size === newFile.size);
|
|
225
|
-
if (existingFile) {
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
if (this._acceptedFileType(newFile.type, newFile.name)) {
|
|
229
|
-
tempFiles.push(newFile);
|
|
230
|
-
}
|
|
231
|
-
});
|
|
232
|
-
this._updateValueFromInteraction(tempFiles);
|
|
233
|
-
}
|
|
234
|
-
_getFileList(files) {
|
|
235
|
-
const dataTransfer = new DataTransfer();
|
|
236
|
-
files.forEach(file => {
|
|
237
|
-
dataTransfer.items.add(file);
|
|
238
|
-
});
|
|
239
|
-
return dataTransfer.files;
|
|
240
|
-
}
|
|
241
|
-
_getExtensions(fileName) {
|
|
242
|
-
const nameSegments = fileName.split('.');
|
|
243
|
-
let extensions = [];
|
|
244
|
-
if (nameSegments.length < 2) {
|
|
245
|
-
return extensions;
|
|
246
|
-
}
|
|
247
|
-
const extension = `.${nameSegments.slice(1).join('.')}`;
|
|
248
|
-
extensions.push(extension);
|
|
249
|
-
if (nameSegments.length === 2) {
|
|
250
|
-
return extensions;
|
|
251
|
-
}
|
|
252
|
-
const sub = `.${nameSegments.slice(2).join('.')}`;
|
|
253
|
-
const subExtensions = this._getExtensions(sub);
|
|
254
|
-
extensions = [...extensions, ...subExtensions];
|
|
255
|
-
return extensions;
|
|
256
|
-
}
|
|
257
|
-
_acceptedFileType(type, fileName) {
|
|
258
|
-
if (!this.acceptTypes || this.acceptTypes.length === 0) {
|
|
259
|
-
return true;
|
|
260
|
-
}
|
|
261
|
-
const acceptedByType = this.acceptTypes.includes(type);
|
|
262
|
-
if (acceptedByType) {
|
|
263
|
-
return true;
|
|
264
|
-
}
|
|
265
|
-
const fileExtensions = this._getExtensions(fileName);
|
|
266
|
-
if (!fileExtensions || fileExtensions.length === 0) {
|
|
267
|
-
return false;
|
|
268
|
-
}
|
|
269
|
-
const acceptedByExtension = this.acceptTypes.some(type => fileExtensions.includes(type));
|
|
270
|
-
return acceptedByExtension;
|
|
271
|
-
}
|
|
272
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FileUploadComponent, 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 }); }
|
|
273
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: FileUploadComponent, selector: "impdc-file-upload, [impdc-file-upload]", inputs: { disabled: "disabled", tabIndex: "tabIndex", multiple: "multiple", uploadText: "uploadText", accept: "accept", errorStateMatcher: "errorStateMatcher", value: "value", id: "id", required: "required" }, 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.impdc-file-upload--required": "required", "class.impdc-file-upload--disabled": "disabled", "class.impdc-file-upload--invalid": "errorState", "class.impdc-file-upload--multiple": "multiple", "class.impdc-file-upload--empty": "empty" }, classAttribute: "impdc-file-upload" }, providers: [
|
|
274
|
-
{
|
|
275
|
-
provide: ImpdcFormFieldControl,
|
|
276
|
-
useExisting: FileUploadComponent
|
|
277
|
-
}
|
|
278
|
-
], viewQueries: [{ propertyName: "fileDropElementRef", first: true, predicate: FileDropDirective, descendants: true, read: ElementRef }, { propertyName: "fileUploadInputEltRef", first: true, predicate: ["fileUploadInputElt"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"impdc-file-upload-container\">\n <div\n class=\"impdc-file-upload-dropzone\"\n [ngClass]=\"{\n 'hide-upload': !canUpload\n }\"\n impdcFileDrop\n (filesDropped)=\"handleDrop($event)\"\n (keyup.enter)=\"fileUploadInputElt.click()\"\n (focus)=\"_onFocus()\"\n (blur)=\"_onBlur()\"\n [tabindex]=\"disabled ? '-1' : '0'\">\n <input\n class=\"file-upload-input\"\n type=\"file\"\n #fileUploadInputElt\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [accept]=\"accept\"\n (change)=\"handleChange($event)\"\n tabindex=\"-1\" />\n <span\n impdc-icon\n theme=\"regular\"\n name=\"cloud-upload-alt\"\n class=\"upload-icon\"></span>\n <p class=\"upload-text\">{{ uploadText }}</p>\n </div>\n <div class=\"current-files\" *ngIf=\"filesForDisplay.length\">\n <ng-container *ngFor=\"let file of filesForDisplay; let idx = index\">\n <div class=\"current-file\">\n <div class=\"current-file-details\">\n <div class=\"name\">{{ file.name }}</div>\n <div class=\"size\">{{ file.size | humanReadableByteSize }}</div>\n </div>\n <div *ngIf=\"!disabled\" class=\"current-file-actions\">\n <button\n impdcButton\n theme=\"close\"\n tabindex=\"0\"\n (keyup.enter)=\"removeFile(idx)\"\n (click)=\"removeFile(idx)\"></button>\n </div>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone{color:var(--impd-color-red-500);border-color:var(--impd-color-red-500)}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone .upload-text{color:var(--impd-color-red-900)}:host.impdc-file-upload--invalid .impdc-file-upload-container .current-files .current-file{border-color:var(--impd-color-red-500)}:host.impdc-file-upload--disabled .impdc-file-upload-dropzone{color:var(--impd-color-gray-300);background-color:var(--impd-color-gray-50)}:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:focus,:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:has(label>button:focus){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container{display:flex;flex-direction:column;gap:var(--impd-size-2);width:100%}.impdc-file-upload-container .file-hover:not(.disabled){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container .current-files{display:flex;flex-direction:column;gap:var(--impd-size-2)}.impdc-file-upload-container .current-files .current-file{display:inline-flex;background-color:var(--impd-color-gray-50);padding:var(--impd-size-4);gap:var(--impd-size-4);border-radius:var(--impd-border-radius-md);border:1px solid var(--impd-color-gray-200);justify-content:space-between;align-items:center;color:var(--impd-color-gray-600)}.impdc-file-upload-container .current-files .current-file .current-file-details{display:flex;flex-direction:column}.impdc-file-upload-container .current-files .current-file .current-file-details .name{color:var(--impd-color-gray-900);font-size:1.4rem;font-weight:500}.impdc-file-upload-container .current-files .current-file .current-file-details .size{font-size:1.4rem}.impdc-file-upload-container .current-files .current-file .current-file-actions .btn.btn-close-fa{color:var(--impd-color-gray-600)}.impdc-file-upload-dropzone{position:relative;display:flex;flex-direction:column;width:100%;min-height:10rem;padding:3.2rem 1.6rem;gap:2rem;align-items:center;justify-content:center;text-align:center;border:2px dashed var(--impd-color-gray-200);color:var(--impd-color-motion-blue-600);border-radius:5px}.impdc-file-upload-dropzone.hide-upload{display:none}.impdc-file-upload-dropzone .upload-icon{font-size:33px;color:inherit}.impdc-file-upload-dropzone .upload-text{margin:0;font-size:14px;line-height:20px;color:inherit}.impdc-file-upload-dropzone .button-text{border-color:var(--impd-color-motion-blue-600);background-color:var(--impd-color-motion-blue-600);color:#fff}.impdc-file-upload-dropzone input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;z-index:2;cursor:pointer}.impdc-file-upload-dropzone input:disabled{cursor:default}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }, { kind: "component", type: i5.IconComponent, selector: "impdc-icon, [impdc-icon]", inputs: ["name", "theme", "size"] }, { kind: "directive", type: i6.FileDropDirective, selector: "[impdcFileDrop]", outputs: ["filesDropped"] }, { kind: "pipe", type: i7.HumanReadableByteSizePipe, name: "humanReadableByteSize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
279
|
-
}
|
|
280
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FileUploadComponent, decorators: [{
|
|
281
|
-
type: Component,
|
|
282
|
-
args: [{ selector: 'impdc-file-upload, [impdc-file-upload]', inputs: ['disabled', 'tabIndex'], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
283
|
-
class: 'impdc-file-upload',
|
|
284
|
-
'[attr.id]': 'id',
|
|
285
|
-
'[attr.tabindex]': 'tabIndex',
|
|
286
|
-
'[attr.aria-required]': 'required.toString()',
|
|
287
|
-
'[attr.aria-disabled]': 'disabled.toString()',
|
|
288
|
-
'[attr.aria-invalid]': 'errorState',
|
|
289
|
-
'[class.impdc-file-upload--required]': 'required',
|
|
290
|
-
'[class.impdc-file-upload--disabled]': 'disabled',
|
|
291
|
-
'[class.impdc-file-upload--invalid]': 'errorState',
|
|
292
|
-
'[class.impdc-file-upload--multiple]': 'multiple',
|
|
293
|
-
'[class.impdc-file-upload--empty]': 'empty',
|
|
294
|
-
'(focus)': '_onFocus(); focus()'
|
|
295
|
-
}, providers: [
|
|
296
|
-
{
|
|
297
|
-
provide: ImpdcFormFieldControl,
|
|
298
|
-
useExisting: FileUploadComponent
|
|
299
|
-
}
|
|
300
|
-
], template: "<div class=\"impdc-file-upload-container\">\n <div\n class=\"impdc-file-upload-dropzone\"\n [ngClass]=\"{\n 'hide-upload': !canUpload\n }\"\n impdcFileDrop\n (filesDropped)=\"handleDrop($event)\"\n (keyup.enter)=\"fileUploadInputElt.click()\"\n (focus)=\"_onFocus()\"\n (blur)=\"_onBlur()\"\n [tabindex]=\"disabled ? '-1' : '0'\">\n <input\n class=\"file-upload-input\"\n type=\"file\"\n #fileUploadInputElt\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [accept]=\"accept\"\n (change)=\"handleChange($event)\"\n tabindex=\"-1\" />\n <span\n impdc-icon\n theme=\"regular\"\n name=\"cloud-upload-alt\"\n class=\"upload-icon\"></span>\n <p class=\"upload-text\">{{ uploadText }}</p>\n </div>\n <div class=\"current-files\" *ngIf=\"filesForDisplay.length\">\n <ng-container *ngFor=\"let file of filesForDisplay; let idx = index\">\n <div class=\"current-file\">\n <div class=\"current-file-details\">\n <div class=\"name\">{{ file.name }}</div>\n <div class=\"size\">{{ file.size | humanReadableByteSize }}</div>\n </div>\n <div *ngIf=\"!disabled\" class=\"current-file-actions\">\n <button\n impdcButton\n theme=\"close\"\n tabindex=\"0\"\n (keyup.enter)=\"removeFile(idx)\"\n (click)=\"removeFile(idx)\"></button>\n </div>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone{color:var(--impd-color-red-500);border-color:var(--impd-color-red-500)}:host.impdc-file-upload--invalid .impdc-file-upload-dropzone .upload-text{color:var(--impd-color-red-900)}:host.impdc-file-upload--invalid .impdc-file-upload-container .current-files .current-file{border-color:var(--impd-color-red-500)}:host.impdc-file-upload--disabled .impdc-file-upload-dropzone{color:var(--impd-color-gray-300);background-color:var(--impd-color-gray-50)}:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:focus,:host:not(.impdc-file-upload--disabled) .impdc-file-upload-dropzone:has(label>button:focus){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container{display:flex;flex-direction:column;gap:var(--impd-size-2);width:100%}.impdc-file-upload-container .file-hover:not(.disabled){background-color:var(--impd-color-gray-50);border:2px solid var(--impd-color-motion-blue-500);border-radius:var(--impd-border-radius-md);outline:none}.impdc-file-upload-container .current-files{display:flex;flex-direction:column;gap:var(--impd-size-2)}.impdc-file-upload-container .current-files .current-file{display:inline-flex;background-color:var(--impd-color-gray-50);padding:var(--impd-size-4);gap:var(--impd-size-4);border-radius:var(--impd-border-radius-md);border:1px solid var(--impd-color-gray-200);justify-content:space-between;align-items:center;color:var(--impd-color-gray-600)}.impdc-file-upload-container .current-files .current-file .current-file-details{display:flex;flex-direction:column}.impdc-file-upload-container .current-files .current-file .current-file-details .name{color:var(--impd-color-gray-900);font-size:1.4rem;font-weight:500}.impdc-file-upload-container .current-files .current-file .current-file-details .size{font-size:1.4rem}.impdc-file-upload-container .current-files .current-file .current-file-actions .btn.btn-close-fa{color:var(--impd-color-gray-600)}.impdc-file-upload-dropzone{position:relative;display:flex;flex-direction:column;width:100%;min-height:10rem;padding:3.2rem 1.6rem;gap:2rem;align-items:center;justify-content:center;text-align:center;border:2px dashed var(--impd-color-gray-200);color:var(--impd-color-motion-blue-600);border-radius:5px}.impdc-file-upload-dropzone.hide-upload{display:none}.impdc-file-upload-dropzone .upload-icon{font-size:33px;color:inherit}.impdc-file-upload-dropzone .upload-text{margin:0;font-size:14px;line-height:20px;color:inherit}.impdc-file-upload-dropzone .button-text{border-color:var(--impd-color-motion-blue-600);background-color:var(--impd-color-motion-blue-600);color:#fff}.impdc-file-upload-dropzone input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;z-index:2;cursor:pointer}.impdc-file-upload-dropzone input:disabled{cursor:default}\n"] }]
|
|
301
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.ErrorStateMatcher }, { type: undefined, decorators: [{
|
|
302
|
-
type: Optional
|
|
303
|
-
}, {
|
|
304
|
-
type: Inject,
|
|
305
|
-
args: [IMPDC_FORM_ROOT]
|
|
306
|
-
}] }, { type: i2.NgForm, decorators: [{
|
|
307
|
-
type: Optional
|
|
308
|
-
}] }, { type: i2.FormGroupDirective, decorators: [{
|
|
309
|
-
type: Optional
|
|
310
|
-
}] }, { type: i2.NgControl, decorators: [{
|
|
311
|
-
type: Self
|
|
312
|
-
}, {
|
|
313
|
-
type: Optional
|
|
314
|
-
}] }], propDecorators: { fileDropElementRef: [{
|
|
315
|
-
type: ViewChild,
|
|
316
|
-
args: [FileDropDirective, { read: ElementRef }]
|
|
317
|
-
}], fileUploadInputEltRef: [{
|
|
318
|
-
type: ViewChild,
|
|
319
|
-
args: ['fileUploadInputElt', { static: false }]
|
|
320
|
-
}], multiple: [{
|
|
321
|
-
type: Input
|
|
322
|
-
}], uploadText: [{
|
|
323
|
-
type: Input
|
|
324
|
-
}], accept: [{
|
|
325
|
-
type: Input
|
|
326
|
-
}], errorStateMatcher: [{
|
|
327
|
-
type: Input
|
|
328
|
-
}], value: [{
|
|
329
|
-
type: Input
|
|
330
|
-
}], id: [{
|
|
331
|
-
type: Input
|
|
332
|
-
}], required: [{
|
|
333
|
-
type: Input
|
|
334
|
-
}] } });
|
|
335
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFPTCxVQUFVLEVBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFnQiwwQkFBMEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFJTCxxQkFBcUIsRUFFckIsZUFBZSxFQUNmLGFBQWEsRUFDYixlQUFlLEVBQ2YsYUFBYSxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7O0FBRWpELE1BQU0sd0JBQXdCLEdBQUcsYUFBYSxDQUM1QyxhQUFhLENBQ1gsZUFBZSxDQUNiO0lBR0UsWUFDUyx5QkFBNEMsRUFDNUMsU0FBd0IsRUFDeEIsV0FBbUIsRUFDbkIsZ0JBQW9DLEVBQ3BDLFNBQTJCO1FBSjNCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBbUI7UUFDNUMsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQUN4QixnQkFBVyxHQUFYLFdB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U0FBUzsrQkFDRSx3Q0FBd0MsVUFJMUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLG1CQUNmLHVCQUF1QixDQUFDLE1BQU0sUUFFekM7d0JBQ0osS0FBSyxFQUFFLG1CQUFtQjt3QkFDMUIsV0FBVyxFQUFFLElBQUk7d0JBQ2pCLGlCQUFpQixFQUFFLFVBQVU7d0JBQzdCLHNCQUFzQixFQUFFLHFCQUFxQjt3QkFDN0Msc0JBQXNCLEVBQUUscUJBQXFCO3dCQUM3QyxxQkFBcUIsRUFBRSxZQUFZO3dCQUNuQyxxQ0FBcUMsRUFBRSxVQUFVO3dCQUNqRCxxQ0FBcUMsRUFBRSxVQUFVO3dCQUNqRCxvQ0FBb0MsRUFBRSxZQUFZO3dCQUNsRCxxQ0FBcUMsRUFBRSxVQUFVO3dCQUNqRCxrQ0FBa0MsRUFBRSxPQUFPO3dCQUMzQyxTQUFTLEVBQUUscUJBQXFCO3FCQUNqQyxhQUNVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFdBQVcscUJBQXFCO3lCQUNqQztxQkFDRjs7MEJBdUVFLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs7MEJBQ2xDLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLElBQUk7OzBCQUFJLFFBQVE7eUNBNURULGtCQUFrQjtzQkFEM0IsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSzNDLHFCQUFxQjtzQkFEM0IsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBT2xELFFBQVE7c0JBRFAsS0FBSztnQkFPTixVQUFVO3NCQURULEtBQUs7Z0JBT04sTUFBTTtzQkFETCxLQUFLO2dCQUlVLGlCQUFpQjtzQkFEaEMsS0FBSztnQkE2R0ssS0FBSztzQkFEZixLQUFLO2dCQTBCSyxFQUFFO3NCQURaLEtBQUs7Z0JBaUJLLFFBQVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRG9DaGVjayxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgU2VsZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgTmdDb250cm9sLFxuICBOZ0Zvcm0sXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbiAgVmFsaWRhdG9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBuYW5vaWQgfSBmcm9tICduYW5vaWQnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHlWYWx1ZSB9IGZyb20gJy4uLy4uL3V0aWxpdGllcyc7XG5pbXBvcnQge1xuICBFcnJvclN0YXRlTWF0Y2hlcixcbiAgSUNhblVwZGF0ZUVycm9yU3RhdGUsXG4gIElIYXNFcnJvclN0YXRlLFxuICBJbXBkY0Zvcm1GaWVsZENvbnRyb2wsXG4gIEltcGRjRm9ybVJvb3QsXG4gIElNUERDX0ZPUk1fUk9PVCxcbiAgbWl4aW5EaXNhYmxlZCxcbiAgbWl4aW5FcnJvclN0YXRlLFxuICBtaXhpblRhYkluZGV4XG59IGZyb20gJy4uL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgRmlsZURyb3BEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuXG5jb25zdCBfRmlsZVVwbG9hZENvbXBvbmVudEJhc2UgPSBtaXhpblRhYkluZGV4KFxuICBtaXhpbkRpc2FibGVkKFxuICAgIG1peGluRXJyb3JTdGF0ZShcbiAgICAgIGNsYXNzIHtcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAgICAgY29uc3RydWN0b3IoXG4gICAgICAgICAgcHVibGljIF9kZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyLFxuICAgICAgICAgIHB1YmxpYyBfZm9ybVJvb3Q6IEltcGRjRm9ybVJvb3QsXG4gICAgICAgICAgcHVibGljIF9wYXJlbnRGb3JtOiBOZ0Zvcm0sXG4gICAgICAgICAgcHVibGljIF9wYXJlbnRGb3JtR3JvdXA6IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgICAgICAgICBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsXG4gICAgICAgICkge31cbiAgICAgIH1cbiAgICApXG4gIClcbik7XG5cbi8qKlxuICogVGhlIGBGaWxlVXBsb2FkQ29tcG9uZW50YCAoYDxpbXBkYy1maWxlLXVwbG9hZGAgb3IgYDxhbnkgaW1wZGMtZmlsZS11cGxvYWRgKSBpcyBhIGZpbGUgc2VsZWN0b3IgdGhhdCBzdXBwb3J0cyBkcmFnIGFuZCBkcm9wLlxuICogVG8gdXNlLCBpbXBvcnQgYEZpbGVVcGxvYWRNb2R1bGVgIG9yIGFub3RoZXIgbW9kdWxlIHRoYXQgaW1wb3J0cyBhbmQgZXhwb3J0cyB0aGF0IG1vZHVsZSBmcm9tIGBAaW1wYXJ0bmVyL2Rlc2lnbi1jb21wb25lbnRzYC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1wZGMtZmlsZS11cGxvYWQsIFtpbXBkYy1maWxlLXVwbG9hZF0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuc2NzcyddLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAndGFiSW5kZXgnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdpbXBkYy1maWxlLXVwbG9hZCcsXG4gICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgJ1thdHRyLnRhYmluZGV4XSc6ICd0YWJJbmRleCcsXG4gICAgJ1thdHRyLmFyaWEtcmVxdWlyZWRdJzogJ3JlcXVpcmVkLnRvU3RyaW5nKCknLFxuICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdkaXNhYmxlZC50b1N0cmluZygpJyxcbiAgICAnW2F0dHIuYXJpYS1pbnZhbGlkXSc6ICdlcnJvclN0YXRlJyxcbiAgICAnW2NsYXNzLmltcGRjLWZpbGUtdXBsb2FkLS1yZXF1aXJlZF0nOiAncmVxdWlyZWQnLFxuICAgICdbY2xhc3MuaW1wZGMtZmlsZS11cGxvYWQtLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5pbXBkYy1maWxlLXVwbG9hZC0taW52YWxpZF0nOiAnZXJyb3JTdGF0ZScsXG4gICAgJ1tjbGFzcy5pbXBkYy1maWxlLXVwbG9hZC0tbXVsdGlwbGVdJzogJ211bHRpcGxlJyxcbiAgICAnW2NsYXNzLmltcGRjLWZpbGUtdXBsb2FkLS1lbXB0eV0nOiAnZW1wdHknLFxuICAgICcoZm9jdXMpJzogJ19vbkZvY3VzKCk7IGZvY3VzKCknXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEltcGRjRm9ybUZpZWxkQ29udHJvbCxcbiAgICAgIHVzZUV4aXN0aW5nOiBGaWxlVXBsb2FkQ29tcG9uZW50XG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnRcbiAgZXh0ZW5kcyBfRmlsZVVwbG9hZENvbXBvbmVudEJhc2VcbiAgaW1wbGVtZW50c1xuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIFZhbGlkYXRvcixcbiAgICBJbXBkY0Zvcm1GaWVsZENvbnRyb2w8RmlsZSB8IEZpbGVbXT4sXG4gICAgSUNhblVwZGF0ZUVycm9yU3RhdGUsXG4gICAgSUhhc0Vycm9yU3RhdGUsXG4gICAgRG9DaGVjayxcbiAgICBPbkRlc3Ryb3lcbntcbiAgQFZpZXdDaGlsZChGaWxlRHJvcERpcmVjdGl2ZSwgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHByb3RlY3RlZCBmaWxlRHJvcEVsZW1lbnRSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAvKiogQGlnbm9yZSAqL1xuICBAVmlld0NoaWxkKCdmaWxlVXBsb2FkSW5wdXRFbHQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIGZpbGVVcGxvYWRJbnB1dEVsdFJlZiE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNvbnRyb2wgc3VwcG9ydHMgdXBsb2FkaW5nIG11bHRpcGxlIGZpbGVzLlxuICAgKi9cbiAgQElucHV0KClcbiAgbXVsdGlwbGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIGluc3RydWN0aW9uYWwgdGV4dCB0byBkaXNwbGF5IGluIHRoZSBmaWxlIHVwbG9hZCBkcm9wem9uZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHVwbG9hZFRleHQgPSAnRHJhZyBhbmQgZHJvcCBmaWxlcyBoZXJlIG9yIGNsaWNrIHRvIHVwbG9hZCc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb21tYS1kZWxpbWl0ZWQgbGlzdCBvZiBmaWxlIHR5cGVzIHRoYXQgYXJlIGFjY2VwdGVkIGJ5IHRoZSBjb250cm9sLlxuICAgKi9cbiAgQElucHV0KClcbiAgYWNjZXB0ID0gJyc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGVycm9yU3RhdGVNYXRjaGVyITogRXJyb3JTdGF0ZU1hdGNoZXI7XG5cbiAgcHVibGljIGdldCBjYW5VcGxvYWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubXVsdGlwbGUgfHwgdGhpcy5fdmFsdWUubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgYWNjZXB0VHlwZXMoKTogc3RyaW5nW10ge1xuICAgIGlmICghdGhpcy5hY2NlcHQgfHwgIXRoaXMuYWNjZXB0Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFjY2VwdFxuICAgICAgLnNwbGl0KCcsJylcbiAgICAgIC5tYXAoYSA9PiBhLnRyaW0oKSlcbiAgICAgIC5maWx0ZXIoYSA9PiAhIWEpO1xuICB9XG5cbiAgcHVibGljIGdldCBlbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBmaWxlc0ZvckRpc3BsYXkoKTogcmVhZG9ubHkgRmlsZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUgfHwgW107XG4gIH1cblxuICBwcml2YXRlIF9jdmFPbkNoYW5nZTogRnVuY3Rpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX2N2YU9uVG91Y2hlZDogRnVuY3Rpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX3VpZCA9IGBpbXBkYy1maWxlLXVwbG9hZC0ke25hbm9pZCgpfWA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIF9kZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoSU1QRENfRk9STV9ST09UKSBfZm9ybVJvb3Q6IEltcGRjRm9ybVJvb3QsXG4gICAgQE9wdGlvbmFsKCkgX3BhcmVudEZvcm06IE5nRm9ybSxcbiAgICBAT3B0aW9uYWwoKSBfcGFyZW50Rm9ybUdyb3VwOiBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGxcbiAgKSB7XG4gICAgc3VwZXIoXG4gICAgICBfZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyLFxuICAgICAgX2Zvcm1Sb290LFxuICAgICAgX3BhcmVudEZvcm0sXG4gICAgICBfcGFyZW50Rm9ybUdyb3VwLFxuICAgICAgbmdDb250cm9sXG4gICAgKTtcblxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sPy5hZGRWYWxpZGF0b3JzKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGUoKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuaWQgPSB0aGlzLmlkO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIGhhbmRsZUNoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBmaWxlTGlzdDogRmlsZUxpc3QgfCBudWxsID0gKChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkgfHwge30pXG4gICAgICAuZmlsZXM7XG5cbiAgICBpZiAoIWZpbGVMaXN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbWVyZ2VOZXdGaWxlc1dpdGhFeGlzdGluZ0ZpbGVzKGZpbGVMaXN0KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyBoYW5kbGVEcm9wKGV2ZW50OiBGaWxlTGlzdCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8ICFldmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX21lcmdlTmV3RmlsZXNXaXRoRXhpc3RpbmdGaWxlcyhldmVudCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgcmVtb3ZlRmlsZShmaWxlSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IG5ld0ZpbGVzQXJyID0gWy4uLnRoaXMuX3ZhbHVlXTtcbiAgICBuZXdGaWxlc0Fyci5zcGxpY2UoZmlsZUluZGV4LCAxKTtcblxuICAgIHRoaXMuX3VwZGF0ZVZhbHVlRnJvbUludGVyYWN0aW9uKG5ld0ZpbGVzQXJyKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5maWxlRHJvcEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cyhvcHRpb25zKTtcbiAgfVxuXG4gIC8qIExpZmVjeWNsZSBIb29rcyAqL1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVFcnJvclN0YXRlKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qIEltcGRjRm9ybUZpZWxkQ29udHJvbCAqL1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsZShzKSBjdXJyZW50bHkgdXBsb2FkZWQgaW50byB0aGUgY29udHJvbC4gUmV0dXJucyBgRmlsZSB8IG51bGxgIHdoZW4gYG11bHRpcGxlYCBpcyBgZmFsc2VgLFxuICAgKiBhbmQgYEZpbGVbXWAgd2hlbiBgbXVsdGlwbGVgIGlzIGB0cnVlYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogRmlsZSB8IEZpbGVbXSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLm11bHRpcGxlID8gWy4uLnRoaXMuX3ZhbHVlXSA6IHRoaXMuX3ZhbHVlWzBdO1xuICB9XG4gIHB1YmxpYyBzZXQgdmFsdWUobmV3VmFsdWU6IEZpbGUgfCBGaWxlW10gfCBudWxsKSB7XG4gICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLl92YWx1ZSkge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkobmV3VmFsdWUpKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gbmV3VmFsdWUgPyBbLi4ubmV3VmFsdWVdIDogW107XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IG5ld1ZhbHVlID8gW25ld1ZhbHVlXSA6IFtdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGZpbGVMaXN0ID0gdGhpcy5fZ2V0RmlsZUxpc3QodGhpcy5fdmFsdWUpO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5maWxlVXBsb2FkSW5wdXRFbHRSZWYgJiZcbiAgICAgIHRoaXMuZmlsZVVwbG9hZElucHV0RWx0UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICApIHtcbiAgICAgIHRoaXMuZmlsZVVwbG9hZElucHV0RWx0UmVmLm5hdGl2ZUVsZW1lbnQuZmlsZXMgPSBmaWxlTGlzdDtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IHJlYWRvbmx5IEZpbGVbXSA9IFtdO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cbiAgcHVibGljIHNldCBpZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5faWQgPSB2YWx1ZSB8fCB0aGlzLl91aWQ7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHByaXZhdGUgX2lkITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIHNldCByZXF1aXJlZG5lc3Mgb2YgY29udHJvbCBpbiBhIHRlbXBsYXRlLWJhc2VkIG1hbm5lcjtcbiAgICogbm90IG5lY2Vzc2FyeSB3aGVuIHVzaW5nIHRoZSBBbmd1bGFyIHJlYWN0aXZlIGZvcm1zIEFQSSBhbmQgYHJlcXVpcmVkYCB2YWxpZGF0b3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLl9yZXF1aXJlZCA/P1xuICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSA/P1xuICAgICAgZmFsc2VcbiAgICApO1xuICB9XG4gIHB1YmxpYyBzZXQgcmVxdWlyZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5VmFsdWUodmFsdWUpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWQ7XG4gIH1cbiAgcHJpdmF0ZSBfZm9jdXNlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb250cm9sVHlwZTogc3RyaW5nID0gJ2ltcGRjLWZpbGUtdXBsb2FkJztcbiAgcHVibGljIHJlYWRvbmx5IHN1cHBvcnRzQWZmaXhlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qIENvbnRyb2xWYWx1ZUFjY2Vzc29yICovXG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IEZpbGVbXSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBGdW5jdGlvbik6IHZvaWQge1xuICAgIHRoaXMuX2N2YU9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fY3ZhT25Ub3VjaGVkID0gZm47XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgLyogVmFsaWRhdG9yICovXG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHB1YmxpYyB2YWxpZGF0ZSgpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuICF0aGlzLmRpc2FibGVkICYmIHRoaXMucmVxdWlyZWQgJiYgdGhpcy5fdmFsdWUubGVuZ3RoID09PSAwXG4gICAgICA/IHsgcmVxdWlyZWQ6IHRydWUgfVxuICAgICAgOiBudWxsO1xuICB9XG5cbiAgLyogSW50ZXJuYWxzICovXG5cbiAgcHJvdGVjdGVkIF9vbkZvY3VzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5fZm9jdXNlZCA9IHRydWU7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9vbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5fZm9jdXNlZCA9IGZhbHNlO1xuXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLl9jdmFPblRvdWNoZWQgJiYgdGhpcy5fY3ZhT25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVWYWx1ZUZyb21JbnRlcmFjdGlvbihuZXdWYWx1ZTogRmlsZVtdKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xuXG4gICAgdGhpcy5fY3ZhT25DaGFuZ2UgJiYgdGhpcy5fY3ZhT25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5fY3ZhT25Ub3VjaGVkICYmIHRoaXMuX2N2YU9uVG91Y2hlZCgpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX21lcmdlTmV3RmlsZXNXaXRoRXhpc3RpbmdGaWxlcyhmaWxlTGlzdDogRmlsZUxpc3QgfCBudWxsKSB7XG4gICAgaWYgKCFmaWxlTGlzdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl92YWx1ZSAmJiB0aGlzLl92YWx1ZS5sZW5ndGggPT0gMSAmJiAhdGhpcy5tdWx0aXBsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRlbXBGaWxlcyA9IFsuLi50aGlzLl92YWx1ZV07XG5cbiAgICBBcnJheS5mcm9tKGZpbGVMaXN0KS5mb3JFYWNoKG5ld0ZpbGUgPT4ge1xuICAgICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIHRlbXBGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGV4aXN0aW5nRmlsZSA9IHRlbXBGaWxlcy5maW5kKFxuICAgICAgICBleGlzdGluZyA9PlxuICAgICAgICAgIGV4aXN0aW5nLm5hbWUgPT09IG5ld0ZpbGUubmFtZSAmJlxuICAgICAgICAgIGV4aXN0aW5nLmxhc3RNb2RpZmllZCA9PT0gbmV3RmlsZS5sYXN0TW9kaWZpZWQgJiZcbiAgICAgICAgICBleGlzdGluZy5zaXplID09PSBuZXdGaWxlLnNpemVcbiAgICAgICk7XG5cbiAgICAgIGlmIChleGlzdGluZ0ZpbGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5fYWNjZXB0ZWRGaWxlVHlwZShuZXdGaWxlLnR5cGUsIG5ld0ZpbGUubmFtZSkpIHtcbiAgICAgICAgdGVtcEZpbGVzLnB1c2gobmV3RmlsZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLl91cGRhdGVWYWx1ZUZyb21JbnRlcmFjdGlvbih0ZW1wRmlsZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RmlsZUxpc3QoZmlsZXM6IHJlYWRvbmx5IEZpbGVbXSk6IEZpbGVMaXN0IHtcbiAgICBjb25zdCBkYXRhVHJhbnNmZXIgPSBuZXcgRGF0YVRyYW5zZmVyKCk7XG5cbiAgICBmaWxlcy5mb3JFYWNoKGZpbGUgPT4ge1xuICAgICAgZGF0YVRyYW5zZmVyLml0ZW1zLmFkZChmaWxlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBkYXRhVHJhbnNmZXIuZmlsZXM7XG4gIH1cblxuICBwcml2YXRlIF9nZXRFeHRlbnNpb25zKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgbmFtZVNlZ21lbnRzID0gZmlsZU5hbWUuc3BsaXQoJy4nKTtcbiAgICBsZXQgZXh0ZW5zaW9uczogc3RyaW5nW10gPSBbXTtcblxuICAgIGlmIChuYW1lU2VnbWVudHMubGVuZ3RoIDwgMikge1xuICAgICAgcmV0dXJuIGV4dGVuc2lvbnM7XG4gICAgfVxuXG4gICAgY29uc3QgZXh0ZW5zaW9uID0gYC4ke25hbWVTZWdtZW50cy5zbGljZSgxKS5qb2luKCcuJyl9YDtcbiAgICBleHRlbnNpb25zLnB1c2goZXh0ZW5zaW9uKTtcblxuICAgIGlmIChuYW1lU2VnbWVudHMubGVuZ3RoID09PSAyKSB7XG4gICAgICByZXR1cm4gZXh0ZW5zaW9ucztcbiAgICB9XG5cbiAgICBjb25zdCBzdWIgPSBgLiR7bmFtZVNlZ21lbnRzLnNsaWNlKDIpLmpvaW4oJy4nKX1gO1xuICAgIGNvbnN0IHN1YkV4dGVuc2lvbnMgPSB0aGlzLl9nZXRFeHRlbnNpb25zKHN1Yik7XG4gICAgZXh0ZW5zaW9ucyA9IFsuLi5leHRlbnNpb25zLCAuLi5zdWJFeHRlbnNpb25zXTtcblxuICAgIHJldHVybiBleHRlbnNpb25zO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWNjZXB0ZWRGaWxlVHlwZSh0eXBlOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuYWNjZXB0VHlwZXMgfHwgdGhpcy5hY2NlcHRUeXBlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGFjY2VwdGVkQnlUeXBlID0gdGhpcy5hY2NlcHRUeXBlcy5pbmNsdWRlcyh0eXBlKTtcblxuICAgIGlmIChhY2NlcHRlZEJ5VHlwZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbnMgPSB0aGlzLl9nZXRFeHRlbnNpb25zKGZpbGVOYW1lKTtcblxuICAgIGlmICghZmlsZUV4dGVuc2lvbnMgfHwgZmlsZUV4dGVuc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgYWNjZXB0ZWRCeUV4dGVuc2lvbiA9IHRoaXMuYWNjZXB0VHlwZXMuc29tZSh0eXBlID0+XG4gICAgICBmaWxlRXh0ZW5zaW9ucy5pbmNsdWRlcyh0eXBlKVxuICAgICk7XG5cbiAgICByZXR1cm4gYWNjZXB0ZWRCeUV4dGVuc2lvbjtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImltcGRjLWZpbGUtdXBsb2FkLWNvbnRhaW5lclwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJpbXBkYy1maWxlLXVwbG9hZC1kcm9wem9uZVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ2hpZGUtdXBsb2FkJzogIWNhblVwbG9hZFxuICAgIH1cIlxuICAgIGltcGRjRmlsZURyb3BcbiAgICAoZmlsZXNEcm9wcGVkKT1cImhhbmRsZURyb3AoJGV2ZW50KVwiXG4gICAgKGtleXVwLmVudGVyKT1cImZpbGVVcGxvYWRJbnB1dEVsdC5jbGljaygpXCJcbiAgICAoZm9jdXMpPVwiX29uRm9jdXMoKVwiXG4gICAgKGJsdXIpPVwiX29uQmx1cigpXCJcbiAgICBbdGFiaW5kZXhdPVwiZGlzYWJsZWQgPyAnLTEnIDogJzAnXCI+XG4gICAgPGlucHV0XG4gICAgICBjbGFzcz1cImZpbGUtdXBsb2FkLWlucHV0XCJcbiAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICNmaWxlVXBsb2FkSW5wdXRFbHRcbiAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgICAgKGNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICB0YWJpbmRleD1cIi0xXCIgLz5cbiAgICA8c3BhblxuICAgICAgaW1wZGMtaWNvblxuICAgICAgdGhlbWU9XCJyZWd1bGFyXCJcbiAgICAgIG5hbWU9XCJjbG91ZC11cGxvYWQtYWx0XCJcbiAgICAgIGNsYXNzPVwidXBsb2FkLWljb25cIj48L3NwYW4+XG4gICAgPHAgY2xhc3M9XCJ1cGxvYWQtdGV4dFwiPnt7IHVwbG9hZFRleHQgfX08L3A+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY3VycmVudC1maWxlc1wiICpuZ0lmPVwiZmlsZXNGb3JEaXNwbGF5Lmxlbmd0aFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpbGUgb2YgZmlsZXNGb3JEaXNwbGF5OyBsZXQgaWR4ID0gaW5kZXhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjdXJyZW50LWZpbGVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImN1cnJlbnQtZmlsZS1kZXRhaWxzXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj57eyBmaWxlLm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2l6ZVwiPnt7IGZpbGUuc2l6ZSB8IGh1bWFuUmVhZGFibGVCeXRlU2l6ZSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFkaXNhYmxlZFwiIGNsYXNzPVwiY3VycmVudC1maWxlLWFjdGlvbnNcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBpbXBkY0J1dHRvblxuICAgICAgICAgICAgdGhlbWU9XCJjbG9zZVwiXG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cInJlbW92ZUZpbGUoaWR4KVwiXG4gICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlRmlsZShpZHgpXCI+PC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import { ButtonModule } from '../button';
|
|
5
|
-
import { IconModule } from '../icon';
|
|
6
|
-
import { FileDropDirective } from './directives';
|
|
7
|
-
import { FileUploadComponent } from './file-upload.component';
|
|
8
|
-
import { HumanReadableByteSizePipe } from './pipes';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
export class FileUploadModule {
|
|
11
|
-
constructor() { }
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: FileUploadModule, declarations: [FileDropDirective,
|
|
14
|
-
FileUploadComponent,
|
|
15
|
-
HumanReadableByteSizePipe], imports: [CommonModule, FormsModule, ButtonModule, IconModule], exports: [IconModule,
|
|
16
|
-
FileDropDirective,
|
|
17
|
-
FileUploadComponent,
|
|
18
|
-
HumanReadableByteSizePipe] }); }
|
|
19
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FileUploadModule, imports: [CommonModule, FormsModule, ButtonModule, IconModule, IconModule] }); }
|
|
20
|
-
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FileUploadModule, decorators: [{
|
|
22
|
-
type: NgModule,
|
|
23
|
-
args: [{
|
|
24
|
-
imports: [CommonModule, FormsModule, ButtonModule, IconModule],
|
|
25
|
-
declarations: [
|
|
26
|
-
FileDropDirective,
|
|
27
|
-
FileUploadComponent,
|
|
28
|
-
HumanReadableByteSizePipe
|
|
29
|
-
],
|
|
30
|
-
exports: [
|
|
31
|
-
IconModule,
|
|
32
|
-
FileDropDirective,
|
|
33
|
-
FileUploadComponent,
|
|
34
|
-
HumanReadableByteSizePipe
|
|
35
|
-
]
|
|
36
|
-
}]
|
|
37
|
-
}], ctorParameters: () => [] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNyQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sU0FBUyxDQUFDOztBQWdCcEQsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixnQkFBZSxDQUFDOzhHQURMLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQVh6QixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLHlCQUF5QixhQUpqQixZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxVQUFVLGFBTzNELFVBQVU7WUFDVixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLHlCQUF5QjsrR0FHaEIsZ0JBQWdCLFlBYmpCLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFPM0QsVUFBVTs7MkZBTUQsZ0JBQWdCO2tCQWQ1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQztvQkFDOUQsWUFBWSxFQUFFO3dCQUNaLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQix5QkFBeUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQix5QkFBeUI7cUJBQzFCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uJztcbmltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uJztcbmltcG9ydCB7IEZpbGVEcm9wRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IEZpbGVVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdW1hblJlYWRhYmxlQnl0ZVNpemVQaXBlIH0gZnJvbSAnLi9waXBlcyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBCdXR0b25Nb2R1bGUsIEljb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGaWxlRHJvcERpcmVjdGl2ZSxcbiAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxuICAgIEh1bWFuUmVhZGFibGVCeXRlU2l6ZVBpcGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEljb25Nb2R1bGUsXG4gICAgRmlsZURyb3BEaXJlY3RpdmUsXG4gICAgRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgICBIdW1hblJlYWRhYmxlQnl0ZVNpemVQaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './directives';
|
|
2
|
-
export * from './pipes';
|
|
3
|
-
export { FileUploadComponent } from './file-upload.component';
|
|
4
|
-
export { FileUploadModule } from './file-upload.module';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2ZpbGUtdXBsb2FkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMnO1xuZXhwb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS11cGxvYWQuY29tcG9uZW50JztcbmV4cG9ydCB7IEZpbGVVcGxvYWRNb2R1bGUgfSBmcm9tICcuL2ZpbGUtdXBsb2FkLm1vZHVsZSc7XG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class HumanReadableByteSizePipe {
|
|
4
|
-
transform(bytes) {
|
|
5
|
-
if (bytes < 1024) {
|
|
6
|
-
return `${bytes}B`;
|
|
7
|
-
}
|
|
8
|
-
const i = Math.floor(Math.log(bytes) / Math.log(1024));
|
|
9
|
-
const num = bytes / Math.pow(1024, i);
|
|
10
|
-
const round = Math.round(num);
|
|
11
|
-
const display = round < 10 ? num.toFixed(2) : round < 100 ? num.toFixed(1) : round;
|
|
12
|
-
return `${display}${'KMGTPEZY'[i - 1]}B`;
|
|
13
|
-
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: HumanReadableByteSizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
15
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: HumanReadableByteSizePipe, name: "humanReadableByteSize" }); }
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: HumanReadableByteSizePipe, decorators: [{
|
|
18
|
-
type: Pipe,
|
|
19
|
-
args: [{
|
|
20
|
-
name: 'humanReadableByteSize'
|
|
21
|
-
}]
|
|
22
|
-
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVtYW4tcmVhZGFibGUtYnl0ZS1zaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2ZpbGUtdXBsb2FkL3BpcGVzL2h1bWFuLXJlYWRhYmxlLWJ5dGUtc2l6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksS0FBSyxHQUFHLElBQUksRUFBRSxDQUFDO1lBQ2pCLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQztRQUNyQixDQUFDO1FBRUQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2RCxNQUFNLEdBQUcsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixNQUFNLE9BQU8sR0FDWCxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFckUsT0FBTyxHQUFHLE9BQU8sR0FBRyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDM0MsQ0FBQzs4R0FiVSx5QkFBeUI7NEdBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFIckMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsdUJBQXVCO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnaHVtYW5SZWFkYWJsZUJ5dGVTaXplJ1xufSlcbmV4cG9ydCBjbGFzcyBIdW1hblJlYWRhYmxlQnl0ZVNpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShieXRlczogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAoYnl0ZXMgPCAxMDI0KSB7XG4gICAgICByZXR1cm4gYCR7Ynl0ZXN9QmA7XG4gICAgfVxuXG4gICAgY29uc3QgaSA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coMTAyNCkpO1xuICAgIGNvbnN0IG51bSA9IGJ5dGVzIC8gTWF0aC5wb3coMTAyNCwgaSk7XG4gICAgY29uc3Qgcm91bmQgPSBNYXRoLnJvdW5kKG51bSk7XG4gICAgY29uc3QgZGlzcGxheSA9XG4gICAgICByb3VuZCA8IDEwID8gbnVtLnRvRml4ZWQoMikgOiByb3VuZCA8IDEwMCA/IG51bS50b0ZpeGVkKDEpIDogcm91bmQ7XG5cbiAgICByZXR1cm4gYCR7ZGlzcGxheX0keydLTUdUUEVaWSdbaSAtIDFdfUJgO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './human-readable-byte-size.pipe';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2ZpbGUtdXBsb2FkL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2h1bWFuLXJlYWRhYmxlLWJ5dGUtc2l6ZS5waXBlJztcbiJdfQ==
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class CornerHintDirective {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CornerHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: CornerHintDirective, isStandalone: true, selector: "impdc-corner-hint", ngImport: i0 }); }
|
|
6
|
-
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: CornerHintDirective, decorators: [{
|
|
8
|
-
type: Directive,
|
|
9
|
-
args: [{
|
|
10
|
-
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
11
|
-
selector: 'impdc-corner-hint',
|
|
12
|
-
standalone: true
|
|
13
|
-
}]
|
|
14
|
-
}] });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ybmVyLWhpbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9mb3JtLWZpZWxkL2NvbXBvbmVudC9kaXJlY3RpdmVzL2Nvcm5lci1oaW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8xQyxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7a0dBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFML0IsU0FBUzttQkFBQztvQkFDVCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdpbXBkYy1jb3JuZXItaGludCcsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQ29ybmVySGludERpcmVjdGl2ZSB7fVxuIl19
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Directive, InjectionToken, Input } from '@angular/core';
|
|
2
|
-
import { nanoid } from 'nanoid';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export const IMPDC_ERROR = new InjectionToken('ImpdcError');
|
|
5
|
-
export class ErrorDirective {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.id = `impdc-form-error-${nanoid()}`;
|
|
8
|
-
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
10
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ErrorDirective, isStandalone: true, selector: "impdc-error, [impdc-error]", inputs: { id: "id" }, host: { properties: { "id": "id" } }, providers: [{ provide: IMPDC_ERROR, useExisting: ErrorDirective }], ngImport: i0 }); }
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ErrorDirective, decorators: [{
|
|
13
|
-
type: Directive,
|
|
14
|
-
args: [{
|
|
15
|
-
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
16
|
-
selector: 'impdc-error, [impdc-error]',
|
|
17
|
-
standalone: true,
|
|
18
|
-
// eslint-disable-next-line @angular-eslint/no-host-metadata-property
|
|
19
|
-
host: {
|
|
20
|
-
'[id]': 'id'
|
|
21
|
-
},
|
|
22
|
-
providers: [{ provide: IMPDC_ERROR, useExisting: ErrorDirective }]
|
|
23
|
-
}]
|
|
24
|
-
}], propDecorators: { id: [{
|
|
25
|
-
type: Input
|
|
26
|
-
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9mb3JtLWZpZWxkL2NvbXBvbmVudC9kaXJlY3RpdmVzL2Vycm9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQzs7QUFFaEMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFpQixZQUFZLENBQUMsQ0FBQztBQVk1RSxNQUFNLE9BQU8sY0FBYztJQVYzQjtRQVlFLE9BQUUsR0FBRyxvQkFBb0IsTUFBTSxFQUFFLEVBQUUsQ0FBQztLQUNyQzs4R0FIWSxjQUFjO2tHQUFkLGNBQWMscUlBRmQsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxDQUFDOzsyRkFFdkQsY0FBYztrQkFWMUIsU0FBUzttQkFBQztvQkFDVCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixxRUFBcUU7b0JBQ3JFLElBQUksRUFBRTt3QkFDSixNQUFNLEVBQUUsSUFBSTtxQkFDYjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRSxDQUFDO2lCQUNuRTs4QkFHQyxFQUFFO3NCQURELEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdGlvblRva2VuLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbmFub2lkIH0gZnJvbSAnbmFub2lkJztcblxuZXhwb3J0IGNvbnN0IElNUERDX0VSUk9SID0gbmV3IEluamVjdGlvblRva2VuPEVycm9yRGlyZWN0aXZlPignSW1wZGNFcnJvcicpO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdpbXBkYy1lcnJvciwgW2ltcGRjLWVycm9yXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICBob3N0OiB7XG4gICAgJ1tpZF0nOiAnaWQnXG4gIH0sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogSU1QRENfRVJST1IsIHVzZUV4aXN0aW5nOiBFcnJvckRpcmVjdGl2ZSB9XVxufSlcbmV4cG9ydCBjbGFzcyBFcnJvckRpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpXG4gIGlkID0gYGltcGRjLWZvcm0tZXJyb3ItJHtuYW5vaWQoKX1gO1xufVxuIl19
|