@yuuvis/client-framework 2.0.0-beta.0 → 2.0.0-beta.10
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/actions/lib/actions/delete-action/delete/delete.component.d.ts +3 -3
- package/actions/lib/actions/delete-action/delete-action.d.ts +1 -1
- package/actions/lib/actions.service.d.ts +7 -3
- package/actions/lib/components/contextmenu/contextmenu.component.d.ts +3 -1
- package/autocomplete/README.md +3 -0
- package/autocomplete/index.d.ts +3 -0
- package/autocomplete/lib/autocomplete.component.d.ts +72 -0
- package/autocomplete/lib/autocomplete.interface.d.ts +4 -0
- package/autocomplete/lib/autocomplete.module.d.ts +7 -0
- package/common/index.d.ts +4 -4
- package/common/lib/common.module.d.ts +19 -0
- package/common/lib/common.utils.d.ts +2 -0
- package/common/lib/components/confirm/confirm.component.d.ts +7 -0
- package/common/lib/components/confirm/confirm.interface.d.ts +7 -0
- package/common/lib/components/confirm/confirm.service.d.ts +9 -0
- package/common/lib/components/dialog/dialog.component.d.ts +6 -0
- package/common/lib/components/dialog/dialog.options.d.ts +7 -0
- package/common/lib/components/index.d.ts +5 -0
- package/common/lib/directives/autofocus-child.directive.d.ts +13 -0
- package/common/lib/directives/autofocus-delayed.directive.d.ts +18 -0
- package/common/lib/directives/drag-scroll.directive.d.ts +20 -0
- package/common/lib/directives/index.d.ts +8 -4
- package/common/lib/directives/noop-value-accessor.directive.d.ts +2 -2
- package/common/lib/mat-form-field.abstract.d.ts +41 -0
- package/common/lib/services/index.d.ts +1 -1
- package/common/lib/services/layout-settings/layout-settings.service.d.ts +18 -0
- package/datepicker/README.md +3 -0
- package/datepicker/index.d.ts +5 -0
- package/datepicker/lib/calendar/calendar.component.d.ts +72 -0
- package/datepicker/lib/date-input/date-input-element/date-input-element.component.d.ts +43 -0
- package/datepicker/lib/date-input/date-input-hour-element/date-input-hour-element.component.d.ts +11 -0
- package/datepicker/lib/date-input/date-input.component.d.ts +61 -0
- package/datepicker/lib/datepicker-calendar/datepicker-calendar-trigger.component.d.ts +7 -0
- package/datepicker/lib/datepicker-calendar/datepicker-calendar.component.d.ts +12 -0
- package/datepicker/lib/datepicker.component.d.ts +80 -0
- package/datepicker/lib/datepicker.interface.d.ts +34 -0
- package/datepicker/lib/datepicker.module.d.ts +9 -0
- package/datepicker/lib/datepicker.service.d.ts +46 -0
- package/datepicker/lib/datepicker.utils.d.ts +23 -0
- package/datepicker/lib/time-input/time-input.component.d.ts +36 -0
- package/datepicker/lib/time-input/time-input.interface.d.ts +6 -0
- package/fesm2022/yuuvis-client-framework-actions.mjs +147 -105
- package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-app-bar.mjs +7 -8
- package/fesm2022/yuuvis-client-framework-app-bar.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-autocomplete.mjs +210 -0
- package/fesm2022/yuuvis-client-framework-autocomplete.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-clipboard.mjs +9 -9
- package/fesm2022/yuuvis-client-framework-clipboard.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-common.mjs +853 -780
- package/fesm2022/yuuvis-client-framework-common.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-datepicker.mjs +1688 -0
- package/fesm2022/yuuvis-client-framework-datepicker.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-forms.mjs +945 -1157
- package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-icons.mjs +85 -12
- package/fesm2022/yuuvis-client-framework-icons.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-list.mjs +81 -45
- package/fesm2022/yuuvis-client-framework-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-master-details.mjs +112 -0
- package/fesm2022/yuuvis-client-framework-master-details.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs +60 -0
- package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-metadata-form.mjs +125 -100
- package/fesm2022/yuuvis-client-framework-metadata-form.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-details.mjs +49 -59
- package/fesm2022/yuuvis-client-framework-object-details.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-flavor.mjs +188 -77
- package/fesm2022/yuuvis-client-framework-object-flavor.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-form.mjs +99 -184
- package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-preview.mjs +12 -12
- package/fesm2022/yuuvis-client-framework-object-preview.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-summary.mjs +46 -42
- package/fesm2022/yuuvis-client-framework-object-summary.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-overflow-menu.mjs +126 -0
- package/fesm2022/yuuvis-client-framework-overflow-menu.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-pagination.mjs +7 -9
- package/fesm2022/yuuvis-client-framework-pagination.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-panel.mjs +8 -7
- package/fesm2022/yuuvis-client-framework-panel.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-popout.mjs +212 -0
- package/fesm2022/yuuvis-client-framework-popout.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-renderer.mjs +99 -72
- package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs +29 -112
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-simple-search.mjs +40 -21
- package/fesm2022/yuuvis-client-framework-simple-search.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-split-view.mjs +188 -0
- package/fesm2022/yuuvis-client-framework-split-view.mjs.map +1 -0
- package/fesm2022/yuuvis-client-framework-tile-list.mjs +100 -93
- package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-tree.mjs +15 -15
- package/fesm2022/yuuvis-client-framework-tree.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-upload-progress.mjs +16 -21
- package/fesm2022/yuuvis-client-framework-upload-progress.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework.mjs +4 -4
- package/fesm2022/yuuvis-client-framework.mjs.map +1 -1
- package/forms/index.d.ts +7 -1
- package/forms/lib/elements/catalog/catalog.component.d.ts +17 -56
- package/forms/lib/elements/data-grid/edit-table-data/edit-data.component.d.ts +5 -4
- package/forms/lib/elements/datetime/datetime.component.d.ts +19 -10
- package/forms/lib/elements/datetime-range/datetime-range.component.d.ts +12 -27
- package/forms/lib/elements/index.d.ts +0 -1
- package/forms/lib/elements/number/number.component.d.ts +21 -30
- package/forms/lib/elements/number-range/number-range.component.d.ts +12 -7
- package/forms/lib/elements/organization/organization.component.d.ts +23 -51
- package/forms/lib/elements/range-select-date/range-select-date.component.d.ts +12 -7
- package/forms/lib/elements/range-select-filesize/range-select-filesize.component.d.ts +12 -7
- package/forms/lib/elements/string/string.component.d.ts +15 -20
- package/forms/lib/forms.module.d.ts +8 -11
- package/icons/index.d.ts +1 -0
- package/icons/lib/icon.component.d.ts +20 -0
- package/lib/assets/i18n/de.json +7 -23
- package/lib/assets/i18n/en.json +10 -26
- package/list/index.d.ts +1 -0
- package/list/lib/list-item.directive.d.ts +5 -4
- package/list/lib/list.component.d.ts +6 -3
- package/list/lib/list.module.d.ts +8 -0
- package/master-details/README.md +3 -0
- package/master-details/index.d.ts +2 -0
- package/master-details/lib/master-details.component.d.ts +58 -0
- package/master-details/lib/master-details.interface.d.ts +7 -0
- package/master-details/lib/master-details.module.d.ts +7 -0
- package/metadata-form/index.d.ts +4 -1
- package/metadata-form/lib/metadata-form-field/metadata-form-field.component.d.ts +4 -17
- package/metadata-form/lib/metadata-form-field/metadata-form-field.interface.d.ts +11 -0
- package/metadata-form/lib/object-metadata-element-error.directive.d.ts +13 -0
- package/metadata-form/lib/object-metadata-element-label.directive.d.ts +10 -0
- package/metadata-form/lib/object-metadata-element-template.directive.d.ts +3 -3
- package/metadata-form-defaults/README.md +3 -0
- package/metadata-form-defaults/index.d.ts +2 -0
- package/metadata-form-defaults/lib/metadata-form-defaults.module.d.ts +7 -0
- package/object-details/lib/object-audit/object-audit.component.d.ts +3 -9
- package/object-details/lib/object-details.component.d.ts +0 -2
- package/object-details/lib/object-metadata/object-metadata.component.d.ts +4 -3
- package/object-details/lib/retention-badge/retention-badge.component.d.ts +0 -3
- package/object-flavor/index.d.ts +1 -0
- package/object-flavor/lib/abstract-apply-create-flavor/abstract-apply-create-flavor.component.d.ts +1 -2
- package/object-flavor/lib/abstract-apply-object-flavor/abstract-apply-object-flavor.component.d.ts +3 -2
- package/object-flavor/lib/default-apply-flavor/default-apply-flavor.component.d.ts +19 -0
- package/object-flavor/lib/flavor-chip/flavor-chip.component.d.ts +1 -1
- package/object-flavor/lib/object-flavor/object-flavor.component.d.ts +3 -6
- package/object-flavor/lib/object-flavor-picker/object-flavor-picker.component.d.ts +0 -1
- package/object-form/index.d.ts +1 -1
- package/object-form/lib/object-form-element/object-form-element.component.d.ts +2 -2
- package/object-form/lib/object-form-group/object-form-group.component.d.ts +1 -3
- package/object-form/lib/object-form.component.d.ts +2 -2
- package/object-form/lib/object-form.interface.d.ts +0 -44
- package/object-form/lib/object-form.module.d.ts +7 -0
- package/object-form/lib/object-form.service.d.ts +1 -2
- package/object-form/lib/object-form.utils.d.ts +1 -1
- package/object-summary/lib/object-summary/object-summary.component.d.ts +13 -15
- package/overflow-menu/README.md +3 -0
- package/overflow-menu/index.d.ts +3 -0
- package/overflow-menu/lib/overflow-menu.component.d.ts +31 -0
- package/overflow-menu/lib/overflow-menu.interface.d.ts +9 -0
- package/overflow-menu/lib/overflow-menu.module.d.ts +7 -0
- package/package.json +44 -70
- package/popout/README.md +3 -0
- package/popout/index.d.ts +3 -0
- package/popout/lib/popout.component.d.ts +58 -0
- package/popout/lib/popout.interface.d.ts +17 -0
- package/popout/lib/popout.module.d.ts +7 -0
- package/renderer/lib/property-renderer/abstract.renderer.d.ts +4 -4
- package/renderer/lib/property-renderer/icon.renderer.component.d.ts +2 -0
- package/renderer/lib/renderer.directive.d.ts +4 -3
- package/sequence-list/index.d.ts +0 -1
- package/sequence-list/lib/sequence-list.component.d.ts +0 -4
- package/simple-search/index.d.ts +0 -1
- package/simple-search/lib/simple-search/simple-search.component.d.ts +6 -10
- package/split-view/README.md +3 -0
- package/split-view/index.d.ts +4 -0
- package/split-view/lib/split-area.directive.d.ts +16 -0
- package/split-view/lib/split-view.component.d.ts +76 -0
- package/split-view/lib/split-view.interface.d.ts +10 -0
- package/split-view/lib/split-view.module.d.ts +8 -0
- package/styles/client-framework.scss +21 -67
- package/tile-list/lib/tile/tile.component.d.ts +1 -2
- package/tile-list/lib/tile-config/property-select/property-select.component.d.ts +0 -1
- package/tile-list/lib/tile-config/tile-config-trigger/tile-config-trigger.component.d.ts +1 -2
- package/tile-list/lib/tile-config/tile-config.component.d.ts +0 -3
- package/tile-list/lib/tile-list/tile-list.component.d.ts +5 -5
- package/upload-progress/lib/upload-progress/upload-progress-overlay/upload-progress-overlay.component.d.ts +0 -5
- package/upload-progress/lib/upload-progress/upload-progress.component.d.ts +0 -4
- package/common/lib/components/focus-indicator/focus-indicator.component.d.ts +0 -7
- package/common/lib/components/token-input/token-input.component.d.ts +0 -55
- package/common/lib/components/token-input/token-input.interface.d.ts +0 -8
- package/common/lib/services/error-messages/error-messages.service.d.ts +0 -7
- package/esm2022/actions/index.mjs +0 -7
- package/esm2022/actions/lib/actions/copy-action/copy-action.mjs +0 -31
- package/esm2022/actions/lib/actions/cut-action/cut-action.mjs +0 -30
- package/esm2022/actions/lib/actions/delete-action/delete/delete.component.mjs +0 -67
- package/esm2022/actions/lib/actions/delete-action/delete-action.mjs +0 -38
- package/esm2022/actions/lib/actions/download-action/download-action.mjs +0 -33
- package/esm2022/actions/lib/actions.icon.mjs +0 -8
- package/esm2022/actions/lib/actions.interface.mjs +0 -19
- package/esm2022/actions/lib/actions.module.mjs +0 -16
- package/esm2022/actions/lib/actions.service.mjs +0 -89
- package/esm2022/actions/lib/components/contextmenu/contextmenu.component.mjs +0 -27
- package/esm2022/actions/yuuvis-client-framework-actions.mjs +0 -5
- package/esm2022/app-bar/index.mjs +0 -2
- package/esm2022/app-bar/lib/app-bar.component.mjs +0 -89
- package/esm2022/app-bar/yuuvis-client-framework-app-bar.mjs +0 -5
- package/esm2022/clipboard/index.mjs +0 -2
- package/esm2022/clipboard/lib/clipboard.component.mjs +0 -48
- package/esm2022/clipboard/yuuvis-client-framework-clipboard.mjs +0 -5
- package/esm2022/common/index.mjs +0 -7
- package/esm2022/common/lib/components/focus-indicator/focus-indicator.component.mjs +0 -41
- package/esm2022/common/lib/components/token-input/token-input.component.mjs +0 -324
- package/esm2022/common/lib/components/token-input/token-input.interface.mjs +0 -2
- package/esm2022/common/lib/directives/busy-overlay.directive.mjs +0 -88
- package/esm2022/common/lib/directives/click-double.directive.mjs +0 -61
- package/esm2022/common/lib/directives/container-size.directive.mjs +0 -56
- package/esm2022/common/lib/directives/drag-select.directive.mjs +0 -114
- package/esm2022/common/lib/directives/file-drop-zone/file-drop-zone.directive.mjs +0 -153
- package/esm2022/common/lib/directives/file-drop-zone/file-drop-zone.interface.mjs +0 -2
- package/esm2022/common/lib/directives/focus-within.directive.mjs +0 -81
- package/esm2022/common/lib/directives/index.mjs +0 -9
- package/esm2022/common/lib/directives/light-dismiss.directive.mjs +0 -44
- package/esm2022/common/lib/directives/longpress.directive.mjs +0 -36
- package/esm2022/common/lib/directives/noop-value-accessor.directive.mjs +0 -42
- package/esm2022/common/lib/services/error-messages/error-messages.service.mjs +0 -68
- package/esm2022/common/lib/services/index.mjs +0 -2
- package/esm2022/common/yuuvis-client-framework-common.mjs +0 -5
- package/esm2022/forms/index.mjs +0 -24
- package/esm2022/forms/lib/elements/catalog/catalog.component.mjs +0 -118
- package/esm2022/forms/lib/elements/data-grid/data-grid/data-grid.component.mjs +0 -172
- package/esm2022/forms/lib/elements/data-grid/edit-table-data/edit-data.component.mjs +0 -95
- package/esm2022/forms/lib/elements/data-grid/model/data-grid.interface.mjs +0 -9
- package/esm2022/forms/lib/elements/datetime/datetime.component.mjs +0 -82
- package/esm2022/forms/lib/elements/datetime-range/datetime-range.component.mjs +0 -166
- package/esm2022/forms/lib/elements/index.mjs +0 -11
- package/esm2022/forms/lib/elements/number/number.component.mjs +0 -195
- package/esm2022/forms/lib/elements/number-range/number-range.component.mjs +0 -176
- package/esm2022/forms/lib/elements/organization/organization.component.mjs +0 -286
- package/esm2022/forms/lib/elements/range-select-date/date-range-picker/date-range-picker.component.mjs +0 -38
- package/esm2022/forms/lib/elements/range-select-date/range-select-date.component.mjs +0 -181
- package/esm2022/forms/lib/elements/range-select-date/range-select-date.interface.mjs +0 -2
- package/esm2022/forms/lib/elements/range-select-filesize/range-select-filesize.component.mjs +0 -98
- package/esm2022/forms/lib/elements/range-select-filesize/range-select-filesize.interface.mjs +0 -2
- package/esm2022/forms/lib/elements/string/string.component.mjs +0 -261
- package/esm2022/forms/lib/form-input/form-input.component.mjs +0 -88
- package/esm2022/forms/lib/forms.module.mjs +0 -58
- package/esm2022/forms/yuuvis-client-framework-forms.mjs +0 -5
- package/esm2022/icons/index.mjs +0 -4
- package/esm2022/icons/lib/icon.service.mjs +0 -59
- package/esm2022/icons/lib/icons.mjs +0 -32
- package/esm2022/icons/lib/object-type-icon/object-type-icon.component.mjs +0 -29
- package/esm2022/icons/yuuvis-client-framework-icons.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/lib/yuuvis-client-framework.module.mjs +0 -15
- package/esm2022/list/index.mjs +0 -3
- package/esm2022/list/lib/list-item.directive.mjs +0 -72
- package/esm2022/list/lib/list.component.mjs +0 -135
- package/esm2022/list/yuuvis-client-framework-list.mjs +0 -5
- package/esm2022/metadata-form/index.mjs +0 -4
- package/esm2022/metadata-form/lib/metadata-default-templates/metadata-default-templates.component.mjs +0 -32
- package/esm2022/metadata-form/lib/metadata-form-element-registry.service.mjs +0 -99
- package/esm2022/metadata-form/lib/metadata-form-field/metadata-form-field.component.mjs +0 -83
- package/esm2022/metadata-form/lib/object-metadata-element-template.directive.mjs +0 -52
- package/esm2022/metadata-form/yuuvis-client-framework-metadata-form.mjs +0 -5
- package/esm2022/object-details/index.mjs +0 -8
- package/esm2022/object-details/lib/object-audit/object-audit.component.mjs +0 -195
- package/esm2022/object-details/lib/object-details-shell/object-details-shell.component.mjs +0 -127
- package/esm2022/object-details/lib/object-details.component.mjs +0 -61
- package/esm2022/object-details/lib/object-metadata/form-section-group.pipe.mjs +0 -17
- package/esm2022/object-details/lib/object-metadata/object-metadata.component.mjs +0 -202
- package/esm2022/object-details/lib/object-metadata/object-metadata.interface.mjs +0 -2
- package/esm2022/object-details/lib/retention-badge/retention-badge.component.mjs +0 -27
- package/esm2022/object-details/yuuvis-client-framework-object-details.mjs +0 -5
- package/esm2022/object-flavor/index.mjs +0 -6
- package/esm2022/object-flavor/lib/abstract-apply-create-flavor/abstract-apply-create-flavor.component.mjs +0 -25
- package/esm2022/object-flavor/lib/abstract-apply-object-flavor/abstract-apply-object-flavor.component.mjs +0 -21
- package/esm2022/object-flavor/lib/flavor-chip/flavor-chip.component.mjs +0 -35
- package/esm2022/object-flavor/lib/object-flavor/object-flavor.component.mjs +0 -93
- package/esm2022/object-flavor/lib/object-flavor-picker/object-flavor-picker.component.mjs +0 -43
- package/esm2022/object-flavor/yuuvis-client-framework-object-flavor.mjs +0 -5
- package/esm2022/object-form/index.mjs +0 -5
- package/esm2022/object-form/lib/form-scripting.api.interface.mjs +0 -2
- package/esm2022/object-form/lib/form-scripting.service.mjs +0 -160
- package/esm2022/object-form/lib/object-form-element/object-form-element.component.mjs +0 -87
- package/esm2022/object-form/lib/object-form-extension.interface.mjs +0 -36
- package/esm2022/object-form/lib/object-form-group/object-form-group.component.mjs +0 -85
- package/esm2022/object-form/lib/object-form-script/form-scripting-element-extension/form-scripting-element-extension.component.mjs +0 -23
- package/esm2022/object-form/lib/object-form-script/object-form-script.service.mjs +0 -115
- package/esm2022/object-form/lib/object-form-script/object-form-scripting-scope.mjs +0 -251
- package/esm2022/object-form/lib/object-form-translate.service.mjs +0 -73
- package/esm2022/object-form/lib/object-form.component.mjs +0 -628
- package/esm2022/object-form/lib/object-form.interface.mjs +0 -9
- package/esm2022/object-form/lib/object-form.model.mjs +0 -20
- package/esm2022/object-form/lib/object-form.service.mjs +0 -130
- package/esm2022/object-form/lib/object-form.utils.mjs +0 -55
- package/esm2022/object-form/lib/object-form.validation.mjs +0 -48
- package/esm2022/object-form/yuuvis-client-framework-object-form.mjs +0 -5
- package/esm2022/object-preview/index.mjs +0 -3
- package/esm2022/object-preview/lib/components/index.mjs +0 -3
- package/esm2022/object-preview/lib/components/object-email-preview/object-email-preview.component.mjs +0 -45
- package/esm2022/object-preview/lib/components/object-preview/object-preview.component.mjs +0 -78
- package/esm2022/object-preview/lib/services/object-preview.service.mjs +0 -119
- package/esm2022/object-preview/yuuvis-client-framework-object-preview.mjs +0 -5
- package/esm2022/object-summary/index.mjs +0 -5
- package/esm2022/object-summary/lib/multi-object-summary/multi-object-summary.component.mjs +0 -33
- package/esm2022/object-summary/lib/object-summary/object-summary.component.mjs +0 -275
- package/esm2022/object-summary/lib/object-summary-data/object-summary-data.component.mjs +0 -80
- package/esm2022/object-summary/lib/object-summary.module.mjs +0 -15
- package/esm2022/object-summary/yuuvis-client-framework-object-summary.mjs +0 -5
- package/esm2022/pagination/index.mjs +0 -3
- package/esm2022/pagination/lib/pagination.component.mjs +0 -46
- package/esm2022/pagination/lib/pagination.interface.mjs +0 -2
- package/esm2022/pagination/yuuvis-client-framework-pagination.mjs +0 -5
- package/esm2022/panel/index.mjs +0 -2
- package/esm2022/panel/lib/panel.component.mjs +0 -20
- package/esm2022/panel/yuuvis-client-framework-panel.mjs +0 -5
- package/esm2022/renderer/index.mjs +0 -11
- package/esm2022/renderer/lib/property-renderer/abstract.renderer.mjs +0 -29
- package/esm2022/renderer/lib/property-renderer/datetime.renderer.mjs +0 -13
- package/esm2022/renderer/lib/property-renderer/decimal.renderer.component.mjs +0 -12
- package/esm2022/renderer/lib/property-renderer/filesize.renderer.component.mjs +0 -28
- package/esm2022/renderer/lib/property-renderer/icon.renderer.component.mjs +0 -23
- package/esm2022/renderer/lib/property-renderer/integer.renderer.component.mjs +0 -12
- package/esm2022/renderer/lib/property-renderer/organization.renderer.mjs +0 -19
- package/esm2022/renderer/lib/property-renderer/string.renderer.component.mjs +0 -12
- package/esm2022/renderer/lib/property-renderer/unknown.renderer.mjs +0 -12
- package/esm2022/renderer/lib/renderer.directive.mjs +0 -51
- package/esm2022/renderer/lib/services/renderer/renderer.interface.mjs +0 -2
- package/esm2022/renderer/lib/services/renderer/renderer.service.mjs +0 -84
- package/esm2022/renderer/yuuvis-client-framework-renderer.mjs +0 -5
- package/esm2022/sequence-list/index.mjs +0 -4
- package/esm2022/sequence-list/lib/due-date-picker/due-date-picker.component.mjs +0 -99
- package/esm2022/sequence-list/lib/sequence-list.component.mjs +0 -141
- package/esm2022/sequence-list/lib/sequence-list.interface.mjs +0 -2
- package/esm2022/sequence-list/yuuvis-client-framework-sequence-list.mjs +0 -5
- package/esm2022/simple-search/index.mjs +0 -3
- package/esm2022/simple-search/lib/simple-search/simple-search.component.mjs +0 -111
- package/esm2022/simple-search/lib/simple-search/simple-search.interface.mjs +0 -2
- package/esm2022/simple-search/yuuvis-client-framework-simple-search.mjs +0 -5
- package/esm2022/tile-list/index.mjs +0 -11
- package/esm2022/tile-list/lib/tile/tile.component.mjs +0 -53
- package/esm2022/tile-list/lib/tile-config/action-select/action-select.component.mjs +0 -25
- package/esm2022/tile-list/lib/tile-config/icon-select/icon-select.component.mjs +0 -33
- package/esm2022/tile-list/lib/tile-config/property-select/property-select.component.mjs +0 -91
- package/esm2022/tile-list/lib/tile-config/tile-config-tile/tile-config-tile.component.mjs +0 -66
- package/esm2022/tile-list/lib/tile-config/tile-config-trigger/tile-config-trigger.component.mjs +0 -46
- package/esm2022/tile-list/lib/tile-config/tile-config.component.mjs +0 -156
- package/esm2022/tile-list/lib/tile-extension/directive/tile-extension.directive.mjs +0 -37
- package/esm2022/tile-list/lib/tile-extension/extensions/email.extension.mjs +0 -42
- package/esm2022/tile-list/lib/tile-extension/tile-extension.service.mjs +0 -35
- package/esm2022/tile-list/lib/tile-list/tile-list.component.mjs +0 -510
- package/esm2022/tile-list/lib/tile-list/tile-list.interface.mjs +0 -2
- package/esm2022/tile-list/yuuvis-client-framework-tile-list.mjs +0 -5
- package/esm2022/token-search/index.mjs +0 -3
- package/esm2022/token-search/token-search.component.mjs +0 -78
- package/esm2022/token-search/token-search.interface.mjs +0 -2
- package/esm2022/token-search/yuuvis-client-framework-token-search.mjs +0 -5
- package/esm2022/tree/index.mjs +0 -3
- package/esm2022/tree/lib/tree-node/tree-node.component.mjs +0 -65
- package/esm2022/tree/lib/tree.component.mjs +0 -148
- package/esm2022/tree/lib/tree.interface.mjs +0 -2
- package/esm2022/tree/lib/tree.service.mjs +0 -95
- package/esm2022/tree/yuuvis-client-framework-tree.mjs +0 -5
- package/esm2022/upload-progress/index.mjs +0 -2
- package/esm2022/upload-progress/lib/upload-progress/upload-progress-overlay/upload-progress-overlay.component.mjs +0 -49
- package/esm2022/upload-progress/lib/upload-progress/upload-progress.component.mjs +0 -37
- package/esm2022/upload-progress/yuuvis-client-framework-upload-progress.mjs +0 -5
- package/esm2022/user-avatar/index.mjs +0 -3
- package/esm2022/user-avatar/lib/user-avatar.component.mjs +0 -69
- package/esm2022/user-avatar/lib/user-avatar.module.mjs +0 -24
- package/esm2022/user-avatar/yuuvis-client-framework-user-avatar.mjs +0 -5
- package/esm2022/yuuvis-client-framework.mjs +0 -5
- package/fesm2022/yuuvis-client-framework-token-search.mjs +0 -85
- package/fesm2022/yuuvis-client-framework-token-search.mjs.map +0 -1
- package/fesm2022/yuuvis-client-framework-user-avatar.mjs +0 -96
- package/fesm2022/yuuvis-client-framework-user-avatar.mjs.map +0 -1
- package/forms/lib/form-input/form-input.component.d.ts +0 -48
- package/object-form/lib/object-form-translate.service.d.ts +0 -15
- package/object-form/lib/object-form.model.d.ts +0 -18
- package/sequence-list/lib/due-date-picker/due-date-picker.component.d.ts +0 -28
- package/simple-search/lib/simple-search/simple-search.interface.d.ts +0 -4
- package/token-search/README.md +0 -3
- package/token-search/index.d.ts +0 -2
- package/token-search/token-search.component.d.ts +0 -22
- package/token-search/token-search.interface.d.ts +0 -4
- package/user-avatar/README.md +0 -3
- package/user-avatar/index.d.ts +0 -2
- package/user-avatar/lib/user-avatar.component.d.ts +0 -44
- package/user-avatar/lib/user-avatar.module.d.ts +0 -8
- /package/{metadata-form → metadata-form-defaults}/lib/metadata-default-templates/metadata-default-templates.component.d.ts +0 -0
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { computed, contentChildren, Directive, ElementRef, HostListener, inject, input, output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class DragSelectDirective {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.#selectStartX = 0;
|
|
6
|
-
this.#selectStartY = 0;
|
|
7
|
-
this.#selection = [];
|
|
8
|
-
this.items = contentChildren(DragSelectItemDirective);
|
|
9
|
-
this.#selectables = computed(() => this.items().map((item) => item.el));
|
|
10
|
-
this.yuvDragSelect = input();
|
|
11
|
-
this.dragSelectChange = output();
|
|
12
|
-
this.dragSelect = output();
|
|
13
|
-
this.#onPointerUp = () => {
|
|
14
|
-
removeEventListener('pointermove', this.#resize);
|
|
15
|
-
removeEventListener('pointerup', this.#onPointerUp);
|
|
16
|
-
if (this.#selection.length)
|
|
17
|
-
this.dragSelect.emit(this.#selection);
|
|
18
|
-
if (this.#selector)
|
|
19
|
-
this.#selector.remove();
|
|
20
|
-
};
|
|
21
|
-
this.#resize = (event) => {
|
|
22
|
-
if (!this.#selector)
|
|
23
|
-
return;
|
|
24
|
-
const diffX = event.pageX - this.#selectStartX;
|
|
25
|
-
const diffY = event.pageY - this.#selectStartY;
|
|
26
|
-
this.#selector.style.left = diffX < 0 ? this.#selectStartX + diffX + 'px' : this.#selectStartX + 'px';
|
|
27
|
-
this.#selector.style.top = diffY < 0 ? this.#selectStartY + diffY + 'px' : this.#selectStartY + 'px';
|
|
28
|
-
this.#selector.style.height = Math.abs(diffY) + 'px';
|
|
29
|
-
this.#selector.style.width = Math.abs(diffX) + 'px';
|
|
30
|
-
this.#selector.style.border = `1px solid ${this.yuvDragSelect()?.selectorColor || 'var(--color-accent'}`;
|
|
31
|
-
this.#checkSelected();
|
|
32
|
-
};
|
|
33
|
-
this.#checkSelected = () => {
|
|
34
|
-
if (!this.#selector)
|
|
35
|
-
return;
|
|
36
|
-
const select = this.#selector.getBoundingClientRect();
|
|
37
|
-
const { x, y, height, width } = select;
|
|
38
|
-
if (!height || !width)
|
|
39
|
-
return;
|
|
40
|
-
const currSelectionLength = this.#selection.length;
|
|
41
|
-
this.#selectables().forEach((selectable, idx) => {
|
|
42
|
-
const r1 = { x: x + window.scrollX, y: y + window.scrollY, height, width };
|
|
43
|
-
const r2 = selectable.getBoundingClientRect();
|
|
44
|
-
this.#selection = this.#selection.filter((s) => s !== idx);
|
|
45
|
-
if (this.#checkRectIntersection(r1, r2)) {
|
|
46
|
-
this.#selection.push(idx);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
if (currSelectionLength !== this.#selection.length) {
|
|
50
|
-
this.dragSelectChange.emit(this.#selection);
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
this.#checkRectIntersection = (r1, r2) => {
|
|
54
|
-
return !(r1.x + r1.width < r2.x || r2.x + r2.width < r1.x || r1.y + r1.height < r2.y || r2.y + r2.height < r1.y);
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
#selector;
|
|
58
|
-
#selectStartX;
|
|
59
|
-
#selectStartY;
|
|
60
|
-
#selection;
|
|
61
|
-
onPointerDown(event) {
|
|
62
|
-
if (this.yuvDragSelect()?.disabled || event.target.tagName === 'BUTTON')
|
|
63
|
-
return;
|
|
64
|
-
event.preventDefault();
|
|
65
|
-
this.#selectStartX = event.pageX;
|
|
66
|
-
this.#selectStartY = event.pageY;
|
|
67
|
-
const div = document.createElement('div');
|
|
68
|
-
div.style.position = 'absolute';
|
|
69
|
-
div.style.width = '0';
|
|
70
|
-
div.style.height = '0';
|
|
71
|
-
div.style.left = this.#selectStartX + 'px';
|
|
72
|
-
div.style.top = this.#selectStartY + 'px';
|
|
73
|
-
div.classList.add('drag-select');
|
|
74
|
-
this.#selector = div;
|
|
75
|
-
document.body.append(this.#selector);
|
|
76
|
-
this.#selection = [];
|
|
77
|
-
addEventListener('pointermove', this.#resize);
|
|
78
|
-
addEventListener('pointerup', this.#onPointerUp);
|
|
79
|
-
}
|
|
80
|
-
#selectables;
|
|
81
|
-
#onPointerUp;
|
|
82
|
-
#resize;
|
|
83
|
-
#checkSelected;
|
|
84
|
-
#checkRectIntersection;
|
|
85
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DragSelectDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
86
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.13", type: DragSelectDirective, isStandalone: true, selector: "[yuvDragSelect]", inputs: { yuvDragSelect: { classPropertyName: "yuvDragSelect", publicName: "yuvDragSelect", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragSelectChange: "dragSelectChange", dragSelect: "dragSelect" }, host: { listeners: { "pointerdown": "onPointerDown($event)" } }, queries: [{ propertyName: "items", predicate: DragSelectItemDirective, isSignal: true }], ngImport: i0 }); }
|
|
87
|
-
}
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DragSelectDirective, decorators: [{
|
|
89
|
-
type: Directive,
|
|
90
|
-
args: [{
|
|
91
|
-
selector: '[yuvDragSelect]',
|
|
92
|
-
standalone: true
|
|
93
|
-
}]
|
|
94
|
-
}], propDecorators: { onPointerDown: [{
|
|
95
|
-
type: HostListener,
|
|
96
|
-
args: ['pointerdown', ['$event']]
|
|
97
|
-
}] } });
|
|
98
|
-
export class DragSelectItemDirective {
|
|
99
|
-
constructor() {
|
|
100
|
-
this.#elRef = inject(ElementRef);
|
|
101
|
-
this.el = this.#elRef.nativeElement;
|
|
102
|
-
}
|
|
103
|
-
#elRef;
|
|
104
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DragSelectItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
105
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DragSelectItemDirective, isStandalone: true, selector: "[yuvDragSelectItem]", ngImport: i0 }); }
|
|
106
|
-
}
|
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DragSelectItemDirective, decorators: [{
|
|
108
|
-
type: Directive,
|
|
109
|
-
args: [{
|
|
110
|
-
selector: '[yuvDragSelectItem]',
|
|
111
|
-
standalone: true
|
|
112
|
-
}]
|
|
113
|
-
}] });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1zZWxlY3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9jb21tb24vc3JjL2xpYi9kaXJlY3RpdmVzL2RyYWctc2VsZWN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFrQnRILE1BQU0sT0FBTyxtQkFBbUI7SUFKaEM7UUFNRSxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUNsQixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUVsQixlQUFVLEdBQWEsRUFBRSxDQUFDO1FBdUIxQixVQUFLLEdBQUcsZUFBZSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDakQsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFbkUsa0JBQWEsR0FBRyxLQUFLLEVBQXFCLENBQUM7UUFDM0MscUJBQWdCLEdBQUcsTUFBTSxFQUFZLENBQUM7UUFDdEMsZUFBVSxHQUFHLE1BQU0sRUFBWSxDQUFDO1FBRWhDLGlCQUFZLEdBQUcsR0FBRyxFQUFFO1lBQ2xCLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakQsbUJBQW1CLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNwRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTtnQkFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FB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QXVCOzs0RkFBdkIsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBjb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW50ZXJmYWNlIFNlbGVjdGFibGVSZWN0IHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyYWdTZWxlY3RPcHRpb25zIHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBzZWxlY3RvckNvbG9yPzogc3RyaW5nO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbeXV2RHJhZ1NlbGVjdF0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERyYWdTZWxlY3REaXJlY3RpdmUge1xuICAjc2VsZWN0b3I/OiBIVE1MRGl2RWxlbWVudDtcbiAgI3NlbGVjdFN0YXJ0WCA9IDA7XG4gICNzZWxlY3RTdGFydFkgPSAwO1xuXG4gICNzZWxlY3Rpb246IG51bWJlcltdID0gW107XG5cbiAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcmRvd24nLCBbJyRldmVudCddKSBvblBvaW50ZXJEb3duKGV2ZW50OiBQb2ludGVyRXZlbnQpIHtcbiAgICBpZiAodGhpcy55dXZEcmFnU2VsZWN0KCk/LmRpc2FibGVkIHx8IChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnRhZ05hbWUgPT09ICdCVVRUT04nKSByZXR1cm47XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLiNzZWxlY3RTdGFydFggPSBldmVudC5wYWdlWDtcbiAgICB0aGlzLiNzZWxlY3RTdGFydFkgPSBldmVudC5wYWdlWTtcblxuICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGRpdi5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgZGl2LnN0eWxlLndpZHRoID0gJzAnO1xuICAgIGRpdi5zdHlsZS5oZWlnaHQgPSAnMCc7XG4gICAgZGl2LnN0eWxlLmxlZnQgPSB0aGlzLiNzZWxlY3RTdGFydFggKyAncHgnO1xuICAgIGRpdi5zdHlsZS50b3AgPSB0aGlzLiNzZWxlY3RTdGFydFkgKyAncHgnO1xuICAgIGRpdi5jbGFzc0xpc3QuYWRkKCdkcmFnLXNlbGVjdCcpO1xuICAgIHRoaXMuI3NlbGVjdG9yID0gZGl2O1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKHRoaXMuI3NlbGVjdG9yKTtcblxuICAgIHRoaXMuI3NlbGVjdGlvbiA9IFtdO1xuICAgIGFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJtb3ZlJywgdGhpcy4jcmVzaXplKTtcbiAgICBhZGRFdmVudExpc3RlbmVyKCdwb2ludGVydXAnLCB0aGlzLiNvblBvaW50ZXJVcCk7XG4gIH1cblxuICBpdGVtcyA9IGNvbnRlbnRDaGlsZHJlbihEcmFnU2VsZWN0SXRlbURpcmVjdGl2ZSk7XG4gICNzZWxlY3RhYmxlcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaXRlbXMoKS5tYXAoKGl0ZW0pID0+IGl0ZW0uZWwpKTtcblxuICB5dXZEcmFnU2VsZWN0ID0gaW5wdXQ8RHJhZ1NlbGVjdE9wdGlvbnM+KCk7XG4gIGRyYWdTZWxlY3RDaGFuZ2UgPSBvdXRwdXQ8bnVtYmVyW10+KCk7XG4gIGRyYWdTZWxlY3QgPSBvdXRwdXQ8bnVtYmVyW10+KCk7XG5cbiAgI29uUG9pbnRlclVwID0gKCkgPT4ge1xuICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJtb3ZlJywgdGhpcy4jcmVzaXplKTtcbiAgICByZW1vdmVFdmVudExpc3RlbmVyKCdwb2ludGVydXAnLCB0aGlzLiNvblBvaW50ZXJVcCk7XG4gICAgaWYgKHRoaXMuI3NlbGVjdGlvbi5sZW5ndGgpIHRoaXMuZHJhZ1NlbGVjdC5lbWl0KHRoaXMuI3NlbGVjdGlvbik7XG4gICAgaWYgKHRoaXMuI3NlbGVjdG9yKSB0aGlzLiNzZWxlY3Rvci5yZW1vdmUoKTtcbiAgfTtcblxuICAjcmVzaXplID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICBpZiAoIXRoaXMuI3NlbGVjdG9yKSByZXR1cm47XG4gICAgY29uc3QgZGlmZlggPSBldmVudC5wYWdlWCAtIHRoaXMuI3NlbGVjdFN0YXJ0WDtcbiAgICBjb25zdCBkaWZmWSA9IGV2ZW50LnBhZ2VZIC0gdGhpcy4jc2VsZWN0U3RhcnRZO1xuICAgIHRoaXMuI3NlbGVjdG9yLnN0eWxlLmxlZnQgPSBkaWZmWCA8IDAgPyB0aGlzLiNzZWxlY3RTdGFydFggKyBkaWZmWCArICdweCcgOiB0aGlzLiNzZWxlY3RTdGFydFggKyAncHgnO1xuICAgIHRoaXMuI3NlbGVjdG9yLnN0eWxlLnRvcCA9IGRpZmZZIDwgMCA/IHRoaXMuI3NlbGVjdFN0YXJ0WSArIGRpZmZZICsgJ3B4JyA6IHRoaXMuI3NlbGVjdFN0YXJ0WSArICdweCc7XG4gICAgdGhpcy4jc2VsZWN0b3Iuc3R5bGUuaGVpZ2h0ID0gTWF0aC5hYnMoZGlmZlkpICsgJ3B4JztcbiAgICB0aGlzLiNzZWxlY3Rvci5zdHlsZS53aWR0aCA9IE1hdGguYWJzKGRpZmZYKSArICdweCc7XG5cbiAgICB0aGlzLiNzZWxlY3Rvci5zdHlsZS5ib3JkZXIgPSBgMXB4IHNvbGlkICR7dGhpcy55dXZEcmFnU2VsZWN0KCk/LnNlbGVjdG9yQ29sb3IgfHwgJ3ZhcigtLWNvbG9yLWFjY2VudCd9YDtcbiAgICB0aGlzLiNjaGVja1NlbGVjdGVkKCk7XG4gIH07XG5cbiAgI2NoZWNrU2VsZWN0ZWQgPSAoKSA9PiB7XG4gICAgaWYgKCF0aGlzLiNzZWxlY3RvcikgcmV0dXJuO1xuICAgIGNvbnN0IHNlbGVjdCA9IHRoaXMuI3NlbGVjdG9yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHsgeCwgeSwgaGVpZ2h0LCB3aWR0aCB9ID0gc2VsZWN0O1xuICAgIGlmICghaGVpZ2h0IHx8ICF3aWR0aCkgcmV0dXJuO1xuXG4gICAgY29uc3QgY3VyclNlbGVjdGlvbkxlbmd0aCA9IHRoaXMuI3NlbGVjdGlvbi5sZW5ndGg7XG4gICAgdGhpcy4jc2VsZWN0YWJsZXMoKS5mb3JFYWNoKChzZWxlY3RhYmxlLCBpZHgpID0+IHtcbiAgICAgIGNvbnN0IHIxOiBTZWxlY3RhYmxlUmVjdCA9IHsgeDogeCArIHdpbmRvdy5zY3JvbGxYLCB5OiB5ICsgd2luZG93LnNjcm9sbFksIGhlaWdodCwgd2lkdGggfTtcbiAgICAgIGNvbnN0IHIyOiBTZWxlY3RhYmxlUmVjdCA9IHNlbGVjdGFibGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICB0aGlzLiNzZWxlY3Rpb24gPSB0aGlzLiNzZWxlY3Rpb24uZmlsdGVyKChzKSA9PiBzICE9PSBpZHgpO1xuICAgICAgaWYgKHRoaXMuI2NoZWNrUmVjdEludGVyc2VjdGlvbihyMSwgcjIpKSB7XG4gICAgICAgIHRoaXMuI3NlbGVjdGlvbi5wdXNoKGlkeCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoY3VyclNlbGVjdGlvbkxlbmd0aCAhPT0gdGhpcy4jc2VsZWN0aW9uLmxlbmd0aCkge1xuICAgICAgdGhpcy5kcmFnU2VsZWN0Q2hhbmdlLmVtaXQodGhpcy4jc2VsZWN0aW9uKTtcbiAgICB9XG4gIH07XG5cbiAgI2NoZWNrUmVjdEludGVyc2VjdGlvbiA9IChyMTogU2VsZWN0YWJsZVJlY3QsIHIyOiBTZWxlY3RhYmxlUmVjdCkgPT4ge1xuICAgIHJldHVybiAhKHIxLnggKyByMS53aWR0aCA8IHIyLnggfHwgcjIueCArIHIyLndpZHRoIDwgcjEueCB8fCByMS55ICsgcjEuaGVpZ2h0IDwgcjIueSB8fCByMi55ICsgcjIuaGVpZ2h0IDwgcjEueSk7XG4gIH07XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t5dXZEcmFnU2VsZWN0SXRlbV0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERyYWdTZWxlY3RJdGVtRGlyZWN0aXZlIHtcbiAgI2VsUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBlbCA9IHRoaXMuI2VsUmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG59XG4iXX0=
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, HostListener, inject, input, output } from '@angular/core';
|
|
2
|
-
import { Utils } from '@yuuvis/client-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class FileDropZoneDirective {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.#elRef = inject(ElementRef);
|
|
7
|
-
this.#fileOver = false;
|
|
8
|
-
this.#defaultDragOverCoverStyles = {
|
|
9
|
-
outline: '2px dashed var(--color-accent)',
|
|
10
|
-
display: 'flex',
|
|
11
|
-
transition: 'background-color .3s ease-in-out',
|
|
12
|
-
'z-index': '500',
|
|
13
|
-
'align-items': 'center',
|
|
14
|
-
'justify-content': 'center',
|
|
15
|
-
'outline-offset': '-2px',
|
|
16
|
-
'background-color': 'rgba(var(--color-accent-rgb), .5)'
|
|
17
|
-
};
|
|
18
|
-
this.#defaultDragOverCoverLabelStyles = {
|
|
19
|
-
outline: '1px solid var(--color-accent)',
|
|
20
|
-
padding: 'var(--app-pane-padding, 16px)',
|
|
21
|
-
'background-color': 'rgba(var(--color-accent-rgb), .9)',
|
|
22
|
-
color: 'var(--color-accent-tone)'
|
|
23
|
-
};
|
|
24
|
-
this.yuvFileDropZone = input();
|
|
25
|
-
this.fileDropDisabled = input(false);
|
|
26
|
-
this.fileDrop = output();
|
|
27
|
-
this.fileDropOver = output();
|
|
28
|
-
}
|
|
29
|
-
#elRef;
|
|
30
|
-
#coverElement;
|
|
31
|
-
#fileOver;
|
|
32
|
-
set fileOver(fo) {
|
|
33
|
-
if (fo !== this.#fileOver) {
|
|
34
|
-
this.#fileOver = fo;
|
|
35
|
-
this.fileDropOver.emit(fo);
|
|
36
|
-
this.#toggleCover();
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
get fileOver() {
|
|
40
|
-
return this.#fileOver;
|
|
41
|
-
}
|
|
42
|
-
#defaultDragOverCoverStyles;
|
|
43
|
-
#defaultDragOverCoverLabelStyles;
|
|
44
|
-
onDrop(event) {
|
|
45
|
-
if (this.fileDropDisabled())
|
|
46
|
-
return;
|
|
47
|
-
event.preventDefault();
|
|
48
|
-
event.stopPropagation();
|
|
49
|
-
this.fileOver = false;
|
|
50
|
-
const dataTransfer = event.dataTransfer;
|
|
51
|
-
if (dataTransfer) {
|
|
52
|
-
if (dataTransfer?.items) {
|
|
53
|
-
const files = [];
|
|
54
|
-
for (let i = 0; i < dataTransfer.items.length; i++) {
|
|
55
|
-
// If dropped items aren't files, reject them
|
|
56
|
-
if (dataTransfer.items[i].kind === 'file') {
|
|
57
|
-
const file = dataTransfer.items[i].getAsFile();
|
|
58
|
-
if (file)
|
|
59
|
-
files.push(file);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
dataTransfer.items.clear();
|
|
63
|
-
this.fileDrop.emit(files);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
const files = dataTransfer.files;
|
|
67
|
-
dataTransfer.clearData();
|
|
68
|
-
this.fileDrop.emit(Array.from(files));
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
onDragOver(event) {
|
|
73
|
-
if (this.fileDropDisabled())
|
|
74
|
-
return;
|
|
75
|
-
event.stopPropagation();
|
|
76
|
-
event.preventDefault();
|
|
77
|
-
this.fileOver = true;
|
|
78
|
-
}
|
|
79
|
-
onDragLeave(event) {
|
|
80
|
-
if (this.fileDropDisabled())
|
|
81
|
-
return;
|
|
82
|
-
if (event.target.getAttribute('id') === this.#coverElement?.getAttribute('id')) {
|
|
83
|
-
this.fileOver = false;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
onBodyDragOver(event) {
|
|
87
|
-
event.preventDefault();
|
|
88
|
-
event.stopPropagation();
|
|
89
|
-
}
|
|
90
|
-
onBodyDrop(event) {
|
|
91
|
-
event.preventDefault();
|
|
92
|
-
}
|
|
93
|
-
#toggleCover() {
|
|
94
|
-
const el = this.#elRef.nativeElement;
|
|
95
|
-
if (this.#coverElement) {
|
|
96
|
-
el.style.position = 'initial';
|
|
97
|
-
this.#coverElement.remove();
|
|
98
|
-
this.#coverElement = undefined;
|
|
99
|
-
}
|
|
100
|
-
if (this.#fileOver) {
|
|
101
|
-
el.style.position = 'relative';
|
|
102
|
-
this.#coverElement = this.#createCoverElement();
|
|
103
|
-
el.append(this.#coverElement);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
#createCoverElement() {
|
|
107
|
-
const coverElement = document.createElement('div');
|
|
108
|
-
coverElement.setAttribute('id', Utils.uuid());
|
|
109
|
-
coverElement.style.position = 'absolute';
|
|
110
|
-
coverElement.style.inset = '0';
|
|
111
|
-
const styles = this.yuvFileDropZone()?.coverStyles || this.#defaultDragOverCoverStyles;
|
|
112
|
-
Object.keys(styles).forEach((k) => {
|
|
113
|
-
coverElement.style[k] = styles[k];
|
|
114
|
-
});
|
|
115
|
-
const label = this.yuvFileDropZone()?.label;
|
|
116
|
-
if (label) {
|
|
117
|
-
const coverLabelElement = document.createElement('div');
|
|
118
|
-
coverLabelElement.innerText = label;
|
|
119
|
-
const labelStyles = this.yuvFileDropZone()?.coverLabelStyles || this.#defaultDragOverCoverLabelStyles;
|
|
120
|
-
Object.keys(labelStyles).forEach((k) => {
|
|
121
|
-
coverLabelElement.style[k] = labelStyles[k];
|
|
122
|
-
});
|
|
123
|
-
coverLabelElement.style.pointerEvents = 'none';
|
|
124
|
-
coverElement.append(coverLabelElement);
|
|
125
|
-
}
|
|
126
|
-
return coverElement;
|
|
127
|
-
}
|
|
128
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileDropZoneDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
129
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: FileDropZoneDirective, isStandalone: true, selector: "[yuvFileDropZone]", inputs: { yuvFileDropZone: { classPropertyName: "yuvFileDropZone", publicName: "yuvFileDropZone", isSignal: true, isRequired: false, transformFunction: null }, fileDropDisabled: { classPropertyName: "fileDropDisabled", publicName: "fileDropDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fileDrop: "fileDrop", fileDropOver: "fileDropOver" }, host: { listeners: { "drop": "onDrop($event)", "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "body:dragover": "onBodyDragOver($event)", "body:drop": "onBodyDrop($event)" } }, ngImport: i0 }); }
|
|
130
|
-
}
|
|
131
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileDropZoneDirective, decorators: [{
|
|
132
|
-
type: Directive,
|
|
133
|
-
args: [{
|
|
134
|
-
selector: '[yuvFileDropZone]',
|
|
135
|
-
standalone: true
|
|
136
|
-
}]
|
|
137
|
-
}], propDecorators: { onDrop: [{
|
|
138
|
-
type: HostListener,
|
|
139
|
-
args: ['drop', ['$event']]
|
|
140
|
-
}], onDragOver: [{
|
|
141
|
-
type: HostListener,
|
|
142
|
-
args: ['dragover', ['$event']]
|
|
143
|
-
}], onDragLeave: [{
|
|
144
|
-
type: HostListener,
|
|
145
|
-
args: ['dragleave', ['$event']]
|
|
146
|
-
}], onBodyDragOver: [{
|
|
147
|
-
type: HostListener,
|
|
148
|
-
args: ['body:dragover', ['$event']]
|
|
149
|
-
}], onBodyDrop: [{
|
|
150
|
-
type: HostListener,
|
|
151
|
-
args: ['body:drop', ['$event']]
|
|
152
|
-
}] } });
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLXpvbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9jb21tb24vc3JjL2xpYi9kaXJlY3RpdmVzL2ZpbGUtZHJvcC16b25lL2ZpbGUtZHJvcC16b25lLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU81QyxNQUFNLE9BQU8scUJBQXFCO0lBSmxDO1FBS0UsV0FBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUk1QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBWWxCLGdDQUEyQixHQUEyQjtZQUNwRCxPQUFPLEVBQUUsZ0NBQWdDO1lBQ3pDLE9BQU8sRUFBRSxNQUFNO1lBQ2YsVUFBVSxFQUFFLGtDQUFrQztZQUM5QyxTQUFTLEVBQUUsS0FBSztZQUNoQixhQUFhLEVBQUUsUUFBUTtZQUN2QixpQkFBaUIsRUFBRSxRQUFRO1lBQzNCLGdCQUFnQixFQUFFLE1BQU07WUFDeEIsa0JBQWtCLEVBQUUsbUNBQW1DO1NBQ3hELENBQUM7UUFFRixxQ0FBZ0MsR0FBMkI7WUFDekQsT0FBTyxFQUFFLCtCQUErQjtZQUV4QyxPQUFPLEVBQUUsK0JBQStCO1lBQ3hDLGtCQUFrQixFQUFFLG1DQUFtQztZQUN2RCxLQUFLLEVBQUUsMEJBQTBCO1NBQ2xDLENBQUM7UUFFRixvQkFBZSxHQUFHLEtBQUssRUFBdUIsQ0FBQztRQUMvQyxxQkFBZ0IsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFekMsYUFBUSxHQUFHLE1BQU0sRUFBVSxDQUFDO1FBQzVC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QkFTckMsY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNekMsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBGaWxlRHJvcFpvbmVPcHRpb25zIH0gZnJvbSAnLi9maWxlLWRyb3Atem9uZS5pbnRlcmZhY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbeXV2RmlsZURyb3Bab25lXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRmlsZURyb3Bab25lRGlyZWN0aXZlIHtcbiAgI2VsUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gICNjb3ZlckVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcblxuICAjZmlsZU92ZXIgPSBmYWxzZTtcbiAgc2V0IGZpbGVPdmVyKGZvOiBib29sZWFuKSB7XG4gICAgaWYgKGZvICE9PSB0aGlzLiNmaWxlT3Zlcikge1xuICAgICAgdGhpcy4jZmlsZU92ZXIgPSBmbztcbiAgICAgIHRoaXMuZmlsZURyb3BPdmVyLmVtaXQoZm8pO1xuICAgICAgdGhpcy4jdG9nZ2xlQ292ZXIoKTtcbiAgICB9XG4gIH1cbiAgZ2V0IGZpbGVPdmVyKCkge1xuICAgIHJldHVybiB0aGlzLiNmaWxlT3ZlcjtcbiAgfVxuXG4gICNkZWZhdWx0RHJhZ092ZXJDb3ZlclN0eWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBvdXRsaW5lOiAnMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1hY2NlbnQpJyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgdHJhbnNpdGlvbjogJ2JhY2tncm91bmQtY29sb3IgLjNzIGVhc2UtaW4tb3V0JyxcbiAgICAnei1pbmRleCc6ICc1MDAnLFxuICAgICdhbGlnbi1pdGVtcyc6ICdjZW50ZXInLFxuICAgICdqdXN0aWZ5LWNvbnRlbnQnOiAnY2VudGVyJyxcbiAgICAnb3V0bGluZS1vZmZzZXQnOiAnLTJweCcsXG4gICAgJ2JhY2tncm91bmQtY29sb3InOiAncmdiYSh2YXIoLS1jb2xvci1hY2NlbnQtcmdiKSwgLjUpJ1xuICB9O1xuXG4gICNkZWZhdWx0RHJhZ092ZXJDb3ZlckxhYmVsU3R5bGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIG91dGxpbmU6ICcxcHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KScsXG5cbiAgICBwYWRkaW5nOiAndmFyKC0tYXBwLXBhbmUtcGFkZGluZywgMTZweCknLFxuICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogJ3JnYmEodmFyKC0tY29sb3ItYWNjZW50LXJnYiksIC45KScsXG4gICAgY29sb3I6ICd2YXIoLS1jb2xvci1hY2NlbnQtdG9uZSknXG4gIH07XG5cbiAgeXV2RmlsZURyb3Bab25lID0gaW5wdXQ8RmlsZURyb3Bab25lT3B0aW9ucz4oKTtcbiAgZmlsZURyb3BEaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBmaWxlRHJvcCA9IG91dHB1dDxGaWxlW10+KCk7XG4gIGZpbGVEcm9wT3ZlciA9IG91dHB1dDxib29sZWFuPigpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxuICBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIGlmICh0aGlzLmZpbGVEcm9wRGlzYWJsZWQoKSkgcmV0dXJuO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5maWxlT3ZlciA9IGZhbHNlO1xuXG4gICAgY29uc3QgZGF0YVRyYW5zZmVyOiBEYXRhVHJhbnNmZXIgfCBudWxsID0gZXZlbnQuZGF0YVRyYW5zZmVyO1xuXG4gICAgaWYgKGRhdGFUcmFuc2Zlcikge1xuICAgICAgaWYgKGRhdGFUcmFuc2Zlcj8uaXRlbXMpIHtcbiAgICAgICAgY29uc3QgZmlsZXM6IEZpbGVbXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFUcmFuc2Zlci5pdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIC8vIElmIGRyb3BwZWQgaXRlbXMgYXJlbid0IGZpbGVzLCByZWplY3QgdGhlbVxuICAgICAgICAgIGlmIChkYXRhVHJhbnNmZXIuaXRlbXNbaV0ua2luZCA9PT0gJ2ZpbGUnKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlID0gZGF0YVRyYW5zZmVyLml0ZW1zW2ldLmdldEFzRmlsZSgpO1xuICAgICAgICAgICAgaWYgKGZpbGUpIGZpbGVzLnB1c2goZmlsZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRhdGFUcmFuc2Zlci5pdGVtcy5jbGVhcigpO1xuICAgICAgICB0aGlzLmZpbGVEcm9wLmVtaXQoZmlsZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZmlsZXMgPSBkYXRhVHJhbnNmZXIuZmlsZXM7XG4gICAgICAgIGRhdGFUcmFuc2Zlci5jbGVhckRhdGEoKTtcbiAgICAgICAgdGhpcy5maWxlRHJvcC5lbWl0KEFycmF5LmZyb20oZmlsZXMpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXG4gIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIGlmICh0aGlzLmZpbGVEcm9wRGlzYWJsZWQoKSkgcmV0dXJuO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5maWxlT3ZlciA9IHRydWU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxuICBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgaWYgKHRoaXMuZmlsZURyb3BEaXNhYmxlZCgpKSByZXR1cm47XG4gICAgaWYgKChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmdldEF0dHJpYnV0ZSgnaWQnKSA9PT0gdGhpcy4jY292ZXJFbGVtZW50Py5nZXRBdHRyaWJ1dGUoJ2lkJykpIHtcbiAgICAgIHRoaXMuZmlsZU92ZXIgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdib2R5OmRyYWdvdmVyJywgWyckZXZlbnQnXSlcbiAgb25Cb2R5RHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbiAgQEhvc3RMaXN0ZW5lcignYm9keTpkcm9wJywgWyckZXZlbnQnXSlcbiAgb25Cb2R5RHJvcChldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gICN0b2dnbGVDb3ZlcigpIHtcbiAgICBjb25zdCBlbDogSFRNTEVsZW1lbnQgPSB0aGlzLiNlbFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgaWYgKHRoaXMuI2NvdmVyRWxlbWVudCkge1xuICAgICAgZWwuc3R5bGUucG9zaXRpb24gPSAnaW5pdGlhbCc7XG4gICAgICB0aGlzLiNjb3ZlckVsZW1lbnQucmVtb3ZlKCk7XG4gICAgICB0aGlzLiNjb3ZlckVsZW1lbnQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLiNmaWxlT3Zlcikge1xuICAgICAgZWwuc3R5bGUucG9zaXRpb24gPSAncmVsYXRpdmUnO1xuICAgICAgdGhpcy4jY292ZXJFbGVtZW50ID0gdGhpcy4jY3JlYXRlQ292ZXJFbGVtZW50KCk7XG4gICAgICBlbC5hcHBlbmQodGhpcy4jY292ZXJFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICAjY3JlYXRlQ292ZXJFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICBjb25zdCBjb3ZlckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBjb3ZlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdpZCcsIFV0aWxzLnV1aWQoKSk7XG4gICAgY292ZXJFbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICBjb3ZlckVsZW1lbnQuc3R5bGUuaW5zZXQgPSAnMCc7XG4gICAgY29uc3Qgc3R5bGVzID0gdGhpcy55dXZGaWxlRHJvcFpvbmUoKT8uY292ZXJTdHlsZXMgfHwgdGhpcy4jZGVmYXVsdERyYWdPdmVyQ292ZXJTdHlsZXM7XG4gICAgT2JqZWN0LmtleXMoc3R5bGVzKS5mb3JFYWNoKChrOiBzdHJpbmcpID0+IHtcbiAgICAgIChjb3ZlckVsZW1lbnQuc3R5bGUgYXMgYW55KVtrXSA9IHN0eWxlc1trXTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGxhYmVsID0gdGhpcy55dXZGaWxlRHJvcFpvbmUoKT8ubGFiZWw7XG4gICAgaWYgKGxhYmVsKSB7XG4gICAgICBjb25zdCBjb3ZlckxhYmVsRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgY292ZXJMYWJlbEVsZW1lbnQuaW5uZXJUZXh0ID0gbGFiZWw7XG4gICAgICBjb25zdCBsYWJlbFN0eWxlcyA9IHRoaXMueXV2RmlsZURyb3Bab25lKCk/LmNvdmVyTGFiZWxTdHlsZXMgfHwgdGhpcy4jZGVmYXVsdERyYWdPdmVyQ292ZXJMYWJlbFN0eWxlcztcbiAgICAgIE9iamVjdC5rZXlzKGxhYmVsU3R5bGVzKS5mb3JFYWNoKChrOiBzdHJpbmcpID0+IHtcbiAgICAgICAgKGNvdmVyTGFiZWxFbGVtZW50LnN0eWxlIGFzIGFueSlba10gPSBsYWJlbFN0eWxlc1trXTtcbiAgICAgIH0pO1xuICAgICAgY292ZXJMYWJlbEVsZW1lbnQuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJztcbiAgICAgIGNvdmVyRWxlbWVudC5hcHBlbmQoY292ZXJMYWJlbEVsZW1lbnQpO1xuICAgIH1cbiAgICByZXR1cm4gY292ZXJFbGVtZW50O1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLXpvbmUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9jb21tb24vc3JjL2xpYi9kaXJlY3RpdmVzL2ZpbGUtZHJvcC16b25lL2ZpbGUtZHJvcC16b25lLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBGaWxlRHJvcFpvbmVPcHRpb25zIHtcbiAgICAvLyBjc3MgY2xhc3MgdG8gYmUgYWRkZWQgd2hlbiBhIGZpbGUgaXMgZHJhZ2dlbmQgb3ZlciB0aGUgaG9zdCBjb21wb25lbnRcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICAvLyBzdHlsZXMgdG8gYmUgYXBwbGllZCB0byB0aGUgZmlsZU92ZXIgY292ZXIgZWxlbWVudFxuICAgIGNvdmVyU3R5bGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICAvLyBzdHlsZXMgdG8gYmUgYXBwbGllZCB0byB0aGUgbGFiZWwgZWxlbWVudCBvbiB0aGUgZmlsZU92ZXIgY292ZXIgZWxlbWVudFxuICAgIC8vIG9ubHkgYXBwbGllcyBpZiBhIGxhYmVsIGhhcyBiZWVuIHByb3ZpZGVkXG4gICAgY292ZXJMYWJlbFN0eWxlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59Il19
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Directive keeping track of the focus beeing within a component. Once the component or
|
|
5
|
-
* any of its child components gain focus, a class of `focusWithin` will be set on the
|
|
6
|
-
* host component in order to allow styling it while beeing focused. Furthermore you can
|
|
7
|
-
* register callbacks once the component gets or looses focus.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* // just set the css class
|
|
11
|
-
* <some-component yuvFocusWithin></some-component>
|
|
12
|
-
* // set the css class and listen to focus changes
|
|
13
|
-
* <some-component (yuvFocusWithin)="onFocusEnter()" (yuvFocusWithinBlur)="onFocusLeave()"></some-component>
|
|
14
|
-
*/
|
|
15
|
-
export class FocusWithinDirective {
|
|
16
|
-
onFocusIn(evt) {
|
|
17
|
-
const hadFocusWithin = this.hasFocusWithin;
|
|
18
|
-
this.hasFocusWithin = this.matchesFocusWithin();
|
|
19
|
-
if (!hadFocusWithin && this.hasFocusWithin) {
|
|
20
|
-
this.yuvFocusWithin.emit();
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
onFocusOut(evt) {
|
|
24
|
-
const hadFocusWithin = this.hasFocusWithin;
|
|
25
|
-
this.hasFocusWithin = this.matchesFocusWithin();
|
|
26
|
-
if (hadFocusWithin && !this.hasFocusWithin) {
|
|
27
|
-
this.yuvFocusWithinBlur.emit();
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* @ignore
|
|
32
|
-
*/
|
|
33
|
-
constructor(elRef) {
|
|
34
|
-
this.elRef = elRef;
|
|
35
|
-
this.eventCount = 0;
|
|
36
|
-
this.hasFocusWithin = false;
|
|
37
|
-
/**
|
|
38
|
-
* Emitted once the component or any of its child components gains focus.
|
|
39
|
-
*/
|
|
40
|
-
this.yuvFocusWithin = new EventEmitter();
|
|
41
|
-
/**
|
|
42
|
-
* Emitted once the component (incl. any of its child components) looses focus.
|
|
43
|
-
*/
|
|
44
|
-
this.yuvFocusWithinBlur = new EventEmitter();
|
|
45
|
-
}
|
|
46
|
-
// Determine if the given node matches the given selector.
|
|
47
|
-
// @see: https://www.bennadel.com/blog/3476-checking-to-see-if-an-element-has-a-css-pseudo-class-in-javascript.htm
|
|
48
|
-
matchesFocusWithin() {
|
|
49
|
-
const node = this.elRef.nativeElement;
|
|
50
|
-
var nativeMatches = node.matches || node.msMatchesSelector;
|
|
51
|
-
try {
|
|
52
|
-
return nativeMatches.call(node, ':focus-within');
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FocusWithinDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
59
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FocusWithinDirective, isStandalone: true, selector: "[yuvFocusWithin]", outputs: { yuvFocusWithin: "yuvFocusWithin", yuvFocusWithinBlur: "yuvFocusWithinBlur" }, host: { listeners: { "focusin": "onFocusIn($event)", "focusout": "onFocusOut($event)" }, properties: { "class.focusWithin": "this.hasFocusWithin" } }, ngImport: i0 }); }
|
|
60
|
-
}
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FocusWithinDirective, decorators: [{
|
|
62
|
-
type: Directive,
|
|
63
|
-
args: [{
|
|
64
|
-
selector: '[yuvFocusWithin]',
|
|
65
|
-
standalone: true
|
|
66
|
-
}]
|
|
67
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { hasFocusWithin: [{
|
|
68
|
-
type: HostBinding,
|
|
69
|
-
args: ['class.focusWithin']
|
|
70
|
-
}], onFocusIn: [{
|
|
71
|
-
type: HostListener,
|
|
72
|
-
args: ['focusin', ['$event']]
|
|
73
|
-
}], onFocusOut: [{
|
|
74
|
-
type: HostListener,
|
|
75
|
-
args: ['focusout', ['$event']]
|
|
76
|
-
}], yuvFocusWithin: [{
|
|
77
|
-
type: Output
|
|
78
|
-
}], yuvFocusWithinBlur: [{
|
|
79
|
-
type: Output
|
|
80
|
-
}] } });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtd2l0aGluLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvY29tbW9uL3NyYy9saWIvZGlyZWN0aXZlcy9mb2N1cy13aXRoaW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFDdkc7Ozs7Ozs7Ozs7O0dBV0c7QUFLSCxNQUFNLE9BQU8sb0JBQW9CO0lBR00sU0FBUyxDQUFDLEdBQWU7UUFDNUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFDcUMsVUFBVSxDQUFDLEdBQWU7UUFDOUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ2hELElBQUksY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQVdEOztPQUVHO0lBRUgsWUFBb0IsS0FBaUI7UUFBakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQTlCN0IsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNXLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBZ0J6RDs7V0FFRztRQUNPLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM5Qzs7V0FFRztRQUNPLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFNVCxDQUFDO0lBRTFDLDBEQUEwRDtJQUMxRCxrSEFBa0g7SUFDMUcsa0JBQWtCO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQ3RDLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQzNELElBQUksQ0FBQztZQUNILE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDOytHQTNDVSxvQkFBb0I7bUdBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7K0VBR21DLGNBQWM7c0JBQS9DLFdBQVc7dUJBQUMsbUJBQW1CO2dCQUNLLFNBQVM7c0JBQTdDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU9HLFVBQVU7c0JBQS9DLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVcxQixjQUFjO3NCQUF2QixNQUFNO2dCQUlHLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8qKlxuICogRGlyZWN0aXZlIGtlZXBpbmcgdHJhY2sgb2YgdGhlIGZvY3VzIGJlZWluZyB3aXRoaW4gYSBjb21wb25lbnQuIE9uY2UgdGhlIGNvbXBvbmVudCBvclxuICogYW55IG9mIGl0cyBjaGlsZCBjb21wb25lbnRzIGdhaW4gZm9jdXMsIGEgY2xhc3Mgb2YgYGZvY3VzV2l0aGluYCB3aWxsIGJlIHNldCBvbiB0aGVcbiAqIGhvc3QgY29tcG9uZW50IGluIG9yZGVyIHRvIGFsbG93IHN0eWxpbmcgaXQgd2hpbGUgYmVlaW5nIGZvY3VzZWQuIEZ1cnRoZXJtb3JlIHlvdSBjYW5cbiAqIHJlZ2lzdGVyIGNhbGxiYWNrcyBvbmNlIHRoZSBjb21wb25lbnQgZ2V0cyBvciBsb29zZXMgZm9jdXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIGp1c3Qgc2V0IHRoZSBjc3MgY2xhc3NcbiAqIDxzb21lLWNvbXBvbmVudCB5dXZGb2N1c1dpdGhpbj48L3NvbWUtY29tcG9uZW50PlxuICogLy8gc2V0IHRoZSBjc3MgY2xhc3MgYW5kIGxpc3RlbiB0byBmb2N1cyBjaGFuZ2VzXG4gKiA8c29tZS1jb21wb25lbnQgKHl1dkZvY3VzV2l0aGluKT1cIm9uRm9jdXNFbnRlcigpXCIgKHl1dkZvY3VzV2l0aGluQmx1cik9XCJvbkZvY3VzTGVhdmUoKVwiPjwvc29tZS1jb21wb25lbnQ+XG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t5dXZGb2N1c1dpdGhpbl0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEZvY3VzV2l0aGluRGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSBldmVudENvdW50ID0gMDtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mb2N1c1dpdGhpbicpIGhhc0ZvY3VzV2l0aGluID0gZmFsc2U7XG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzaW4nLCBbJyRldmVudCddKSBvbkZvY3VzSW4oZXZ0OiBGb2N1c0V2ZW50KSB7XG4gICAgY29uc3QgaGFkRm9jdXNXaXRoaW4gPSB0aGlzLmhhc0ZvY3VzV2l0aGluO1xuICAgIHRoaXMuaGFzRm9jdXNXaXRoaW4gPSB0aGlzLm1hdGNoZXNGb2N1c1dpdGhpbigpO1xuICAgIGlmICghaGFkRm9jdXNXaXRoaW4gJiYgdGhpcy5oYXNGb2N1c1dpdGhpbikge1xuICAgICAgdGhpcy55dXZGb2N1c1dpdGhpbi5lbWl0KCk7XG4gICAgfVxuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgWyckZXZlbnQnXSkgb25Gb2N1c091dChldnQ6IEZvY3VzRXZlbnQpIHtcbiAgICBjb25zdCBoYWRGb2N1c1dpdGhpbiA9IHRoaXMuaGFzRm9jdXNXaXRoaW47XG4gICAgdGhpcy5oYXNGb2N1c1dpdGhpbiA9IHRoaXMubWF0Y2hlc0ZvY3VzV2l0aGluKCk7XG4gICAgaWYgKGhhZEZvY3VzV2l0aGluICYmICF0aGlzLmhhc0ZvY3VzV2l0aGluKSB7XG4gICAgICB0aGlzLnl1dkZvY3VzV2l0aGluQmx1ci5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgb25jZSB0aGUgY29tcG9uZW50IG9yIGFueSBvZiBpdHMgY2hpbGQgY29tcG9uZW50cyBnYWlucyBmb2N1cy5cbiAgICovXG4gIEBPdXRwdXQoKSB5dXZGb2N1c1dpdGhpbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgb25jZSB0aGUgY29tcG9uZW50IChpbmNsLiBhbnkgb2YgaXRzIGNoaWxkIGNvbXBvbmVudHMpIGxvb3NlcyBmb2N1cy5cbiAgICovXG4gIEBPdXRwdXQoKSB5dXZGb2N1c1dpdGhpbkJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZikgeyB9XG5cbiAgLy8gRGV0ZXJtaW5lIGlmIHRoZSBnaXZlbiBub2RlIG1hdGNoZXMgdGhlIGdpdmVuIHNlbGVjdG9yLlxuICAvLyBAc2VlOiBodHRwczovL3d3dy5iZW5uYWRlbC5jb20vYmxvZy8zNDc2LWNoZWNraW5nLXRvLXNlZS1pZi1hbi1lbGVtZW50LWhhcy1hLWNzcy1wc2V1ZG8tY2xhc3MtaW4tamF2YXNjcmlwdC5odG1cbiAgcHJpdmF0ZSBtYXRjaGVzRm9jdXNXaXRoaW4oKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudDtcbiAgICB2YXIgbmF0aXZlTWF0Y2hlcyA9IG5vZGUubWF0Y2hlcyB8fCBub2RlLm1zTWF0Y2hlc1NlbGVjdG9yO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gbmF0aXZlTWF0Y2hlcy5jYWxsKG5vZGUsICc6Zm9jdXMtd2l0aGluJyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export * from './busy-overlay.directive';
|
|
2
|
-
export * from './focus-within.directive';
|
|
3
|
-
export * from './file-drop-zone/file-drop-zone.directive';
|
|
4
|
-
export * from './click-double.directive';
|
|
5
|
-
export * from './light-dismiss.directive';
|
|
6
|
-
export * from './container-size.directive';
|
|
7
|
-
export * from './longpress.directive';
|
|
8
|
-
export * from './drag-select.directive';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2NvbW1vbi9zcmMvbGliL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9idXN5LW92ZXJsYXkuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9jdXMtd2l0aGluLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGUtZHJvcC16b25lL2ZpbGUtZHJvcC16b25lLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NsaWNrLWRvdWJsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWdodC1kaXNtaXNzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRhaW5lci1zaXplLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xvbmdwcmVzcy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmFnLXNlbGVjdC5kaXJlY3RpdmUnO1xuIl19
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, HostListener, inject, output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Directive for applying light dismiss actions. Adding this directive will trigger
|
|
5
|
-
* the given function when the user clicks outside the component or hits escape.
|
|
6
|
-
*
|
|
7
|
-
* ```ts
|
|
8
|
-
* <div class="notifications" (yuvLightDismiss)="close()">
|
|
9
|
-
* ...
|
|
10
|
-
* </div>
|
|
11
|
-
* ```
|
|
12
|
-
*/
|
|
13
|
-
export class LightDismissDirective {
|
|
14
|
-
constructor() {
|
|
15
|
-
this.elRef = inject(ElementRef);
|
|
16
|
-
this.yuvLightDismiss = output();
|
|
17
|
-
}
|
|
18
|
-
onKeydownHandler(event) {
|
|
19
|
-
if (!event.defaultPrevented) {
|
|
20
|
-
this.yuvLightDismiss.emit();
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
onMousedown(event) {
|
|
24
|
-
if (!this.elRef.nativeElement.contains(event.target)) {
|
|
25
|
-
this.yuvLightDismiss.emit();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LightDismissDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
29
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: LightDismissDirective, isStandalone: true, selector: "[yuvLightDismiss]", outputs: { yuvLightDismiss: "yuvLightDismiss" }, host: { listeners: { "document:keydown.escape": "onKeydownHandler($event)", "document:mousedown": "onMousedown($event)" } }, ngImport: i0 }); }
|
|
30
|
-
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LightDismissDirective, decorators: [{
|
|
32
|
-
type: Directive,
|
|
33
|
-
args: [{
|
|
34
|
-
selector: '[yuvLightDismiss]',
|
|
35
|
-
standalone: true
|
|
36
|
-
}]
|
|
37
|
-
}], propDecorators: { onKeydownHandler: [{
|
|
38
|
-
type: HostListener,
|
|
39
|
-
args: ['document:keydown.escape', ['$event']]
|
|
40
|
-
}], onMousedown: [{
|
|
41
|
-
type: HostListener,
|
|
42
|
-
args: ['document:mousedown', ['$event']]
|
|
43
|
-
}] } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHQtZGlzbWlzcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2NvbW1vbi9zcmMvbGliL2RpcmVjdGl2ZXMvbGlnaHQtZGlzbWlzcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXBGOzs7Ozs7Ozs7R0FTRztBQUtILE1BQU0sT0FBTyxxQkFBcUI7SUFKbEM7UUFLVSxVQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBZ0JuQyxvQkFBZSxHQUFHLE1BQU0sRUFBRSxDQUFDO0tBQzVCO0lBZEMsZ0JBQWdCLENBQUMsS0FBb0I7UUFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFHRCxXQUFXLENBQUMsS0FBaUI7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDOytHQWZVLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFLQyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRbkQsV0FBVztzQkFEVixZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogRGlyZWN0aXZlIGZvciBhcHBseWluZyBsaWdodCBkaXNtaXNzIGFjdGlvbnMuIEFkZGluZyB0aGlzIGRpcmVjdGl2ZSB3aWxsIHRyaWdnZXJcbiAqIHRoZSBnaXZlbiBmdW5jdGlvbiB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvdXRzaWRlIHRoZSBjb21wb25lbnQgb3IgaGl0cyBlc2NhcGUuXG4gKlxuICogYGBgdHNcbiAqIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb25zXCIgKHl1dkxpZ2h0RGlzbWlzcyk9XCJjbG9zZSgpXCI+XG4gKiAgIC4uLlxuICogPC9kaXY+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3l1dkxpZ2h0RGlzbWlzc10nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIExpZ2h0RGlzbWlzc0RpcmVjdGl2ZSB7XG4gIHByaXZhdGUgZWxSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKVxuICBvbktleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCFldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICB0aGlzLnl1dkxpZ2h0RGlzbWlzcy5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICB0aGlzLnl1dkxpZ2h0RGlzbWlzcy5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgeXV2TGlnaHREaXNtaXNzID0gb3V0cHV0KCk7XG59XG4iXX0=
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, inject, input, output } from '@angular/core';
|
|
2
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
-
import { fromEvent, merge, of, timer } from 'rxjs';
|
|
4
|
-
import { filter, map, switchMap } from 'rxjs/operators';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class LongPressDirective {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.elRef = inject(ElementRef);
|
|
9
|
-
this.threshold = 500;
|
|
10
|
-
this.yuvLongPress = input({
|
|
11
|
-
enabled: false
|
|
12
|
-
});
|
|
13
|
-
this.longpress = output();
|
|
14
|
-
const mousedown = fromEvent(this.elRef.nativeElement, 'mousedown').pipe(takeUntilDestroyed(), filter((event) => event.button == 0), // Only allow left button (Primary button)
|
|
15
|
-
map(() => true) // turn on threshold counter
|
|
16
|
-
);
|
|
17
|
-
const touchstart = fromEvent(this.elRef.nativeElement, 'touchstart').pipe(takeUntilDestroyed(), map(() => true));
|
|
18
|
-
const touchEnd = fromEvent(this.elRef.nativeElement, 'touchend').pipe(takeUntilDestroyed(), map(() => false));
|
|
19
|
-
const mouseup = fromEvent(window, 'mouseup').pipe(takeUntilDestroyed(), filter((event) => event.button == 0), // Only allow left button (Primary button)
|
|
20
|
-
map(() => false) // reset threshold counter
|
|
21
|
-
);
|
|
22
|
-
merge(mousedown, mouseup, touchstart, touchEnd)
|
|
23
|
-
.pipe(takeUntilDestroyed(), switchMap((state) => (state ? timer(this.threshold, 100) : of(null))), filter((value) => !!value))
|
|
24
|
-
.subscribe(() => this.longpress.emit());
|
|
25
|
-
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LongPressDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
27
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: LongPressDirective, isStandalone: true, selector: "[yuvLongPress]", inputs: { yuvLongPress: { classPropertyName: "yuvLongPress", publicName: "yuvLongPress", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { longpress: "longpress" }, ngImport: i0 }); }
|
|
28
|
-
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LongPressDirective, decorators: [{
|
|
30
|
-
type: Directive,
|
|
31
|
-
args: [{
|
|
32
|
-
selector: '[yuvLongPress]',
|
|
33
|
-
standalone: true
|
|
34
|
-
}]
|
|
35
|
-
}], ctorParameters: () => [] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9uZ3ByZXNzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvY29tbW9uL3NyYy9saWIvZGlyZWN0aXZlcy9sb25ncHJlc3MuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTXhELE1BQU0sT0FBTyxrQkFBa0I7SUFVN0I7UUFUUSxVQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRW5DLGNBQVMsR0FBRyxHQUFHLENBQUM7UUFFaEIsaUJBQVksR0FBRyxLQUFLLENBQTRCO1lBQzlDLE9BQU8sRUFBRSxLQUFLO1NBQ2YsQ0FBQyxDQUFDO1FBQ0gsY0FBUyxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBR25CLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBYSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQ2pGLGtCQUFrQixFQUFFLEVBQ3BCLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsRUFBRSwwQ0FBMEM7UUFDaEYsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLDRCQUE0QjtTQUM3QyxDQUFDO1FBQ0YsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDdkUsa0JBQWtCLEVBQUUsRUFDcEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUNoQixDQUFDO1FBQ0YsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDbkUsa0JBQWtCLEVBQUUsRUFDcEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUNqQixDQUFDO1FBQ0YsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFhLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQzNELGtCQUFrQixFQUFFLEVBQ3BCLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsRUFBRSwwQ0FBMEM7UUFDaEYsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLDBCQUEwQjtTQUM1QyxDQUFDO1FBQ0YsS0FBSyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQzthQUM1QyxJQUFJLENBQ0gsa0JBQWtCLEVBQUUsRUFDcEIsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ3JFLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUMzQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQzsrR0FwQ1Usa0JBQWtCO21HQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UsIG9mLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3l1dkxvbmdQcmVzc10nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIExvbmdQcmVzc0RpcmVjdGl2ZSB7XG4gIHByaXZhdGUgZWxSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgdGhyZXNob2xkID0gNTAwO1xuXG4gIHl1dkxvbmdQcmVzcyA9IGlucHV0PExvbmdQcmVzc0RpcmVjdGl2ZU9wdGlvbnM+KHtcbiAgICBlbmFibGVkOiBmYWxzZVxuICB9KTtcbiAgbG9uZ3ByZXNzID0gb3V0cHV0KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgbW91c2Vkb3duID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlZG93bicpLnBpcGUoXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LmJ1dHRvbiA9PSAwKSwgLy8gT25seSBhbGxvdyBsZWZ0IGJ1dHRvbiAoUHJpbWFyeSBidXR0b24pXG4gICAgICBtYXAoKCkgPT4gdHJ1ZSkgLy8gdHVybiBvbiB0aHJlc2hvbGQgY291bnRlclxuICAgICk7XG4gICAgY29uc3QgdG91Y2hzdGFydCA9IGZyb21FdmVudCh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICd0b3VjaHN0YXJ0JykucGlwZShcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgbWFwKCgpID0+IHRydWUpXG4gICAgKTtcbiAgICBjb25zdCB0b3VjaEVuZCA9IGZyb21FdmVudCh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICd0b3VjaGVuZCcpLnBpcGUoXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgIG1hcCgoKSA9PiBmYWxzZSlcbiAgICApO1xuICAgIGNvbnN0IG1vdXNldXAgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4od2luZG93LCAnbW91c2V1cCcpLnBpcGUoXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LmJ1dHRvbiA9PSAwKSwgLy8gT25seSBhbGxvdyBsZWZ0IGJ1dHRvbiAoUHJpbWFyeSBidXR0b24pXG4gICAgICBtYXAoKCkgPT4gZmFsc2UpIC8vIHJlc2V0IHRocmVzaG9sZCBjb3VudGVyXG4gICAgKTtcbiAgICBtZXJnZShtb3VzZWRvd24sIG1vdXNldXAsIHRvdWNoc3RhcnQsIHRvdWNoRW5kKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgICBzd2l0Y2hNYXAoKHN0YXRlKSA9PiAoc3RhdGUgPyB0aW1lcih0aGlzLnRocmVzaG9sZCwgMTAwKSA6IG9mKG51bGwpKSksXG4gICAgICAgIGZpbHRlcigodmFsdWUpID0+ICEhdmFsdWUpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMubG9uZ3ByZXNzLmVtaXQoKSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb25nUHJlc3NEaXJlY3RpdmVPcHRpb25zIHtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
-
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
3
|
-
import { Directive, forwardRef, inject } from '@angular/core';
|
|
4
|
-
import { FormControlDirective, FormControlName, NG_VALUE_ACCESSOR, NgControl, NgModel } from '@angular/forms';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
// @see: https://netbasal.com/forwarding-form-controls-to-custom-control-components-in-angular-701e8406cc55
|
|
7
|
-
export class NoopValueAccessorDirective {
|
|
8
|
-
writeValue(obj) { }
|
|
9
|
-
registerOnChange(fn) { }
|
|
10
|
-
registerOnTouched(fn) { }
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NoopValueAccessorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
12
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: NoopValueAccessorDirective, isStandalone: true, providers: [
|
|
13
|
-
{
|
|
14
|
-
provide: NG_VALUE_ACCESSOR,
|
|
15
|
-
multi: true,
|
|
16
|
-
useExisting: forwardRef(() => NoopValueAccessorDirective),
|
|
17
|
-
},
|
|
18
|
-
], ngImport: i0 }); }
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NoopValueAccessorDirective, decorators: [{
|
|
21
|
-
type: Directive,
|
|
22
|
-
args: [{
|
|
23
|
-
standalone: true,
|
|
24
|
-
providers: [
|
|
25
|
-
{
|
|
26
|
-
provide: NG_VALUE_ACCESSOR,
|
|
27
|
-
multi: true,
|
|
28
|
-
useExisting: forwardRef(() => NoopValueAccessorDirective),
|
|
29
|
-
},
|
|
30
|
-
],
|
|
31
|
-
}]
|
|
32
|
-
}] });
|
|
33
|
-
export function injectNgControl() {
|
|
34
|
-
const ngControl = inject(NgControl, { self: true, optional: true });
|
|
35
|
-
if (!ngControl)
|
|
36
|
-
throw new Error('...');
|
|
37
|
-
if (ngControl instanceof FormControlDirective || ngControl instanceof FormControlName || ngControl instanceof NgModel) {
|
|
38
|
-
return ngControl;
|
|
39
|
-
}
|
|
40
|
-
throw new Error('...');
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9vcC12YWx1ZS1hY2Nlc3Nvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2NvbW1vbi9zcmMvbGliL2RpcmVjdGl2ZXMvbm9vcC12YWx1ZS1hY2Nlc3Nvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0RBQXNEO0FBQ3RELHlEQUF5RDtBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUF3QixvQkFBb0IsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUVwSSwyR0FBMkc7QUFXM0csTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxVQUFVLENBQUMsR0FBUSxJQUFTLENBQUM7SUFDN0IsZ0JBQWdCLENBQUMsRUFBTyxJQUFTLENBQUM7SUFDbEMsaUJBQWlCLENBQUMsRUFBTyxJQUFTLENBQUM7K0dBSHhCLDBCQUEwQjttR0FBMUIsMEJBQTBCLGlDQVIxQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQUM7YUFDMUQ7U0FDRjs7NEZBRVUsMEJBQTBCO2tCQVZ0QyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMkJBQTJCLENBQUM7eUJBQzFEO3FCQUNGO2lCQUNGOztBQU9ELE1BQU0sVUFBVSxlQUFlO0lBQzdCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXBFLElBQUksQ0FBQyxTQUFTO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUV2QyxJQUFJLFNBQVMsWUFBWSxvQkFBb0IsSUFBSSxTQUFTLFlBQVksZUFBZSxJQUFJLFNBQVMsWUFBWSxPQUFPLEVBQUUsQ0FBQztRQUN0SCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cbmltcG9ydCB7IERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2xEaXJlY3RpdmUsIEZvcm1Db250cm9sTmFtZSwgTkdfVkFMVUVfQUNDRVNTT1IsIE5nQ29udHJvbCwgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLy8gQHNlZTogaHR0cHM6Ly9uZXRiYXNhbC5jb20vZm9yd2FyZGluZy1mb3JtLWNvbnRyb2xzLXRvLWN1c3RvbS1jb250cm9sLWNvbXBvbmVudHMtaW4tYW5ndWxhci03MDFlODQwNmNjNTVcbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTm9vcFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5vb3BWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7fVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHt9XG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHt9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3ROZ0NvbnRyb2woKSB7XG4gIGNvbnN0IG5nQ29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHsgc2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgaWYgKCFuZ0NvbnRyb2wpIHRocm93IG5ldyBFcnJvcignLi4uJyk7XG5cbiAgaWYgKG5nQ29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sRGlyZWN0aXZlIHx8IG5nQ29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sTmFtZSB8fCBuZ0NvbnRyb2wgaW5zdGFuY2VvZiBOZ01vZGVsKSB7XG4gICAgcmV0dXJuIG5nQ29udHJvbDtcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcignLi4uJyk7XG59XG4iXX0=
|