@elderbyte/ngx-starter 18.15.2 → 19.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/elderbyte-ngx-starter.mjs +1097 -1125
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/forms/elder-form-field-control-base.directive.d.ts +1 -1
- package/lib/common/forms/elder-from-field-base.d.ts +1 -1
- package/lib/common/forms/elder-from-field-customizable-base.d.ts +1 -1
- package/lib/common/forms/elder-from-field-entity-base.d.ts +1 -1
- package/lib/common/forms/elder-from-field-multi-entity-base.d.ts +1 -1
- package/lib/common/forms/form-field-base.component.d.ts +1 -1
- package/lib/common/forms/multi-model-base.component.d.ts +1 -1
- package/lib/common/forms/template-composite-control.d.ts +1 -1
- package/lib/common/forms/value-accessor-base.d.ts +1 -1
- package/lib/common/reactive-map.d.ts +1 -1
- package/lib/components/data-view/base/elder-data-view-base.d.ts +1 -1
- package/lib/components/forms/directives/base/elder-class-hostbinding-base.d.ts +1 -1
- package/lib/components/iframes/typed-event-message.d.ts +1 -1
- package/lib/components/panels/elder-panel.module.d.ts +5 -7
- package/lib/components/select/elder-select-base.d.ts +1 -1
- package/lib/components/select/multi/elder-multi-select-base.d.ts +1 -1
- package/lib/components/select/multi/elder-multi-select-form-field.d.ts +1 -1
- package/lib/components/select/single/elder-select-form-field.d.ts +1 -1
- package/package.json +6 -8
- package/src/lib/components/errors/exception-detail/elder-exception-detail.component.scss +2 -3
- package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.scss +3 -0
- package/esm2022/elderbyte-ngx-starter.mjs +0 -5
- package/esm2022/lib/common/arrays.mjs +0 -29
- package/esm2022/lib/common/async/public_api.mjs +0 -2
- package/esm2022/lib/common/async/refreshing-entity.mjs +0 -88
- package/esm2022/lib/common/csv/csv-serializer.mjs +0 -55
- package/esm2022/lib/common/csv/csv-spec.mjs +0 -99
- package/esm2022/lib/common/csv/public_api.mjs +0 -3
- package/esm2022/lib/common/data/continuable-listing.mjs +0 -10
- package/esm2022/lib/common/data/data-context/data-context-active-page.mjs +0 -131
- package/esm2022/lib/common/data/data-context/data-context-auto-starter.mjs +0 -78
- package/esm2022/lib/common/data/data-context/data-context-base.mjs +0 -339
- package/esm2022/lib/common/data/data-context/data-context-builder.mjs +0 -245
- package/esm2022/lib/common/data/data-context/data-context-continuable-base.mjs +0 -67
- package/esm2022/lib/common/data/data-context/data-context-continuable-paged.mjs +0 -142
- package/esm2022/lib/common/data/data-context/data-context-continuable-token.mjs +0 -146
- package/esm2022/lib/common/data/data-context/data-context-life-cycle-binding.mjs +0 -32
- package/esm2022/lib/common/data/data-context/data-context-simple.mjs +0 -61
- package/esm2022/lib/common/data/data-context/data-context-source-event-binding.mjs +0 -63
- package/esm2022/lib/common/data/data-context/data-context-status.mjs +0 -46
- package/esm2022/lib/common/data/data-context/data-context.mjs +0 -30
- package/esm2022/lib/common/data/data-context/indexed-entities.mjs +0 -153
- package/esm2022/lib/common/data/data-context/mat-table-data-context-binding.mjs +0 -145
- package/esm2022/lib/common/data/data-context/public_api.mjs +0 -15
- package/esm2022/lib/common/data/datasource/data-source-adapter.mjs +0 -59
- package/esm2022/lib/common/data/datasource/data-source-base.mjs +0 -38
- package/esm2022/lib/common/data/datasource/data-source-change-event.mjs +0 -34
- package/esm2022/lib/common/data/datasource/data-source-processor.mjs +0 -198
- package/esm2022/lib/common/data/datasource/data-source.mjs +0 -23
- package/esm2022/lib/common/data/datasource/entity-id-util.mjs +0 -11
- package/esm2022/lib/common/data/datasource/fetcher/delegate-data-source.mjs +0 -127
- package/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +0 -153
- package/esm2022/lib/common/data/datasource/local/local-paged-data-source.mjs +0 -75
- package/esm2022/lib/common/data/datasource/patch/deep-partial-patcher.mjs +0 -58
- package/esm2022/lib/common/data/datasource/public_api.mjs +0 -10
- package/esm2022/lib/common/data/datasource/rest/public_api.mjs +0 -2
- package/esm2022/lib/common/data/datasource/rest/rest-client.mjs +0 -290
- package/esm2022/lib/common/data/entity-set-patch.mjs +0 -161
- package/esm2022/lib/common/data/field-comparator.mjs +0 -108
- package/esm2022/lib/common/data/filters/filter-commons.mjs +0 -12
- package/esm2022/lib/common/data/filters/filter-context.mjs +0 -135
- package/esm2022/lib/common/data/filters/filter-value.mjs +0 -2
- package/esm2022/lib/common/data/filters/filter.mjs +0 -104
- package/esm2022/lib/common/data/http-params-builder.mjs +0 -116
- package/esm2022/lib/common/data/page.mjs +0 -58
- package/esm2022/lib/common/data/public_api.mjs +0 -12
- package/esm2022/lib/common/data/required-filter-evaluator.mjs +0 -71
- package/esm2022/lib/common/data/sort-context.mjs +0 -73
- package/esm2022/lib/common/data/sort.mjs +0 -11
- package/esm2022/lib/common/data/token-chunk-request.mjs +0 -8
- package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +0 -84
- package/esm2022/lib/common/enums/public_api.mjs +0 -2
- package/esm2022/lib/common/errors/exception-detail.mjs +0 -2
- package/esm2022/lib/common/errors/public_api.mjs +0 -3
- package/esm2022/lib/common/errors/standard-error-detail.mjs +0 -2
- package/esm2022/lib/common/exceptions/public_api.mjs +0 -2
- package/esm2022/lib/common/exceptions/unreachable-case-error.mjs +0 -8
- package/esm2022/lib/common/format/bytes-format.mjs +0 -15
- package/esm2022/lib/common/format/bytes-per-second-format.mjs +0 -41
- package/esm2022/lib/common/format/curency-format-util.mjs +0 -43
- package/esm2022/lib/common/format/duration-format-util.mjs +0 -44
- package/esm2022/lib/common/format/iso-interval-format-util.mjs +0 -111
- package/esm2022/lib/common/format/public_api.mjs +0 -6
- package/esm2022/lib/common/forms/elder-entity-value-accessor.mjs +0 -22
- package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +0 -188
- package/esm2022/lib/common/forms/elder-from-field-base.mjs +0 -94
- package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +0 -52
- package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +0 -39
- package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +0 -47
- package/esm2022/lib/common/forms/elder-multi-entity-value-accessor.mjs +0 -22
- package/esm2022/lib/common/forms/form-field-base.component.mjs +0 -111
- package/esm2022/lib/common/forms/multi-model-base.component.mjs +0 -32
- package/esm2022/lib/common/forms/public_api.mjs +0 -12
- package/esm2022/lib/common/forms/template-composite-control.mjs +0 -136
- package/esm2022/lib/common/forms/value-accessor-base.mjs +0 -146
- package/esm2022/lib/common/forms/view-providers.mjs +0 -30
- package/esm2022/lib/common/http/http-client-builder.service.mjs +0 -14
- package/esm2022/lib/common/http/http-client-pristine.mjs +0 -21
- package/esm2022/lib/common/http/public_api.mjs +0 -5
- package/esm2022/lib/common/http/transfer/data-transfer-base.mjs +0 -77
- package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +0 -106
- package/esm2022/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +0 -60
- package/esm2022/lib/common/http/transfer/data-transfer-progress.mjs +0 -17
- package/esm2022/lib/common/http/transfer/data-transfer-state.mjs +0 -82
- package/esm2022/lib/common/http/transfer/data-transfer-status.mjs +0 -24
- package/esm2022/lib/common/http/transfer/data-transfer.mjs +0 -2
- package/esm2022/lib/common/http/transfer/http-data-transfer.mjs +0 -132
- package/esm2022/lib/common/http/transfer/public_api.mjs +0 -7
- package/esm2022/lib/common/http/upload/file-upload-client.mjs +0 -42
- package/esm2022/lib/common/i18n/entity/elder-multi-translate-loader.mjs +0 -53
- package/esm2022/lib/common/i18n/entity/impl/i18n-base.mjs +0 -6
- package/esm2022/lib/common/i18n/entity/impl/i18n-text.mjs +0 -16
- package/esm2022/lib/common/i18n/entity/impl/translated.mjs +0 -15
- package/esm2022/lib/common/i18n/entity/language-tag.mjs +0 -12
- package/esm2022/lib/common/i18n/entity/locale.mjs +0 -12
- package/esm2022/lib/common/i18n/entity/localisation-picker.mjs +0 -30
- package/esm2022/lib/common/i18n/entity/localized.mjs +0 -2
- package/esm2022/lib/common/i18n/entity/public_api.mjs +0 -10
- package/esm2022/lib/common/i18n/entity/translated-converter.mjs +0 -18
- package/esm2022/lib/common/i18n/entity/translated.mjs +0 -2
- package/esm2022/lib/common/i18n/public_api.mjs +0 -2
- package/esm2022/lib/common/json-map.mjs +0 -17
- package/esm2022/lib/common/objects.mjs +0 -43
- package/esm2022/lib/common/public_api.mjs +0 -23
- package/esm2022/lib/common/reactive-map.mjs +0 -69
- package/esm2022/lib/common/rxjs/operators/lazy-sample.mjs +0 -34
- package/esm2022/lib/common/rxjs/public_api.mjs +0 -2
- package/esm2022/lib/common/selection/public_api.mjs +0 -2
- package/esm2022/lib/common/selection/selection-model.mjs +0 -213
- package/esm2022/lib/common/sets.mjs +0 -45
- package/esm2022/lib/common/suggestion-provider.mjs +0 -12
- package/esm2022/lib/common/templates/template-slot-manager.mjs +0 -135
- package/esm2022/lib/common/theme-sizes.mjs +0 -2
- package/esm2022/lib/common/time/date-util.mjs +0 -91
- package/esm2022/lib/common/time/interval-coerce.mjs +0 -30
- package/esm2022/lib/common/time/interval.mjs +0 -442
- package/esm2022/lib/common/time/period-duration.mjs +0 -133
- package/esm2022/lib/common/time/public_api.mjs +0 -8
- package/esm2022/lib/common/time/temporal-plain-date-interval.mjs +0 -34
- package/esm2022/lib/common/time/temporal-util.mjs +0 -205
- package/esm2022/lib/common/time/time-util.mjs +0 -38
- package/esm2022/lib/common/url/elder-router.service.mjs +0 -54
- package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +0 -117
- package/esm2022/lib/common/url/public_api.mjs +0 -4
- package/esm2022/lib/common/url/url-query-params.mjs +0 -133
- package/esm2022/lib/common/utils/batcher.mjs +0 -35
- package/esm2022/lib/common/utils/collection-util.mjs +0 -111
- package/esm2022/lib/common/utils/filter-util.mjs +0 -133
- package/esm2022/lib/common/utils/focus-util.mjs +0 -23
- package/esm2022/lib/common/utils/input-utils.mjs +0 -6
- package/esm2022/lib/common/utils/next-number-util.mjs +0 -89
- package/esm2022/lib/common/utils/ng-zone-utils.mjs +0 -16
- package/esm2022/lib/common/utils/parse-util.mjs +0 -17
- package/esm2022/lib/common/utils/property-path-util.mjs +0 -28
- package/esm2022/lib/common/utils/public_api.mjs +0 -14
- package/esm2022/lib/common/utils/query-list-binding.mjs +0 -68
- package/esm2022/lib/common/utils/signal-input.mjs +0 -3
- package/esm2022/lib/common/utils/sort-util.mjs +0 -42
- package/esm2022/lib/common/utils/url-builder.mjs +0 -275
- package/esm2022/lib/common/utils/uuid-util.mjs +0 -28
- package/esm2022/lib/common/utils/value-wrapper.mjs +0 -19
- package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +0 -15
- package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +0 -20
- package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +0 -50
- package/esm2022/lib/components/auditing/elder-audit.module.mjs +0 -40
- package/esm2022/lib/components/auditing/i-audited-entity.mjs +0 -3
- package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +0 -162
- package/esm2022/lib/components/badge/elder-badge.directive.mjs +0 -124
- package/esm2022/lib/components/badge/elder-badge.module.mjs +0 -58
- package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +0 -13
- package/esm2022/lib/components/button-group/elder-button-group.module.mjs +0 -21
- package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +0 -118
- package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +0 -18
- package/esm2022/lib/components/card-organizer/card-organizer-data.mjs +0 -93
- package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +0 -220
- package/esm2022/lib/components/card-organizer/card-stack.mjs +0 -176
- package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +0 -62
- package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +0 -17
- package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +0 -167
- package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +0 -71
- package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +0 -171
- package/esm2022/lib/components/chips/elder-chips.module.mjs +0 -45
- package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +0 -57
- package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +0 -61
- package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +0 -46
- package/esm2022/lib/components/connectivity/public_api.mjs +0 -3
- package/esm2022/lib/components/containers/elder-containers.module.mjs +0 -18
- package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +0 -24
- package/esm2022/lib/components/containers/public_api.mjs +0 -2
- package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +0 -77
- package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.mjs +0 -38
- package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +0 -38
- package/esm2022/lib/components/csv/elder-csv-stream-exporter.mjs +0 -114
- package/esm2022/lib/components/csv/elder-csv.module.mjs +0 -24
- package/esm2022/lib/components/currency/elder-currency.module.mjs +0 -18
- package/esm2022/lib/components/currency/elder-currency.pipe.mjs +0 -37
- package/esm2022/lib/components/currency/model/currency-code.mjs +0 -38
- package/esm2022/lib/components/currency/model/currency-unit-registry.mjs +0 -30
- package/esm2022/lib/components/currency/model/currency-unit.mjs +0 -10
- package/esm2022/lib/components/currency/model/currency.mjs +0 -15
- package/esm2022/lib/components/currency/public_api.mjs +0 -7
- package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +0 -91
- package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +0 -93
- package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +0 -102
- package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +0 -34
- package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +0 -57
- package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +0 -34
- package/esm2022/lib/components/data-view/base/data-view-options-provider-binding.mjs +0 -69
- package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +0 -265
- package/esm2022/lib/components/data-view/base/elder-data-view-options-provider.mjs +0 -44
- package/esm2022/lib/components/data-view/base/elder-data-view-options.mjs +0 -45
- package/esm2022/lib/components/data-view/base/elder-data-view.mjs +0 -3
- package/esm2022/lib/components/data-view/base/public_api.mjs +0 -6
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-context.mjs +0 -30
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-dc.directive.mjs +0 -55
- package/esm2022/lib/components/data-view/common/composite-sort/composite-sort.mjs +0 -68
- package/esm2022/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.mjs +0 -101
- package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +0 -45
- package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +0 -125
- package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +0 -140
- package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +0 -100
- package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +0 -103
- package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +0 -36
- package/esm2022/lib/components/data-view/common/selection/master-selection-state.mjs +0 -10
- package/esm2022/lib/components/data-view/elder-data-view-interaction-mode.mjs +0 -2
- package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +0 -345
- package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +0 -91
- package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +0 -75
- package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +0 -50
- package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +0 -79
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail-mode.mjs +0 -2
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail-provider.mjs +0 -20
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +0 -119
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +0 -116
- package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +0 -89
- package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +0 -23
- package/esm2022/lib/components/data-view/master-detail/master-detail-activation-event.mjs +0 -12
- package/esm2022/lib/components/data-view/public_api.mjs +0 -7
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +0 -18
- package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +0 -104
- package/esm2022/lib/components/data-view/table/activation/activation-event-source.mjs +0 -7
- package/esm2022/lib/components/data-view/table/activation/elder-activation-context.mjs +0 -2
- package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +0 -114
- package/esm2022/lib/components/data-view/table/activation/elder-table-activation-options.mjs +0 -2
- package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +0 -315
- package/esm2022/lib/components/data-view/table/activation/item-activation-event.mjs +0 -8
- package/esm2022/lib/components/data-view/table/activation/item-activation-options.mjs +0 -7
- package/esm2022/lib/components/data-view/table/activation/public_api.mjs +0 -8
- package/esm2022/lib/components/data-view/table/elder-center-cell.directive.mjs +0 -23
- package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +0 -30
- package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +0 -73
- package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +0 -21
- package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +0 -338
- package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +0 -18
- package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +0 -92
- package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +0 -26
- package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +0 -156
- package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +0 -23
- package/esm2022/lib/components/data-view/table/elder-table.module.mjs +0 -184
- package/esm2022/lib/components/data-view/table/model/elder-column-layout.mjs +0 -110
- package/esm2022/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +0 -85
- package/esm2022/lib/components/data-view/table/model/elder-table-model-provider.mjs +0 -40
- package/esm2022/lib/components/data-view/table/model/elder-table-model-query-group.mjs +0 -89
- package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +0 -167
- package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +0 -37
- package/esm2022/lib/components/dialogs/elder-dialog-config.mjs +0 -3
- package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +0 -87
- package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +0 -199
- package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +0 -57
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +0 -43
- package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +0 -47
- package/esm2022/lib/components/errors/elder-error.module.mjs +0 -39
- package/esm2022/lib/components/errors/error-util.mjs +0 -94
- package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +0 -77
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +0 -55
- package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +0 -35
- package/esm2022/lib/components/files/blob-url.mjs +0 -10
- package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +0 -224
- package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +0 -44
- package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +0 -84
- package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +0 -145
- package/esm2022/lib/components/files/elder-file-select-input.mjs +0 -119
- package/esm2022/lib/components/files/elder-file-select.directive.mjs +0 -167
- package/esm2022/lib/components/files/elder-file.module.mjs +0 -85
- package/esm2022/lib/components/files/file-select/file-select.component.mjs +0 -54
- package/esm2022/lib/components/files/file-system-api.mjs +0 -100
- package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +0 -80
- package/esm2022/lib/components/files/listing/file-entry.mjs +0 -92
- package/esm2022/lib/components/files/listing/file-listing-rx.mjs +0 -64
- package/esm2022/lib/components/files/listing/file-listing-system-handle.mjs +0 -35
- package/esm2022/lib/components/files/listing/file-listing-webkit.mjs +0 -76
- package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +0 -51
- package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +0 -34
- package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox-controller.mjs +0 -97
- package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox.directive.mjs +0 -50
- package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox-controller.mjs +0 -102
- package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox.directive.mjs +0 -50
- package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +0 -38
- package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +0 -43
- package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +0 -83
- package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +0 -84
- package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +0 -42
- package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +0 -35
- package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +0 -142
- package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +0 -67
- package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +0 -78
- package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +0 -112
- package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +0 -102
- package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +0 -37
- package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +0 -30
- package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +0 -161
- package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +0 -28
- package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +0 -88
- package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +0 -47
- package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +0 -48
- package/esm2022/lib/components/forms/directives/validation/strategies/fallback-validation-message-strategy.mjs +0 -6
- package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +0 -53
- package/esm2022/lib/components/forms/directives/validation/validation-message-strategy.mjs +0 -2
- package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +0 -36
- package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +0 -36
- package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +0 -112
- package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +0 -69
- package/esm2022/lib/components/forms/elder-forms.module.mjs +0 -22
- package/esm2022/lib/components/forms/public_api.mjs +0 -6
- package/esm2022/lib/components/forms/search/domain/context/search-context.mjs +0 -73
- package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +0 -42
- package/esm2022/lib/components/forms/search/domain/input/input-value.mjs +0 -2
- package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +0 -88
- package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +0 -2
- package/esm2022/lib/components/forms/search/domain/input/simple-search-input.mjs +0 -50
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +0 -92
- package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +0 -166
- package/esm2022/lib/components/forms/search/domain/url/search-query-params-parser.mjs +0 -81
- package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +0 -256
- package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +0 -258
- package/esm2022/lib/components/forms/search/elder-search.module.mjs +0 -115
- package/esm2022/lib/components/forms/search/filter/default-input-filter-converter.mjs +0 -45
- package/esm2022/lib/components/forms/search/filter/input-filter-converter.mjs +0 -2
- package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +0 -131
- package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +0 -24
- package/esm2022/lib/components/global-search/elder-global-search.component.mjs +0 -136
- package/esm2022/lib/components/global-search/elder-global-search.module.mjs +0 -47
- package/esm2022/lib/components/global-search/elder-global-search.service.mjs +0 -95
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +0 -90
- package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +0 -19
- package/esm2022/lib/components/graph/elder-progress-bar/sub-bar.mjs +0 -7
- package/esm2022/lib/components/graph/public_api.mjs +0 -2
- package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +0 -29
- package/esm2022/lib/components/headers/elder-header.module.mjs +0 -42
- package/esm2022/lib/components/http-support/elder-http-client.service.mjs +0 -63
- package/esm2022/lib/components/http-support/public_api.mjs +0 -2
- package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +0 -125
- package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +0 -157
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +0 -39
- package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +0 -30
- package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +0 -177
- package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +0 -31
- package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +0 -56
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +0 -40
- package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +0 -31
- package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +0 -74
- package/esm2022/lib/components/i18n/language/elder-language-config.mjs +0 -3
- package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +0 -70
- package/esm2022/lib/components/i18n/language/elder-language.module.mjs +0 -73
- package/esm2022/lib/components/i18n/language/elder-language.service.mjs +0 -120
- package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +0 -79
- package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +0 -53
- package/esm2022/lib/components/i18n/public_api.mjs +0 -4
- package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +0 -129
- package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +0 -141
- package/esm2022/lib/components/iframes/elder-iframe.module.mjs +0 -106
- package/esm2022/lib/components/iframes/iframe-close.directive.mjs +0 -41
- package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +0 -51
- package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +0 -144
- package/esm2022/lib/components/iframes/iframe-messages.mjs +0 -5
- package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +0 -80
- package/esm2022/lib/components/iframes/iframe.service.mjs +0 -54
- package/esm2022/lib/components/iframes/typed-event-message.mjs +0 -42
- package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +0 -65
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +0 -166
- package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +0 -20
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +0 -9
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +0 -233
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +0 -202
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +0 -120
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +0 -61
- package/esm2022/lib/components/input/autocomplete/many/word-position-finder.mjs +0 -58
- package/esm2022/lib/components/input/public_api.mjs +0 -2
- package/esm2022/lib/components/labels/elder-labels.module.mjs +0 -50
- package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +0 -239
- package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +0 -268
- package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +0 -92
- package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +0 -65
- package/esm2022/lib/components/measures/elder-measures.module.mjs +0 -130
- package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +0 -31
- package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +0 -43
- package/esm2022/lib/components/measures/elder-unit.service.mjs +0 -113
- package/esm2022/lib/components/measures/model/dimensions.mjs +0 -17
- package/esm2022/lib/components/measures/model/quantity.mjs +0 -12
- package/esm2022/lib/components/measures/model/unit-dimension.mjs +0 -14
- package/esm2022/lib/components/measures/model/unit-registry.mjs +0 -81
- package/esm2022/lib/components/measures/model/unit.mjs +0 -143
- package/esm2022/lib/components/measures/public_api.mjs +0 -8
- package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +0 -44
- package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +0 -173
- package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +0 -84
- package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +0 -73
- package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +0 -341
- package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +0 -184
- package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +0 -59
- package/esm2022/lib/components/navigation/bread-crumbs/path/path.mjs +0 -37
- package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +0 -60
- package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +0 -121
- package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +0 -174
- package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +0 -68
- package/esm2022/lib/components/navigation/public_api.mjs +0 -4
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +0 -48
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +0 -83
- package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +0 -68
- package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +0 -71
- package/esm2022/lib/components/navigation/toolbar/toolbar-column-position.mjs +0 -2
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +0 -39
- package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +0 -86
- package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +0 -44
- package/esm2022/lib/components/overlays/elder-overlay-ref.mjs +0 -41
- package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +0 -73
- package/esm2022/lib/components/overlays/elder-overlay.component.mjs +0 -232
- package/esm2022/lib/components/overlays/elder-overlay.module.mjs +0 -35
- package/esm2022/lib/components/page/exit-guard/page-exit-guard.module.mjs +0 -20
- package/esm2022/lib/components/page/exit-guard/page-exit-guard.service.mjs +0 -129
- package/esm2022/lib/components/page/exit-guard/page-exit-lock/page-exit-lock.component.mjs +0 -25
- package/esm2022/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.mjs +0 -29
- package/esm2022/lib/components/page/exit-guard/page-exit-lock-overview/page-exit-lock-overview.component.mjs +0 -26
- package/esm2022/lib/components/page/public_api.mjs +0 -2
- package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +0 -12
- package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +0 -12
- package/esm2022/lib/components/panels/elder-panel.module.mjs +0 -60
- package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +0 -26
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +0 -70
- package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +0 -74
- package/esm2022/lib/components/public_api.mjs +0 -43
- package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +0 -63
- package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +0 -17
- package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +0 -95
- package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +0 -38
- package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +0 -64
- package/esm2022/lib/components/select/auto/elder-select-first-util.mjs +0 -55
- package/esm2022/lib/components/select/elder-select-base.mjs +0 -333
- package/esm2022/lib/components/select/elder-select-chip.directive.mjs +0 -48
- package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +0 -139
- package/esm2022/lib/components/select/elder-select-value.directive.mjs +0 -18
- package/esm2022/lib/components/select/elder-select.module.mjs +0 -229
- package/esm2022/lib/components/select/filter/elder-chip-filter-style-resolver.mjs +0 -74
- package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +0 -148
- package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +0 -51
- package/esm2022/lib/components/select/filter/include-exclude-model-filter-adapter.mjs +0 -61
- package/esm2022/lib/components/select/filter/include-exclude-selection-model.mjs +0 -160
- package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +0 -16
- package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +0 -386
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +0 -87
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +0 -263
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/select-option-chip-spec.mjs +0 -15
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +0 -274
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/select-chip-spec.mjs +0 -15
- package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +0 -86
- package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +0 -34
- package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +0 -146
- package/esm2022/lib/components/select/multi/public_api.mjs +0 -5
- package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +0 -89
- package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +0 -126
- package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +0 -58
- package/esm2022/lib/components/select/public_api.mjs +0 -5
- package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +0 -60
- package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +0 -444
- package/esm2022/lib/components/select/single/elder-select-form-field.mjs +0 -45
- package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +0 -148
- package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +0 -46
- package/esm2022/lib/components/shell/drawers/drawer-outlet-binding.mjs +0 -64
- package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +0 -119
- package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +0 -128
- package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +0 -47
- package/esm2022/lib/components/shell/elder-shell.module.mjs +0 -101
- package/esm2022/lib/components/shell/elder-shell.service.mjs +0 -142
- package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +0 -75
- package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +0 -238
- package/esm2022/lib/components/shell/shell-content-slot.mjs +0 -2
- package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +0 -137
- package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +0 -26
- package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +0 -257
- package/esm2022/lib/components/tabs/elder-tab.module.mjs +0 -21
- package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +0 -62
- package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +0 -73
- package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +0 -74
- package/esm2022/lib/components/theme/elder-theme.directive.mjs +0 -64
- package/esm2022/lib/components/theme/elder-theme.module.mjs +0 -68
- package/esm2022/lib/components/theme/elder-theme.service.mjs +0 -121
- package/esm2022/lib/components/theme/known-elder-themes.mjs +0 -6
- package/esm2022/lib/components/theme/public_api.mjs +0 -2
- package/esm2022/lib/components/theme/theme-spec.mjs +0 -11
- package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +0 -43
- package/esm2022/lib/components/time/date-formats/locale-date-formats.mjs +0 -28
- package/esm2022/lib/components/time/duration/duration-bucket.mjs +0 -68
- package/esm2022/lib/components/time/duration/duration-format.mjs +0 -271
- package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +0 -110
- package/esm2022/lib/components/time/duration/iso-duration-str.mjs +0 -2
- package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +0 -96
- package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +0 -98
- package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +0 -217
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-anchor-controller.mjs +0 -21
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-calendar-controller.mjs +0 -24
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-controller.mjs +0 -43
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-form-controller.mjs +0 -69
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-select-controller.mjs +0 -117
- package/esm2022/lib/components/time/elder-interval-picker/controller/interval-shift-controller.mjs +0 -44
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +0 -198
- package/esm2022/lib/components/time/elder-interval-picker/interval-picker-binding/elder-interval-picker-binding.directive.mjs +0 -41
- package/esm2022/lib/components/time/elder-interval-picker/interval-picker-toggle/elder-interval-picker-toggle.component.mjs +0 -144
- package/esm2022/lib/components/time/elder-interval-picker/manager/interval-picker-state-manager.mjs +0 -93
- package/esm2022/lib/components/time/elder-interval-picker/model/anchor-state.mjs +0 -54
- package/esm2022/lib/components/time/elder-interval-picker/model/interval-state.mjs +0 -37
- package/esm2022/lib/components/time/elder-interval-picker/model/smart-shift-state.mjs +0 -10
- package/esm2022/lib/components/time/elder-interval-picker/presenter/interval-picker-presenter.mjs +0 -96
- package/esm2022/lib/components/time/elder-interval-picker/util/interval-picker-util.mjs +0 -194
- package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +0 -268
- package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +0 -85
- package/esm2022/lib/components/time/elder-time.module.mjs +0 -154
- package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +0 -118
- package/esm2022/lib/components/time/period/period-bucket.mjs +0 -31
- package/esm2022/lib/components/time/period/period-format.mjs +0 -89
- package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +0 -39
- package/esm2022/lib/components/time/public_api.mjs +0 -8
- package/esm2022/lib/components/toasts/elder-toast.module.mjs +0 -36
- package/esm2022/lib/components/toasts/elder-toast.service.mjs +0 -170
- package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +0 -80
- package/esm2022/lib/components/toasts/toast-type.mjs +0 -7
- package/esm2022/lib/components/toasts/toast.mjs +0 -2
- package/esm2022/lib/components/url-fragment/elder-url-fragment.mjs +0 -9
- package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +0 -52
- package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +0 -95
- package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +0 -64
- package/esm2022/lib/components/viewers/elder-viewers.module.mjs +0 -18
- package/esm2022/lib/features/event-source/fetch/public_api.mjs +0 -3
- package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.mjs +0 -219
- package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +0 -53
- package/esm2022/lib/features/event-source/public_api.mjs +0 -3
- package/esm2022/lib/features/event-source/standard/elder-event-source.service.mjs +0 -56
- package/esm2022/lib/features/event-source/standard/public_api.mjs +0 -3
- package/esm2022/lib/features/event-source/standard/reactive-event-source.mjs +0 -199
- package/esm2022/lib/features/kafent/access-token-provider.mjs +0 -20
- package/esm2022/lib/features/kafent/kafent-config.mjs +0 -24
- package/esm2022/lib/features/kafent/kafent-event-stream.mjs +0 -25
- package/esm2022/lib/features/kafent/kafent-event.mjs +0 -3
- package/esm2022/lib/features/kafent/kafent-event.service.mjs +0 -115
- package/esm2022/lib/features/kafent/kafent-live-event-request.mjs +0 -2
- package/esm2022/lib/features/kafent/kafent.module.mjs +0 -58
- package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +0 -131
- package/esm2022/lib/features/kafent/sse/kafent-topic-sse.mjs +0 -97
- package/esm2022/lib/features/public_api.mjs +0 -3
- package/esm2022/lib/pipes/bytes.pipe.mjs +0 -27
- package/esm2022/lib/pipes/elder-pipes.module.mjs +0 -114
- package/esm2022/lib/pipes/elder-repeat.pipe.mjs +0 -24
- package/esm2022/lib/pipes/elder-round.pipe.mjs +0 -36
- package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +0 -21
- package/esm2022/lib/pipes/elder-truncate.pipe.mjs +0 -41
- package/esm2022/lib/pipes/iso-duration.pipe.mjs +0 -41
- package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +0 -49
- package/esm2022/lib/pipes/iso-interval.pipe.mjs +0 -62
- package/esm2022/lib/pipes/public_api.mjs +0 -2
- package/esm2022/lib/pipes/time-ago.pipe.mjs +0 -110
- package/esm2022/lib/pipes/time-duration.pipe.mjs +0 -101
- package/esm2022/lib/pipes/weight.pipe.mjs +0 -60
- package/esm2022/public_api.mjs +0 -8
- package/lib/components/panels/flat/elder-panel.component.d.ts +0 -15
- package/src/lib/components/panels/flat/elder-panel.component.scss +0 -3
package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs
DELETED
|
@@ -1,257 +0,0 @@
|
|
|
1
|
-
import { ContentChildren, Directive, Input, } from '@angular/core';
|
|
2
|
-
import { takeUntil } from 'rxjs/operators';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { MatTab } from '@angular/material/tabs';
|
|
5
|
-
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
6
|
-
import { ElderTabDirective } from '../elder-tab/elder-tab.directive';
|
|
7
|
-
import { QueryListBinding } from '../../../common/utils/query-list-binding';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../../../common/url/elder-url-fragment-params.service";
|
|
10
|
-
import * as i2 from "@angular/material/tabs";
|
|
11
|
-
/**
|
|
12
|
-
* Adds out-of-the-box url-fragment based tab navigation
|
|
13
|
-
* within the mat-tab-group it is placed upon.
|
|
14
|
-
*
|
|
15
|
-
* Add elderTab directive to each tab of the group to
|
|
16
|
-
* support id-based tab navigation.
|
|
17
|
-
*/
|
|
18
|
-
export class ElderTabGroupRoutingDirective {
|
|
19
|
-
/**
|
|
20
|
-
* Prefix used to indicate and index-based tab marker.
|
|
21
|
-
*/
|
|
22
|
-
static { this.TAB_INDEX_PREFIX = 'idx:'; }
|
|
23
|
-
/***************************************************************************
|
|
24
|
-
* *
|
|
25
|
-
* Constructor *
|
|
26
|
-
* *
|
|
27
|
-
**************************************************************************/
|
|
28
|
-
constructor(fragmentParamsService, tabGroup) {
|
|
29
|
-
this.fragmentParamsService = fragmentParamsService;
|
|
30
|
-
this.tabGroup = tabGroup;
|
|
31
|
-
/***************************************************************************
|
|
32
|
-
* *
|
|
33
|
-
* Fields *
|
|
34
|
-
* *
|
|
35
|
-
**************************************************************************/
|
|
36
|
-
this._log = LoggerFactory.getLogger(this.constructor.name);
|
|
37
|
-
this._destroy$ = new Subject();
|
|
38
|
-
this.tabGroup.selectedTabChange
|
|
39
|
-
.pipe(takeUntil(this._destroy$))
|
|
40
|
-
.subscribe((event) => this.handleTabChangeEvent(event));
|
|
41
|
-
}
|
|
42
|
-
/***************************************************************************
|
|
43
|
-
* *
|
|
44
|
-
* Life Cycle *
|
|
45
|
-
* *
|
|
46
|
-
**************************************************************************/
|
|
47
|
-
ngAfterViewInit() {
|
|
48
|
-
this.fragmentParamsService.params$
|
|
49
|
-
.pipe(takeUntil(this._destroy$))
|
|
50
|
-
.subscribe((params) => this.handleFragmentParamsChange(params));
|
|
51
|
-
QueryListBinding.of(this.tabs)
|
|
52
|
-
.updated(() => this.retryLastFailedActivation())
|
|
53
|
-
.bindUntil(this._destroy$);
|
|
54
|
-
QueryListBinding.of(this.elderTabs)
|
|
55
|
-
.updated(() => this.retryLastFailedActivation())
|
|
56
|
-
.bindUntil(this._destroy$);
|
|
57
|
-
}
|
|
58
|
-
ngOnDestroy() {
|
|
59
|
-
this.removeFragmentParam();
|
|
60
|
-
this._destroy$.next();
|
|
61
|
-
this._destroy$.complete();
|
|
62
|
-
}
|
|
63
|
-
/***************************************************************************
|
|
64
|
-
* *
|
|
65
|
-
* Properties *
|
|
66
|
-
* *
|
|
67
|
-
**************************************************************************/
|
|
68
|
-
get activeTabId() {
|
|
69
|
-
return this.activeElderTab?.id;
|
|
70
|
-
}
|
|
71
|
-
get activeTabIndex() {
|
|
72
|
-
return this.tabGroup.selectedIndex;
|
|
73
|
-
}
|
|
74
|
-
/***************************************************************************
|
|
75
|
-
* *
|
|
76
|
-
* Private Methods *
|
|
77
|
-
* *
|
|
78
|
-
**************************************************************************/
|
|
79
|
-
handleFragmentParamsChange(params) {
|
|
80
|
-
const tabMarker = this.getTabMarker(params);
|
|
81
|
-
if (tabMarker) {
|
|
82
|
-
this.activateTabByMarker(tabMarker);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
activateTabByMarker(tabMarker) {
|
|
86
|
-
let success;
|
|
87
|
-
if (this.isIndexMarker(tabMarker)) {
|
|
88
|
-
const index = this.parseIndexMarker(tabMarker);
|
|
89
|
-
success = this.activateTabByIndex(index);
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
// if no index is given we assume the marker is the id of the tab.
|
|
93
|
-
success = this.activateTabById(tabMarker);
|
|
94
|
-
}
|
|
95
|
-
// remember tab marker in case of failure to retry later.
|
|
96
|
-
this.lastFailedTabMarker = success ? null : tabMarker;
|
|
97
|
-
}
|
|
98
|
-
activateTabByIndex(indexToActivate) {
|
|
99
|
-
if (indexToActivate !== this.activeTabIndex) {
|
|
100
|
-
this._log.trace('Activating tab by index ', indexToActivate);
|
|
101
|
-
// First try to identify corresponding elder tab, so that we may work with its ID instead of index.
|
|
102
|
-
const elderTab = this.findElderTabByIndex(indexToActivate);
|
|
103
|
-
if (elderTab) {
|
|
104
|
-
return this.activateElderTab(elderTab);
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
// If no elder tab found, clear active elder tab to ensure consistent state.
|
|
108
|
-
this.activeElderTab = null;
|
|
109
|
-
return this.setSelectedIndex(indexToActivate);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
return true;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
activateTabById(tabId) {
|
|
117
|
-
const elderTab = this.findElderTabById(tabId);
|
|
118
|
-
if (elderTab) {
|
|
119
|
-
return this.activateElderTab(elderTab);
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
// If no elder tab found, clear active elder tab to ensure consistent state.
|
|
123
|
-
this.activeElderTab = null;
|
|
124
|
-
this._log.warn('Could not find tab with ID "' +
|
|
125
|
-
tabId +
|
|
126
|
-
'". Ensure elderTab directive is added to corresponding tab.');
|
|
127
|
-
return false;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
activateElderTab(elderTab) {
|
|
131
|
-
if (this.activeElderTab !== elderTab) {
|
|
132
|
-
this.activeElderTab = elderTab;
|
|
133
|
-
const indexToActivate = this.getIndexOfTab(elderTab.tab);
|
|
134
|
-
return this.setSelectedIndex(indexToActivate);
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
return true;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
handleTabChangeEvent(tabChangeEvent) {
|
|
141
|
-
this._log.trace('Handling tabChangeEvent: ', tabChangeEvent);
|
|
142
|
-
this.lastFailedTabMarker = null;
|
|
143
|
-
this.activeElderTab = this.findElderTabByTab(tabChangeEvent.tab);
|
|
144
|
-
this.updateFragmentParam();
|
|
145
|
-
}
|
|
146
|
-
retryLastFailedActivation() {
|
|
147
|
-
if (this.lastFailedTabMarker) {
|
|
148
|
-
this._log.trace('Retrying to activate tab by marker:', this.lastFailedTabMarker);
|
|
149
|
-
this.activateTabByMarker(this.lastFailedTabMarker);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
setSelectedIndex(index) {
|
|
153
|
-
if (index !== this.activeTabIndex) {
|
|
154
|
-
if (this.isValidIndex(index)) {
|
|
155
|
-
this._log.trace('Activating tab by index ', index);
|
|
156
|
-
this.tabGroup.selectedIndex = index;
|
|
157
|
-
return true;
|
|
158
|
-
}
|
|
159
|
-
else {
|
|
160
|
-
this._log.warn('Could not find tab with index "' + index + '".');
|
|
161
|
-
return false;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
return true;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
isValidIndex(index) {
|
|
169
|
-
return this.tabs.length > index;
|
|
170
|
-
}
|
|
171
|
-
findElderTabById(tabId) {
|
|
172
|
-
return this.elderTabs.find((t) => t.id === tabId);
|
|
173
|
-
}
|
|
174
|
-
findElderTabByIndex(tabIndex) {
|
|
175
|
-
const tab = this.findTabByIndex(tabIndex);
|
|
176
|
-
if (tab) {
|
|
177
|
-
return this.findElderTabByTab(tab);
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
return null;
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
findElderTabByTab(tab) {
|
|
184
|
-
return this.elderTabs.find((elderTab) => elderTab.tab === tab);
|
|
185
|
-
}
|
|
186
|
-
findTabByIndex(tabIndex) {
|
|
187
|
-
if (this.tabs.length > tabIndex) {
|
|
188
|
-
return this.tabs.get(tabIndex);
|
|
189
|
-
}
|
|
190
|
-
else {
|
|
191
|
-
return null;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
getIndexOfTab(tab) {
|
|
195
|
-
return this.tabs.toArray().indexOf(tab);
|
|
196
|
-
}
|
|
197
|
-
updateFragmentParam() {
|
|
198
|
-
const currentTabMarker = this.getTabMarker(this.fragmentParamsService.params);
|
|
199
|
-
// If possible, use tab ID as marker. If not, use tab index as fallback.
|
|
200
|
-
const newTabMarker = this.activeTabId
|
|
201
|
-
? this.activeTabId
|
|
202
|
-
: this.serializeIndexMarker(this.activeTabIndex);
|
|
203
|
-
if (newTabMarker !== currentTabMarker) {
|
|
204
|
-
this.setFragmentParam(newTabMarker);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
setFragmentParam(value) {
|
|
208
|
-
const params = this.fragmentParamsService.params;
|
|
209
|
-
params.set(this.tabGroupQueryParamKey, value);
|
|
210
|
-
this.fragmentParamsService.setParams(params);
|
|
211
|
-
}
|
|
212
|
-
removeFragmentParam() {
|
|
213
|
-
const params = this.fragmentParamsService.params;
|
|
214
|
-
params.remove(this.tabGroupQueryParamKey);
|
|
215
|
-
this.fragmentParamsService.setParams(params);
|
|
216
|
-
}
|
|
217
|
-
getTabMarker(queryParams) {
|
|
218
|
-
return queryParams.has(this.tabGroupQueryParamKey)
|
|
219
|
-
? queryParams.get(this.tabGroupQueryParamKey)
|
|
220
|
-
: null;
|
|
221
|
-
}
|
|
222
|
-
isIndexMarker(marker) {
|
|
223
|
-
return marker && marker.startsWith(ElderTabGroupRoutingDirective.TAB_INDEX_PREFIX);
|
|
224
|
-
}
|
|
225
|
-
parseIndexMarker(marker) {
|
|
226
|
-
if (this.isIndexMarker(marker)) {
|
|
227
|
-
const indexStr = marker.replace(ElderTabGroupRoutingDirective.TAB_INDEX_PREFIX, '');
|
|
228
|
-
return Number(indexStr);
|
|
229
|
-
}
|
|
230
|
-
else {
|
|
231
|
-
throw new Error('Cannot parse index from marker "' + marker + '". Check with isIndexMarker first!');
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
serializeIndexMarker(index) {
|
|
235
|
-
return ElderTabGroupRoutingDirective.TAB_INDEX_PREFIX + String(index);
|
|
236
|
-
}
|
|
237
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderTabGroupRoutingDirective, deps: [{ token: i1.ElderUrlFragmentParamsService }, { token: i2.MatTabGroup }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
238
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElderTabGroupRoutingDirective, isStandalone: true, selector: "[elderTabGroupRouting]", inputs: { tabGroupQueryParamKey: ["elderTabGroupRouting", "tabGroupQueryParamKey"] }, queries: [{ propertyName: "tabs", predicate: MatTab }, { propertyName: "elderTabs", predicate: ElderTabDirective }], exportAs: ["elderTabGroupRouting"], ngImport: i0 }); }
|
|
239
|
-
}
|
|
240
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderTabGroupRoutingDirective, decorators: [{
|
|
241
|
-
type: Directive,
|
|
242
|
-
args: [{
|
|
243
|
-
selector: '[elderTabGroupRouting]',
|
|
244
|
-
exportAs: 'elderTabGroupRouting',
|
|
245
|
-
standalone: true,
|
|
246
|
-
}]
|
|
247
|
-
}], ctorParameters: () => [{ type: i1.ElderUrlFragmentParamsService }, { type: i2.MatTabGroup }], propDecorators: { tabGroupQueryParamKey: [{
|
|
248
|
-
type: Input,
|
|
249
|
-
args: ['elderTabGroupRouting']
|
|
250
|
-
}], tabs: [{
|
|
251
|
-
type: ContentChildren,
|
|
252
|
-
args: [MatTab]
|
|
253
|
-
}], elderTabs: [{
|
|
254
|
-
type: ContentChildren,
|
|
255
|
-
args: [ElderTabDirective]
|
|
256
|
-
}] } });
|
|
257
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGFiLWdyb3VwLXJvdXRpbmcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90YWJzL2VsZGVyLXRhYi1ncm91cC1yb3V0aW5nL2VsZGVyLXRhYi1ncm91cC1yb3V0aW5nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsZUFBZSxFQUNmLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDOUIsT0FBTyxFQUFFLE1BQU0sRUFBa0MsTUFBTSx3QkFBd0IsQ0FBQTtBQUMvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFHcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUE7Ozs7QUFFM0U7Ozs7OztHQU1HO0FBTUgsTUFBTSxPQUFPLDZCQUE2QjtJQUN4Qzs7T0FFRzthQUNxQixxQkFBZ0IsR0FBRyxNQUFNLEFBQVQsQ0FBUztJQTRDakQ7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ1UscUJBQW9ELEVBQ3BELFFBQXFCO1FBRHJCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBK0I7UUFDcEQsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQWxEL0I7Ozs7b0ZBSTRFO1FBRTNELFNBQUksR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDckQsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUE7UUE2QzlDLElBQUks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QWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFDbkYsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDekIsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUNiLG1DQUFtQyxHQUFHLE1BQU0sR0FBRyxvQ0FBb0MsQ0FDcEYsQ0FBQTtRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsS0FBYTtRQUN4QyxPQUFPLDZCQUE2QixDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN2RSxDQUFDOytHQWxTVSw2QkFBNkI7bUdBQTdCLDZCQUE2Qiw2TEErQnZCLE1BQU0sNENBT04saUJBQWlCOzs0RkF0Q3ZCLDZCQUE2QjtrQkFMekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7NEhBMkJRLHFCQUFxQjtzQkFEM0IsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBT3RCLElBQUk7c0JBRFYsZUFBZTt1QkFBQyxNQUFNO2dCQVFoQixTQUFTO3NCQURmLGVBQWU7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBNYXRUYWIsIE1hdFRhYkNoYW5nZUV2ZW50LCBNYXRUYWJHcm91cCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnXG5pbXBvcnQgeyBMb2dnZXJGYWN0b3J5IH0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInXG5pbXBvcnQgeyBFbGRlclRhYkRpcmVjdGl2ZSB9IGZyb20gJy4uL2VsZGVyLXRhYi9lbGRlci10YWIuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRWxkZXJVcmxGcmFnbWVudFBhcmFtc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXJsL2VsZGVyLXVybC1mcmFnbWVudC1wYXJhbXMuc2VydmljZSdcbmltcG9ydCB7IFVybFF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3VybC91cmwtcXVlcnktcGFyYW1zJ1xuaW1wb3J0IHsgUXVlcnlMaXN0QmluZGluZyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi91dGlscy9xdWVyeS1saXN0LWJpbmRpbmcnXG5cbi8qKlxuICogQWRkcyBvdXQtb2YtdGhlLWJveCB1cmwtZnJhZ21lbnQgYmFzZWQgdGFiIG5hdmlnYXRpb25cbiAqIHdpdGhpbiB0aGUgbWF0LXRhYi1ncm91cCBpdCBpcyBwbGFjZWQgdXBvbi5cbiAqXG4gKiBBZGQgZWxkZXJUYWIgZGlyZWN0aXZlIHRvIGVhY2ggdGFiIG9mIHRoZSBncm91cCB0b1xuICogc3VwcG9ydCBpZC1iYXNlZCB0YWIgbmF2aWdhdGlvbi5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyVGFiR3JvdXBSb3V0aW5nXScsXG4gIGV4cG9ydEFzOiAnZWxkZXJUYWJHcm91cFJvdXRpbmcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclRhYkdyb3VwUm91dGluZ0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBQcmVmaXggdXNlZCB0byBpbmRpY2F0ZSBhbmQgaW5kZXgtYmFzZWQgdGFiIG1hcmtlci5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFRBQl9JTkRFWF9QUkVGSVggPSAnaWR4OidcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IF9sb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxuXG4gIC8qKlxuICAgKiBTdG9yZXMgdGhlIGxhc3QgdGFiIG1hcmtlciAoZWl0aGVyIElEIG9yIGluZGV4KVxuICAgKiB3aGljaCBjb3VsZCBub3QgYmUgYWN0aXZhdGVkLiBUaGlzIGlzIHVzZWQgdG8gcmV0cnlcbiAgICogYWN0aXZhdGlvbiBvbmNlIGNoYW5nZXMgb24gdGFiIHN0cnVjdHVyZSBvY2N1ci5cbiAgICovXG4gIHByaXZhdGUgbGFzdEZhaWxlZFRhYk1hcmtlcjogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFN0cmluZyB0byB1c2UgYXMgcXVlcnkgcGFyYW0ga2V5LlxuICAgKi9cbiAgQElucHV0KCdlbGRlclRhYkdyb3VwUm91dGluZycpXG4gIHB1YmxpYyB0YWJHcm91cFF1ZXJ5UGFyYW1LZXk6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBUaGUgY2hpbGQgdGFicyB3aXRoaW4gdGhpcyBuYXZpZ2F0aW9uIGNvbnRleHQuXG4gICAqL1xuICBAQ29udGVudENoaWxkcmVuKE1hdFRhYilcbiAgcHVibGljIHRhYnM6IFF1ZXJ5TGlzdDxNYXRUYWI+XG5cbiAgLyoqXG4gICAqIFRoZSBjaGlsZCB0YWJzIHdpdGhpbiB0aGlzIG5hdmlnYXRpb24gY29udGV4dFxuICAgKiBtYXJrZWQgd2l0aCB0aGUgZWxkZXJUYWJzIGRpcmVjdGl2ZS5cbiAgICovXG4gIEBDb250ZW50Q2hpbGRyZW4oRWxkZXJUYWJEaXJlY3RpdmUpXG4gIHB1YmxpYyBlbGRlclRhYnM6IFF1ZXJ5TGlzdDxFbGRlclRhYkRpcmVjdGl2ZT5cblxuICAvKipcbiAgICogVGhlIHRhYiBtYXJrZWQgd2l0aCBlbGRlclRhYiBkaXJlY3RpdmUgd2hpY2hcbiAgICogaXMgY3VycmVudGx5IGFjdGl2ZS4gTWF5IGJlIG51bGwgaWZcbiAgICogZWxkZXJUYWIgbWFya2VycyBhcmUgbm90IHVzZWQuXG4gICAqL1xuICBwdWJsaWMgYWN0aXZlRWxkZXJUYWI6IEVsZGVyVGFiRGlyZWN0aXZlXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmcmFnbWVudFBhcmFtc1NlcnZpY2U6IEVsZGVyVXJsRnJhZ21lbnRQYXJhbXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGFiR3JvdXA6IE1hdFRhYkdyb3VwXG4gICkge1xuICAgIHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRUYWJDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5oYW5kbGVUYWJDaGFuZ2VFdmVudChldmVudCkpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZnJhZ21lbnRQYXJhbXNTZXJ2aWNlLnBhcmFtcyRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChwYXJhbXMpID0+IHRoaXMuaGFuZGxlRnJhZ21lbnRQYXJhbXNDaGFuZ2UocGFyYW1zKSlcblxuICAgIFF1ZXJ5TGlzdEJpbmRpbmcub2YodGhpcy50YWJzKVxuICAgICAgLnVwZGF0ZWQoKCkgPT4gdGhpcy5yZXRyeUxhc3RGYWlsZWRBY3RpdmF0aW9uKCkpXG4gICAgICAuYmluZFVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuXG4gICAgUXVlcnlMaXN0QmluZGluZy5vZih0aGlzLmVsZGVyVGFicylcbiAgICAgIC51cGRhdGVkKCgpID0+IHRoaXMucmV0cnlMYXN0RmFpbGVkQWN0aXZhdGlvbigpKVxuICAgICAgLmJpbmRVbnRpbCh0aGlzLl9kZXN0cm95JClcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZUZyYWdtZW50UGFyYW0oKVxuXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBhY3RpdmVUYWJJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUVsZGVyVGFiPy5pZFxuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmVUYWJJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXhcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIE1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgaGFuZGxlRnJhZ21lbnRQYXJhbXNDaGFuZ2UocGFyYW1zOiBVcmxRdWVyeVBhcmFtcyk6IHZvaWQge1xuICAgIGNvbnN0IHRhYk1hcmtlciA9IHRoaXMuZ2V0VGFiTWFya2VyKHBhcmFtcylcblxuICAgIGlmICh0YWJNYXJrZXIpIHtcbiAgICAgIHRoaXMuYWN0aXZhdGVUYWJCeU1hcmtlcih0YWJNYXJrZXIpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhY3RpdmF0ZVRhYkJ5TWFya2VyKHRhYk1hcmtlcjogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IHN1Y2Nlc3M6IGJvb2xlYW5cbiAgICBpZiAodGhpcy5pc0luZGV4TWFya2VyKHRhYk1hcmtlcikpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5wYXJzZUluZGV4TWFya2VyKHRhYk1hcmtlcilcbiAgICAgIHN1Y2Nlc3MgPSB0aGlzLmFjdGl2YXRlVGFiQnlJbmRleChpbmRleClcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaWYgbm8gaW5kZXggaXMgZ2l2ZW4gd2UgYXNzdW1lIHRoZSBtYXJrZXIgaXMgdGhlIGlkIG9mIHRoZSB0YWIuXG4gICAgICBzdWNjZXNzID0gdGhpcy5hY3RpdmF0ZVRhYkJ5SWQodGFiTWFya2VyKVxuICAgIH1cblxuICAgIC8vIHJlbWVtYmVyIHRhYiBtYXJrZXIgaW4gY2FzZSBvZiBmYWlsdXJlIHRvIHJldHJ5IGxhdGVyLlxuICAgIHRoaXMubGFzdEZhaWxlZFRhYk1hcmtlciA9IHN1Y2Nlc3MgPyBudWxsIDogdGFiTWFya2VyXG4gIH1cblxuICBwcml2YXRlIGFjdGl2YXRlVGFiQnlJbmRleChpbmRleFRvQWN0aXZhdGU6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGlmIChpbmRleFRvQWN0aXZhdGUgIT09IHRoaXMuYWN0aXZlVGFiSW5kZXgpIHtcbiAgICAgIHRoaXMuX2xvZy50cmFjZSgnQWN0aXZhdGluZyB0YWIgYnkgaW5kZXggJywgaW5kZXhUb0FjdGl2YXRlKVxuXG4gICAgICAvLyBGaXJzdCB0cnkgdG8gaWRlbnRpZnkgY29ycmVzcG9uZGluZyBlbGRlciB0YWIsIHNvIHRoYXQgd2UgbWF5IHdvcmsgd2l0aCBpdHMgSUQgaW5zdGVhZCBvZiBpbmRleC5cbiAgICAgIGNvbnN0IGVsZGVyVGFiID0gdGhpcy5maW5kRWxkZXJUYWJCeUluZGV4KGluZGV4VG9BY3RpdmF0ZSlcblxuICAgICAgaWYgKGVsZGVyVGFiKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2YXRlRWxkZXJUYWIoZWxkZXJUYWIpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBJZiBubyBlbGRlciB0YWIgZm91bmQsIGNsZWFyIGFjdGl2ZSBlbGRlciB0YWIgdG8gZW5zdXJlIGNvbnNpc3RlbnQgc3RhdGUuXG4gICAgICAgIHRoaXMuYWN0aXZlRWxkZXJUYWIgPSBudWxsXG4gICAgICAgIHJldHVybiB0aGlzLnNldFNlbGVjdGVkSW5kZXgoaW5kZXhUb0FjdGl2YXRlKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZhdGVUYWJCeUlkKHRhYklkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBlbGRlclRhYiA9IHRoaXMuZmluZEVsZGVyVGFiQnlJZCh0YWJJZClcblxuICAgIGlmIChlbGRlclRhYikge1xuICAgICAgcmV0dXJuIHRoaXMuYWN0aXZhdGVFbGRlclRhYihlbGRlclRhYilcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgbm8gZWxkZXIgdGFiIGZvdW5kLCBjbGVhciBhY3RpdmUgZWxkZXIgdGFiIHRvIGVuc3VyZSBjb25zaXN0ZW50IHN0YXRlLlxuICAgICAgdGhpcy5hY3RpdmVFbGRlclRhYiA9IG51bGxcbiAgICAgIHRoaXMuX2xvZy53YXJuKFxuICAgICAgICAnQ291bGQgbm90IGZpbmQgdGFiIHdpdGggSUQgXCInICtcbiAgICAgICAgICB0YWJJZCArXG4gICAgICAgICAgJ1wiLiBFbnN1cmUgZWxkZXJUYWIgZGlyZWN0aXZlIGlzIGFkZGVkIHRvIGNvcnJlc3BvbmRpbmcgdGFiLidcbiAgICAgIClcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWN0aXZhdGVFbGRlclRhYihlbGRlclRhYjogRWxkZXJUYWJEaXJlY3RpdmUpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hY3RpdmVFbGRlclRhYiAhPT0gZWxkZXJUYWIpIHtcbiAgICAgIHRoaXMuYWN0aXZlRWxkZXJUYWIgPSBlbGRlclRhYlxuICAgICAgY29uc3QgaW5kZXhUb0FjdGl2YXRlID0gdGhpcy5nZXRJbmRleE9mVGFiKGVsZGVyVGFiLnRhYilcbiAgICAgIHJldHVybiB0aGlzLnNldFNlbGVjdGVkSW5kZXgoaW5kZXhUb0FjdGl2YXRlKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVGFiQ2hhbmdlRXZlbnQodGFiQ2hhbmdlRXZlbnQ6IE1hdFRhYkNoYW5nZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fbG9nLnRyYWNlKCdIYW5kbGluZyB0YWJDaGFuZ2VFdmVudDogJywgdGFiQ2hhbmdlRXZlbnQpXG4gICAgdGhpcy5sYXN0RmFpbGVkVGFiTWFya2VyID0gbnVsbFxuICAgIHRoaXMuYWN0aXZlRWxkZXJUYWIgPSB0aGlzLmZpbmRFbGRlclRhYkJ5VGFiKHRhYkNoYW5nZUV2ZW50LnRhYilcbiAgICB0aGlzLnVwZGF0ZUZyYWdtZW50UGFyYW0oKVxuICB9XG5cbiAgcHJpdmF0ZSByZXRyeUxhc3RGYWlsZWRBY3RpdmF0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxhc3RGYWlsZWRUYWJNYXJrZXIpIHtcbiAgICAgIHRoaXMuX2xvZy50cmFjZSgnUmV0cnlpbmcgdG8gYWN0aXZhdGUgdGFiIGJ5IG1hcmtlcjonLCB0aGlzLmxhc3RGYWlsZWRUYWJNYXJrZXIpXG4gICAgICB0aGlzLmFjdGl2YXRlVGFiQnlNYXJrZXIodGhpcy5sYXN0RmFpbGVkVGFiTWFya2VyKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0U2VsZWN0ZWRJbmRleChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgaWYgKGluZGV4ICE9PSB0aGlzLmFjdGl2ZVRhYkluZGV4KSB7XG4gICAgICBpZiAodGhpcy5pc1ZhbGlkSW5kZXgoaW5kZXgpKSB7XG4gICAgICAgIHRoaXMuX2xvZy50cmFjZSgnQWN0aXZhdGluZyB0YWIgYnkgaW5kZXggJywgaW5kZXgpXG4gICAgICAgIHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA9IGluZGV4XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9sb2cud2FybignQ291bGQgbm90IGZpbmQgdGFiIHdpdGggaW5kZXggXCInICsgaW5kZXggKyAnXCIuJylcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1ZhbGlkSW5kZXgoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRhYnMubGVuZ3RoID4gaW5kZXhcbiAgfVxuXG4gIHByaXZhdGUgZmluZEVsZGVyVGFiQnlJZCh0YWJJZDogc3RyaW5nKTogRWxkZXJUYWJEaXJlY3RpdmUgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5lbGRlclRhYnMuZmluZCgodCkgPT4gdC5pZCA9PT0gdGFiSWQpXG4gIH1cblxuICBwcml2YXRlIGZpbmRFbGRlclRhYkJ5SW5kZXgodGFiSW5kZXg6IG51bWJlcik6IEVsZGVyVGFiRGlyZWN0aXZlIHwgbnVsbCB7XG4gICAgY29uc3QgdGFiID0gdGhpcy5maW5kVGFiQnlJbmRleCh0YWJJbmRleClcbiAgICBpZiAodGFiKSB7XG4gICAgICByZXR1cm4gdGhpcy5maW5kRWxkZXJUYWJCeVRhYih0YWIpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaW5kRWxkZXJUYWJCeVRhYih0YWI6IE1hdFRhYik6IEVsZGVyVGFiRGlyZWN0aXZlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZWxkZXJUYWJzLmZpbmQoKGVsZGVyVGFiKSA9PiBlbGRlclRhYi50YWIgPT09IHRhYilcbiAgfVxuXG4gIHByaXZhdGUgZmluZFRhYkJ5SW5kZXgodGFiSW5kZXg6IG51bWJlcik6IE1hdFRhYiB8IG51bGwge1xuICAgIGlmICh0aGlzLnRhYnMubGVuZ3RoID4gdGFiSW5kZXgpIHtcbiAgICAgIHJldHVybiB0aGlzLnRhYnMuZ2V0KHRhYkluZGV4KVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5kZXhPZlRhYih0YWI6IE1hdFRhYik6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnRhYnMudG9BcnJheSgpLmluZGV4T2YodGFiKVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGcmFnbWVudFBhcmFtKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRUYWJNYXJrZXIgPSB0aGlzLmdldFRhYk1hcmtlcih0aGlzLmZyYWdtZW50UGFyYW1zU2VydmljZS5wYXJhbXMpXG5cbiAgICAvLyBJZiBwb3NzaWJsZSwgdXNlIHRhYiBJRCBhcyBtYXJrZXIuIElmIG5vdCwgdXNlIHRhYiBpbmRleCBhcyBmYWxsYmFjay5cbiAgICBjb25zdCBuZXdUYWJNYXJrZXIgPSB0aGlzLmFjdGl2ZVRhYklkXG4gICAgICA/IHRoaXMuYWN0aXZlVGFiSWRcbiAgICAgIDogdGhpcy5zZXJpYWxpemVJbmRleE1hcmtlcih0aGlzLmFjdGl2ZVRhYkluZGV4KVxuXG4gICAgaWYgKG5ld1RhYk1hcmtlciAhPT0gY3VycmVudFRhYk1hcmtlcikge1xuICAgICAgdGhpcy5zZXRGcmFnbWVudFBhcmFtKG5ld1RhYk1hcmtlcilcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEZyYWdtZW50UGFyYW0odmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuZnJhZ21lbnRQYXJhbXNTZXJ2aWNlLnBhcmFtc1xuICAgIHBhcmFtcy5zZXQodGhpcy50YWJHcm91cFF1ZXJ5UGFyYW1LZXksIHZhbHVlKVxuXG4gICAgdGhpcy5mcmFnbWVudFBhcmFtc1NlcnZpY2Uuc2V0UGFyYW1zKHBhcmFtcylcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRnJhZ21lbnRQYXJhbSgpOiB2b2lkIHtcbiAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmZyYWdtZW50UGFyYW1zU2VydmljZS5wYXJhbXNcbiAgICBwYXJhbXMucmVtb3ZlKHRoaXMudGFiR3JvdXBRdWVyeVBhcmFtS2V5KVxuXG4gICAgdGhpcy5mcmFnbWVudFBhcmFtc1NlcnZpY2Uuc2V0UGFyYW1zKHBhcmFtcylcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGFiTWFya2VyKHF1ZXJ5UGFyYW1zOiBVcmxRdWVyeVBhcmFtcyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHF1ZXJ5UGFyYW1zLmhhcyh0aGlzLnRhYkdyb3VwUXVlcnlQYXJhbUtleSlcbiAgICAgID8gcXVlcnlQYXJhbXMuZ2V0KHRoaXMudGFiR3JvdXBRdWVyeVBhcmFtS2V5KVxuICAgICAgOiBudWxsXG4gIH1cblxuICBwcml2YXRlIGlzSW5kZXhNYXJrZXIobWFya2VyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbWFya2VyICYmIG1hcmtlci5zdGFydHNXaXRoKEVsZGVyVGFiR3JvdXBSb3V0aW5nRGlyZWN0aXZlLlRBQl9JTkRFWF9QUkVGSVgpXG4gIH1cblxuICBwcml2YXRlIHBhcnNlSW5kZXhNYXJrZXIobWFya2VyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLmlzSW5kZXhNYXJrZXIobWFya2VyKSkge1xuICAgICAgY29uc3QgaW5kZXhTdHIgPSBtYXJrZXIucmVwbGFjZShFbGRlclRhYkdyb3VwUm91dGluZ0RpcmVjdGl2ZS5UQUJfSU5ERVhfUFJFRklYLCAnJylcbiAgICAgIHJldHVybiBOdW1iZXIoaW5kZXhTdHIpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0Nhbm5vdCBwYXJzZSBpbmRleCBmcm9tIG1hcmtlciAgXCInICsgbWFya2VyICsgJ1wiLiBDaGVjayB3aXRoIGlzSW5kZXhNYXJrZXIgZmlyc3QhJ1xuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2VyaWFsaXplSW5kZXhNYXJrZXIoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIEVsZGVyVGFiR3JvdXBSb3V0aW5nRGlyZWN0aXZlLlRBQl9JTkRFWF9QUkVGSVggKyBTdHJpbmcoaW5kZXgpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { MatCommonModule } from '@angular/material/core';
|
|
3
|
-
import { NgModule } from '@angular/core';
|
|
4
|
-
import { ElderTabDirective } from './elder-tab/elder-tab.directive';
|
|
5
|
-
import { ElderTabGroupRoutingDirective } from './elder-tab-group-routing/elder-tab-group-routing.directive';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export * from './elder-tab/elder-tab.directive';
|
|
8
|
-
export * from './elder-tab-group-routing/elder-tab-group-routing.directive';
|
|
9
|
-
export class ElderTabModule {
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderTabModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ElderTabModule, imports: [CommonModule, MatCommonModule, ElderTabDirective, ElderTabGroupRoutingDirective], exports: [ElderTabDirective, ElderTabGroupRoutingDirective] }); }
|
|
12
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderTabModule, imports: [CommonModule, MatCommonModule] }); }
|
|
13
|
-
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderTabModule, decorators: [{
|
|
15
|
-
type: NgModule,
|
|
16
|
-
args: [{
|
|
17
|
-
imports: [CommonModule, MatCommonModule, ElderTabDirective, ElderTabGroupRoutingDirective],
|
|
18
|
-
exports: [ElderTabDirective, ElderTabGroupRoutingDirective],
|
|
19
|
-
}]
|
|
20
|
-
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGFiLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGFicy9lbGRlci10YWIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQTs7QUFFM0csY0FBYyxpQ0FBaUMsQ0FBQTtBQUMvQyxjQUFjLDZEQUE2RCxDQUFBO0FBTTNFLE1BQU0sT0FBTyxjQUFjOytHQUFkLGNBQWM7Z0hBQWQsY0FBYyxZQUhmLFlBQVksRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsNkJBQTZCLGFBQy9FLGlCQUFpQixFQUFFLDZCQUE2QjtnSEFFL0MsY0FBYyxZQUhmLFlBQVksRUFBRSxlQUFlOzs0RkFHNUIsY0FBYztrQkFKMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLDZCQUE2QixDQUFDO29CQUMxRixPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSw2QkFBNkIsQ0FBQztpQkFDNUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBNYXRDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRWxkZXJUYWJEaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLXRhYi9lbGRlci10YWIuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgRWxkZXJUYWJHcm91cFJvdXRpbmdEaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLXRhYi1ncm91cC1yb3V0aW5nL2VsZGVyLXRhYi1ncm91cC1yb3V0aW5nLmRpcmVjdGl2ZSdcblxuZXhwb3J0ICogZnJvbSAnLi9lbGRlci10YWIvZWxkZXItdGFiLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItdGFiLWdyb3VwLXJvdXRpbmcvZWxkZXItdGFiLWdyb3VwLXJvdXRpbmcuZGlyZWN0aXZlJ1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRDb21tb25Nb2R1bGUsIEVsZGVyVGFiRGlyZWN0aXZlLCBFbGRlclRhYkdyb3VwUm91dGluZ0RpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtFbGRlclRhYkRpcmVjdGl2ZSwgRWxkZXJUYWJHcm91cFJvdXRpbmdEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclRhYk1vZHVsZSB7fVxuIl19
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { filter, takeUntil } from 'rxjs/operators';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./elder-theme.service";
|
|
7
|
-
export class ElderThemeApplierDirective {
|
|
8
|
-
/***************************************************************************
|
|
9
|
-
* *
|
|
10
|
-
* Constructor *
|
|
11
|
-
* *
|
|
12
|
-
**************************************************************************/
|
|
13
|
-
constructor(themeService, renderer) {
|
|
14
|
-
this.themeService = themeService;
|
|
15
|
-
this.renderer = renderer;
|
|
16
|
-
/***************************************************************************
|
|
17
|
-
* *
|
|
18
|
-
* Fields *
|
|
19
|
-
* *
|
|
20
|
-
**************************************************************************/
|
|
21
|
-
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
22
|
-
this.destroy$ = new Subject();
|
|
23
|
-
}
|
|
24
|
-
/***************************************************************************
|
|
25
|
-
* *
|
|
26
|
-
* Life Cycle *
|
|
27
|
-
* *
|
|
28
|
-
**************************************************************************/
|
|
29
|
-
ngOnInit() {
|
|
30
|
-
this.themeService.activeTheme$
|
|
31
|
-
.pipe(takeUntil(this.destroy$), filter((theme) => !!theme))
|
|
32
|
-
.subscribe((activeTheme) => this.activateTheme(activeTheme));
|
|
33
|
-
}
|
|
34
|
-
ngOnDestroy() {
|
|
35
|
-
this.destroy$.next();
|
|
36
|
-
this.destroy$.complete();
|
|
37
|
-
}
|
|
38
|
-
/***************************************************************************
|
|
39
|
-
* *
|
|
40
|
-
* Private methods *
|
|
41
|
-
* *
|
|
42
|
-
**************************************************************************/
|
|
43
|
-
activateTheme(theme) {
|
|
44
|
-
if (theme.cssClass != this.activeThemeCss) {
|
|
45
|
-
this.renderer.addClass(document.body, theme.cssClass);
|
|
46
|
-
if (this.activeThemeCss) {
|
|
47
|
-
this.renderer.removeClass(document.body, this.activeThemeCss);
|
|
48
|
-
}
|
|
49
|
-
this.activeThemeCss = theme.cssClass;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderThemeApplierDirective, deps: [{ token: i1.ElderThemeService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
53
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElderThemeApplierDirective, isStandalone: true, selector: "[elderThemeApplier]", ngImport: i0 }); }
|
|
54
|
-
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderThemeApplierDirective, decorators: [{
|
|
56
|
-
type: Directive,
|
|
57
|
-
args: [{
|
|
58
|
-
selector: '[elderThemeApplier]',
|
|
59
|
-
standalone: true,
|
|
60
|
-
}]
|
|
61
|
-
}], ctorParameters: () => [{ type: i1.ElderThemeService }, { type: i0.Renderer2 }] });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGhlbWUtYXBwbGllci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RoZW1lL2VsZGVyLXRoZW1lLWFwcGxpZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLE1BQU0sZUFBZSxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRTlCLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7OztBQU1sRCxNQUFNLE9BQU8sMEJBQTBCO0lBYXJDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixZQUErQixFQUMvQixRQUFtQjtRQURuQixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDL0IsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQXBCdEM7Ozs7b0ZBSTRFO1FBRTNELFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7UUFJdkQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUE7SUFXNUMsQ0FBQztJQUVKOzs7O2dGQUk0RTtJQUVyRSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZO2FBQzNCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUN4QixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FDM0I7YUFDQSxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQTtJQUNoRSxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDMUIsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxhQUFhLENBQUMsS0FBZ0I7UUFDcEMsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUNyRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUE7WUFDL0QsQ0FBQztZQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQTtRQUN0QyxDQUFDO0lBQ0gsQ0FBQzsrR0ExRFUsMEJBQTBCO21HQUExQiwwQkFBMEI7OzRGQUExQiwwQkFBMEI7a0JBSnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7IEVsZGVyVGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi9lbGRlci10aGVtZS5zZXJ2aWNlJ1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBUaGVtZVNwZWMgfSBmcm9tICcuL3RoZW1lLXNwZWMnXG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWxkZXJUaGVtZUFwcGxpZXJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJUaGVtZUFwcGxpZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuXG4gIHByaXZhdGUgYWN0aXZlVGhlbWVDc3M6IHN0cmluZ1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB0aGVtZVNlcnZpY2U6IEVsZGVyVGhlbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHt9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGhlbWVTZXJ2aWNlLmFjdGl2ZVRoZW1lJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgZmlsdGVyKCh0aGVtZSkgPT4gISF0aGVtZSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGFjdGl2ZVRoZW1lKSA9PiB0aGlzLmFjdGl2YXRlVGhlbWUoYWN0aXZlVGhlbWUpKVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGFjdGl2YXRlVGhlbWUodGhlbWU6IFRoZW1lU3BlYyk6IHZvaWQge1xuICAgIGlmICh0aGVtZS5jc3NDbGFzcyAhPSB0aGlzLmFjdGl2ZVRoZW1lQ3NzKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGRvY3VtZW50LmJvZHksIHRoZW1lLmNzc0NsYXNzKVxuICAgICAgaWYgKHRoaXMuYWN0aXZlVGhlbWVDc3MpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhkb2N1bWVudC5ib2R5LCB0aGlzLmFjdGl2ZVRoZW1lQ3NzKVxuICAgICAgfVxuICAgICAgdGhpcy5hY3RpdmVUaGVtZUNzcyA9IHRoZW1lLmNzc0NsYXNzXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "./elder-theme.service";
|
|
4
|
-
import * as i2 from "@elderbyte/ngx-simple-webstorage";
|
|
5
|
-
export class ElderThemePreferenceService {
|
|
6
|
-
/***************************************************************************
|
|
7
|
-
* *
|
|
8
|
-
* Constructor *
|
|
9
|
-
* *
|
|
10
|
-
**************************************************************************/
|
|
11
|
-
constructor(themeService, localStorage) {
|
|
12
|
-
this.themeService = themeService;
|
|
13
|
-
this.localStorage = localStorage;
|
|
14
|
-
/***************************************************************************
|
|
15
|
-
* *
|
|
16
|
-
* Fields *
|
|
17
|
-
* *
|
|
18
|
-
**************************************************************************/
|
|
19
|
-
this.THEME_PREFERENCE_KEY = 'theme.preference';
|
|
20
|
-
const preferenceThemeId = localStorage.getItem(this.THEME_PREFERENCE_KEY);
|
|
21
|
-
if (preferenceThemeId) {
|
|
22
|
-
this.activateThemeAndSave(preferenceThemeId);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
this.activateDefaultThemeAndSave();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
/***************************************************************************
|
|
29
|
-
* *
|
|
30
|
-
* Public API *
|
|
31
|
-
* *
|
|
32
|
-
**************************************************************************/
|
|
33
|
-
activateThemeAndSave(themeId) {
|
|
34
|
-
this.themeService.activateTheme(themeId);
|
|
35
|
-
this.localStorage.setItem(this.THEME_PREFERENCE_KEY, themeId);
|
|
36
|
-
}
|
|
37
|
-
activateDefaultThemeAndSave() {
|
|
38
|
-
const theme = this.themeService.defaultThemeSnapshot;
|
|
39
|
-
if (theme) {
|
|
40
|
-
this.activateThemeAndSave(theme.id);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
activateThemeByBrowserAndSave() {
|
|
44
|
-
const theme = this.themeByBrowserPreference();
|
|
45
|
-
if (theme) {
|
|
46
|
-
this.activateThemeAndSave(theme.id);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
/***************************************************************************
|
|
50
|
-
* *
|
|
51
|
-
* Private methods *
|
|
52
|
-
* *
|
|
53
|
-
**************************************************************************/
|
|
54
|
-
themeByBrowserPreference() {
|
|
55
|
-
let initialTheme;
|
|
56
|
-
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
|
57
|
-
initialTheme = this.themeService.themesSnapshot.find((t) => t.dark);
|
|
58
|
-
}
|
|
59
|
-
if (!initialTheme) {
|
|
60
|
-
initialTheme = this.themeService.defaultThemeSnapshot;
|
|
61
|
-
}
|
|
62
|
-
return initialTheme;
|
|
63
|
-
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderThemePreferenceService, deps: [{ token: i1.ElderThemeService }, { token: i2.WebLocalStorage }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
65
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderThemePreferenceService, providedIn: 'root' }); }
|
|
66
|
-
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderThemePreferenceService, decorators: [{
|
|
68
|
-
type: Injectable,
|
|
69
|
-
args: [{
|
|
70
|
-
providedIn: 'root',
|
|
71
|
-
}]
|
|
72
|
-
}], ctorParameters: () => [{ type: i1.ElderThemeService }, { type: i2.WebLocalStorage }] });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGhlbWUtcHJlZmVyZW5jZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90aGVtZS9lbGRlci10aGVtZS1wcmVmZXJlbmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTs7OztBQVExQyxNQUFNLE9BQU8sMkJBQTJCO0lBU3RDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixZQUErQixFQUMvQixZQUE2QjtRQUQ3QixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBaEJoRDs7OztvRkFJNEU7UUFFM0QseUJBQW9CLEdBQUcsa0JBQWtCLENBQUE7UUFZeEQsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBVyxDQUFBO1FBQ25GLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUM5QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFBO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLG9CQUFvQixDQUFDLE9BQWU7UUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQy9ELENBQUM7SUFFTSwyQkFBMkI7UUFDaEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQTtRQUNwRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVNLDZCQUE2QjtRQUNsQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQTtRQUM3QyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSx3QkFBd0I7UUFDOUIsSUFBSSxZQUF1QixDQUFBO1FBQzNCLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzlELFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNyRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFBO1FBQ3ZELENBQUM7UUFDRCxPQUFPLFlBQVksQ0FBQTtJQUNyQixDQUFDOytHQW5FVSwyQkFBMkI7bUhBQTNCLDJCQUEyQixjQUYxQixNQUFNOzs0RkFFUCwyQkFBMkI7a0JBSHZDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBFbGRlclRoZW1lU2VydmljZSB9IGZyb20gJy4vZWxkZXItdGhlbWUuc2VydmljZSdcbmltcG9ydCB7IFdlYkxvY2FsU3RvcmFnZSB9IGZyb20gJ0BlbGRlcmJ5dGUvbmd4LXNpbXBsZS13ZWJzdG9yYWdlJ1xuaW1wb3J0IHsgVGhlbWVTcGVjIH0gZnJvbSAnLi90aGVtZS1zcGVjJ1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJUaGVtZVByZWZlcmVuY2VTZXJ2aWNlIHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBUSEVNRV9QUkVGRVJFTkNFX0tFWSA9ICd0aGVtZS5wcmVmZXJlbmNlJ1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGhlbWVTZXJ2aWNlOiBFbGRlclRoZW1lU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsU3RvcmFnZTogV2ViTG9jYWxTdG9yYWdlXG4gICkge1xuICAgIGNvbnN0IHByZWZlcmVuY2VUaGVtZUlkID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5USEVNRV9QUkVGRVJFTkNFX0tFWSkgYXMgc3RyaW5nXG4gICAgaWYgKHByZWZlcmVuY2VUaGVtZUlkKSB7XG4gICAgICB0aGlzLmFjdGl2YXRlVGhlbWVBbmRTYXZlKHByZWZlcmVuY2VUaGVtZUlkKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFjdGl2YXRlRGVmYXVsdFRoZW1lQW5kU2F2ZSgpXG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGFjdGl2YXRlVGhlbWVBbmRTYXZlKHRoZW1lSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudGhlbWVTZXJ2aWNlLmFjdGl2YXRlVGhlbWUodGhlbWVJZClcbiAgICB0aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuVEhFTUVfUFJFRkVSRU5DRV9LRVksIHRoZW1lSWQpXG4gIH1cblxuICBwdWJsaWMgYWN0aXZhdGVEZWZhdWx0VGhlbWVBbmRTYXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IHRoZW1lID0gdGhpcy50aGVtZVNlcnZpY2UuZGVmYXVsdFRoZW1lU25hcHNob3RcbiAgICBpZiAodGhlbWUpIHtcbiAgICAgIHRoaXMuYWN0aXZhdGVUaGVtZUFuZFNhdmUodGhlbWUuaWQpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFjdGl2YXRlVGhlbWVCeUJyb3dzZXJBbmRTYXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IHRoZW1lID0gdGhpcy50aGVtZUJ5QnJvd3NlclByZWZlcmVuY2UoKVxuICAgIGlmICh0aGVtZSkge1xuICAgICAgdGhpcy5hY3RpdmF0ZVRoZW1lQW5kU2F2ZSh0aGVtZS5pZClcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHRoZW1lQnlCcm93c2VyUHJlZmVyZW5jZSgpOiBUaGVtZVNwZWMgfCBudWxsIHtcbiAgICBsZXQgaW5pdGlhbFRoZW1lOiBUaGVtZVNwZWNcbiAgICBpZiAod2luZG93Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayknKS5tYXRjaGVzKSB7XG4gICAgICBpbml0aWFsVGhlbWUgPSB0aGlzLnRoZW1lU2VydmljZS50aGVtZXNTbmFwc2hvdC5maW5kKCh0KSA9PiB0LmRhcmspXG4gICAgfVxuICAgIGlmICghaW5pdGlhbFRoZW1lKSB7XG4gICAgICBpbml0aWFsVGhlbWUgPSB0aGlzLnRoZW1lU2VydmljZS5kZWZhdWx0VGhlbWVTbmFwc2hvdFxuICAgIH1cbiAgICByZXR1cm4gaW5pdGlhbFRoZW1lXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
3
|
-
import { combineLatest } from 'rxjs';
|
|
4
|
-
import { map, tap } from 'rxjs/operators';
|
|
5
|
-
import { MatIcon } from '@angular/material/icon';
|
|
6
|
-
import { FormsModule } from '@angular/forms';
|
|
7
|
-
import { MatSlideToggle } from '@angular/material/slide-toggle';
|
|
8
|
-
import { NgIf, AsyncPipe } from '@angular/common';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "../elder-theme.service";
|
|
11
|
-
import * as i2 from "../elder-theme-preference.service";
|
|
12
|
-
import * as i3 from "@angular/forms";
|
|
13
|
-
export class ElderThemeToggleComponent {
|
|
14
|
-
/***************************************************************************
|
|
15
|
-
* *
|
|
16
|
-
* Constructor *
|
|
17
|
-
* *
|
|
18
|
-
**************************************************************************/
|
|
19
|
-
constructor(themeService, themePreferenceService) {
|
|
20
|
-
this.themeService = themeService;
|
|
21
|
-
this.themePreferenceService = themePreferenceService;
|
|
22
|
-
/***************************************************************************
|
|
23
|
-
* *
|
|
24
|
-
* Fields *
|
|
25
|
-
* *
|
|
26
|
-
**************************************************************************/
|
|
27
|
-
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
28
|
-
this.activeToggleTheme$ = combineLatest([
|
|
29
|
-
this.themeService.defaultTheme$,
|
|
30
|
-
this.themeService.activeTheme$,
|
|
31
|
-
]).pipe(map(([defaultTheme, activeTheme]) => this.decideToggleTheme(defaultTheme, activeTheme)), tap((tt) => this.logger.info('Active toggle theme: ' + tt)));
|
|
32
|
-
}
|
|
33
|
-
/***************************************************************************
|
|
34
|
-
* *
|
|
35
|
-
* Public API *
|
|
36
|
-
* *
|
|
37
|
-
**************************************************************************/
|
|
38
|
-
onToggle(tggl) {
|
|
39
|
-
const themes = this.themeService.themesSnapshot;
|
|
40
|
-
const defaultTheme = this.themeService.defaultThemeSnapshot;
|
|
41
|
-
let theme;
|
|
42
|
-
if (tggl) {
|
|
43
|
-
theme = themes.find((theme) => theme.id !== defaultTheme?.id);
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
theme = defaultTheme;
|
|
47
|
-
}
|
|
48
|
-
if (theme) {
|
|
49
|
-
this.themePreferenceService.activateThemeAndSave(theme.id);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
/***************************************************************************
|
|
53
|
-
* *
|
|
54
|
-
* Private methods *
|
|
55
|
-
* *
|
|
56
|
-
**************************************************************************/
|
|
57
|
-
decideToggleTheme(defaultTheme, activeTheme) {
|
|
58
|
-
if (defaultTheme?.id === activeTheme?.id) {
|
|
59
|
-
return 'default';
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
return 'secondary';
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderThemeToggleComponent, deps: [{ token: i1.ElderThemeService }, { token: i2.ElderThemePreferenceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ElderThemeToggleComponent, isStandalone: true, selector: "elder-theme-toggle", inputs: { color: "color" }, ngImport: i0, template: "<div class=\"layout-row place-start-center\" *ngIf=\"activeToggleTheme$ | async as activeToggleTheme\">\n <mat-slide-toggle\n [ngModel]=\"activeToggleTheme !== 'default'\"\n (ngModelChange)=\"onToggle($event)\"\n [color]=\"color\"\n >\n </mat-slide-toggle>\n <mat-icon [color]=\"color\">\n {{ activeToggleTheme === 'default' ? 'light_mode' : 'brightness_2' }}\n </mat-icon>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
67
|
-
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderThemeToggleComponent, decorators: [{
|
|
69
|
-
type: Component,
|
|
70
|
-
args: [{ selector: 'elder-theme-toggle', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, MatSlideToggle, FormsModule, MatIcon, AsyncPipe], template: "<div class=\"layout-row place-start-center\" *ngIf=\"activeToggleTheme$ | async as activeToggleTheme\">\n <mat-slide-toggle\n [ngModel]=\"activeToggleTheme !== 'default'\"\n (ngModelChange)=\"onToggle($event)\"\n [color]=\"color\"\n >\n </mat-slide-toggle>\n <mat-icon [color]=\"color\">\n {{ activeToggleTheme === 'default' ? 'light_mode' : 'brightness_2' }}\n </mat-icon>\n</div>\n" }]
|
|
71
|
-
}], ctorParameters: () => [{ type: i1.ElderThemeService }, { type: i2.ElderThemePreferenceService }], propDecorators: { color: [{
|
|
72
|
-
type: Input
|
|
73
|
-
}] } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGhlbWUtdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGhlbWUvZWxkZXItdGhlbWUtdG9nZ2xlL2VsZGVyLXRoZW1lLXRvZ2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RoZW1lL2VsZGVyLXRoZW1lLXRvZ2dsZS9lbGRlci10aGVtZS10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRXBELE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUl6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUMvRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBOzs7OztBQVlqRCxNQUFNLE9BQU8seUJBQXlCO0lBY3BDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixZQUErQixFQUMvQixzQkFBbUQ7UUFEbkQsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBQy9CLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBNkI7UUFyQnRFOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBaUJ0RSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsYUFBYSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYTtZQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVk7U0FDL0IsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQyxFQUN2RixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQzVELENBQUE7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFFBQVEsQ0FBQyxJQUFhO1FBQzNCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFBO1FBQy9DLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUE7UUFDM0QsSUFBSSxLQUFnQixDQUFBO1FBQ3BCLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDL0QsQ0FBQzthQUFNLENBQUM7WUFDTixLQUFLLEdBQUcsWUFBWSxDQUFBO1FBQ3RCLENBQUM7UUFDRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLHNCQUFzQixDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxpQkFBaUIsQ0FBQyxZQUF1QixFQUFFLFdBQXNCO1FBQ3ZFLElBQUksWUFBWSxFQUFFLEVBQUUsS0FBSyxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDekMsT0FBTyxTQUFTLENBQUE7UUFDbEIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLFdBQVcsQ0FBQTtRQUNwQixDQUFDO0lBQ0gsQ0FBQzsrR0FqRVUseUJBQXlCO21HQUF6Qix5QkFBeUIsMEdDdkJ0QyxrWkFXQSwwRERVWSxJQUFJLDZGQUFFLGNBQWMseVVBQUUsV0FBVywrVkFBRSxPQUFPLHNJQUFFLFNBQVM7OzRGQUVwRCx5QkFBeUI7a0JBUnJDLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQztnSUFjekQsS0FBSztzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJ1xuaW1wb3J0IHsgRWxkZXJUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi9lbGRlci10aGVtZS5zZXJ2aWNlJ1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgVGhlbWVTcGVjIH0gZnJvbSAnLi4vdGhlbWUtc3BlYydcbmltcG9ydCB7IEVsZGVyVGhlbWVQcmVmZXJlbmNlU2VydmljZSB9IGZyb20gJy4uL2VsZGVyLXRoZW1lLXByZWZlcmVuY2Uuc2VydmljZSdcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSdcbmltcG9ydCB7IE5nSWYsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcblxudHlwZSBUb2dnbGVUaGVtZSA9ICdkZWZhdWx0JyB8ICdzZWNvbmRhcnknXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLXRoZW1lLXRvZ2dsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci10aGVtZS10b2dnbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci10aGVtZS10b2dnbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBNYXRTbGlkZVRvZ2dsZSwgRm9ybXNNb2R1bGUsIE1hdEljb24sIEFzeW5jUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyVGhlbWVUb2dnbGVDb21wb25lbnQge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSlcblxuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlVG9nZ2xlVGhlbWUkOiBPYnNlcnZhYmxlPFRvZ2dsZVRoZW1lPlxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb2xvcjogVGhlbWVQYWxldHRlXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB0aGVtZVNlcnZpY2U6IEVsZGVyVGhlbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGhlbWVQcmVmZXJlbmNlU2VydmljZTogRWxkZXJUaGVtZVByZWZlcmVuY2VTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYWN0aXZlVG9nZ2xlVGhlbWUkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnRoZW1lU2VydmljZS5kZWZhdWx0VGhlbWUkLFxuICAgICAgdGhpcy50aGVtZVNlcnZpY2UuYWN0aXZlVGhlbWUkLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtkZWZhdWx0VGhlbWUsIGFjdGl2ZVRoZW1lXSkgPT4gdGhpcy5kZWNpZGVUb2dnbGVUaGVtZShkZWZhdWx0VGhlbWUsIGFjdGl2ZVRoZW1lKSksXG4gICAgICB0YXAoKHR0KSA9PiB0aGlzLmxvZ2dlci5pbmZvKCdBY3RpdmUgdG9nZ2xlIHRoZW1lOiAnICsgdHQpKVxuICAgIClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBvblRvZ2dsZSh0Z2dsOiBib29sZWFuKTogdm9pZCB7XG4gICAgY29uc3QgdGhlbWVzID0gdGhpcy50aGVtZVNlcnZpY2UudGhlbWVzU25hcHNob3RcbiAgICBjb25zdCBkZWZhdWx0VGhlbWUgPSB0aGlzLnRoZW1lU2VydmljZS5kZWZhdWx0VGhlbWVTbmFwc2hvdFxuICAgIGxldCB0aGVtZTogVGhlbWVTcGVjXG4gICAgaWYgKHRnZ2wpIHtcbiAgICAgIHRoZW1lID0gdGhlbWVzLmZpbmQoKHRoZW1lKSA9PiB0aGVtZS5pZCAhPT0gZGVmYXVsdFRoZW1lPy5pZClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhlbWUgPSBkZWZhdWx0VGhlbWVcbiAgICB9XG4gICAgaWYgKHRoZW1lKSB7XG4gICAgICB0aGlzLnRoZW1lUHJlZmVyZW5jZVNlcnZpY2UuYWN0aXZhdGVUaGVtZUFuZFNhdmUodGhlbWUuaWQpXG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBkZWNpZGVUb2dnbGVUaGVtZShkZWZhdWx0VGhlbWU6IFRoZW1lU3BlYywgYWN0aXZlVGhlbWU6IFRoZW1lU3BlYyk6IFRvZ2dsZVRoZW1lIHtcbiAgICBpZiAoZGVmYXVsdFRoZW1lPy5pZCA9PT0gYWN0aXZlVGhlbWU/LmlkKSB7XG4gICAgICByZXR1cm4gJ2RlZmF1bHQnXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnc2Vjb25kYXJ5J1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyXCIgKm5nSWY9XCJhY3RpdmVUb2dnbGVUaGVtZSQgfCBhc3luYyBhcyBhY3RpdmVUb2dnbGVUaGVtZVwiPlxuICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgIFtuZ01vZGVsXT1cImFjdGl2ZVRvZ2dsZVRoZW1lICE9PSAnZGVmYXVsdCdcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVG9nZ2xlKCRldmVudClcIlxuICAgIFtjb2xvcl09XCJjb2xvclwiXG4gID5cbiAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICA8bWF0LWljb24gW2NvbG9yXT1cImNvbG9yXCI+XG4gICAge3sgYWN0aXZlVG9nZ2xlVGhlbWUgPT09ICdkZWZhdWx0JyA/ICdsaWdodF9tb2RlJyA6ICdicmlnaHRuZXNzXzInIH19XG4gIDwvbWF0LWljb24+XG48L2Rpdj5cbiJdfQ==
|