@yuuvis/client-framework 1.0.3 → 2.0.0-beta.2
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 +11 -11
- 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 +40 -66
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yuuvis-client-framework-common.mjs","sources":["../../../../../libs/yuuvis/client-framework/common/src/lib/directives/busy-overlay.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/focus-within.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/file-drop-zone/file-drop-zone.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/click-double.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/light-dismiss.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/container-size.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/longpress.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/drag-select.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/components/token-input/token-input.component.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/components/token-input/token-input.component.html","../../../../../libs/yuuvis/client-framework/common/src/lib/components/focus-indicator/focus-indicator.component.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/noop-value-accessor.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/services/error-messages/error-messages.service.ts","../../../../../libs/yuuvis/client-framework/common/src/yuuvis-client-framework-common.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding, Input, OnInit, inject } from '@angular/core';\nimport { Utils } from '@yuuvis/client-core';\n\n/**\n * A directive that will overlay its host component with a translucent background\n * and a loading spinner once the condition resolves with true. This is useful for example to\n * prevent user intercation while component data is loading or some processing is done.\n *\n * It'll also set the `inert` attribute on the host element. This will disable the host and\n * all elements inside (like buttons, inputs etc.)\n *\n * @example\n * <div class=\"result-list\" [yuvBusyOverlay]=\"waitingForServerResponse\">...</div>\n *\n */\n@Directive({\n selector: '[yuvBusyOverlay]',\n standalone: true\n})\nexport class BusyOverlayDirective implements OnInit {\n @HostBinding('style.position') stylePosition = 'initial';\n\n #elRef = inject(ElementRef);\n\n #overlayId: string | null = null;\n /**\n * The Boolean expression to evaluate as the condition for showing the busy overlay\n */\n @Input() set yuvBusyOverlay(b: boolean) {\n if (b === true) {\n this.#addBusyOverlay();\n } else if (this.#overlayId) {\n this.#removeBusyOverlay();\n }\n }\n\n #addBusyOverlay() {\n this.stylePosition = 'relative';\n const overlay = document.createElement('div');\n overlay.style.position = 'absolute';\n overlay.style.transition = 'opacity 200ms';\n overlay.style.opacity = '0';\n overlay.style.inset = '0';\n overlay.style.display = 'grid';\n overlay.style.alignItems = 'center';\n overlay.style.justifyContent = 'center';\n overlay.style.zIndex = '5';\n overlay.style.backgroundColor = 'var(--busy-overlay-background)';\n\n this.#overlayId = `p${Utils.uuid()}`;\n overlay.setAttribute('id', this.#overlayId);\n const spinner = document.createElement('div');\n spinner.setAttribute('class', 'yuv-loader');\n overlay.append(spinner);\n const el = this.#elRef.nativeElement as HTMLElement;\n el.setAttribute('inert', '');\n el.append(overlay);\n setTimeout(() => {\n overlay.style.opacity = '1';\n });\n }\n\n #removeBusyOverlay() {\n const el = this.#elRef.nativeElement.querySelector(`#${this.#overlayId}`);\n if (el) {\n el.style.opacity = '0';\n setTimeout(() => {\n el.remove();\n }, 200);\n }\n this.#elRef.nativeElement.removeAttribute('inert');\n this.#overlayId = null;\n }\n\n ngOnInit() {\n this.stylePosition = getComputedStyle(this.#elRef.nativeElement).position;\n }\n}\n","import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Output } from '@angular/core';\n/**\n * Directive keeping track of the focus beeing within a component. Once the component or\n * any of its child components gain focus, a class of `focusWithin` will be set on the\n * host component in order to allow styling it while beeing focused. Furthermore you can\n * register callbacks once the component gets or looses focus.\n *\n * @example\n * // just set the css class\n * <some-component yuvFocusWithin></some-component>\n * // set the css class and listen to focus changes\n * <some-component (yuvFocusWithin)=\"onFocusEnter()\" (yuvFocusWithinBlur)=\"onFocusLeave()\"></some-component>\n */\n@Directive({\n selector: '[yuvFocusWithin]',\n standalone: true\n})\nexport class FocusWithinDirective {\n private eventCount = 0;\n @HostBinding('class.focusWithin') hasFocusWithin = false;\n @HostListener('focusin', ['$event']) onFocusIn(evt: FocusEvent) {\n const hadFocusWithin = this.hasFocusWithin;\n this.hasFocusWithin = this.matchesFocusWithin();\n if (!hadFocusWithin && this.hasFocusWithin) {\n this.yuvFocusWithin.emit();\n }\n }\n @HostListener('focusout', ['$event']) onFocusOut(evt: FocusEvent) {\n const hadFocusWithin = this.hasFocusWithin;\n this.hasFocusWithin = this.matchesFocusWithin();\n if (hadFocusWithin && !this.hasFocusWithin) {\n this.yuvFocusWithinBlur.emit();\n }\n }\n\n /**\n * Emitted once the component or any of its child components gains focus.\n */\n @Output() yuvFocusWithin = new EventEmitter();\n /**\n * Emitted once the component (incl. any of its child components) looses focus.\n */\n @Output() yuvFocusWithinBlur = new EventEmitter();\n\n /**\n * @ignore\n */\n\n constructor(private elRef: ElementRef) { }\n\n // Determine if the given node matches the given selector.\n // @see: https://www.bennadel.com/blog/3476-checking-to-see-if-an-element-has-a-css-pseudo-class-in-javascript.htm\n private matchesFocusWithin(): boolean {\n const node = this.elRef.nativeElement;\n var nativeMatches = node.matches || node.msMatchesSelector;\n try {\n return nativeMatches.call(node, ':focus-within');\n } catch (error) {\n return false;\n }\n }\n}\n","import { Directive, ElementRef, HostListener, inject, input, output } from '@angular/core';\nimport { Utils } from '@yuuvis/client-core';\nimport { FileDropZoneOptions } from './file-drop-zone.interface';\n\n@Directive({\n selector: '[yuvFileDropZone]',\n standalone: true\n})\nexport class FileDropZoneDirective {\n #elRef = inject(ElementRef);\n\n #coverElement?: HTMLElement;\n\n #fileOver = false;\n set fileOver(fo: boolean) {\n if (fo !== this.#fileOver) {\n this.#fileOver = fo;\n this.fileDropOver.emit(fo);\n this.#toggleCover();\n }\n }\n get fileOver() {\n return this.#fileOver;\n }\n\n #defaultDragOverCoverStyles: Record<string, string> = {\n outline: '2px dashed var(--color-accent)',\n display: 'flex',\n transition: 'background-color .3s ease-in-out',\n 'z-index': '500',\n 'align-items': 'center',\n 'justify-content': 'center',\n 'outline-offset': '-2px',\n 'background-color': 'rgba(var(--color-accent-rgb), .5)'\n };\n\n #defaultDragOverCoverLabelStyles: Record<string, string> = {\n outline: '1px solid var(--color-accent)',\n\n padding: 'var(--app-pane-padding, 16px)',\n 'background-color': 'rgba(var(--color-accent-rgb), .9)',\n color: 'var(--color-accent-tone)'\n };\n\n yuvFileDropZone = input<FileDropZoneOptions>();\n fileDropDisabled = input<boolean>(false);\n\n fileDrop = output<File[]>();\n fileDropOver = output<boolean>();\n\n @HostListener('drop', ['$event'])\n onDrop(event: DragEvent) {\n if (this.fileDropDisabled()) return;\n event.preventDefault();\n event.stopPropagation();\n this.fileOver = false;\n\n const dataTransfer: DataTransfer | null = event.dataTransfer;\n\n if (dataTransfer) {\n if (dataTransfer?.items) {\n const files: File[] = [];\n for (let i = 0; i < dataTransfer.items.length; i++) {\n // If dropped items aren't files, reject them\n if (dataTransfer.items[i].kind === 'file') {\n const file = dataTransfer.items[i].getAsFile();\n if (file) files.push(file);\n }\n }\n dataTransfer.items.clear();\n this.fileDrop.emit(files);\n } else {\n const files = dataTransfer.files;\n dataTransfer.clearData();\n this.fileDrop.emit(Array.from(files));\n }\n }\n }\n\n @HostListener('dragover', ['$event'])\n onDragOver(event: DragEvent) {\n if (this.fileDropDisabled()) return;\n event.stopPropagation();\n event.preventDefault();\n this.fileOver = true;\n }\n\n @HostListener('dragleave', ['$event'])\n onDragLeave(event: DragEvent) {\n if (this.fileDropDisabled()) return;\n if ((event.target as HTMLElement).getAttribute('id') === this.#coverElement?.getAttribute('id')) {\n this.fileOver = false;\n }\n }\n\n @HostListener('body:dragover', ['$event'])\n onBodyDragOver(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n }\n @HostListener('body:drop', ['$event'])\n onBodyDrop(event: DragEvent) {\n event.preventDefault();\n }\n\n #toggleCover() {\n const el: HTMLElement = this.#elRef.nativeElement as HTMLElement;\n\n if (this.#coverElement) {\n el.style.position = 'initial';\n this.#coverElement.remove();\n this.#coverElement = undefined;\n }\n if (this.#fileOver) {\n el.style.position = 'relative';\n this.#coverElement = this.#createCoverElement();\n el.append(this.#coverElement);\n }\n }\n\n #createCoverElement(): HTMLElement {\n const coverElement = document.createElement('div');\n coverElement.setAttribute('id', Utils.uuid());\n coverElement.style.position = 'absolute';\n coverElement.style.inset = '0';\n const styles = this.yuvFileDropZone()?.coverStyles || this.#defaultDragOverCoverStyles;\n Object.keys(styles).forEach((k: string) => {\n (coverElement.style as any)[k] = styles[k];\n });\n\n const label = this.yuvFileDropZone()?.label;\n if (label) {\n const coverLabelElement = document.createElement('div');\n coverLabelElement.innerText = label;\n const labelStyles = this.yuvFileDropZone()?.coverLabelStyles || this.#defaultDragOverCoverLabelStyles;\n Object.keys(labelStyles).forEach((k: string) => {\n (coverLabelElement.style as any)[k] = labelStyles[k];\n });\n coverLabelElement.style.pointerEvents = 'none';\n coverElement.append(coverLabelElement);\n }\n return coverElement;\n }\n}\n","import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n/**\n * Fixes the issue of 'click' event beeing triggered on 'doubleclick' by defining new outputs that\n * distinguish between single and double click.\n */\n@Directive({\n selector: '[click.single],[click.double]',\n standalone: true\n})\nexport class ClickDoubleDirective {\n @Input() debounceTime = 200;\n @Output('click.double') doubleClick = new EventEmitter();\n @Output('click.single') singleClick = new EventEmitter();\n\n private clicksSubject = new Subject<MouseEvent>();\n\n constructor() {\n this.clicksSubject.pipe(takeUntilDestroyed(), debounceTime(this.debounceTime)).subscribe({\n next: (event) => {\n if (event.type === 'click') {\n this.singleClick.emit(event);\n } else {\n this.doubleClick.emit(event);\n }\n }\n });\n }\n\n @HostListener('click', ['$event'])\n clickEvent(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.clicksSubject.next(event);\n }\n @HostListener('dblclick', ['$event'])\n doubleClickEvent(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.clicksSubject.next(event);\n }\n}\n","import { Directive, ElementRef, HostListener, inject, output } from '@angular/core';\n\n/**\n * Directive for applying light dismiss actions. Adding this directive will trigger\n * the given function when the user clicks outside the component or hits escape.\n *\n * ```ts\n * <div class=\"notifications\" (yuvLightDismiss)=\"close()\">\n * ...\n * </div>\n * ```\n */\n@Directive({\n selector: '[yuvLightDismiss]',\n standalone: true\n})\nexport class LightDismissDirective {\n private elRef = inject(ElementRef);\n\n @HostListener('document:keydown.escape', ['$event'])\n onKeydownHandler(event: KeyboardEvent) {\n if (!event.defaultPrevented) {\n this.yuvLightDismiss.emit();\n }\n }\n\n @HostListener('document:mousedown', ['$event'])\n onMousedown(event: MouseEvent) {\n if (!this.elRef.nativeElement.contains(event.target)) {\n this.yuvLightDismiss.emit();\n }\n }\n\n yuvLightDismiss = output();\n}\n","import { Directive, ElementRef, NgZone, OnDestroy, inject, output } from '@angular/core';\n\n/**\n * Directive to watch the size of an element inside the DOM. Usefull for example to provide\n * a different layout (different components) depending on the available screen estate. You\n * should first try to use CSS container queries but somtimes you need a different set of\n * components to be loaded for a certain component size.\n *\n * Let's say you have components designed for bigger screens. You do not want to load them\n * if there is not enough space for them. So you rather load components that are designed to\n * take less space by providing the best user experience on smaller devices.\n *\n * ```html\n * <div yuvContainerSize (containerHeight)=\"onContainerResize($event)\" (containerWidth)=\"onContainerResize($event)\"></div>\n * ```\n *\n */\n@Directive({\n selector: '[yuvContainerSize]',\n standalone: true\n})\nexport class ContainerSizeDirective implements OnDestroy {\n private elRef = inject(ElementRef);\n private ngZone = inject(NgZone);\n\n containerHeight = output<number>();\n containerWidth = output<number>();\n\n private _size?: ResizeObserverSize;\n private _resizeObserver = new ResizeObserver((entries) => {\n const size = entries[0].borderBoxSize[0];\n if (!this._size || size.blockSize !== this._size.blockSize) {\n this._emit(size.blockSize, true);\n }\n if (!this._size || size.inlineSize !== this._size.inlineSize) {\n this._emit(size.inlineSize);\n }\n this._size = size;\n });\n\n constructor() {\n this._resizeObserver.observe(this.elRef.nativeElement);\n }\n\n private _emit(value: number, isHeight = false) {\n // ResizeObserver callback is not covered by change detection\n // so it has to be executed withing ngZone\n this.ngZone.run(() => {\n (isHeight ? this.containerHeight : this.containerWidth).emit(value);\n });\n }\n\n ngOnDestroy(): void {\n this._resizeObserver.unobserve(this.elRef.nativeElement);\n }\n}\n","import { Directive, ElementRef, inject, input, output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, merge, of, timer } from 'rxjs';\nimport { filter, map, switchMap } from 'rxjs/operators';\n\n@Directive({\n selector: '[yuvLongPress]',\n standalone: true\n})\nexport class LongPressDirective {\n private elRef = inject(ElementRef);\n\n threshold = 500;\n\n yuvLongPress = input<LongPressDirectiveOptions>({\n enabled: false\n });\n longpress = output();\n\n constructor() {\n const mousedown = fromEvent<MouseEvent>(this.elRef.nativeElement, 'mousedown').pipe(\n takeUntilDestroyed(),\n filter((event) => event.button == 0), // Only allow left button (Primary button)\n map(() => true) // turn on threshold counter\n );\n const touchstart = fromEvent(this.elRef.nativeElement, 'touchstart').pipe(\n takeUntilDestroyed(),\n map(() => true)\n );\n const touchEnd = fromEvent(this.elRef.nativeElement, 'touchend').pipe(\n takeUntilDestroyed(),\n map(() => false)\n );\n const mouseup = fromEvent<MouseEvent>(window, 'mouseup').pipe(\n takeUntilDestroyed(),\n filter((event) => event.button == 0), // Only allow left button (Primary button)\n map(() => false) // reset threshold counter\n );\n merge(mousedown, mouseup, touchstart, touchEnd)\n .pipe(\n takeUntilDestroyed(),\n switchMap((state) => (state ? timer(this.threshold, 100) : of(null))),\n filter((value) => !!value)\n )\n .subscribe(() => this.longpress.emit());\n }\n}\n\nexport interface LongPressDirectiveOptions {\n enabled: boolean;\n}\n","import { computed, contentChildren, Directive, ElementRef, HostListener, inject, input, output } from '@angular/core';\n\ninterface SelectableRect {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\nexport interface DragSelectOptions {\n disabled?: boolean;\n selectorColor?: string;\n}\n\n@Directive({\n selector: '[yuvDragSelect]',\n standalone: true\n})\nexport class DragSelectDirective {\n #selector?: HTMLDivElement;\n #selectStartX = 0;\n #selectStartY = 0;\n\n #selection: number[] = [];\n\n @HostListener('pointerdown', ['$event']) onPointerDown(event: PointerEvent) {\n if (this.yuvDragSelect()?.disabled || (event.target as HTMLElement).tagName === 'BUTTON') return;\n event.preventDefault();\n this.#selectStartX = event.pageX;\n this.#selectStartY = event.pageY;\n\n const div = document.createElement('div');\n div.style.position = 'absolute';\n div.style.width = '0';\n div.style.height = '0';\n div.style.left = this.#selectStartX + 'px';\n div.style.top = this.#selectStartY + 'px';\n div.classList.add('drag-select');\n this.#selector = div;\n document.body.append(this.#selector);\n\n this.#selection = [];\n addEventListener('pointermove', this.#resize);\n addEventListener('pointerup', this.#onPointerUp);\n }\n\n items = contentChildren(DragSelectItemDirective);\n #selectables = computed(() => this.items().map((item) => item.el));\n\n yuvDragSelect = input<DragSelectOptions>();\n dragSelectChange = output<number[]>();\n dragSelect = output<number[]>();\n\n #onPointerUp = () => {\n removeEventListener('pointermove', this.#resize);\n removeEventListener('pointerup', this.#onPointerUp);\n if (this.#selection.length) this.dragSelect.emit(this.#selection);\n if (this.#selector) this.#selector.remove();\n };\n\n #resize = (event: PointerEvent) => {\n if (!this.#selector) return;\n const diffX = event.pageX - this.#selectStartX;\n const diffY = event.pageY - this.#selectStartY;\n this.#selector.style.left = diffX < 0 ? this.#selectStartX + diffX + 'px' : this.#selectStartX + 'px';\n this.#selector.style.top = diffY < 0 ? this.#selectStartY + diffY + 'px' : this.#selectStartY + 'px';\n this.#selector.style.height = Math.abs(diffY) + 'px';\n this.#selector.style.width = Math.abs(diffX) + 'px';\n\n this.#selector.style.border = `1px solid ${this.yuvDragSelect()?.selectorColor || 'var(--color-accent'}`;\n this.#checkSelected();\n };\n\n #checkSelected = () => {\n if (!this.#selector) return;\n const select = this.#selector.getBoundingClientRect();\n const { x, y, height, width } = select;\n if (!height || !width) return;\n\n const currSelectionLength = this.#selection.length;\n this.#selectables().forEach((selectable, idx) => {\n const r1: SelectableRect = { x: x + window.scrollX, y: y + window.scrollY, height, width };\n const r2: SelectableRect = selectable.getBoundingClientRect();\n this.#selection = this.#selection.filter((s) => s !== idx);\n if (this.#checkRectIntersection(r1, r2)) {\n this.#selection.push(idx);\n }\n });\n\n if (currSelectionLength !== this.#selection.length) {\n this.dragSelectChange.emit(this.#selection);\n }\n };\n\n #checkRectIntersection = (r1: SelectableRect, r2: SelectableRect) => {\n 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);\n };\n}\n\n@Directive({\n selector: '[yuvDragSelectItem]',\n standalone: true\n})\nexport class DragSelectItemDirective {\n #elRef = inject(ElementRef);\n el = this.#elRef.nativeElement as HTMLElement;\n}\n","import { Component, ElementRef, HostListener, NgZone, TemplateRef, contentChild, inject, input, output, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InnerInputToken, InputToken } from './token-input.interface';\nimport { YvcOverlayRef, YvcOverlayService } from '@yuuvis/components/overlay';\nimport { YvcAutocompleteModule } from '@yuuvis/components/autocomplete';\n\n// TODO: Move to @yuuvis/components\n@Component({\n selector: 'yuv-token-input',\n standalone: true,\n imports: [CommonModule, YvcAutocompleteModule],\n templateUrl: './token-input.component.html',\n styleUrl: './token-input.component.scss'\n})\nexport class TokenInputComponent {\n private elRef = inject(ElementRef);\n private overlay = inject(YvcOverlayService);\n private ngZone = inject(NgZone);\n\n optionsTemplate = viewChild.required<TemplateRef<any>>('options');\n /**\n * Template to be used for rendering selected tokens\n */\n tokenTemplate = contentChild<TemplateRef<any>>('tokenTemplate');\n /**\n * Template to be used for rendering autocomplete suggestion entries\n */\n optionTemplate = contentChild<TemplateRef<any>>('optionTemplate');\n\n TEXT_TOKEN_TYPE = 'txt';\n private _inputElement?: HTMLInputElement;\n private _overlayRef?: YvcOverlayRef;\n\n tokens = input<InputToken[]>([]);\n caseSensitive = input<boolean>(false);\n\n change = output<InputToken[]>();\n\n private readonly _cleanFormTokens: InputToken[] = [this._newTextToken()];\n formTokens: InputToken[] = structuredClone(this._cleanFormTokens);\n autocompleteValues: InputToken[] = [];\n autocompleteSelectedIndex = -1;\n focusedTokenIndex = -1;\n\n @HostListener('keydown.arrowUp', ['$event']) onArrowUpKey(event: KeyboardEvent) {\n event.preventDefault();\n event.stopPropagation();\n if (this.autocompleteSelectedIndex > 0) this.autocompleteSelectedIndex--;\n }\n @HostListener('keydown.arrowDown', ['$event']) onArrowDownKey(event: KeyboardEvent) {\n event.preventDefault();\n event.stopPropagation();\n if (this.autocompleteValues && this.autocompleteSelectedIndex < this.autocompleteValues.length - 1) this.autocompleteSelectedIndex++;\n }\n @HostListener('keydown.enter', ['$event']) onEnterKey(event: KeyboardEvent) {\n if (this.autocompleteValues.length && this.autocompleteSelectedIndex >= 0) {\n event.preventDefault();\n event.stopPropagation();\n this.onOptionSelect(this.autocompleteValues[this.autocompleteSelectedIndex]);\n }\n }\n\n clear() {\n this.formTokens = structuredClone(this._cleanFormTokens);\n this._inputElement!.innerText = '';\n this._emitChange(true);\n }\n\n onInputFocus(e: any) {\n this._inputElement = e.target;\n this.focusedTokenIndex = this._inputElement ? this.formTokens.findIndex((t) => t.id === this._inputElement!.getAttribute('data-id')) : -1;\n // console.log('FIndex: ' + this.focusedTokenIndex);\n }\n\n onInput(e: any) {\n this._processValue();\n this._emitChange();\n }\n\n onArrowLeft(e: Event) {\n const cp = this._getCaretPos(e.target as Node);\n if (cp === 0) {\n e.stopPropagation();\n e.preventDefault();\n this._focusInput(-1);\n }\n }\n onArrowRight(e: Event) {\n const cp = this._getCaretPos(e.target as Node);\n if (cp === (e.target as HTMLElement).innerText.length) {\n e.stopPropagation();\n e.preventDefault();\n this._focusInput(1);\n }\n }\n\n onDelete(e: Event, index: number) {\n const cp = this._getCaretPos(e.target as Node);\n if (cp === (e.target as HTMLElement).innerText.length) {\n e.stopPropagation();\n e.preventDefault();\n\n // remove next token\n if (index < this.formTokens.length - 2) {\n this.formTokens.splice(index + 1, 1);\n\n // if prev token is also a text token => merge\n const nextIdx = index + 1;\n if (nextIdx < this.formTokens.length && this.formTokens[nextIdx].type === this.TEXT_TOKEN_TYPE) {\n const content = this.formTokens[index].label;\n const nextContent = this.formTokens[nextIdx].label;\n const mergedToken: InputToken = {\n id: this.formTokens[index + 1].id,\n label: `${content} ${nextContent}`,\n type: this.TEXT_TOKEN_TYPE\n };\n this.formTokens.splice(index + 1, 2, mergedToken);\n\n const el: HTMLElement | null = (this.elRef.nativeElement as HTMLElement).querySelector(`[data-id=\"${this.formTokens[index + 1].id}\"]`);\n if (el) {\n el.innerText = mergedToken.label;\n this._setCaretPos(el, content.length);\n }\n }\n this._emitChange();\n }\n }\n }\n\n onBackspace(e: Event, index: number) {\n const cp = this._getCaretPos(e.target as Node);\n if (cp === 0) {\n e.stopPropagation();\n e.preventDefault();\n\n // remove prev token\n if (index > 0) {\n this.formTokens.splice(index - 1, 1);\n // if prev token is also a text token => merge\n const prevIdx = index - 2;\n if (prevIdx >= 0 && this.formTokens[prevIdx].type === this.TEXT_TOKEN_TYPE) {\n const content = this.formTokens[index - 1].label;\n const prevContent = this.formTokens[prevIdx].label;\n const mergedToken: InputToken = {\n id: this.formTokens[prevIdx].id,\n label: `${prevContent} ${content}`,\n type: this.TEXT_TOKEN_TYPE\n };\n this.formTokens.splice(prevIdx, 2, mergedToken);\n const el: HTMLElement | null = (this.elRef.nativeElement as HTMLElement).querySelector(`[data-id=\"${this.formTokens[prevIdx].id}\"]`);\n if (el) {\n el.innerText = mergedToken.label;\n this._setCaretPos(el, prevContent.length);\n }\n } else {\n this._focusFirst();\n }\n this._emitChange();\n }\n }\n }\n\n private _focusFirst() {\n const el: HTMLElement | null = (this.elRef.nativeElement as HTMLElement).querySelector(`[contenteditable]`);\n if (el)\n setTimeout(() => {\n el?.focus();\n });\n }\n\n private _focusInput(offset: number) {\n const inputs: HTMLInputElement[] = Array.from(this.elRef.nativeElement.querySelectorAll('[contenteditable]'));\n let i = inputs.findIndex((i) => i === document.activeElement);\n i = i + offset;\n if (i > inputs.length - 1) i = 0;\n if (i < 0) i = inputs.length - 1;\n this.ngZone.run(() => inputs[i].focus());\n\n this._setCaretPos(inputs[i], offset > 0 || inputs[i].innerText.length === 0 ? 0 : inputs[i].innerText.length);\n }\n\n private _setCaretPos(element: HTMLElement, pos: number) {\n const targetNode = element.childNodes.length ? element.childNodes[0] : element;\n const range = document.createRange();\n range.selectNode(element);\n range.setStart(targetNode, pos);\n range.setEnd(targetNode, pos);\n const selection = window.getSelection();\n selection!.removeAllRanges();\n selection!.addRange(range);\n }\n\n private _getCaretPos(node: Node): number {\n const selection = window.getSelection();\n const range = selection!.getRangeAt(0);\n const clonedRange = range.cloneRange();\n clonedRange.selectNodeContents(node);\n clonedRange.setEnd(range.endContainer, range.endOffset);\n return clonedRange.toString().length;\n }\n\n onOptionSelect(o: InputToken) {\n let tokensAdded = 0;\n let tokensRemoved = 0;\n const inputValue = this._getInputValue();\n const wordTokens: string[] = this._tokenize(inputValue);\n const lastWord = wordTokens[wordTokens.length - 1];\n if (lastWord.length === inputValue.length) {\n this.formTokens.pop();\n tokensRemoved++;\n }\n\n this.formTokens.splice(this.focusedTokenIndex + 1, 0, structuredClone(o));\n tokensAdded++;\n\n const shadowTokens: InputToken[] = [];\n // check for inbetween tokens\n let txtTokenCount = -1;\n this.formTokens.forEach((t: InputToken, i: number) => {\n if (t.type === this.TEXT_TOKEN_TYPE) {\n txtTokenCount++;\n t.id = this._textTokenId(txtTokenCount);\n }\n shadowTokens.push(t);\n const nextToken = this.formTokens[i + 1];\n if (t.type !== this.TEXT_TOKEN_TYPE && nextToken && nextToken.type !== this.TEXT_TOKEN_TYPE) {\n // add inbetween token\n txtTokenCount++;\n shadowTokens.push(this._newTextToken(txtTokenCount));\n tokensAdded++;\n }\n });\n\n if (this.formTokens[this.formTokens.length - 1].type !== this.TEXT_TOKEN_TYPE) {\n // add empty text token at the end\n txtTokenCount++;\n shadowTokens.push(this._newTextToken(txtTokenCount));\n tokensAdded++;\n }\n this.formTokens = shadowTokens;\n this._inputElement!.innerText = inputValue.substring(0, inputValue.length - lastWord.length).trim();\n this._emitChange();\n setTimeout(() => {\n // console.log(`fi: ${this.focusedTokenIndex}, ta: ${tokensAdded}, tr: ${tokensRemoved}, ne: ${this.focusedTokenIndex + (tokensAdded - tokensRemoved)}`);\n\n this._focusTokenInput(this.focusedTokenIndex + (tokensAdded - tokensRemoved));\n });\n\n this.closeOptions();\n }\n\n private _focusTokenInput(index?: number): HTMLElement {\n const selector = index === undefined ? 'div:last-child' : `div:nth-child(${index + 1})`;\n console.log(selector);\n\n const lastInput: HTMLElement = (this.elRef.nativeElement as HTMLElement).querySelector(selector) as HTMLElement;\n lastInput.focus();\n return lastInput;\n }\n\n // private _focusInput(): HTMLElement {\n // const lastInput: HTMLElement = (\n // this.elRef.nativeElement as HTMLElement\n // ).querySelector('[contenteditable]:last-child') as HTMLElement;\n // lastInput.focus();\n // return lastInput;\n // }\n\n openOptions() {\n if (this._overlayRef || !this.autocompleteValues.length) return;\n this._overlayRef = this.overlay.open(\n this.optionsTemplate(),\n null,\n {\n lightDismiss: true,\n maxHeight: '97vh'\n },\n this.elRef\n );\n }\n\n closeOptions(): void {\n if (this._overlayRef) {\n this._overlayRef.close();\n this._overlayRef = undefined;\n }\n this.autocompleteSelectedIndex = -1;\n this.autocompleteValues = [];\n }\n\n onTokenEnter(e: Event) {\n e.preventDefault();\n }\n\n private _emitChange(focusFirst = false) {\n // need to set timeout so DOM changes are applied before accessing elements\n setTimeout(() => {\n this.formTokens.forEach((t) => {\n if (t.type === this.TEXT_TOKEN_TYPE) {\n const el: HTMLElement | null = (this.elRef.nativeElement as HTMLElement).querySelector(`[data-id=\"${t.id}\"]`);\n if (el) t.label = el.innerText;\n }\n });\n this.change.emit(\n this.formTokens\n .filter((t: InnerInputToken) => t.type !== this.TEXT_TOKEN_TYPE || t.label.length > 0)\n .map((t: InnerInputToken) => ({\n id: t.id,\n label: t.label,\n type: t.type\n }))\n );\n if (focusFirst) this._focusFirst();\n });\n }\n\n private _newTextToken(idx?: number): InnerInputToken {\n const index = idx !== undefined ? idx : this.formTokens?.length ? this.formTokens.filter((t) => t.type === this.TEXT_TOKEN_TYPE).length : 0;\n return {\n id: this._textTokenId(index),\n label: '',\n type: this.TEXT_TOKEN_TYPE\n };\n }\n\n private _textTokenId(i: number): string {\n return `txt_${i}`;\n }\n\n private _tokenize(value: string): string[] {\n const wordTokens: string[] = value.split(/\\W+/).filter((t: string) => t?.length);\n return wordTokens;\n }\n\n private _getInputValue(): string {\n return this._inputElement!.innerText.replaceAll(' ', '');\n }\n\n private _processValue() {\n const wordTokens: string[] = this._tokenize(this._getInputValue());\n const lastWord = wordTokens[wordTokens.length - 1];\n\n this.autocompleteValues =\n !lastWord || lastWord.length < 2\n ? []\n : this.tokens().filter((t: InputToken) => lastWord && new RegExp(lastWord, this.caseSensitive() ? '' : 'i').test(t.label));\n this.autocompleteSelectedIndex = this.autocompleteValues.length ? 0 : -1;\n if (this.autocompleteValues.length) this.openOptions();\n else this.closeOptions();\n }\n}\n","<!-- fi {{focusedTokenIndex}} -->\n\n@for (ft of formTokens; let i = $index; track $index) {\n @if (ft.type === TEXT_TOKEN_TYPE) {\n <div\n contenteditable\n [attr.data-id]=\"ft.id\"\n (input)=\"onInput($event)\"\n (focus)=\"onInputFocus($event)\"\n (keydown.enter)=\"onTokenEnter($event)\"\n (keydown.arrowLeft)=\"onArrowLeft($event)\"\n (keydown.arrowRight)=\"onArrowRight($event)\"\n (keydown.delete)=\"onDelete($event, i)\"\n (keydown.backspace)=\"onBackspace($event, i)\"\n ></div>\n } @else {\n @if (tokenTemplate()) {\n <ng-container *ngTemplateOutlet=\"tokenTemplate()!; context: { $implicit: ft }\"></ng-container>\n } @else {\n <div class=\"chip\">{{ ft.label }}</div>\n }\n }\n}\n\n<ng-template #options>\n <yvc-autocomplete-options\n class=\"popover animateIn\"\n [values]=\"autocompleteValues\"\n [(focusedIndex)]=\"autocompleteSelectedIndex\"\n [autocompleteOptionTemplate]=\"optionTemplate() || null\"\n (optionSelect)=\"onOptionSelect($event)\"\n [field]=\"'label'\"\n ></yvc-autocomplete-options>\n</ng-template>\n","import { Component, ElementRef, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { filter, fromEvent, tap } from 'rxjs';\n\n@Component({\n selector: 'yuv-focus-indicator',\n standalone: true,\n imports: [CommonModule],\n template: '',\n styleUrl: './focus-indicator.component.scss',\n host: {\n inert: 'true'\n }\n})\nexport class FocusIndicatorComponent {\n #elRef = inject(ElementRef);\n\n constructor() {\n fromEvent<KeyboardEvent>(document, 'keyup')\n .pipe(\n takeUntilDestroyed(),\n filter((e: KeyboardEvent) => e.code === 'Tab')\n )\n .subscribe(() => this.#position());\n\n fromEvent(document, 'focusout')\n .pipe(takeUntilDestroyed())\n .subscribe(() => {\n const fi = this.#elRef.nativeElement as HTMLElement;\n fi.classList.remove('visible');\n });\n }\n\n #position() {\n setTimeout(() => {\n const focusedElement = document.activeElement;\n const fi = this.#elRef.nativeElement as HTMLElement;\n\n if (fi && focusedElement && focusedElement.matches(':focus-visible')) {\n fi.classList.add('visible');\n const { left, top, width, height } = focusedElement.getBoundingClientRect();\n fi.style.translate = ` ${Math.round(left)}px ${Math.round(top)}px`;\n fi.style.width = `${Math.round(width)}px`;\n fi.style.height = `${Math.round(height)}px`;\n }\n });\n }\n}\n","/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-empty-function */\nimport { Directive, forwardRef, inject } from '@angular/core';\nimport { ControlValueAccessor, FormControlDirective, FormControlName, NG_VALUE_ACCESSOR, NgControl, NgModel } from '@angular/forms';\n\n// @see: https://netbasal.com/forwarding-form-controls-to-custom-control-components-in-angular-701e8406cc55\n@Directive({\n standalone: true,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => NoopValueAccessorDirective),\n },\n ],\n})\nexport class NoopValueAccessorDirective implements ControlValueAccessor {\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n}\n\nexport function injectNgControl() {\n const ngControl = inject(NgControl, { self: true, optional: true });\n\n if (!ngControl) throw new Error('...');\n\n if (ngControl instanceof FormControlDirective || ngControl instanceof FormControlName || ngControl instanceof NgModel) {\n return ngControl;\n }\n\n throw new Error('...');\n}\n","import { inject, Injectable } from '@angular/core';\nimport { TranslateService } from '@yuuvis/client-core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorMessagesService {\n private readonly translate = inject(TranslateService);\n\n getErrorLabel(error: string, params?: any) {\n console.log('getErrorLabel', error, params);\n\n switch (error) {\n case 'daterange':\n return this.translate.instant('yuv.object-form-element.error.daterange.invalid', params);\n case 'daterangeorder':\n return this.translate.instant('yuv.object-form-element.error.daterangeorder.invalid', params);\n case 'numberrange':\n return this.translate.instant('yuv.object-form-element.error.numberrange.invalid', params);\n case 'numberrangeorder':\n return this.translate.instant('yuv.object-form-element.error.numberrangeorder.invalid', params);\n case 'number':\n return this.translate.instant('yuv.object-form-element.error.number', params);\n case 'precision':\n return this.translate.instant('yuv.object-form-element.error.number.precision', params);\n case 'scale':\n return this.translate.instant('yuv.object-form-element.error.number.scale', params);\n case 'regex':\n return this.translate.instant('yuv.object-form-element.error.string.regex.nomatch', params);\n case 'pattern':\n return this.translate.instant('yuv.object-form-element.error.string.regex.nomatch', params);\n case 'classif icationemail':\n return this.translate.instant('yuv.object-form-element.error.string.classification.email', params);\n case 'classificationphone':\n return this.translate.instant('yuv.object-form-element.error.string.classification.phone', params);\n case 'classificationurl':\n return this.translate.instant('yuv.object-form-element.error.string.classification.url', params);\n case 'onlyWhitespaces':\n return this.translate.instant('yuv.object-form-element.error.string.whitespaces', params);\n case 'datecontrol':\n return this.translate.instant('yuv.object-form-element.error.date.invalid', params);\n case 'required':\n console.log('required', params);\n\n return this.translate.instant('yuv.object-form-element.error.required', params);\n case 'maxlength':\n return this.translate.instant('yuv.object-form-element.error.maxlength', params);\n case 'minlength':\n return this.translate.instant('yuv.object-form-element.error.minlength', params);\n case 'minmax':\n return this.translate.instant('yuv.object-form-element.error.minmax', params);\n case 'minvalue':\n return this.translate.instant('yuv.object-form-element.error.minvalue', params);\n case 'maxvalue':\n return this.translate.instant('yuv.object-form-element.error.maxvalue', params);\n case 'empty':\n return this.translate.instant('yuv.object-form-element.recent-activities.list.empty', params);\n default:\n console.log('default', error, params);\n\n return this.translate.instant(error, params);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["filter"],"mappings":";;;;;;;;;;;;;AAGA;;;;;;;;;;;AAWG;MAKU,oBAAoB,CAAA;AAJjC,IAAA,WAAA,GAAA;QAKiC,IAAa,CAAA,aAAA,GAAG,SAAS,CAAC;AAEzD,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAE5B,IAAU,CAAA,UAAA,GAAkB,IAAI,CAAC;AAqDlC,KAAA;AAvDC,IAAA,MAAM,CAAsB;AAE5B,IAAA,UAAU,CAAuB;AACjC;;AAEG;IACH,IAAa,cAAc,CAAC,CAAU,EAAA;AACpC,QAAA,IAAI,CAAC,KAAK,IAAI,EAAE;YACd,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;AAAM,aAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;KACF;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;QAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAA,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;AACpC,QAAA,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,eAAe,CAAC;AAC3C,QAAA,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;AAC5B,QAAA,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;AAC1B,QAAA,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AAC/B,QAAA,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;AACpC,QAAA,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC;AACxC,QAAA,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;AAC3B,QAAA,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,gCAAgC,CAAC;QAEjE,IAAI,CAAC,UAAU,GAAG,CAAA,CAAA,EAAI,KAAK,CAAC,IAAI,EAAE,CAAA,CAAE,CAAC;QACrC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAA,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAC5C,QAAA,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACxB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,aAA4B,CAAC;AACpD,QAAA,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC7B,QAAA,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnB,UAAU,CAAC,MAAK;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;AAC9B,SAAC,CAAC,CAAC;KACJ;IAED,kBAAkB,GAAA;AAChB,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,UAAU,CAAA,CAAE,CAAC,CAAC;QAC1E,IAAI,EAAE,EAAE;AACN,YAAA,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;YACvB,UAAU,CAAC,MAAK;gBACd,EAAE,CAAC,MAAM,EAAE,CAAC;aACb,EAAE,GAAG,CAAC,CAAC;SACT;QACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KACxB;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;KAC3E;+GAzDU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8BAEgC,aAAa,EAAA,CAAA;sBAA3C,WAAW;uBAAC,gBAAgB,CAAA;gBAQhB,cAAc,EAAA,CAAA;sBAA1B,KAAK;;;AC3BR;;;;;;;;;;;AAWG;MAKU,oBAAoB,CAAA;AAGM,IAAA,SAAS,CAAC,GAAe,EAAA;AAC5D,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;AAC3C,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAChD,QAAA,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE;AAC1C,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;SAC5B;KACF;AACqC,IAAA,UAAU,CAAC,GAAe,EAAA;AAC9D,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;AAC3C,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAChD,QAAA,IAAI,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AAC1C,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;SAChC;KACF;AAWD;;AAEG;AAEH,IAAA,WAAA,CAAoB,KAAiB,EAAA;QAAjB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAY;QA9B7B,IAAU,CAAA,UAAA,GAAG,CAAC,CAAC;QACW,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;AAgBzD;;AAEG;AACO,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC;AAC9C;;AAEG;AACO,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAE,CAAC;KAMR;;;IAIlC,kBAAkB,GAAA;AACxB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACtC,IAAI,aAAa,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC;AAC3D,QAAA,IAAI;YACF,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;SAClD;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,KAAK,CAAC;SACd;KACF;+GA3CU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;+EAGmC,cAAc,EAAA,CAAA;sBAA/C,WAAW;uBAAC,mBAAmB,CAAA;gBACK,SAAS,EAAA,CAAA;sBAA7C,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAOG,UAAU,EAAA,CAAA;sBAA/C,YAAY;uBAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAW1B,cAAc,EAAA,CAAA;sBAAvB,MAAM;gBAIG,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;;;MClCI,qBAAqB,CAAA;AAJlC,IAAA,WAAA,GAAA;AAKE,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAI5B,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAYlB,QAAA,IAAA,CAAA,2BAA2B,GAA2B;AACpD,YAAA,OAAO,EAAE,gCAAgC;AACzC,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,UAAU,EAAE,kCAAkC;AAC9C,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,aAAa,EAAE,QAAQ;AACvB,YAAA,iBAAiB,EAAE,QAAQ;AAC3B,YAAA,gBAAgB,EAAE,MAAM;AACxB,YAAA,kBAAkB,EAAE,mCAAmC;SACxD,CAAC;AAEF,QAAA,IAAA,CAAA,gCAAgC,GAA2B;AACzD,YAAA,OAAO,EAAE,+BAA+B;AAExC,YAAA,OAAO,EAAE,+BAA+B;AACxC,YAAA,kBAAkB,EAAE,mCAAmC;AACvD,YAAA,KAAK,EAAE,0BAA0B;SAClC,CAAC;QAEF,IAAe,CAAA,eAAA,GAAG,KAAK,EAAuB,CAAC;AAC/C,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;QAEzC,IAAQ,CAAA,QAAA,GAAG,MAAM,EAAU,CAAC;QAC5B,IAAY,CAAA,YAAA,GAAG,MAAM,EAAW,CAAC;AA+FlC,KAAA;AAtIC,IAAA,MAAM,CAAsB;AAE5B,IAAA,aAAa,CAAe;AAE5B,IAAA,SAAS,CAAS;IAClB,IAAI,QAAQ,CAAC,EAAW,EAAA;AACtB,QAAA,IAAI,EAAE,KAAK,IAAI,CAAC,SAAS,EAAE;AACzB,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACpB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;KACF;AACD,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;AAED,IAAA,2BAA2B,CASzB;AAEF,IAAA,gCAAgC,CAM9B;AASF,IAAA,MAAM,CAAC,KAAgB,EAAA;QACrB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAAE,OAAO;QACpC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AAEtB,QAAA,MAAM,YAAY,GAAwB,KAAK,CAAC,YAAY,CAAC;QAE7D,IAAI,YAAY,EAAE;AAChB,YAAA,IAAI,YAAY,EAAE,KAAK,EAAE;gBACvB,MAAM,KAAK,GAAW,EAAE,CAAC;AACzB,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;;oBAElD,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;wBACzC,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAC/C,wBAAA,IAAI,IAAI;AAAE,4BAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC5B;iBACF;AACD,gBAAA,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;AAC3B,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC3B;iBAAM;AACL,gBAAA,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;gBACjC,YAAY,CAAC,SAAS,EAAE,CAAC;AACzB,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aACvC;SACF;KACF;AAGD,IAAA,UAAU,CAAC,KAAgB,EAAA;QACzB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAAE,OAAO;QACpC,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;KACtB;AAGD,IAAA,WAAW,CAAC,KAAgB,EAAA;QAC1B,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAAE,OAAO;AACpC,QAAA,IAAK,KAAK,CAAC,MAAsB,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE;AAC/F,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;KACF;AAGD,IAAA,cAAc,CAAC,KAAgB,EAAA;QAC7B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;AAED,IAAA,UAAU,CAAC,KAAgB,EAAA;QACzB,KAAK,CAAC,cAAc,EAAE,CAAC;KACxB;IAED,YAAY,GAAA;AACV,QAAA,MAAM,EAAE,GAAgB,IAAI,CAAC,MAAM,CAAC,aAA4B,CAAC;AAEjE,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;AAC9B,YAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;AAC5B,YAAA,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;SAChC;AACD,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC/B,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAChD,YAAA,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC/B;KACF;IAED,mBAAmB,GAAA;QACjB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnD,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9C,QAAA,YAAY,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;AACzC,QAAA,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;AAC/B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,WAAW,IAAI,IAAI,CAAC,2BAA2B,CAAC;QACvF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAS,KAAI;YACvC,YAAY,CAAC,KAAa,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7C,SAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC;QAC5C,IAAI,KAAK,EAAE;YACT,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACxD,YAAA,iBAAiB,CAAC,SAAS,GAAG,KAAK,CAAC;AACpC,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,gBAAgB,IAAI,IAAI,CAAC,gCAAgC,CAAC;YACtG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAS,KAAI;gBAC5C,iBAAiB,CAAC,KAAa,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AACvD,aAAC,CAAC,CAAC;AACH,YAAA,iBAAiB,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;AAC/C,YAAA,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;SACxC;AACD,QAAA,OAAO,YAAY,CAAC;KACrB;+GAtIU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,wBAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8BA4CC,MAAM,EAAA,CAAA;sBADL,YAAY;uBAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAA;gBA8BhC,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAA;gBASpC,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;gBASrC,cAAc,EAAA,CAAA;sBADb,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAMzC,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AC/FvC;;;AAGG;MAKU,oBAAoB,CAAA;AAO/B,IAAA,WAAA,GAAA;QANS,IAAY,CAAA,YAAA,GAAG,GAAG,CAAC;AACJ,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAE,CAAC;AACjC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAE,CAAC;AAEjD,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAc,CAAC;AAGhD,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AACvF,YAAA,IAAI,EAAE,CAAC,KAAK,KAAI;AACd,gBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;AAC1B,oBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC9B;qBAAM;AACL,oBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC9B;aACF;AACF,SAAA,CAAC,CAAC;KACJ;AAGD,IAAA,UAAU,CAAC,KAAiB,EAAA;QAC1B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;AAED,IAAA,gBAAgB,CAAC,KAAiB,EAAA;QAChC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;+GA9BU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,cAAA,EAAA,WAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+BAA+B;AACzC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;wDAEU,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACkB,WAAW,EAAA,CAAA;sBAAlC,MAAM;uBAAC,cAAc,CAAA;gBACE,WAAW,EAAA,CAAA;sBAAlC,MAAM;uBAAC,cAAc,CAAA;gBAiBtB,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAOjC,gBAAgB,EAAA,CAAA;sBADf,YAAY;uBAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAA;;;ACpCtC;;;;;;;;;AASG;MAKU,qBAAqB,CAAA;AAJlC,IAAA,WAAA,GAAA;AAKU,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAgBnC,IAAe,CAAA,eAAA,GAAG,MAAM,EAAE,CAAC;AAC5B,KAAA;AAdC,IAAA,gBAAgB,CAAC,KAAoB,EAAA;AACnC,QAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;AAC3B,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;SAC7B;KACF;AAGD,IAAA,WAAW,CAAC,KAAiB,EAAA;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACpD,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;SAC7B;KACF;+GAfU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,yBAAA,EAAA,0BAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8BAKC,gBAAgB,EAAA,CAAA;sBADf,YAAY;uBAAC,yBAAyB,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAQnD,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;ACxBhD;;;;;;;;;;;;;;AAcG;MAKU,sBAAsB,CAAA;AAmBjC,IAAA,WAAA,GAAA;AAlBQ,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC3B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAEhC,IAAe,CAAA,eAAA,GAAG,MAAM,EAAU,CAAC;QACnC,IAAc,CAAA,cAAA,GAAG,MAAM,EAAU,CAAC;AAG1B,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,KAAI;YACvD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AACzC,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBAC1D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aAClC;AACD,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;AAC5D,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC7B;AACD,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AACpB,SAAC,CAAC,CAAC;QAGD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;KACxD;AAEO,IAAA,KAAK,CAAC,KAAa,EAAE,QAAQ,GAAG,KAAK,EAAA;;;AAG3C,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,YAAA,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACtE,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;QACT,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;KAC1D;+GAjCU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MCXY,kBAAkB,CAAA;AAU7B,IAAA,WAAA,GAAA;AATQ,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAEnC,IAAS,CAAA,SAAA,GAAG,GAAG,CAAC;QAEhB,IAAY,CAAA,YAAA,GAAG,KAAK,CAA4B;AAC9C,YAAA,OAAO,EAAE,KAAK;AACf,SAAA,CAAC,CAAC;QACH,IAAS,CAAA,SAAA,GAAG,MAAM,EAAE,CAAC;AAGnB,QAAA,MAAM,SAAS,GAAG,SAAS,CAAa,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CACjF,kBAAkB,EAAE,EACpB,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;AACpC,QAAA,GAAG,CAAC,MAAM,IAAI,CAAC;SAChB,CAAC;QACF,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,IAAI,CACvE,kBAAkB,EAAE,EACpB,GAAG,CAAC,MAAM,IAAI,CAAC,CAChB,CAAC;QACF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,IAAI,CACnE,kBAAkB,EAAE,EACpB,GAAG,CAAC,MAAM,KAAK,CAAC,CACjB,CAAC;AACF,QAAA,MAAM,OAAO,GAAG,SAAS,CAAa,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAC3D,kBAAkB,EAAE,EACpB,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;AACpC,QAAA,GAAG,CAAC,MAAM,KAAK,CAAC;SACjB,CAAC;QACF,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC;aAC5C,IAAI,CACH,kBAAkB,EAAE,EACpB,SAAS,CAAC,CAAC,KAAK,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EACrE,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,CAC3B;aACA,SAAS,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;KAC3C;+GApCU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MCUY,mBAAmB,CAAA;AAJhC,IAAA,WAAA,GAAA;QAME,IAAa,CAAA,aAAA,GAAG,CAAC,CAAC;QAClB,IAAa,CAAA,aAAA,GAAG,CAAC,CAAC;QAElB,IAAU,CAAA,UAAA,GAAa,EAAE,CAAC;AAuB1B,QAAA,IAAA,CAAA,KAAK,GAAG,eAAe,CAAC,uBAAuB,CAAC,CAAC;QACjD,IAAY,CAAA,YAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAEnE,IAAa,CAAA,aAAA,GAAG,KAAK,EAAqB,CAAC;QAC3C,IAAgB,CAAA,gBAAA,GAAG,MAAM,EAAY,CAAC;QACtC,IAAU,CAAA,UAAA,GAAG,MAAM,EAAY,CAAC;QAEhC,IAAY,CAAA,YAAA,GAAG,MAAK;AAClB,YAAA,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AACjD,YAAA,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AACpD,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM;gBAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClE,IAAI,IAAI,CAAC,SAAS;AAAE,gBAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;AAC9C,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,OAAO,GAAG,CAAC,KAAmB,KAAI;YAChC,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,OAAO;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;AAC/C,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AACtG,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AACrG,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AACrD,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAEpD,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAA,UAAA,EAAa,IAAI,CAAC,aAAa,EAAE,EAAE,aAAa,IAAI,oBAAoB,EAAE,CAAC;YACzG,IAAI,CAAC,cAAc,EAAE,CAAC;AACxB,SAAC,CAAC;QAEF,IAAc,CAAA,cAAA,GAAG,MAAK;YACpB,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,OAAO;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC;YACtD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;AACvC,YAAA,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK;gBAAE,OAAO;AAE9B,YAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACnD,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,GAAG,KAAI;gBAC9C,MAAM,EAAE,GAAmB,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3F,gBAAA,MAAM,EAAE,GAAmB,UAAU,CAAC,qBAAqB,EAAE,CAAC;AAC9D,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;gBAC3D,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;AACvC,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC3B;AACH,aAAC,CAAC,CAAC;YAEH,IAAI,mBAAmB,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBAClD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC7C;AACH,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,sBAAsB,GAAG,CAAC,EAAkB,EAAE,EAAkB,KAAI;YAClE,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AACnH,SAAC,CAAC;AACH,KAAA;AA9EC,IAAA,SAAS,CAAkB;AAC3B,IAAA,aAAa,CAAK;AAClB,IAAA,aAAa,CAAK;AAElB,IAAA,UAAU,CAAgB;AAEe,IAAA,aAAa,CAAC,KAAmB,EAAA;AACxE,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,IAAK,KAAK,CAAC,MAAsB,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO;QACjG,KAAK,CAAC,cAAc,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;AACjC,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;QAEjC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC1C,QAAA,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;AAChC,QAAA,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;AACtB,QAAA,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QACvB,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC3C,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC1C,QAAA,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAErC,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AACrB,QAAA,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9C,QAAA,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KAClD;AAGD,IAAA,YAAY,CAAuD;AAMnE,IAAA,YAAY,CAKV;AAEF,IAAA,OAAO,CAWL;AAEF,IAAA,cAAc,CAmBZ;AAEF,IAAA,sBAAsB,CAEpB;+GA9ES,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,2YA4BN,uBAAuB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FA5BpC,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8BAQ0C,aAAa,EAAA,CAAA;sBAArD,YAAY;uBAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;;MA8E5B,uBAAuB,CAAA;AAJpC,IAAA,WAAA,GAAA;AAKE,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC5B,QAAA,IAAA,CAAA,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,aAA4B,CAAC;AAC/C,KAAA;AAFC,IAAA,MAAM,CAAsB;+GADjB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;AChGD;MAQa,mBAAmB,CAAA;AAPhC,IAAA,WAAA,GAAA;AAQU,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC3B,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACpC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAEhC,QAAA,IAAA,CAAA,eAAe,GAAG,SAAS,CAAC,QAAQ,CAAmB,SAAS,CAAC,CAAC;AAClE;;AAEG;AACH,QAAA,IAAA,CAAA,aAAa,GAAG,YAAY,CAAmB,eAAe,CAAC,CAAC;AAChE;;AAEG;AACH,QAAA,IAAA,CAAA,cAAc,GAAG,YAAY,CAAmB,gBAAgB,CAAC,CAAC;QAElE,IAAe,CAAA,eAAA,GAAG,KAAK,CAAC;AAIxB,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAe,EAAE,CAAC,CAAC;AACjC,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;QAEtC,IAAM,CAAA,MAAA,GAAG,MAAM,EAAgB,CAAC;AAEf,QAAA,IAAA,CAAA,gBAAgB,GAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;AACzE,QAAA,IAAA,CAAA,UAAU,GAAiB,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAClE,IAAkB,CAAA,kBAAA,GAAiB,EAAE,CAAC;QACtC,IAAyB,CAAA,yBAAA,GAAG,CAAC,CAAC,CAAC;QAC/B,IAAiB,CAAA,iBAAA,GAAG,CAAC,CAAC,CAAC;AAoTxB,KAAA;AAlT8C,IAAA,YAAY,CAAC,KAAoB,EAAA;QAC5E,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,IAAI,CAAC,yBAAyB,GAAG,CAAC;YAAE,IAAI,CAAC,yBAAyB,EAAE,CAAC;KAC1E;AAC8C,IAAA,cAAc,CAAC,KAAoB,EAAA;QAChF,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,yBAAyB,EAAE,CAAC;KACtI;AAC0C,IAAA,UAAU,CAAC,KAAoB,EAAA;AACxE,QAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,IAAI,CAAC,yBAAyB,IAAI,CAAC,EAAE;YACzE,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;SAC9E;KACF;IAED,KAAK,GAAA;QACH,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,aAAc,CAAC,SAAS,GAAG,EAAE,CAAC;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KACxB;AAED,IAAA,YAAY,CAAC,CAAM,EAAA;AACjB,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;AAC9B,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,aAAc,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;;KAE3I;AAED,IAAA,OAAO,CAAC,CAAM,EAAA;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;AAED,IAAA,WAAW,CAAC,CAAQ,EAAA;QAClB,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAc,CAAC,CAAC;AAC/C,QAAA,IAAI,EAAE,KAAK,CAAC,EAAE;YACZ,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,CAAC,CAAC,cAAc,EAAE,CAAC;AACnB,YAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;SACtB;KACF;AACD,IAAA,YAAY,CAAC,CAAQ,EAAA;QACnB,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAc,CAAC,CAAC;QAC/C,IAAI,EAAE,KAAM,CAAC,CAAC,MAAsB,CAAC,SAAS,CAAC,MAAM,EAAE;YACrD,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,CAAC,CAAC,cAAc,EAAE,CAAC;AACnB,YAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SACrB;KACF;IAED,QAAQ,CAAC,CAAQ,EAAE,KAAa,EAAA;QAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAc,CAAC,CAAC;QAC/C,IAAI,EAAE,KAAM,CAAC,CAAC,MAAsB,CAAC,SAAS,CAAC,MAAM,EAAE;YACrD,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,CAAC,CAAC,cAAc,EAAE,CAAC;;YAGnB,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;;AAGrC,gBAAA,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC;gBAC1B,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,EAAE;oBAC9F,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;oBAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;AACnD,oBAAA,MAAM,WAAW,GAAe;wBAC9B,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;AACjC,wBAAA,KAAK,EAAE,CAAA,EAAG,OAAO,CAAA,CAAA,EAAI,WAAW,CAAE,CAAA;wBAClC,IAAI,EAAE,IAAI,CAAC,eAAe;qBAC3B,CAAC;AACF,oBAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;oBAElD,MAAM,EAAE,GAAwB,IAAI,CAAC,KAAK,CAAC,aAA6B,CAAC,aAAa,CAAC,CAAA,UAAA,EAAa,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAI,EAAA,CAAA,CAAC,CAAC;oBACvI,IAAI,EAAE,EAAE;AACN,wBAAA,EAAE,CAAC,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC;wBACjC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;qBACvC;iBACF;gBACD,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;SACF;KACF;IAED,WAAW,CAAC,CAAQ,EAAE,KAAa,EAAA;QACjC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAc,CAAC,CAAC;AAC/C,QAAA,IAAI,EAAE,KAAK,CAAC,EAAE;YACZ,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,CAAC,CAAC,cAAc,EAAE,CAAC;;AAGnB,YAAA,IAAI,KAAK,GAAG,CAAC,EAAE;gBACb,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;;AAErC,gBAAA,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC;AAC1B,gBAAA,IAAI,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,EAAE;AAC1E,oBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;oBACjD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;AACnD,oBAAA,MAAM,WAAW,GAAe;wBAC9B,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE;AAC/B,wBAAA,KAAK,EAAE,CAAA,EAAG,WAAW,CAAA,CAAA,EAAI,OAAO,CAAE,CAAA;wBAClC,IAAI,EAAE,IAAI,CAAC,eAAe;qBAC3B,CAAC;oBACF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;oBAChD,MAAM,EAAE,GAAwB,IAAI,CAAC,KAAK,CAAC,aAA6B,CAAC,aAAa,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAI,EAAA,CAAA,CAAC,CAAC;oBACrI,IAAI,EAAE,EAAE;AACN,wBAAA,EAAE,CAAC,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC;wBACjC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;qBAC3C;iBACF;qBAAM;oBACL,IAAI,CAAC,WAAW,EAAE,CAAC;iBACpB;gBACD,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;SACF;KACF;IAEO,WAAW,GAAA;AACjB,QAAA,MAAM,EAAE,GAAwB,IAAI,CAAC,KAAK,CAAC,aAA6B,CAAC,aAAa,CAAC,CAAmB,iBAAA,CAAA,CAAC,CAAC;AAC5G,QAAA,IAAI,EAAE;YACJ,UAAU,CAAC,MAAK;gBACd,EAAE,EAAE,KAAK,EAAE,CAAC;AACd,aAAC,CAAC,CAAC;KACN;AAEO,IAAA,WAAW,CAAC,MAAc,EAAA;AAChC,QAAA,MAAM,MAAM,GAAuB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAC9G,QAAA,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC9D,QAAA,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;AACf,QAAA,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC;AAAE,YAAA,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AAEzC,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;KAC/G;IAEO,YAAY,CAAC,OAAoB,EAAE,GAAW,EAAA;QACpD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;AAC/E,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;AACrC,QAAA,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC1B,QAAA,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAChC,QAAA,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAC9B,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,SAAU,CAAC,eAAe,EAAE,CAAC;AAC7B,QAAA,SAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC5B;AAEO,IAAA,YAAY,CAAC,IAAU,EAAA;AAC7B,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,SAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACvC,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;AACvC,QAAA,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACrC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AACxD,QAAA,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;KACtC;AAED,IAAA,cAAc,CAAC,CAAa,EAAA;QAC1B,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,aAAa,GAAG,CAAC,CAAC;AACtB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACzC,MAAM,UAAU,GAAa,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE;AACzC,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;AACtB,YAAA,aAAa,EAAE,CAAC;SACjB;AAED,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,QAAA,WAAW,EAAE,CAAC;QAEd,MAAM,YAAY,GAAiB,EAAE,CAAC;;AAEtC,QAAA,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAa,EAAE,CAAS,KAAI;YACnD,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,EAAE;AACnC,gBAAA,aAAa,EAAE,CAAC;gBAChB,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;aACzC;AACD,YAAA,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,YAAA,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,EAAE;;AAE3F,gBAAA,aAAa,EAAE,CAAC;gBAChB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;AACrD,gBAAA,WAAW,EAAE,CAAC;aACf;AACH,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,EAAE;;AAE7E,YAAA,aAAa,EAAE,CAAC;YAChB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;AACrD,YAAA,WAAW,EAAE,CAAC;SACf;AACD,QAAA,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;QAC/B,IAAI,CAAC,aAAc,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACpG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,UAAU,CAAC,MAAK;;AAGd,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,IAAI,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC;AAChF,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;AAEO,IAAA,gBAAgB,CAAC,KAAc,EAAA;AACrC,QAAA,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,GAAG,gBAAgB,GAAG,CAAA,cAAA,EAAiB,KAAK,GAAG,CAAC,GAAG,CAAC;AACxF,QAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEtB,QAAA,MAAM,SAAS,GAAiB,IAAI,CAAC,KAAK,CAAC,aAA6B,CAAC,aAAa,CAAC,QAAQ,CAAgB,CAAC;QAChH,SAAS,CAAC,KAAK,EAAE,CAAC;AAClB,QAAA,OAAO,SAAS,CAAC;KAClB;;;;;;;;IAUD,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM;YAAE,OAAO;AAChE,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAClC,IAAI,CAAC,eAAe,EAAE,EACtB,IAAI,EACJ;AACE,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,SAAS,EAAE,MAAM;AAClB,SAAA,EACD,IAAI,CAAC,KAAK,CACX,CAAC;KACH;IAED,YAAY,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;AACzB,YAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;SAC9B;AACD,QAAA,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;KAC9B;AAED,IAAA,YAAY,CAAC,CAAQ,EAAA;QACnB,CAAC,CAAC,cAAc,EAAE,CAAC;KACpB;IAEO,WAAW,CAAC,UAAU,GAAG,KAAK,EAAA;;QAEpC,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;gBAC5B,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,EAAE;AACnC,oBAAA,MAAM,EAAE,GAAwB,IAAI,CAAC,KAAK,CAAC,aAA6B,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,EAAE,CAAA,EAAA,CAAI,CAAC,CAAC;AAC9G,oBAAA,IAAI,EAAE;AAAE,wBAAA,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC;iBAChC;AACH,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,IAAI,CAAC,UAAU;iBACZ,MAAM,CAAC,CAAC,CAAkB,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AACrF,iBAAA,GAAG,CAAC,CAAC,CAAkB,MAAM;gBAC5B,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI;aACb,CAAC,CAAC,CACN,CAAC;AACF,YAAA,IAAI,UAAU;gBAAE,IAAI,CAAC,WAAW,EAAE,CAAC;AACrC,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,aAAa,CAAC,GAAY,EAAA;QAChC,MAAM,KAAK,GAAG,GAAG,KAAK,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5I,OAAO;AACL,YAAA,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AAC5B,YAAA,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,IAAI,CAAC,eAAe;SAC3B,CAAC;KACH;AAEO,IAAA,YAAY,CAAC,CAAS,EAAA;QAC5B,OAAO,CAAA,IAAA,EAAO,CAAC,CAAA,CAAE,CAAC;KACnB;AAEO,IAAA,SAAS,CAAC,KAAa,EAAA;QAC7B,MAAM,UAAU,GAAa,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;AACjF,QAAA,OAAO,UAAU,CAAC;KACnB;IAEO,cAAc,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,aAAc,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;KAC/D;IAEO,aAAa,GAAA;QACnB,MAAM,UAAU,GAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAEnD,QAAA,IAAI,CAAC,kBAAkB;AACrB,YAAA,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;AAC9B,kBAAE,EAAE;AACJ,kBAAE,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAa,KAAK,QAAQ,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/H,QAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACzE,QAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM;YAAE,IAAI,CAAC,WAAW,EAAE,CAAC;;YAClD,IAAI,CAAC,YAAY,EAAE,CAAC;KAC1B;+GA/UU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,ECdhC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,wBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,smCAkCA,EDxBY,MAAA,EAAA,CAAA,2tBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,qMAAE,qBAAqB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,OAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAIlC,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAP/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,cACf,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,qBAAqB,CAAC,EAAA,QAAA,EAAA,smCAAA,EAAA,MAAA,EAAA,CAAA,2tBAAA,CAAA,EAAA,CAAA;8BAkCD,YAAY,EAAA,CAAA;sBAAxD,YAAY;uBAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAKI,cAAc,EAAA,CAAA;sBAA5D,YAAY;uBAAC,mBAAmB,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAKF,UAAU,EAAA,CAAA;sBAApD,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MEvC9B,uBAAuB,CAAA;AAClC,IAAA,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAE5B,IAAA,WAAA,GAAA;AACE,QAAA,SAAS,CAAgB,QAAQ,EAAE,OAAO,CAAC;AACxC,aAAA,IAAI,CACH,kBAAkB,EAAE,EACpBA,QAAM,CAAC,CAAC,CAAgB,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAC/C;aACA,SAAS,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AAErC,QAAA,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC;aAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC1B,SAAS,CAAC,MAAK;AACd,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,aAA4B,CAAC;AACpD,YAAA,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACjC,SAAC,CAAC,CAAC;KACN;IAED,SAAS,GAAA;QACP,UAAU,CAAC,MAAK;AACd,YAAA,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC;AAC9C,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,aAA4B,CAAC;YAEpD,IAAI,EAAE,IAAI,cAAc,IAAI,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;AACpE,gBAAA,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC5B,gBAAA,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,qBAAqB,EAAE,CAAC;gBAC5E,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,CAAI,CAAA,EAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA,GAAA,EAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AACnE,gBAAA,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1C,gBAAA,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;aAC7C;AACH,SAAC,CAAC,CAAC;KACJ;+GAhCU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,MAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EANxB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,kZAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EADF,YAAY,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAOX,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAVnC,SAAS;+BACE,qBAAqB,EAAA,UAAA,EACnB,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EACb,EAAE,EAEN,IAAA,EAAA;AACJ,wBAAA,KAAK,EAAE,MAAM;AACd,qBAAA,EAAA,MAAA,EAAA,CAAA,kZAAA,CAAA,EAAA,CAAA;;;ACbH;AACA;AAIA;MAWa,0BAA0B,CAAA;IACrC,UAAU,CAAC,GAAQ,EAAA,GAAU;IAC7B,gBAAgB,CAAC,EAAO,EAAA,GAAU;IAClC,iBAAiB,CAAC,EAAO,EAAA,GAAU;+GAHxB,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAR1B,YAAA,EAAA,IAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,0BAA0B,CAAC;AAC1D,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAEU,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAVtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,WAAW,EAAE,UAAU,CAAC,gCAAgC,CAAC;AAC1D,yBAAA;AACF,qBAAA;AACF,iBAAA,CAAA;;SAOe,eAAe,GAAA;AAC7B,IAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAEpE,IAAA,IAAI,CAAC,SAAS;AAAE,QAAA,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AAEvC,IAAA,IAAI,SAAS,YAAY,oBAAoB,IAAI,SAAS,YAAY,eAAe,IAAI,SAAS,YAAY,OAAO,EAAE;AACrH,QAAA,OAAO,SAAS,CAAC;KAClB;AAED,IAAA,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AACzB;;MC1Ba,oBAAoB,CAAA;AAHjC,IAAA,WAAA,GAAA;AAImB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAwDvD,KAAA;IAtDC,aAAa,CAAC,KAAa,EAAE,MAAY,EAAA;QACvC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAE5C,QAAQ,KAAK;AACX,YAAA,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iDAAiD,EAAE,MAAM,CAAC,CAAC;AAC3F,YAAA,KAAK,gBAAgB;gBACnB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,sDAAsD,EAAE,MAAM,CAAC,CAAC;AAChG,YAAA,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mDAAmD,EAAE,MAAM,CAAC,CAAC;AAC7F,YAAA,KAAK,kBAAkB;gBACrB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,wDAAwD,EAAE,MAAM,CAAC,CAAC;AAClG,YAAA,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;AAChF,YAAA,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gDAAgD,EAAE,MAAM,CAAC,CAAC;AAC1F,YAAA,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,4CAA4C,EAAE,MAAM,CAAC,CAAC;AACtF,YAAA,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oDAAoD,EAAE,MAAM,CAAC,CAAC;AAC9F,YAAA,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oDAAoD,EAAE,MAAM,CAAC,CAAC;AAC9F,YAAA,KAAK,sBAAsB;gBACzB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2DAA2D,EAAE,MAAM,CAAC,CAAC;AACrG,YAAA,KAAK,qBAAqB;gBACxB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2DAA2D,EAAE,MAAM,CAAC,CAAC;AACrG,YAAA,KAAK,mBAAmB;gBACtB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,yDAAyD,EAAE,MAAM,CAAC,CAAC;AACnG,YAAA,KAAK,iBAAiB;gBACpB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kDAAkD,EAAE,MAAM,CAAC,CAAC;AAC5F,YAAA,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,4CAA4C,EAAE,MAAM,CAAC,CAAC;AACtF,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAEhC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,wCAAwC,EAAE,MAAM,CAAC,CAAC;AAClF,YAAA,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,yCAAyC,EAAE,MAAM,CAAC,CAAC;AACnF,YAAA,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,yCAAyC,EAAE,MAAM,CAAC,CAAC;AACnF,YAAA,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;AAChF,YAAA,KAAK,UAAU;gBACb,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,wCAAwC,EAAE,MAAM,CAAC,CAAC;AAClF,YAAA,KAAK,UAAU;gBACb,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,wCAAwC,EAAE,MAAM,CAAC,CAAC;AAClF,YAAA,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,sDAAsD,EAAE,MAAM,CAAC,CAAC;AAChG,YAAA;gBACE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;gBAEtC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;SAChD;KACF;+GAxDU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACLD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"yuuvis-client-framework-common.mjs","sources":["../../../../../libs/yuuvis/client-framework/common/src/lib/components/dialog/dialog.component.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/components/confirm/confirm.component.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/components/confirm/confirm.component.html","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/autofocus-child.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/autofocus-delayed.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/busy-overlay.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/click-double.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/container-size.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/drag-scroll.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/drag-select.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/file-drop-zone/file-drop-zone.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/focus-within.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/light-dismiss.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/longpress.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/noop-value-accessor.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/common.module.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/common.utils.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/services/layout-settings/layout-settings.service.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/mat-form-field.abstract.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/components/dialog/dialog.options.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/components/confirm/confirm.service.ts","../../../../../libs/yuuvis/client-framework/common/src/yuuvis-client-framework-common.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { MatDialogActions, MatDialogContent, MatDialogTitle } from '@angular/material/dialog';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'yuv-dialog',\n imports: [TranslateModule, MatDialogActions, MatDialogTitle, MatDialogContent],\n template: `\n @let title = headertitel();\n @if (title) {\n <h2 mat-dialog-title>\n {{ title }}\n </h2>\n }\n <mat-dialog-content>\n <ng-content select=\"main\"></ng-content>\n </mat-dialog-content>\n\n <mat-dialog-actions align=\"end\" class=\"footer\">\n <ng-content select=\"footer\"></ng-content>\n </mat-dialog-actions>\n `,\n styleUrl: './dialog.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DialogComponent {\n headertitel = input<string | null>(null);\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';\nimport { ConfirmOverlayData } from './confirm.interface';\nimport { DialogComponent } from '../dialog/dialog.component';\n\n@Component({\n selector: 'yuv-confirm',\n imports: [CommonModule, MatButtonModule, MatDialogModule, DialogComponent],\n templateUrl: './confirm.component.html',\n styleUrl: './confirm.component.scss'\n})\nexport class ConfirmComponent {\n readonly dialogData = inject<ConfirmOverlayData>(MAT_DIALOG_DATA);\n // readonly #dialogRef = inject(MatDialogRef<ConfirmComponent>);\n}\n","<yuv-dialog [headertitel]=\"dialogData.title || ''\">\n <main>{{ dialogData.message }}</main>\n <footer>\n @if (!dialogData.hideCancelButton) {\n <button mat-stroked-button mat-dialog-close class=\"secondary\" type=\"button\">\n {{ dialogData.cancelLabel || 'Cancel' }}\n </button>\n }\n <button mat-flat-button class=\"primary\" type=\"button\" [mat-dialog-close]=\"true\">{{ dialogData.confirmLabel || 'Confirm' }}</button>\n </footer>\n</yuv-dialog>\n","import { AfterViewInit, Directive, ElementRef, inject, Input } from '@angular/core';\n\n/**\n * Directive putting focus on a 'focusable' child element.\n * By default the first focusable child will receive focus.\n */\n@Directive({\n selector: '[yuvAutofocusChild]',\n standalone: true\n})\nexport class AutofocusChildDirective implements AfterViewInit {\n #elRef = inject(ElementRef);\n\n #targetIndex = 0;\n @Input() set yuvAutofocusChild(s: string) {\n const i = parseInt(s);\n this.#targetIndex = !isNaN(i) ? i : 0;\n }\n\n #getFirstFocusableChild(): HTMLElement {\n const focusableElements = [\n ...this.#elRef.nativeElement.querySelectorAll('a[href], button, input, textarea, select, details,[tabindex]:not([tabindex=\"-1\"])')\n ].filter((el) => !el.hasAttribute('disabled') && !el.getAttribute('aria-hidden'));\n return focusableElements[this.#targetIndex];\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n const focusEl = this.#getFirstFocusableChild();\n if (focusEl) focusEl.focus();\n });\n }\n}\n","import { AfterViewInit, computed, Directive, ElementRef, inject, input, Input } from '@angular/core';\n\n/**\n * Directive putting delayed focus on an element. If no\n * delay is set, the focus will be set immediately.\n *\n * You have to ensure that the element is focusable when adding this directive to it.\n */\n@Directive({\n selector: '[yuvAutofocusDelayed]',\n standalone: true\n})\nexport class AutofocusDelayedDirective implements AfterViewInit {\n #elRef = inject(ElementRef);\n\n /**\n * Sets the delay in milliseconds. If no delay is set, the focus will be set immediately.\n */\n yuvAutofocusDelayed = input<number | string>(0);\n #delay = computed<number>(() => {\n const d = this.yuvAutofocusDelayed();\n return typeof d === 'string' ? parseInt(d) : d;\n });\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.#elRef.nativeElement.focus();\n }, this.#delay());\n }\n}\n","import {\n Directive,\n ElementRef,\n HostBinding,\n Input,\n OnInit,\n inject,\n createComponent,\n EnvironmentInjector, ApplicationRef\n} from '@angular/core';\nimport { Utils } from '@yuuvis/client-core';\nimport {\n MatProgressSpinner,\n ProgressSpinnerMode\n} from '@angular/material/progress-spinner';\n\n/**\n * A directive that will overlay its host component with a translucent background\n * and a loading spinner once the condition resolves with true. This is useful for example to\n * prevent user intercation while component data is loading or some processing is done.\n *\n * It'll also set the `inert` attribute on the host element. This will disable the host and\n * all elements inside (like buttons, inputs etc.)\n *\n * @example\n * <div class=\"result-list\" [yuvBusyOverlay]=\"waitingForServerResponse\">...</div>\n *\n */\n@Directive({\n selector: '[yuvBusyOverlay]',\n standalone: true\n})\nexport class BusyOverlayDirective implements OnInit {\n @HostBinding('style.position') stylePosition = 'initial';\n\n #elRef = inject(ElementRef);\n #environmentInjector = inject(EnvironmentInjector);\n #applicationRef = inject(ApplicationRef);\n\n #overlayId: string | null = null;\n /**\n * The Boolean expression to evaluate as the condition for showing the busy overlay\n */\n @Input() set yuvBusyOverlay(b: boolean) {\n if (b === true) {\n this.#addBusyOverlay();\n } else if (this.#overlayId) {\n this.#removeBusyOverlay();\n }\n }\n\n #createSpinner(mode: ProgressSpinnerMode = 'indeterminate', value: MatProgressSpinner['value'] = 0, color?: MatProgressSpinner['color']) {\n const componentRef = createComponent(\n MatProgressSpinner,\n {\n environmentInjector: this.#environmentInjector,\n });\n this.#applicationRef.attachView(componentRef.hostView);\n componentRef.changeDetectorRef.detectChanges();\n componentRef.setInput('mode', mode);\n componentRef.setInput('value', value);\n componentRef.setInput('color', color);\n (componentRef.location.nativeElement as HTMLElement).classList.add('ymt-progress-spinner--giant');\n return componentRef;\n }\n \n #addBusyOverlay() {\n this.stylePosition = 'relative';\n const overlay = document.createElement('div');\n overlay.style.position = 'absolute';\n overlay.style.transition = 'opacity 200ms';\n overlay.style.opacity = '0';\n overlay.style.inset = '0';\n overlay.style.display = 'grid';\n overlay.style.alignItems = 'center';\n overlay.style.justifyContent = 'center';\n overlay.style.zIndex = '5';\n overlay.style.backgroundColor = 'var(--busy-overlay-background, rgba(0, 0, 0, 0.32))';\n\n this.#overlayId = `p${Utils.uuid()}`;\n overlay.setAttribute('id', this.#overlayId);\n // const spinner = document.createElement('div');\n // spinner.setAttribute('class', 'yuv-loader');\n // overlay.append(spinner);\n overlay.append(this.#createSpinner('indeterminate').location.nativeElement);\n const el = this.#elRef.nativeElement as HTMLElement;\n el.setAttribute('inert', '');\n el.append(overlay);\n setTimeout(() => {\n overlay.style.opacity = '1';\n });\n }\n\n #removeBusyOverlay() {\n const el = this.#elRef.nativeElement.querySelector(`#${this.#overlayId}`);\n if (el) {\n el.style.opacity = '0';\n setTimeout(() => {\n el.remove();\n }, 200);\n }\n this.#elRef.nativeElement.removeAttribute('inert');\n this.#overlayId = null;\n }\n\n ngOnInit() {\n this.stylePosition = getComputedStyle(this.#elRef.nativeElement).position;\n }\n}\n","import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n/**\n * Fixes the issue of 'click' event beeing triggered on 'doubleclick' by defining new outputs that\n * distinguish between single and double click.\n */\n@Directive({\n selector: '[click.single],[click.double]',\n standalone: true\n})\nexport class ClickDoubleDirective {\n @Input() debounceTime = 200;\n @Output('click.double') doubleClick = new EventEmitter();\n @Output('click.single') singleClick = new EventEmitter();\n\n private clicksSubject = new Subject<MouseEvent>();\n\n constructor() {\n this.clicksSubject.pipe(takeUntilDestroyed(), debounceTime(this.debounceTime)).subscribe({\n next: (event) => {\n if (event.type === 'click') {\n this.singleClick.emit(event);\n } else {\n this.doubleClick.emit(event);\n }\n }\n });\n }\n\n @HostListener('click', ['$event'])\n clickEvent(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.clicksSubject.next(event);\n }\n @HostListener('dblclick', ['$event'])\n doubleClickEvent(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.clicksSubject.next(event);\n }\n}\n","import { Directive, ElementRef, NgZone, OnDestroy, inject, output } from '@angular/core';\n\n/**\n * Directive to watch the size of an element inside the DOM. Usefull for example to provide\n * a different layout (different components) depending on the available screen estate. You\n * should first try to use CSS container queries but somtimes you need a different set of\n * components to be loaded for a certain component size.\n *\n * Let's say you have components designed for bigger screens. You do not want to load them\n * if there is not enough space for them. So you rather load components that are designed to\n * take less space by providing the best user experience on smaller devices.\n *\n * ```html\n * <div yuvContainerSize (containerHeight)=\"onContainerResize($event)\" (containerWidth)=\"onContainerResize($event)\"></div>\n * ```\n *\n */\n@Directive({\n selector: '[yuvContainerSize]',\n standalone: true\n})\nexport class ContainerSizeDirective implements OnDestroy {\n private elRef = inject(ElementRef);\n private ngZone = inject(NgZone);\n\n containerHeight = output<number>();\n containerWidth = output<number>();\n\n private _size?: ResizeObserverSize;\n private _resizeObserver = new ResizeObserver((entries) => {\n const size = entries[0].borderBoxSize[0];\n if (!this._size || size.blockSize !== this._size.blockSize) {\n this._emit(size.blockSize, true);\n }\n if (!this._size || size.inlineSize !== this._size.inlineSize) {\n this._emit(size.inlineSize);\n }\n this._size = size;\n });\n\n constructor() {\n this._resizeObserver.observe(this.elRef.nativeElement);\n }\n\n private _emit(value: number, isHeight = false) {\n // ResizeObserver callback is not covered by change detection\n // so it has to be executed withing ngZone\n this.ngZone.run(() => {\n (isHeight ? this.containerHeight : this.containerWidth).emit(value);\n });\n }\n\n ngOnDestroy(): void {\n this._resizeObserver.unobserve(this.elRef.nativeElement);\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { AfterViewInit, Directive, ElementRef, inject } from '@angular/core';\nimport { fromEvent, Observable } from 'rxjs';\nimport { filter, map, switchMap, takeUntil, tap } from 'rxjs/operators';\n\n/**\n * Directive for adding drag scroll behaviour to a container element. Elements that overlow will then\n * be 'scrollable' by dragging the list of children.\n *\n * @example\n * <div yuvDragScroll>\n * <div class=\"tile\">#1</div>\n * <div class=\"tile\">#2</div>\n * <div class=\"tile\">#3</div>\n * ...\n * </div>\n */\n@Directive({\n selector: '[yuvDragScroll]'\n})\nexport class DragScrollDirective implements AfterViewInit {\n readonly #document = inject(DOCUMENT);\n readonly #element = inject(ElementRef);\n #dragging = false;\n\n #applyDraggingStyles(el: HTMLElement, remove?: boolean) {\n const draggingStyles: { [property: string]: string } = {\n cursor: 'grabbing'\n };\n Object.keys(draggingStyles).forEach((property) => {\n if (remove) {\n el.style.removeProperty(property);\n } else {\n el.style.setProperty(property, draggingStyles[property]);\n }\n });\n }\n\n ngAfterViewInit(): void {\n const nativeElement: HTMLElement = this.#element.nativeElement;\n const mouseDown$: Observable<MouseEvent> = fromEvent<MouseEvent>(nativeElement, 'mousedown');\n const mouseMove$: Observable<MouseEvent> = fromEvent<MouseEvent>(this.#document, 'mousemove');\n const mouseUp$: Observable<MouseEvent> = fromEvent<MouseEvent>(this.#document, 'mouseup').pipe(\n tap((e: MouseEvent) => {\n if (this.#dragging) {\n e.preventDefault();\n e.stopPropagation();\n this.#dragging = false;\n this.#applyDraggingStyles(nativeElement, true);\n }\n })\n );\n\n const dragMove$ = mouseDown$.pipe(\n filter(\n () =>\n // only calculate new scroll position if the container is actually overflowing\n nativeElement.scrollHeight > nativeElement.clientHeight || nativeElement.scrollWidth > nativeElement.clientWidth\n ),\n tap((startEvent: MouseEvent) => {\n this.#applyDraggingStyles(nativeElement);\n startEvent.preventDefault();\n startEvent.stopPropagation();\n }),\n switchMap((startEvent: MouseEvent) => {\n this.#dragging = true;\n const scrollPos = {\n left: nativeElement.scrollLeft,\n top: nativeElement.scrollTop\n };\n return mouseMove$.pipe(\n map((moveEvent: MouseEvent) => {\n moveEvent.preventDefault();\n moveEvent.stopPropagation();\n return {\n startEvent,\n moveEvent,\n scrollPos\n };\n }),\n takeUntil(mouseUp$)\n );\n }),\n\n tap(({ startEvent, moveEvent, scrollPos }) => {\n const diffX = moveEvent.clientX - startEvent.clientX;\n const diffY = moveEvent.clientY - startEvent.clientY;\n nativeElement.scrollLeft = scrollPos.left - diffX;\n nativeElement.scrollTop = scrollPos.top - diffY;\n })\n );\n dragMove$.subscribe();\n }\n}\n","import { computed, contentChildren, Directive, ElementRef, HostListener, inject, input, output } from '@angular/core';\n\ninterface SelectableRect {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\nexport interface DragSelectOptions {\n disabled?: boolean;\n selectorColor?: string;\n}\n\n@Directive({\n selector: '[yuvDragSelect]',\n standalone: true\n})\nexport class DragSelectDirective {\n #selector?: HTMLDivElement;\n #selectStartX = 0;\n #selectStartY = 0;\n\n #selection: number[] = [];\n\n @HostListener('pointerdown', ['$event']) onPointerDown(event: PointerEvent) {\n if (this.yuvDragSelect()?.disabled || (event.target as HTMLElement).tagName === 'BUTTON') return;\n event.preventDefault();\n this.#selectStartX = event.pageX;\n this.#selectStartY = event.pageY;\n\n const div = document.createElement('div');\n div.style.position = 'absolute';\n div.style.width = '0';\n div.style.height = '0';\n div.style.left = this.#selectStartX + 'px';\n div.style.top = this.#selectStartY + 'px';\n div.classList.add('drag-select');\n this.#selector = div;\n document.body.append(this.#selector);\n\n this.#selection = [];\n addEventListener('pointermove', this.#resize);\n addEventListener('pointerup', this.#onPointerUp);\n }\n\n items = contentChildren(DragSelectItemDirective);\n #selectables = computed(() => this.items().map((item) => item.el));\n\n yuvDragSelect = input<DragSelectOptions>();\n dragSelectChange = output<number[]>();\n dragSelect = output<number[]>();\n\n #onPointerUp = () => {\n removeEventListener('pointermove', this.#resize);\n removeEventListener('pointerup', this.#onPointerUp);\n if (this.#selection.length) this.dragSelect.emit(this.#selection);\n if (this.#selector) this.#selector.remove();\n };\n\n #resize = (event: PointerEvent) => {\n if (!this.#selector) return;\n const diffX = event.pageX - this.#selectStartX;\n const diffY = event.pageY - this.#selectStartY;\n this.#selector.style.left = diffX < 0 ? this.#selectStartX + diffX + 'px' : this.#selectStartX + 'px';\n this.#selector.style.top = diffY < 0 ? this.#selectStartY + diffY + 'px' : this.#selectStartY + 'px';\n this.#selector.style.height = Math.abs(diffY) + 'px';\n this.#selector.style.width = Math.abs(diffX) + 'px';\n\n this.#selector.style.border = `1px solid ${this.yuvDragSelect()?.selectorColor || 'var(--ymt-primary'}`;\n this.#checkSelected();\n };\n\n #checkSelected = () => {\n if (!this.#selector) return;\n const select = this.#selector.getBoundingClientRect();\n const { x, y, height, width } = select;\n if (!height || !width) return;\n\n const currSelectionLength = this.#selection.length;\n this.#selectables().forEach((selectable, idx) => {\n const r1: SelectableRect = { x: x + window.scrollX, y: y + window.scrollY, height, width };\n const r2: SelectableRect = selectable.getBoundingClientRect();\n this.#selection = this.#selection.filter((s) => s !== idx);\n if (this.#checkRectIntersection(r1, r2)) {\n this.#selection.push(idx);\n }\n });\n\n if (currSelectionLength !== this.#selection.length) {\n this.dragSelectChange.emit(this.#selection);\n }\n };\n\n #checkRectIntersection = (r1: SelectableRect, r2: SelectableRect) => {\n 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);\n };\n}\n\n@Directive({\n selector: '[yuvDragSelectItem]',\n standalone: true\n})\nexport class DragSelectItemDirective {\n #elRef = inject(ElementRef);\n el = this.#elRef.nativeElement as HTMLElement;\n}\n","import { Directive, ElementRef, HostListener, inject, input, output } from '@angular/core';\nimport { Utils } from '@yuuvis/client-core';\nimport { FileDropZoneOptions } from './file-drop-zone.interface';\n\n@Directive({\n selector: '[yuvFileDropZone]',\n standalone: true\n})\nexport class FileDropZoneDirective {\n #elRef = inject(ElementRef);\n\n #coverElement?: HTMLElement;\n\n #fileOver = false;\n set fileOver(fo: boolean) {\n if (fo !== this.#fileOver) {\n this.#fileOver = fo;\n this.fileDropOver.emit(fo);\n this.#toggleCover();\n }\n }\n get fileOver() {\n return this.#fileOver;\n }\n\n #defaultDragOverCoverStyles: Record<string, string> = {\n outline: '2px dashed var(--ymt-primary)',\n display: 'flex',\n transition: 'background-color .3s ease-in-out',\n 'z-index': '500',\n 'align-items': 'center',\n 'justify-content': 'center',\n 'outline-offset': '-2px',\n 'background-color': 'rgb(from var(--ymt-primary) r g b / .5)'\n };\n\n #defaultDragOverCoverLabelStyles: Record<string, string> = {\n outline: '1px solid var(--ymt-primary)',\n\n padding: 'var(--ymt-spacing-m, 16px)',\n 'background-color': 'rgb(from var(--ymt-primary) r g b / 0.9)',\n color: 'var(--ymt-on-primary)'\n };\n\n yuvFileDropZone = input<FileDropZoneOptions>();\n fileDropDisabled = input<boolean>(false);\n\n fileDrop = output<File[]>();\n fileDropOver = output<boolean>();\n\n @HostListener('drop', ['$event'])\n onDrop(event: DragEvent) {\n if (this.fileDropDisabled()) return;\n event.preventDefault();\n event.stopPropagation();\n this.fileOver = false;\n\n const dataTransfer: DataTransfer | null = event.dataTransfer;\n\n if (dataTransfer) {\n if (dataTransfer?.items) {\n const files: File[] = [];\n for (let i = 0; i < dataTransfer.items.length; i++) {\n // If dropped items aren't files, reject them\n if (dataTransfer.items[i].kind === 'file') {\n const file = dataTransfer.items[i].getAsFile();\n if (file) files.push(file);\n }\n }\n dataTransfer.items.clear();\n this.fileDrop.emit(files);\n } else {\n const files = dataTransfer.files;\n dataTransfer.clearData();\n this.fileDrop.emit(Array.from(files));\n }\n }\n }\n\n @HostListener('dragover', ['$event'])\n onDragOver(event: DragEvent) {\n if (this.fileDropDisabled()) return;\n event.stopPropagation();\n event.preventDefault();\n this.fileOver = true;\n }\n\n @HostListener('dragleave', ['$event'])\n onDragLeave(event: DragEvent) {\n if (this.fileDropDisabled()) return;\n if ((event.target as HTMLElement).getAttribute('id') === this.#coverElement?.getAttribute('id')) {\n this.fileOver = false;\n }\n }\n\n @HostListener('body:dragover', ['$event'])\n onBodyDragOver(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n }\n @HostListener('body:drop', ['$event'])\n onBodyDrop(event: DragEvent) {\n event.preventDefault();\n }\n\n #toggleCover() {\n const el: HTMLElement = this.#elRef.nativeElement as HTMLElement;\n\n if (this.#coverElement) {\n el.style.position = 'initial';\n this.#coverElement.remove();\n this.#coverElement = undefined;\n }\n if (this.#fileOver) {\n el.style.position = 'relative';\n this.#coverElement = this.#createCoverElement();\n el.append(this.#coverElement);\n }\n }\n\n #createCoverElement(): HTMLElement {\n const coverElement = document.createElement('div');\n coverElement.setAttribute('id', Utils.uuid());\n coverElement.style.position = 'absolute';\n coverElement.style.inset = '0';\n const styles = this.yuvFileDropZone()?.coverStyles || this.#defaultDragOverCoverStyles;\n Object.keys(styles).forEach((k: string) => {\n (coverElement.style as any)[k] = styles[k];\n });\n\n const label = this.yuvFileDropZone()?.label;\n if (label) {\n const coverLabelElement = document.createElement('div');\n coverLabelElement.innerText = label;\n const labelStyles = this.yuvFileDropZone()?.coverLabelStyles || this.#defaultDragOverCoverLabelStyles;\n Object.keys(labelStyles).forEach((k: string) => {\n (coverLabelElement.style as any)[k] = labelStyles[k];\n });\n coverLabelElement.style.pointerEvents = 'none';\n coverElement.append(coverLabelElement);\n }\n return coverElement;\n }\n}\n","import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Output } from '@angular/core';\n/**\n * Directive keeping track of the focus beeing within a component. Once the component or\n * any of its child components gain focus, a class of `focusWithin` will be set on the\n * host component in order to allow styling it while beeing focused. Furthermore you can\n * register callbacks once the component gets or looses focus.\n *\n * @example\n * // just set the css class\n * <some-component yuvFocusWithin></some-component>\n * // set the css class and listen to focus changes\n * <some-component (yuvFocusWithin)=\"onFocusEnter()\" (yuvFocusWithinBlur)=\"onFocusLeave()\"></some-component>\n */\n@Directive({\n selector: '[yuvFocusWithin]',\n standalone: true\n})\nexport class FocusWithinDirective {\n private eventCount = 0;\n @HostBinding('class.focusWithin') hasFocusWithin = false;\n @HostListener('focusin', ['$event']) onFocusIn(evt: FocusEvent) {\n const hadFocusWithin = this.hasFocusWithin;\n this.hasFocusWithin = this.matchesFocusWithin();\n if (!hadFocusWithin && this.hasFocusWithin) {\n this.yuvFocusWithin.emit();\n }\n }\n @HostListener('focusout', ['$event']) onFocusOut(evt: FocusEvent) {\n const hadFocusWithin = this.hasFocusWithin;\n this.hasFocusWithin = this.matchesFocusWithin();\n if (hadFocusWithin && !this.hasFocusWithin) {\n this.yuvFocusWithinBlur.emit();\n }\n }\n\n /**\n * Emitted once the component or any of its child components gains focus.\n */\n @Output() yuvFocusWithin = new EventEmitter();\n /**\n * Emitted once the component (incl. any of its child components) looses focus.\n */\n @Output() yuvFocusWithinBlur = new EventEmitter();\n\n /**\n * @ignore\n */\n\n constructor(private elRef: ElementRef) { }\n\n // Determine if the given node matches the given selector.\n // @see: https://www.bennadel.com/blog/3476-checking-to-see-if-an-element-has-a-css-pseudo-class-in-javascript.htm\n private matchesFocusWithin(): boolean {\n const node = this.elRef.nativeElement;\n const nativeMatches = node.matches || node.msMatchesSelector;\n try {\n return nativeMatches.call(node, ':focus-within');\n } catch (error) {\n return false;\n }\n }\n}\n","import { Directive, ElementRef, HostListener, inject, output } from '@angular/core';\n\n/**\n * Directive for applying light dismiss actions. Adding this directive will trigger\n * the given function when the user clicks outside the component or hits escape.\n *\n * ```ts\n * <div class=\"notifications\" (yuvLightDismiss)=\"close()\">\n * ...\n * </div>\n * ```\n */\n@Directive({\n selector: '[yuvLightDismiss]',\n standalone: true\n})\nexport class LightDismissDirective {\n private elRef = inject(ElementRef);\n\n @HostListener('document:keydown.escape', ['$event'])\n onKeydownHandler(event: KeyboardEvent) {\n if (!event.defaultPrevented) {\n this.yuvLightDismiss.emit();\n }\n }\n\n @HostListener('document:mousedown', ['$event'])\n onMousedown(event: MouseEvent) {\n if (!this.elRef.nativeElement.contains(event.target)) {\n this.yuvLightDismiss.emit();\n }\n }\n\n yuvLightDismiss = output();\n}\n","import { Directive, ElementRef, inject, input, output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, merge, of, timer } from 'rxjs';\nimport { filter, map, switchMap } from 'rxjs/operators';\n\n@Directive({\n selector: '[yuvLongPress]',\n standalone: true\n})\nexport class LongPressDirective {\n private elRef = inject(ElementRef);\n\n threshold = 500;\n\n yuvLongPress = input<LongPressDirectiveOptions>({\n enabled: false\n });\n longpress = output();\n\n constructor() {\n const mousedown = fromEvent<MouseEvent>(this.elRef.nativeElement, 'mousedown').pipe(\n takeUntilDestroyed(),\n filter((event) => event.button == 0), // Only allow left button (Primary button)\n map(() => true) // turn on threshold counter\n );\n const touchstart = fromEvent(this.elRef.nativeElement, 'touchstart').pipe(\n takeUntilDestroyed(),\n map(() => true)\n );\n const touchEnd = fromEvent(this.elRef.nativeElement, 'touchend').pipe(\n takeUntilDestroyed(),\n map(() => false)\n );\n const mouseup = fromEvent<MouseEvent>(window, 'mouseup').pipe(\n takeUntilDestroyed(),\n filter((event) => event.button == 0), // Only allow left button (Primary button)\n map(() => false) // reset threshold counter\n );\n merge(mousedown, mouseup, touchstart, touchEnd)\n .pipe(\n takeUntilDestroyed(),\n switchMap((state) => (state ? timer(this.threshold, 100) : of(null))),\n filter((value) => !!value)\n )\n .subscribe(() => this.longpress.emit());\n }\n}\n\nexport interface LongPressDirectiveOptions {\n enabled: boolean;\n}\n","/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-empty-function */\nimport { Directive, forwardRef, inject } from '@angular/core';\nimport { ControlValueAccessor, FormControlDirective, FormControlName, NG_VALUE_ACCESSOR, NgControl, NgModel } from '@angular/forms';\n\n// @see: https://netbasal.com/forwarding-form-controls-to-custom-control-components-in-angular-701e8406cc55\n@Directive({\n standalone: true,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => NoopValueAccessorDirective)\n }\n ]\n})\nexport class NoopValueAccessorDirective implements ControlValueAccessor {\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n}\n\nexport function injectNgControl(cva?: ControlValueAccessor): NgControl | null {\n const ngControl = inject(NgControl, { self: true, optional: true });\n\n if (!ngControl) return null;\n\n if (ngControl instanceof FormControlDirective || ngControl instanceof FormControlName || ngControl instanceof NgModel) {\n if (cva) ngControl.valueAccessor = cva;\n return ngControl;\n }\n\n throw new Error('...');\n}\n","import { NgModule } from '@angular/core';\nimport { ConfirmComponent } from './components/confirm/confirm.component';\nimport {\n AutofocusChildDirective,\n AutofocusDelayedDirective,\n BusyOverlayDirective,\n ClickDoubleDirective,\n ContainerSizeDirective,\n DragScrollDirective,\n DragSelectDirective,\n FileDropZoneDirective,\n FocusWithinDirective,\n LightDismissDirective,\n LongPressDirective,\n NoopValueAccessorDirective\n} from './directives';\n\nconst directives = [\n BusyOverlayDirective,\n FocusWithinDirective,\n FileDropZoneDirective,\n ClickDoubleDirective,\n LightDismissDirective,\n ContainerSizeDirective,\n LongPressDirective,\n DragSelectDirective,\n DragScrollDirective,\n NoopValueAccessorDirective,\n AutofocusChildDirective,\n AutofocusDelayedDirective\n];\n\nconst components = [ConfirmComponent];\n\n@NgModule({\n imports: [...directives, ...components],\n exports: [...directives, ...components]\n})\nexport class YuvCommonModule {}\n","export function getFocusableChildren(element: HTMLElement): HTMLElement[] {\n return [...Array.from(element.querySelectorAll('a[href], button, input, textarea, select, details,[tabindex]:not([tabindex=\"-1\"])'))].filter(\n (el) => !el.hasAttribute('disabled') && !el.getAttribute('aria-hidden')\n ) as HTMLElement[];\n}\n\nexport function getFirstFocusableChild(element: HTMLElement): HTMLElement {\n return getFocusableChildren(element)[0] as HTMLElement;\n}\n","import { Injectable } from '@angular/core';\n\n/**\n * Service to store and retrieve layout settings. Those\n * settings are stored on the users device because in\n * general layout settings like panel widths are highly\n * dependent on the current device.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class LayoutSettingsService {\n #STORAGE_PREFIX = 'yuv.layout:';\n\n saveSettings(key: string, settings: unknown): boolean {\n if (typeof settings === 'object') {\n localStorage.setItem(this.#getKey(key), JSON.stringify(settings));\n return true;\n } else return false;\n }\n\n getSettings(key: string): unknown | undefined {\n try {\n const v = localStorage.getItem(this.#getKey(key));\n return v ? JSON.parse(v) : undefined;\n } catch (e) {\n console.error('Error while parsing layout settings', e);\n return undefined;\n }\n }\n\n #getKey(key: string) {\n return `${this.#STORAGE_PREFIX}${key}`;\n }\n\n /**\n * Clears all layout settings.\n */\n clearSettings(): void {\n Object.keys(localStorage).forEach((key) => {\n if (key.startsWith(this.#STORAGE_PREFIX)) {\n localStorage.removeItem(key);\n }\n });\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Component, ElementRef, HostListener, inject, Input, signal } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { MatFormFieldControl } from '@angular/material/form-field';\nimport { Subject } from 'rxjs';\nimport { getFocusableChildren } from './common.utils';\n@Component({ template: '' })\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport abstract class AbstractMatFormField<T> implements MatFormFieldControl<T> {\n stateChanges = new Subject<void>();\n protected elRef = inject(ElementRef);\n\n @HostListener('focusin') onFocusIn() {\n this.focused = true;\n }\n @HostListener('focusout') onFocusout() {\n this.focused = false;\n }\n\n #value = signal<T | null>(null);\n set value(v: T | null) {\n this.#value.set(v);\n this.empty = !v;\n this.stateChanges.next();\n }\n get value(): T | null {\n return this.#value();\n }\n\n #id = signal<string>('');\n set id(v: string) {\n this.#id.set(v);\n this.stateChanges.next();\n }\n get id(): string {\n return this.#id();\n }\n #placeholder = signal<string>('');\n @Input() set placeholder(v: string) {\n this.#placeholder.set(v);\n this.stateChanges.next();\n }\n get placeholder(): string {\n return this.#placeholder();\n }\n ngControl: NgControl | null = null;\n\n #focused = signal<boolean>(false);\n set focused(f: boolean) {\n this.#focused.set(f);\n this.stateChanges.next();\n }\n get focused(): boolean {\n return this.#focused();\n }\n\n // #shouldLabelFloat = signal<boolean>(false);\n // set shouldLabelFloat(f: boolean) {\n // this.#shouldLabelFloat.set(f);\n // this.stateChanges.next();\n // }\n get shouldLabelFloat(): boolean {\n return this.focused || !this.empty || !!this.ngControl?.invalid;\n }\n\n #empty = signal<boolean>(false);\n set empty(f: boolean) {\n this.#empty.set(f);\n this.stateChanges.next();\n }\n get empty(): boolean {\n return this.#empty();\n }\n\n #required = signal<boolean>(false);\n @Input() set required(f: BooleanInput) {\n this.#required.set(coerceBooleanProperty(f));\n this.stateChanges.next();\n }\n get required(): boolean {\n return this.#required();\n }\n\n #disabled = signal<boolean>(false);\n @Input() set disabled(f: BooleanInput) {\n this.#disabled.set(coerceBooleanProperty(f));\n this.stateChanges.next();\n }\n get disabled(): boolean {\n return this.#disabled();\n }\n\n protected focusHandled = signal<boolean>(false);\n \n #errorState = signal<boolean>(false);\n set errorState(f: BooleanInput) {\n this.#errorState.set(coerceBooleanProperty(f));\n this.stateChanges.next();\n }\n get errorState(): boolean {\n return this.#errorState();\n }\n\n readonly controlType?: string;\n readonly autofilled?: boolean;\n readonly userAriaDescribedBy?: string;\n readonly disableAutomaticLabeling?: boolean;\n\n setDescribedByIds(ids: string[]): void {\n // this.describedBy = ids.join(' ');\n }\n\n onContainerClick(event: MouseEvent): void {\n if(this.focusHandled()) return;\n const fe: HTMLElement[] = getFocusableChildren(this.elRef.nativeElement);\n if (!fe.includes(event.target as HTMLElement)) {\n fe[0].focus();\n }\n }\n\n onNgOnDestroy(): void {\n this.stateChanges.complete();\n }\n}\n","export enum DialogSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n EXTRA_LARGE = 'extra-large',\n FULL_SCREEN = 'full-screen'\n}\n","import { inject, Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmComponent } from './confirm.component';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ConfirmOverlayData } from './confirm.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConfirmService {\n #dialog = inject(MatDialog);\n\n confirm(data: ConfirmOverlayData): Observable<boolean> {\n return this.#dialog\n .open(ConfirmComponent, {\n data\n })\n .afterClosed()\n .pipe(map((result) => !!result));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|