@elderbyte/ngx-starter 18.15.2 → 19.0.1
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/panels/flat/_elder-panel-theme.scss +5 -1
- 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
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { Duration, LocalTime, Period, TemporalQueries } from '@js-joda/core';
|
|
2
|
-
export class PeriodDuration {
|
|
3
|
-
/***************************************************************************
|
|
4
|
-
* *
|
|
5
|
-
* Constructor *
|
|
6
|
-
* *
|
|
7
|
-
**************************************************************************/
|
|
8
|
-
constructor(period, duration) {
|
|
9
|
-
this.period = period;
|
|
10
|
-
this.duration = duration;
|
|
11
|
-
}
|
|
12
|
-
/***************************************************************************
|
|
13
|
-
* *
|
|
14
|
-
* Static Builder *
|
|
15
|
-
* *
|
|
16
|
-
**************************************************************************/
|
|
17
|
-
/**
|
|
18
|
-
* Obtains an instance from a text string such as {@code PnYnMnDTnHnMnS}.
|
|
19
|
-
* <p>
|
|
20
|
-
* This will parse the string produced by {@code toString()} which is
|
|
21
|
-
* based on the ISO-8601 period formats {@code PnYnMnDTnHnMnS} and {@code PnW}.
|
|
22
|
-
* <p>
|
|
23
|
-
* The string starts with an optional sign, denoted by the ASCII negative
|
|
24
|
-
* or positive symbol. If negative, the whole amount is negated.
|
|
25
|
-
* The ASCII letter "P" is next in upper or lower case.
|
|
26
|
-
* There are then a number of sections, each consisting of a number and a suffix.
|
|
27
|
-
* At least one of the sections must be present.
|
|
28
|
-
* The sections have suffixes in ASCII of "Y" for years, "M" for months,
|
|
29
|
-
* "W" for weeks, "D" for days, "H" for hours, "M" for minutes, "S" for seconds,
|
|
30
|
-
* accepted in upper or lower case. Note that the ASCII letter "T" separates
|
|
31
|
-
* the date and time parts and must be present if any time part is present.
|
|
32
|
-
* The suffixes must occur in order.
|
|
33
|
-
* The number part of each section must consist of ASCII digits.
|
|
34
|
-
* The number may be prefixed by the ASCII negative or positive symbol.
|
|
35
|
-
* The number must parse to an {@code int}.
|
|
36
|
-
* Any week-based input is multiplied by 7 and treated as a number of days.
|
|
37
|
-
* <p>
|
|
38
|
-
* The leading plus/minus sign, and negative values for weeks and days are
|
|
39
|
-
* not part of the ISO-8601 standard.
|
|
40
|
-
* <p>
|
|
41
|
-
* Note that the date style format {@code PYYYY-MM-DDTHH:MM:SS} is not supported.
|
|
42
|
-
* <p>
|
|
43
|
-
* For example, the following are valid inputs:
|
|
44
|
-
* <pre>
|
|
45
|
-
* "P2Y" -- PeriodDuration.of(Period.ofYears(2))
|
|
46
|
-
* "P3M" -- PeriodDuration.of(Period.ofMonths(3))
|
|
47
|
-
* "P4W" -- PeriodDuration.of(Period.ofWeeks(4))
|
|
48
|
-
* "P5D" -- PeriodDuration.of(Period.ofDays(5))
|
|
49
|
-
* "PT6H" -- PeriodDuration.of(Duration.ofHours(6))
|
|
50
|
-
* "P1Y2M3D" -- PeriodDuration.of(Period.of(1, 2, 3))
|
|
51
|
-
* "P1Y2M3W4DT8H" -- PeriodDuration.of(Period.of(1, 2, 25), Duration.ofHours(8))
|
|
52
|
-
* "P-1Y2M" -- PeriodDuration.of(Period.of(-1, 2, 0))
|
|
53
|
-
* "-P1Y2M" -- PeriodDuration.of(Period.of(-1, -2, 0))
|
|
54
|
-
* </pre>
|
|
55
|
-
*
|
|
56
|
-
* @param text the text to parse, not null
|
|
57
|
-
* @return the parsed period, not null
|
|
58
|
-
* @throws DateTimeParseException if the text cannot be parsed to a period
|
|
59
|
-
*/
|
|
60
|
-
static parse(text) {
|
|
61
|
-
// Objects.requireNonNull(text, "text");
|
|
62
|
-
let upper = text.toString().toUpperCase();
|
|
63
|
-
let negate = '';
|
|
64
|
-
if (upper.startsWith('+')) {
|
|
65
|
-
upper = upper.substring(1);
|
|
66
|
-
}
|
|
67
|
-
else if (upper.startsWith('-')) {
|
|
68
|
-
upper = upper.substring(1);
|
|
69
|
-
negate = '-';
|
|
70
|
-
}
|
|
71
|
-
// duration only, parse original text so it does negation
|
|
72
|
-
if (upper.startsWith('PT')) {
|
|
73
|
-
return PeriodDuration.ofDuration(Duration.parse(text));
|
|
74
|
-
}
|
|
75
|
-
// period only, parse original text so it does negation
|
|
76
|
-
const tpos = upper.indexOf('T');
|
|
77
|
-
if (tpos < 0) {
|
|
78
|
-
return PeriodDuration.ofPeriod(Period.parse(text));
|
|
79
|
-
}
|
|
80
|
-
// period and duration
|
|
81
|
-
const period = Period.parse(negate + upper.substring(0, tpos));
|
|
82
|
-
const duration = Duration.parse(negate + 'P' + upper.substring(tpos));
|
|
83
|
-
return PeriodDuration.of(period, duration);
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Obtains an instance consisting of the amount of time between two temporals.
|
|
87
|
-
* <p>
|
|
88
|
-
* The start is included, but the end is not.
|
|
89
|
-
* The result of this method can be negative if the end is before the start.
|
|
90
|
-
* <p>
|
|
91
|
-
* The calculation examines the temporals and extracts {@link LocalDate} and {@link LocalTime}.
|
|
92
|
-
* If the time is missing, it will be defaulted to midnight.
|
|
93
|
-
* If one date is missing, it will be defaulted to the other date.
|
|
94
|
-
* It then finds the amount of time between the two dates and between the two times.
|
|
95
|
-
*
|
|
96
|
-
* @param startInclusive the start, inclusive, not null
|
|
97
|
-
* @param endExclusive the end, exclusive, not null
|
|
98
|
-
* @return the number of days between this date and the end date, not null
|
|
99
|
-
*/
|
|
100
|
-
static between(startInclusive, endExclusive) {
|
|
101
|
-
const startDate = startInclusive.query(TemporalQueries.localDate());
|
|
102
|
-
const endDate = endExclusive.query(TemporalQueries.localDate());
|
|
103
|
-
let period = Period.ZERO;
|
|
104
|
-
if (startDate != null && endDate != null) {
|
|
105
|
-
period = Period.between(startDate, endDate);
|
|
106
|
-
}
|
|
107
|
-
let startTime = startInclusive.query(TemporalQueries.localTime());
|
|
108
|
-
let endTime = endExclusive.query(TemporalQueries.localTime());
|
|
109
|
-
startTime = startTime != null ? startTime : LocalTime.MIDNIGHT;
|
|
110
|
-
endTime = endTime != null ? endTime : LocalTime.MIDNIGHT;
|
|
111
|
-
const duration = Duration.between(startTime, endTime);
|
|
112
|
-
return PeriodDuration.of(period, duration);
|
|
113
|
-
}
|
|
114
|
-
static ofPeriod(period) {
|
|
115
|
-
return PeriodDuration.of(period, Duration.ZERO);
|
|
116
|
-
}
|
|
117
|
-
static ofDuration(duration) {
|
|
118
|
-
return PeriodDuration.of(Period.ZERO, duration);
|
|
119
|
-
}
|
|
120
|
-
static of(period, duration) {
|
|
121
|
-
if (!period) {
|
|
122
|
-
throw new Error('Parameter period must not be null!');
|
|
123
|
-
}
|
|
124
|
-
if (!duration) {
|
|
125
|
-
throw new Error('Parameter duration must not be null!');
|
|
126
|
-
}
|
|
127
|
-
return new PeriodDuration(period, duration);
|
|
128
|
-
}
|
|
129
|
-
static zero() {
|
|
130
|
-
return this.of(Period.ZERO, Duration.ZERO);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyaW9kLWR1cmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL3RpbWUvcGVyaW9kLWR1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBWSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFdEYsTUFBTSxPQUFPLGNBQWM7SUFVekI7Ozs7Z0ZBSTRFO0lBRTVFLFlBQW9CLE1BQWMsRUFBRSxRQUFrQjtRQUNwRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtJQUMxQixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0EwQ0c7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQVk7UUFDOUIsd0NBQXdDO1FBQ3hDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUN6QyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDZixJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxQixLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM1QixDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDakMsS0FBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDMUIsTUFBTSxHQUFHLEdBQUcsQ0FBQTtRQUNkLENBQUM7UUFDRCx5REFBeUQ7UUFDekQsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLElB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UUFDekQsQ0FBQztRQUVELE9BQU8sSUFBSSxjQUFjLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBSTtRQUNoQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDNUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24sIExvY2FsVGltZSwgUGVyaW9kLCBUZW1wb3JhbCwgVGVtcG9yYWxRdWVyaWVzIH0gZnJvbSAnQGpzLWpvZGEvY29yZSdcblxuZXhwb3J0IGNsYXNzIFBlcmlvZER1cmF0aW9uIHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHJlYWRvbmx5IHBlcmlvZDogUGVyaW9kXG4gIHB1YmxpYyByZWFkb25seSBkdXJhdGlvbjogRHVyYXRpb25cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHBlcmlvZDogUGVyaW9kLCBkdXJhdGlvbjogRHVyYXRpb24pIHtcbiAgICB0aGlzLnBlcmlvZCA9IHBlcmlvZFxuICAgIHRoaXMuZHVyYXRpb24gPSBkdXJhdGlvblxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFN0YXRpYyBCdWlsZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIE9idGFpbnMgYW4gaW5zdGFuY2UgZnJvbSBhIHRleHQgc3RyaW5nIHN1Y2ggYXMge0Bjb2RlIFBuWW5NbkRUbkhuTW5TfS5cbiAgICogPHA+XG4gICAqIFRoaXMgd2lsbCBwYXJzZSB0aGUgc3RyaW5nIHByb2R1Y2VkIGJ5IHtAY29kZSB0b1N0cmluZygpfSB3aGljaCBpc1xuICAgKiBiYXNlZCBvbiB0aGUgSVNPLTg2MDEgcGVyaW9kIGZvcm1hdHMge0Bjb2RlIFBuWW5NbkRUbkhuTW5TfSBhbmQge0Bjb2RlIFBuV30uXG4gICAqIDxwPlxuICAgKiBUaGUgc3RyaW5nIHN0YXJ0cyB3aXRoIGFuIG9wdGlvbmFsIHNpZ24sIGRlbm90ZWQgYnkgdGhlIEFTQ0lJIG5lZ2F0aXZlXG4gICAqIG9yIHBvc2l0aXZlIHN5bWJvbC4gSWYgbmVnYXRpdmUsIHRoZSB3aG9sZSBhbW91bnQgaXMgbmVnYXRlZC5cbiAgICogVGhlIEFTQ0lJIGxldHRlciBcIlBcIiBpcyBuZXh0IGluIHVwcGVyIG9yIGxvd2VyIGNhc2UuXG4gICAqIFRoZXJlIGFyZSB0aGVuIGEgbnVtYmVyIG9mIHNlY3Rpb25zLCBlYWNoIGNvbnNpc3Rpbmcgb2YgYSBudW1iZXIgYW5kIGEgc3VmZml4LlxuICAgKiBBdCBsZWFzdCBvbmUgb2YgdGhlIHNlY3Rpb25zIG11c3QgYmUgcHJlc2VudC5cbiAgICogVGhlIHNlY3Rpb25zIGhhdmUgc3VmZml4ZXMgaW4gQVNDSUkgb2YgXCJZXCIgZm9yIHllYXJzLCBcIk1cIiBmb3IgbW9udGhzLFxuICAgKiBcIldcIiBmb3Igd2Vla3MsIFwiRFwiIGZvciBkYXlzLCBcIkhcIiBmb3IgaG91cnMsIFwiTVwiIGZvciBtaW51dGVzLCBcIlNcIiBmb3Igc2Vjb25kcyxcbiAgICogYWNjZXB0ZWQgaW4gdXBwZXIgb3IgbG93ZXIgY2FzZS4gTm90ZSB0aGF0IHRoZSBBU0NJSSBsZXR0ZXIgXCJUXCIgc2VwYXJhdGVzXG4gICAqIHRoZSBkYXRlIGFuZCB0aW1lIHBhcnRzIGFuZCBtdXN0IGJlIHByZXNlbnQgaWYgYW55IHRpbWUgcGFydCBpcyBwcmVzZW50LlxuICAgKiBUaGUgc3VmZml4ZXMgbXVzdCBvY2N1ciBpbiBvcmRlci5cbiAgICogVGhlIG51bWJlciBwYXJ0IG9mIGVhY2ggc2VjdGlvbiBtdXN0IGNvbnNpc3Qgb2YgQVNDSUkgZGlnaXRzLlxuICAgKiBUaGUgbnVtYmVyIG1heSBiZSBwcmVmaXhlZCBieSB0aGUgQVNDSUkgbmVnYXRpdmUgb3IgcG9zaXRpdmUgc3ltYm9sLlxuICAgKiBUaGUgbnVtYmVyIG11c3QgcGFyc2UgdG8gYW4ge0Bjb2RlIGludH0uXG4gICAqIEFueSB3ZWVrLWJhc2VkIGlucHV0IGlzIG11bHRpcGxpZWQgYnkgNyBhbmQgdHJlYXRlZCBhcyBhIG51bWJlciBvZiBkYXlzLlxuICAgKiA8cD5cbiAgICogVGhlIGxlYWRpbmcgcGx1cy9taW51cyBzaWduLCBhbmQgbmVnYXRpdmUgdmFsdWVzIGZvciB3ZWVrcyBhbmQgZGF5cyBhcmVcbiAgICogbm90IHBhcnQgb2YgdGhlIElTTy04NjAxIHN0YW5kYXJkLlxuICAgKiA8cD5cbiAgICogTm90ZSB0aGF0IHRoZSBkYXRlIHN0eWxlIGZvcm1hdCB7QGNvZGUgUFlZWVktTU0tRERUSEg6TU06U1N9IGlzIG5vdCBzdXBwb3J0ZWQuXG4gICAqIDxwPlxuICAgKiBGb3IgZXhhbXBsZSwgdGhlIGZvbGxvd2luZyBhcmUgdmFsaWQgaW5wdXRzOlxuICAgKiA8cHJlPlxuICAgKiAgIFwiUDJZXCIgICAgICAgICAgICAgLS0gUGVyaW9kRHVyYXRpb24ub2YoUGVyaW9kLm9mWWVhcnMoMikpXG4gICAqICAgXCJQM01cIiAgICAgICAgICAgICAtLSBQZXJpb2REdXJhdGlvbi5vZihQZXJpb2Qub2ZNb250aHMoMykpXG4gICAqICAgXCJQNFdcIiAgICAgICAgICAgICAtLSBQZXJpb2REdXJhdGlvbi5vZihQZXJpb2Qub2ZXZWVrcyg0KSlcbiAgICogICBcIlA1RFwiICAgICAgICAgICAgIC0tIFBlcmlvZER1cmF0aW9uLm9mKFBlcmlvZC5vZkRheXMoNSkpXG4gICAqICAgXCJQVDZIXCIgICAgICAgICAgICAtLSBQZXJpb2REdXJhdGlvbi5vZihEdXJhdGlvbi5vZkhvdXJzKDYpKVxuICAgKiAgIFwiUDFZMk0zRFwiICAgICAgICAgLS0gUGVyaW9kRHVyYXRpb24ub2YoUGVyaW9kLm9mKDEsIDIsIDMpKVxuICAgKiAgIFwiUDFZMk0zVzREVDhIXCIgICAgLS0gUGVyaW9kRHVyYXRpb24ub2YoUGVyaW9kLm9mKDEsIDIsIDI1KSwgRHVyYXRpb24ub2ZIb3Vycyg4KSlcbiAgICogICBcIlAtMVkyTVwiICAgICAgICAgIC0tIFBlcmlvZER1cmF0aW9uLm9mKFBlcmlvZC5vZigtMSwgMiwgMCkpXG4gICAqICAgXCItUDFZMk1cIiAgICAgICAgICAtLSBQZXJpb2REdXJhdGlvbi5vZihQZXJpb2Qub2YoLTEsIC0yLCAwKSlcbiAgICogPC9wcmU+XG4gICAqXG4gICAqIEBwYXJhbSB0ZXh0ICB0aGUgdGV4dCB0byBwYXJzZSwgbm90IG51bGxcbiAgICogQHJldHVybiB0aGUgcGFyc2VkIHBlcmlvZCwgbm90IG51bGxcbiAgICogQHRocm93cyBEYXRlVGltZVBhcnNlRXhjZXB0aW9uIGlmIHRoZSB0ZXh0IGNhbm5vdCBiZSBwYXJzZWQgdG8gYSBwZXJpb2RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcGFyc2UodGV4dDogc3RyaW5nKTogUGVyaW9kRHVyYXRpb24ge1xuICAgIC8vIE9iamVjdHMucmVxdWlyZU5vbk51bGwodGV4dCwgXCJ0ZXh0XCIpO1xuICAgIGxldCB1cHBlciA9IHRleHQudG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpXG4gICAgbGV0IG5lZ2F0ZSA9ICcnXG4gICAgaWYgKHVwcGVyLnN0YXJ0c1dpdGgoJysnKSkge1xuICAgICAgdXBwZXIgPSB1cHBlci5zdWJzdHJpbmcoMSlcbiAgICB9IGVsc2UgaWYgKHVwcGVyLnN0YXJ0c1dpdGgoJy0nKSkge1xuICAgICAgdXBwZXIgPSB1cHBlci5zdWJzdHJpbmcoMSlcbiAgICAgIG5lZ2F0ZSA9ICctJ1xuICAgIH1cbiAgICAvLyBkdXJhdGlvbiBvbmx5LCBwYXJzZSBvcmlnaW5hbCB0ZXh0IHNvIGl0IGRvZXMgbmVnYXRpb25cbiAgICBpZiAodXBwZXIuc3RhcnRzV2l0aCgnUFQnKSkge1xuICAgICAgcmV0dXJuIFBlcmlvZER1cmF0aW9uLm9mRHVyYXRpb24oRHVyYXRpb24ucGFyc2UodGV4dCkpXG4gICAgfVxuICAgIC8vIHBlcmlvZCBvbmx5LCBwYXJzZSBvcmlnaW5hbCB0ZXh0IHNvIGl0IGRvZXMgbmVnYXRpb25cbiAgICBjb25zdCB0cG9zID0gdXBwZXIuaW5kZXhPZignVCcpXG4gICAgaWYgKHRwb3MgPCAwKSB7XG4gICAgICByZXR1cm4gUGVyaW9kRHVyYXRpb24ub2ZQZXJpb2QoUGVyaW9kLnBhcnNlKHRleHQpKVxuICAgIH1cbiAgICAvLyBwZXJpb2QgYW5kIGR1cmF0aW9uXG4gICAgY29uc3QgcGVyaW9kID0gUGVyaW9kLnBhcnNlKG5lZ2F0ZSArIHVwcGVyLnN1YnN0cmluZygwLCB0cG9zKSlcbiAgICBjb25zdCBkdXJhdGlvbiA9IER1cmF0aW9uLnBhcnNlKG5lZ2F0ZSArICdQJyArIHVwcGVyLnN1YnN0cmluZyh0cG9zKSlcbiAgICByZXR1cm4gUGVyaW9kRHVyYXRpb24ub2YocGVyaW9kLCBkdXJhdGlvbilcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRhaW5zIGFuIGluc3RhbmNlIGNvbnNpc3Rpbmcgb2YgdGhlIGFtb3VudCBvZiB0aW1lIGJldHdlZW4gdHdvIHRlbXBvcmFscy5cbiAgICogPHA+XG4gICAqIFRoZSBzdGFydCBpcyBpbmNsdWRlZCwgYnV0IHRoZSBlbmQgaXMgbm90LlxuICAgKiBUaGUgcmVzdWx0IG9mIHRoaXMgbWV0aG9kIGNhbiBiZSBuZWdhdGl2ZSBpZiB0aGUgZW5kIGlzIGJlZm9yZSB0aGUgc3RhcnQuXG4gICAqIDxwPlxuICAgKiBUaGUgY2FsY3VsYXRpb24gZXhhbWluZXMgdGhlIHRlbXBvcmFscyBhbmQgZXh0cmFjdHMge0BsaW5rIExvY2FsRGF0ZX0gYW5kIHtAbGluayBMb2NhbFRpbWV9LlxuICAgKiBJZiB0aGUgdGltZSBpcyBtaXNzaW5nLCBpdCB3aWxsIGJlIGRlZmF1bHRlZCB0byBtaWRuaWdodC5cbiAgICogSWYgb25lIGRhdGUgaXMgbWlzc2luZywgaXQgd2lsbCBiZSBkZWZhdWx0ZWQgdG8gdGhlIG90aGVyIGRhdGUuXG4gICAqIEl0IHRoZW4gZmluZHMgdGhlIGFtb3VudCBvZiB0aW1lIGJldHdlZW4gdGhlIHR3byBkYXRlcyBhbmQgYmV0d2VlbiB0aGUgdHdvIHRpbWVzLlxuICAgKlxuICAgKiBAcGFyYW0gc3RhcnRJbmNsdXNpdmUgIHRoZSBzdGFydCwgaW5jbHVzaXZlLCBub3QgbnVsbFxuICAgKiBAcGFyYW0gZW5kRXhjbHVzaXZlICB0aGUgZW5kLCBleGNsdXNpdmUsIG5vdCBudWxsXG4gICAqIEByZXR1cm4gdGhlIG51bWJlciBvZiBkYXlzIGJldHdlZW4gdGhpcyBkYXRlIGFuZCB0aGUgZW5kIGRhdGUsIG5vdCBudWxsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGJldHdlZW4oc3RhcnRJbmNsdXNpdmU6IFRlbXBvcmFsLCBlbmRFeGNsdXNpdmU6IFRlbXBvcmFsKTogUGVyaW9kRHVyYXRpb24ge1xuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHN0YXJ0SW5jbHVzaXZlLnF1ZXJ5KFRlbXBvcmFsUXVlcmllcy5sb2NhbERhdGUoKSlcbiAgICBjb25zdCBlbmREYXRlID0gZW5kRXhjbHVzaXZlLnF1ZXJ5KFRlbXBvcmFsUXVlcmllcy5sb2NhbERhdGUoKSlcbiAgICBsZXQgcGVyaW9kID0gUGVyaW9kLlpFUk9cbiAgICBpZiAoc3RhcnREYXRlICE9IG51bGwgJiYgZW5kRGF0ZSAhPSBudWxsKSB7XG4gICAgICBwZXJpb2QgPSBQZXJpb2QuYmV0d2VlbihzdGFydERhdGUsIGVuZERhdGUpXG4gICAgfVxuICAgIGxldCBzdGFydFRpbWUgPSBzdGFydEluY2x1c2l2ZS5xdWVyeShUZW1wb3JhbFF1ZXJpZXMubG9jYWxUaW1lKCkpXG4gICAgbGV0IGVuZFRpbWUgPSBlbmRFeGNsdXNpdmUucXVlcnkoVGVtcG9yYWxRdWVyaWVzLmxvY2FsVGltZSgpKVxuICAgIHN0YXJ0VGltZSA9IHN0YXJ0VGltZSAhPSBudWxsID8gc3RhcnRUaW1lIDogTG9jYWxUaW1lLk1JRE5JR0hUXG4gICAgZW5kVGltZSA9IGVuZFRpbWUgIT0gbnVsbCA/IGVuZFRpbWUgOiBMb2NhbFRpbWUuTUlETklHSFRcbiAgICBjb25zdCBkdXJhdGlvbiA9IER1cmF0aW9uLmJldHdlZW4oc3RhcnRUaW1lLCBlbmRUaW1lKVxuICAgIHJldHVybiBQZXJpb2REdXJhdGlvbi5vZihwZXJpb2QsIGR1cmF0aW9uKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBvZlBlcmlvZChwZXJpb2Q6IFBlcmlvZCk6IFBlcmlvZER1cmF0aW9uIHtcbiAgICByZXR1cm4gUGVyaW9kRHVyYXRpb24ub2YocGVyaW9kLCBEdXJhdGlvbi5aRVJPKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBvZkR1cmF0aW9uKGR1cmF0aW9uOiBEdXJhdGlvbik6IFBlcmlvZER1cmF0aW9uIHtcbiAgICByZXR1cm4gUGVyaW9kRHVyYXRpb24ub2YoUGVyaW9kLlpFUk8sIGR1cmF0aW9uKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBvZihwZXJpb2Q6IFBlcmlvZCwgZHVyYXRpb246IER1cmF0aW9uKTogUGVyaW9kRHVyYXRpb24ge1xuICAgIGlmICghcGVyaW9kKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BhcmFtZXRlciBwZXJpb2QgbXVzdCBub3QgYmUgbnVsbCEnKVxuICAgIH1cbiAgICBpZiAoIWR1cmF0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BhcmFtZXRlciBkdXJhdGlvbiBtdXN0IG5vdCBiZSBudWxsIScpXG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQZXJpb2REdXJhdGlvbihwZXJpb2QsIGR1cmF0aW9uKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyB6ZXJvKCk6IFBlcmlvZER1cmF0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5vZihQZXJpb2QuWkVSTywgRHVyYXRpb24uWkVSTylcbiAgfVxufVxuIl19
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from './period-duration';
|
|
2
|
-
export * from './interval';
|
|
3
|
-
export * from './interval-coerce';
|
|
4
|
-
export * from './time-util';
|
|
5
|
-
export * from './date-util';
|
|
6
|
-
export * from './temporal-util';
|
|
7
|
-
export * from './temporal-plain-date-interval';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi90aW1lL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQTtBQUNqQyxjQUFjLFlBQVksQ0FBQTtBQUMxQixjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsaUJBQWlCLENBQUE7QUFDL0IsY0FBYyxnQ0FBZ0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGVyaW9kLWR1cmF0aW9uJ1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcnZhbCdcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJ2YWwtY29lcmNlJ1xuZXhwb3J0ICogZnJvbSAnLi90aW1lLXV0aWwnXG5leHBvcnQgKiBmcm9tICcuL2RhdGUtdXRpbCdcbmV4cG9ydCAqIGZyb20gJy4vdGVtcG9yYWwtdXRpbCdcbmV4cG9ydCAqIGZyb20gJy4vdGVtcG9yYWwtcGxhaW4tZGF0ZS1pbnRlcnZhbCdcbiJdfQ==
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
export class TemporalPlainDateInterval {
|
|
2
|
-
constructor(start, end) {
|
|
3
|
-
this.start = start;
|
|
4
|
-
this.end = end;
|
|
5
|
-
}
|
|
6
|
-
shiftDays(days) {
|
|
7
|
-
return new TemporalPlainDateInterval(this.start.add({ days }), this.end.add({ days }));
|
|
8
|
-
}
|
|
9
|
-
shiftMonths(months) {
|
|
10
|
-
return new TemporalPlainDateInterval(this.start.add({ months }), this.end.add({ months }));
|
|
11
|
-
}
|
|
12
|
-
shiftYears(years) {
|
|
13
|
-
return new TemporalPlainDateInterval(this.start.add({ years }), this.end.add({ years }));
|
|
14
|
-
}
|
|
15
|
-
toString() {
|
|
16
|
-
return `${this.start.toString()} - ${this.end.toString()} (duration: ${this.getDurationInDays()} days)`;
|
|
17
|
-
}
|
|
18
|
-
getDuration() {
|
|
19
|
-
return this.start.until(this.end);
|
|
20
|
-
}
|
|
21
|
-
getDurationInDays() {
|
|
22
|
-
return this.getDuration().days;
|
|
23
|
-
}
|
|
24
|
-
getDurationInWeeks() {
|
|
25
|
-
return this.getDurationInDays() / 7;
|
|
26
|
-
}
|
|
27
|
-
getDurationInMonths() {
|
|
28
|
-
return this.getDuration().months;
|
|
29
|
-
}
|
|
30
|
-
getDurationInYears() {
|
|
31
|
-
return this.getDuration().years;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcG9yYWwtcGxhaW4tZGF0ZS1pbnRlcnZhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi90aW1lL3RlbXBvcmFsLXBsYWluLWRhdGUtaW50ZXJ2YWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHlCQUF5QjtJQUlwQyxZQUFZLEtBQXlCLEVBQUUsR0FBdUI7UUFDNUQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7UUFDbEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUE7SUFDaEIsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZO1FBQ3BCLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDeEYsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjO1FBQ3hCLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDNUYsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDMUYsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxlQUFlLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUE7SUFDekcsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFBO0lBQ2hDLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUE7SUFDbEMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUE7SUFDakMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcG9yYWwgfSBmcm9tICdAanMtdGVtcG9yYWwvcG9seWZpbGwnXG5cbmV4cG9ydCBjbGFzcyBUZW1wb3JhbFBsYWluRGF0ZUludGVydmFsIHtcbiAgc3RhcnQ6IFRlbXBvcmFsLlBsYWluRGF0ZVxuICBlbmQ6IFRlbXBvcmFsLlBsYWluRGF0ZVxuXG4gIGNvbnN0cnVjdG9yKHN0YXJ0OiBUZW1wb3JhbC5QbGFpbkRhdGUsIGVuZDogVGVtcG9yYWwuUGxhaW5EYXRlKSB7XG4gICAgdGhpcy5zdGFydCA9IHN0YXJ0XG4gICAgdGhpcy5lbmQgPSBlbmRcbiAgfVxuXG4gIHNoaWZ0RGF5cyhkYXlzOiBudW1iZXIpOiBUZW1wb3JhbFBsYWluRGF0ZUludGVydmFsIHtcbiAgICByZXR1cm4gbmV3IFRlbXBvcmFsUGxhaW5EYXRlSW50ZXJ2YWwodGhpcy5zdGFydC5hZGQoeyBkYXlzIH0pLCB0aGlzLmVuZC5hZGQoeyBkYXlzIH0pKVxuICB9XG5cbiAgc2hpZnRNb250aHMobW9udGhzOiBudW1iZXIpOiBUZW1wb3JhbFBsYWluRGF0ZUludGVydmFsIHtcbiAgICByZXR1cm4gbmV3IFRlbXBvcmFsUGxhaW5EYXRlSW50ZXJ2YWwodGhpcy5zdGFydC5hZGQoeyBtb250aHMgfSksIHRoaXMuZW5kLmFkZCh7IG1vbnRocyB9KSlcbiAgfVxuXG4gIHNoaWZ0WWVhcnMoeWVhcnM6IG51bWJlcik6IFRlbXBvcmFsUGxhaW5EYXRlSW50ZXJ2YWwge1xuICAgIHJldHVybiBuZXcgVGVtcG9yYWxQbGFpbkRhdGVJbnRlcnZhbCh0aGlzLnN0YXJ0LmFkZCh7IHllYXJzIH0pLCB0aGlzLmVuZC5hZGQoeyB5ZWFycyB9KSlcbiAgfVxuXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuc3RhcnQudG9TdHJpbmcoKX0gLSAke3RoaXMuZW5kLnRvU3RyaW5nKCl9IChkdXJhdGlvbjogJHt0aGlzLmdldER1cmF0aW9uSW5EYXlzKCl9IGRheXMpYFxuICB9XG5cbiAgZ2V0RHVyYXRpb24oKTogVGVtcG9yYWwuRHVyYXRpb24ge1xuICAgIHJldHVybiB0aGlzLnN0YXJ0LnVudGlsKHRoaXMuZW5kKVxuICB9XG5cbiAgZ2V0RHVyYXRpb25JbkRheXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXREdXJhdGlvbigpLmRheXNcbiAgfVxuXG4gIGdldER1cmF0aW9uSW5XZWVrcygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldER1cmF0aW9uSW5EYXlzKCkgLyA3XG4gIH1cblxuICBnZXREdXJhdGlvbkluTW9udGhzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RHVyYXRpb24oKS5tb250aHNcbiAgfVxuXG4gIGdldER1cmF0aW9uSW5ZZWFycygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldER1cmF0aW9uKCkueWVhcnNcbiAgfVxufVxuIl19
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
import { Temporal } from '@js-temporal/polyfill';
|
|
2
|
-
import { TemporalPlainDateInterval } from './temporal-plain-date-interval';
|
|
3
|
-
export class TemporalUtil {
|
|
4
|
-
static equalPlainDates(a, b) {
|
|
5
|
-
if (a && b) {
|
|
6
|
-
return a.equals(b);
|
|
7
|
-
}
|
|
8
|
-
return a == b;
|
|
9
|
-
}
|
|
10
|
-
static equalPlainTimes(a, b) {
|
|
11
|
-
if (a && b) {
|
|
12
|
-
return a.equals(b);
|
|
13
|
-
}
|
|
14
|
-
return a == b;
|
|
15
|
-
}
|
|
16
|
-
static getJSDateFromPlainDateTime(date) {
|
|
17
|
-
if (date instanceof Temporal.PlainDateTime) {
|
|
18
|
-
return new Date(date.year, date.month - 1, date.day, date.hour, date.minute, date.second, date.millisecond);
|
|
19
|
-
}
|
|
20
|
-
return new Date(date.year, date.month - 1, date.day);
|
|
21
|
-
}
|
|
22
|
-
static getPlainDateTimeFromJSDate(date) {
|
|
23
|
-
const instant = Temporal.Instant.fromEpochMilliseconds(date.getTime());
|
|
24
|
-
const dateTimeIso = instant.toZonedDateTimeISO(Temporal.Now.timeZoneId());
|
|
25
|
-
return Temporal.PlainDateTime.from(dateTimeIso);
|
|
26
|
-
}
|
|
27
|
-
static getPlainDateTimeFromPlainDateAndPlainTime(date, time) {
|
|
28
|
-
return Temporal.PlainDateTime.from({
|
|
29
|
-
year: date.year,
|
|
30
|
-
month: date.month,
|
|
31
|
-
day: date.day,
|
|
32
|
-
hour: time.hour,
|
|
33
|
-
minute: time.minute,
|
|
34
|
-
second: time.second,
|
|
35
|
-
millisecond: time.millisecond,
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
static isFirstDayOfWeek(date) {
|
|
39
|
-
return date.dayOfWeek === 1;
|
|
40
|
-
}
|
|
41
|
-
static getPlainDateFromJSDate(date) {
|
|
42
|
-
return this.createTemporalLocalizedDateFromTimestamp(date.getTime());
|
|
43
|
-
}
|
|
44
|
-
static getPlainTimeFromJSDate(date) {
|
|
45
|
-
const instant = Temporal.Instant.fromEpochMilliseconds(date.getTime());
|
|
46
|
-
const dateTimeIso = instant.toZonedDateTimeISO(Temporal.Now.timeZoneId());
|
|
47
|
-
return Temporal.PlainTime.from(dateTimeIso);
|
|
48
|
-
}
|
|
49
|
-
static getPlainDateTimeFromString(dateString) {
|
|
50
|
-
let jsDate = null;
|
|
51
|
-
try {
|
|
52
|
-
jsDate = new Date(dateString);
|
|
53
|
-
if (typeof jsDate !== 'object' || jsDate.constructor.name !== 'Date') {
|
|
54
|
-
throw new Error('Invalid date string');
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
catch (e) {
|
|
58
|
-
console.warn('Invalid date string', dateString);
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
return this.getPlainDateTimeFromJSDate(jsDate);
|
|
62
|
-
}
|
|
63
|
-
static getHtmlTimeStringFromPlainTime(time) {
|
|
64
|
-
if (!time) {
|
|
65
|
-
return '00:00:00';
|
|
66
|
-
}
|
|
67
|
-
return (time.hour.toString().padStart(2, '0') +
|
|
68
|
-
':' +
|
|
69
|
-
time.minute.toString().padStart(2, '0') +
|
|
70
|
-
':' +
|
|
71
|
-
time.second.toString().padStart(2, '0'));
|
|
72
|
-
}
|
|
73
|
-
static getQuarterForDate(date = TemporalUtil.getDateTodayLocalized()) {
|
|
74
|
-
return Math.floor((date.month - 1) / 3) + 1;
|
|
75
|
-
}
|
|
76
|
-
static getCurrentDay(referenceDate = TemporalUtil.getDateTodayLocalized()) {
|
|
77
|
-
const today = referenceDate;
|
|
78
|
-
const tomorrow = today.add({ days: 1 });
|
|
79
|
-
return new TemporalPlainDateInterval(today, tomorrow);
|
|
80
|
-
}
|
|
81
|
-
static getYesterday(referenceDate = TemporalUtil.getDateTodayLocalized()) {
|
|
82
|
-
const yesterday = referenceDate.subtract({ days: 1 });
|
|
83
|
-
return new TemporalPlainDateInterval(yesterday, referenceDate);
|
|
84
|
-
}
|
|
85
|
-
static getLastSevenDays(referenceDate = TemporalUtil.getDateTodayLocalized()) {
|
|
86
|
-
return new TemporalPlainDateInterval(referenceDate.subtract({ days: 7 }), referenceDate);
|
|
87
|
-
}
|
|
88
|
-
static getLastSevenDaysIncludingToday(referenceDate = TemporalUtil.getDateTodayLocalized()) {
|
|
89
|
-
return new TemporalPlainDateInterval(referenceDate.subtract({ days: 7 - 1 }), referenceDate.add({ days: 1 }));
|
|
90
|
-
}
|
|
91
|
-
static getLastThirtyDays(referenceDate = TemporalUtil.getDateTodayLocalized()) {
|
|
92
|
-
return new TemporalPlainDateInterval(referenceDate.subtract({ days: 30 }), referenceDate);
|
|
93
|
-
}
|
|
94
|
-
static getLastThirtyDaysIncludingToday(referenceDate = TemporalUtil.getDateTodayLocalized()) {
|
|
95
|
-
return new TemporalPlainDateInterval(referenceDate.subtract({ days: 30 - 1 }), referenceDate.add({ days: 1 }));
|
|
96
|
-
}
|
|
97
|
-
static getCurrentWeek(referenceDate = TemporalUtil.getDateTodayLocalized()) {
|
|
98
|
-
const startOfWeek = referenceDate.subtract({
|
|
99
|
-
days: referenceDate.dayOfWeek - 1,
|
|
100
|
-
});
|
|
101
|
-
const endOfWeek = startOfWeek.add({ days: 7 });
|
|
102
|
-
return new TemporalPlainDateInterval(startOfWeek, endOfWeek);
|
|
103
|
-
}
|
|
104
|
-
static getCurrentMonth(referenceDate = TemporalUtil.getDateTodayLocalized()) {
|
|
105
|
-
const startOfMonth = referenceDate.subtract({
|
|
106
|
-
days: referenceDate.day - 1,
|
|
107
|
-
});
|
|
108
|
-
const endOfMonth = startOfMonth.add({ months: 1 });
|
|
109
|
-
return new TemporalPlainDateInterval(startOfMonth, endOfMonth);
|
|
110
|
-
}
|
|
111
|
-
static getCurrentQuarter(referenceDate = TemporalUtil.getDateTodayLocalized()) {
|
|
112
|
-
const quarter = Math.floor((referenceDate.month - 1) / 3);
|
|
113
|
-
const startOfQuarter = referenceDate.subtract({
|
|
114
|
-
months: referenceDate.month - 1 - quarter * 3,
|
|
115
|
-
days: referenceDate.day - 1,
|
|
116
|
-
});
|
|
117
|
-
const endOfQuarter = startOfQuarter.add({ months: 3 });
|
|
118
|
-
return new TemporalPlainDateInterval(startOfQuarter, endOfQuarter);
|
|
119
|
-
}
|
|
120
|
-
static getPreviousQuarter(referenceDate = TemporalUtil.getDateTodayLocalized()) {
|
|
121
|
-
return TemporalUtil.getCurrentQuarter(referenceDate).shiftMonths(-3);
|
|
122
|
-
}
|
|
123
|
-
static getCurrentYear(referenceDate = TemporalUtil.getDateTodayLocalized()) {
|
|
124
|
-
const startOfYear = referenceDate.subtract({
|
|
125
|
-
days: referenceDate.dayOfYear - 1,
|
|
126
|
-
});
|
|
127
|
-
const endOfYear = startOfYear.add({ years: 1 });
|
|
128
|
-
return new TemporalPlainDateInterval(startOfYear, endOfYear);
|
|
129
|
-
}
|
|
130
|
-
static getPreviousYear(referenceDate = TemporalUtil.getDateTodayLocalized()) {
|
|
131
|
-
return TemporalUtil.getCurrentYear(referenceDate).shiftYears(-1);
|
|
132
|
-
}
|
|
133
|
-
static getNextYear(referenceDate = TemporalUtil.getDateTodayLocalized()) {
|
|
134
|
-
return TemporalUtil.getCurrentYear(referenceDate).shiftYears(1);
|
|
135
|
-
}
|
|
136
|
-
static getLast365Days(referenceDate = TemporalUtil.getDateTodayLocalized()) {
|
|
137
|
-
return new TemporalPlainDateInterval(referenceDate.subtract({ days: 365 }), referenceDate);
|
|
138
|
-
}
|
|
139
|
-
static getLast90Days(referenceDate = TemporalUtil.getDateTodayLocalized()) {
|
|
140
|
-
return new TemporalPlainDateInterval(referenceDate.subtract({ days: 90 }), referenceDate);
|
|
141
|
-
}
|
|
142
|
-
static getPreviousMonth(referenceDate = TemporalUtil.getDateTodayLocalized()) {
|
|
143
|
-
return TemporalUtil.getCurrentMonth(referenceDate).shiftMonths(-1);
|
|
144
|
-
}
|
|
145
|
-
static getNextMonth(referenceDate = TemporalUtil.getDateTodayLocalized()) {
|
|
146
|
-
return TemporalUtil.getCurrentMonth(referenceDate).shiftMonths(1);
|
|
147
|
-
}
|
|
148
|
-
static getPreviousWeek(referenceDate = TemporalUtil.getDateTodayLocalized()) {
|
|
149
|
-
return TemporalUtil.getCurrentWeek(referenceDate).shiftDays(-7);
|
|
150
|
-
}
|
|
151
|
-
static getDateTodayLocalized() {
|
|
152
|
-
return this.createTemporalLocalizedDateFromTimestamp(Date.now());
|
|
153
|
-
}
|
|
154
|
-
static createTemporalLocalizedDateFromTimestamp(timestamp) {
|
|
155
|
-
const instant = Temporal.Instant.fromEpochMilliseconds(timestamp);
|
|
156
|
-
const dateTimeIso = instant.toZonedDateTimeISO(Temporal.Now.timeZoneId());
|
|
157
|
-
const date = Temporal.PlainDate.from(dateTimeIso);
|
|
158
|
-
return date;
|
|
159
|
-
}
|
|
160
|
-
static getHtmlDateString(date) {
|
|
161
|
-
if (!date) {
|
|
162
|
-
return '';
|
|
163
|
-
}
|
|
164
|
-
return (date.year +
|
|
165
|
-
'-' +
|
|
166
|
-
date.month.toString().padStart(2, '0') +
|
|
167
|
-
'-' +
|
|
168
|
-
date.day.toString().padStart(2, '0'));
|
|
169
|
-
}
|
|
170
|
-
static getPlainDateFromHtmlDateString(dateString) {
|
|
171
|
-
if (!dateString) {
|
|
172
|
-
return null;
|
|
173
|
-
}
|
|
174
|
-
const dateArr = dateString.split('-');
|
|
175
|
-
if (dateArr.length !== 3) {
|
|
176
|
-
return null;
|
|
177
|
-
}
|
|
178
|
-
return Temporal.PlainDate.from({
|
|
179
|
-
year: parseInt(dateArr[0]),
|
|
180
|
-
month: parseInt(dateArr[1]),
|
|
181
|
-
day: parseInt(dateArr[2]),
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
static getPlainTimeFromHtmlTimeString(timeString) {
|
|
185
|
-
if (!timeString) {
|
|
186
|
-
return null;
|
|
187
|
-
}
|
|
188
|
-
const timeArr = timeString.split(':');
|
|
189
|
-
if (timeArr.length !== 2 && timeArr.length !== 3) {
|
|
190
|
-
return null;
|
|
191
|
-
}
|
|
192
|
-
if (timeArr.length === 2) {
|
|
193
|
-
return Temporal.PlainTime.from({
|
|
194
|
-
hour: parseInt(timeArr[0]),
|
|
195
|
-
minute: parseInt(timeArr[1]),
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
return Temporal.PlainTime.from({
|
|
199
|
-
hour: parseInt(timeArr[0]),
|
|
200
|
-
minute: parseInt(timeArr[1]),
|
|
201
|
-
second: parseInt(timeArr[2]),
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcG9yYWwtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi90aW1lL3RlbXBvcmFsLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ2hELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBRTFFLE1BQU0sT0FBTyxZQUFZO0lBQ2hCLE1BQU0sQ0FBQyxlQUFlLENBQzNCLENBQWlDLEVBQ2pDLENBQWlDO1FBRWpDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3BCLENBQUM7UUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDZixDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FDM0IsQ0FBaUMsRUFDakMsQ0FBaUM7UUFFakMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDcEIsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNmLENBQUM7SUFFRCxNQUFNLENBQUMsMEJBQTBCLENBQUMsSUFBaUQ7UUFDakYsSUFBSSxJQUFJLFlBQVksUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNDLE9BQU8sSUFBSSxJQUFJLENBQ2IsSUFBSSxDQUFDLElBQUksRUFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFDZCxJQUFJLENBQUMsR0FBRyxFQUNSLElBQUksQ0FBQyxJQUFJLEVBQ1QsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxXQUFXLENBQ2pCLENB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QUksQ0FBQTtRQUNiLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekIsT0FBTyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDN0IsSUFBSSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFCLE1BQU0sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzdCLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQzdCLElBQUksRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLE1BQU0sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLE1BQU0sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdCLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBvcmFsIH0gZnJvbSAnQGpzLXRlbXBvcmFsL3BvbHlmaWxsJ1xuaW1wb3J0IHsgVGVtcG9yYWxQbGFpbkRhdGVJbnRlcnZhbCB9IGZyb20gJy4vdGVtcG9yYWwtcGxhaW4tZGF0ZS1pbnRlcnZhbCdcblxuZXhwb3J0IGNsYXNzIFRlbXBvcmFsVXRpbCB7XG4gIHB1YmxpYyBzdGF0aWMgZXF1YWxQbGFpbkRhdGVzKFxuICAgIGE6IFRlbXBvcmFsLlBsYWluRGF0ZSB8IHVuZGVmaW5lZCxcbiAgICBiOiBUZW1wb3JhbC5QbGFpbkRhdGUgfCB1bmRlZmluZWRcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKGEgJiYgYikge1xuICAgICAgcmV0dXJuIGEuZXF1YWxzKGIpXG4gICAgfVxuICAgIHJldHVybiBhID09IGJcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZXF1YWxQbGFpblRpbWVzKFxuICAgIGE6IFRlbXBvcmFsLlBsYWluVGltZSB8IHVuZGVmaW5lZCxcbiAgICBiOiBUZW1wb3JhbC5QbGFpblRpbWUgfCB1bmRlZmluZWRcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKGEgJiYgYikge1xuICAgICAgcmV0dXJuIGEuZXF1YWxzKGIpXG4gICAgfVxuICAgIHJldHVybiBhID09IGJcbiAgfVxuXG4gIHN0YXRpYyBnZXRKU0RhdGVGcm9tUGxhaW5EYXRlVGltZShkYXRlOiBUZW1wb3JhbC5QbGFpbkRhdGUgfCBUZW1wb3JhbC5QbGFpbkRhdGVUaW1lKTogRGF0ZSB7XG4gICAgaWYgKGRhdGUgaW5zdGFuY2VvZiBUZW1wb3JhbC5QbGFpbkRhdGVUaW1lKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGUoXG4gICAgICAgIGRhdGUueWVhcixcbiAgICAgICAgZGF0ZS5tb250aCAtIDEsXG4gICAgICAgIGRhdGUuZGF5LFxuICAgICAgICBkYXRlLmhvdXIsXG4gICAgICAgIGRhdGUubWludXRlLFxuICAgICAgICBkYXRlLnNlY29uZCxcbiAgICAgICAgZGF0ZS5taWxsaXNlY29uZFxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS55ZWFyLCBkYXRlLm1vbnRoIC0gMSwgZGF0ZS5kYXkpXG4gIH1cblxuICBzdGF0aWMgZ2V0UGxhaW5EYXRlVGltZUZyb21KU0RhdGUoZGF0ZTogRGF0ZSk6IFRlbXBvcmFsLlBsYWluRGF0ZVRpbWUge1xuICAgIGNvbnN0IGluc3RhbnQgPSBUZW1wb3JhbC5JbnN0YW50LmZyb21FcG9jaE1pbGxpc2Vjb25kcyhkYXRlLmdldFRpbWUoKSlcbiAgICBjb25zdCBkYXRlVGltZUlzbyA9IGluc3RhbnQudG9ab25lZERhdGVUaW1lSVNPKFRlbXBvcmFsLk5vdy50aW1lWm9uZUlkKCkpXG4gICAgcmV0dXJuIFRlbXBvcmFsLlBsYWluRGF0ZVRpbWUuZnJvbShkYXRlVGltZUlzbylcbiAgfVxuXG4gIHN0YXRpYyBnZXRQbGFpbkRhdGVUaW1lRnJvbVBsYWluRGF0ZUFuZFBsYWluVGltZShcbiAgICBkYXRlOiBUZW1wb3JhbC5QbGFpbkRhdGUsXG4gICAgdGltZTogVGVtcG9yYWwuUGxhaW5UaW1lXG4gICk6IFRlbXBvcmFsLlBsYWluRGF0ZVRpbWUge1xuICAgIHJldHVybiBUZW1wb3JhbC5QbGFpbkRhdGVUaW1lLmZyb20oe1xuICAgICAgeWVhcjogZGF0ZS55ZWFyLFxuICAgICAgbW9udGg6IGRhdGUubW9udGgsXG4gICAgICBkYXk6IGRhdGUuZGF5LFxuICAgICAgaG91cjogdGltZS5ob3VyLFxuICAgICAgbWludXRlOiB0aW1lLm1pbnV0ZSxcbiAgICAgIHNlY29uZDogdGltZS5zZWNvbmQsXG4gICAgICBtaWxsaXNlY29uZDogdGltZS5taWxsaXNlY29uZCxcbiAgICB9KVxuICB9XG5cbiAgc3RhdGljIGlzRmlyc3REYXlPZldlZWsoZGF0ZTogVGVtcG9yYWwuUGxhaW5EYXRlIHwgVGVtcG9yYWwuUGxhaW5EYXRlVGltZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBkYXRlLmRheU9mV2VlayA9PT0gMVxuICB9XG5cbiAgc3RhdGljIGdldFBsYWluRGF0ZUZyb21KU0RhdGUoZGF0ZTogRGF0ZSk6IFRlbXBvcmFsLlBsYWluRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlVGVtcG9yYWxMb2NhbGl6ZWREYXRlRnJvbVRpbWVzdGFtcChkYXRlLmdldFRpbWUoKSlcbiAgfVxuXG4gIHN0YXRpYyBnZXRQbGFpblRpbWVGcm9tSlNEYXRlKGRhdGU6IERhdGUpOiBUZW1wb3JhbC5QbGFpblRpbWUge1xuICAgIGNvbnN0IGluc3RhbnQgPSBUZW1wb3JhbC5JbnN0YW50LmZyb21FcG9jaE1pbGxpc2Vjb25kcyhkYXRlLmdldFRpbWUoKSlcbiAgICBjb25zdCBkYXRlVGltZUlzbyA9IGluc3RhbnQudG9ab25lZERhdGVUaW1lSVNPKFRlbXBvcmFsLk5vdy50aW1lWm9uZUlkKCkpXG4gICAgcmV0dXJuIFRlbXBvcmFsLlBsYWluVGltZS5mcm9tKGRhdGVUaW1lSXNvKVxuICB9XG5cbiAgc3RhdGljIGdldFBsYWluRGF0ZVRpbWVGcm9tU3RyaW5nKGRhdGVTdHJpbmc6IHN0cmluZyk6IFRlbXBvcmFsLlBsYWluRGF0ZVRpbWUge1xuICAgIGxldCBqc0RhdGU6IERhdGUgPSBudWxsXG4gICAgdHJ5IHtcbiAgICAgIGpzRGF0ZSA9IG5ldyBEYXRlKGRhdGVTdHJpbmcpXG4gICAgICBpZiAodHlwZW9mIGpzRGF0ZSAhPT0gJ29iamVjdCcgfHwganNEYXRlLmNvbnN0cnVjdG9yLm5hbWUgIT09ICdEYXRlJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZGF0ZSBzdHJpbmcnKVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUud2FybignSW52YWxpZCBkYXRlIHN0cmluZycsIGRhdGVTdHJpbmcpXG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldFBsYWluRGF0ZVRpbWVGcm9tSlNEYXRlKGpzRGF0ZSlcbiAgfVxuXG4gIHN0YXRpYyBnZXRIdG1sVGltZVN0cmluZ0Zyb21QbGFpblRpbWUodGltZTogVGVtcG9yYWwuUGxhaW5UaW1lIHwgVGVtcG9yYWwuUGxhaW5EYXRlVGltZSk6IHN0cmluZyB7XG4gICAgaWYgKCF0aW1lKSB7XG4gICAgICByZXR1cm4gJzAwOjAwOjAwJ1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgdGltZS5ob3VyLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKSArXG4gICAgICAnOicgK1xuICAgICAgdGltZS5taW51dGUudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpICtcbiAgICAgICc6JyArXG4gICAgICB0aW1lLnNlY29uZC50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJylcbiAgICApXG4gIH1cblxuICBzdGF0aWMgZ2V0UXVhcnRlckZvckRhdGUoXG4gICAgZGF0ZTogVGVtcG9yYWwuUGxhaW5EYXRlID0gVGVtcG9yYWxVdGlsLmdldERhdGVUb2RheUxvY2FsaXplZCgpXG4gICk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoKGRhdGUubW9udGggLSAxKSAvIDMpICsgMVxuICB9XG5cbiAgc3RhdGljIGdldEN1cnJlbnREYXkoXG4gICAgcmVmZXJlbmNlRGF0ZTogVGVtcG9yYWwuUGxhaW5EYXRlID0gVGVtcG9yYWxVdGlsLmdldERhdGVUb2RheUxvY2FsaXplZCgpXG4gICk6IFRlbXBvcmFsUGxhaW5EYXRlSW50ZXJ2YWwge1xuICAgIGNvbnN0IHRvZGF5ID0gcmVmZXJlbmNlRGF0ZVxuICAgIGNvbnN0IHRvbW9ycm93ID0gdG9kYXkuYWRkKHsgZGF5czogMSB9KVxuICAgIHJldHVybiBuZXcgVGVtcG9yYWxQbGFpbkRhdGVJbnRlcnZhbCh0b2RheSwgdG9tb3Jyb3cpXG4gIH1cblxuICBzdGF0aWMgZ2V0WWVzdGVyZGF5KFxuICAgIHJlZmVyZW5jZURhdGU6IFRlbXBvcmFsLlBsYWluRGF0ZSA9IFRlbXBvcmFsVXRpbC5nZXREYXRlVG9kYXlMb2NhbGl6ZWQoKVxuICApOiBUZW1wb3JhbFBsYWluRGF0ZUludGVydmFsIHtcbiAgICBjb25zdCB5ZXN0ZXJkYXkgPSByZWZlcmVuY2VEYXRlLnN1YnRyYWN0KHsgZGF5czogMSB9KVxuICAgIHJldHVybiBuZXcgVGVtcG9yYWxQbGFpbkRhdGVJbnRlcnZhbCh5ZXN0ZXJkYXksIHJlZmVyZW5jZURhdGUpXG4gIH1cblxuICBzdGF0aWMgZ2V0TGFzdFNldmVuRGF5cyhcbiAgICByZWZlcmVuY2VEYXRlOiBUZW1wb3JhbC5QbGFpbkRhdGUgPSBUZW1wb3JhbFV0aWwuZ2V0RGF0ZVRvZGF5TG9jYWxpemVkKClcbiAgKTogVGVtcG9yYWxQbGFpbkRhdGVJbnRlcnZhbCB7XG4gICAgcmV0dXJuIG5ldyBUZW1wb3JhbFBsYWluRGF0ZUludGVydmFsKHJlZmVyZW5jZURhdGUuc3VidHJhY3QoeyBkYXlzOiA3IH0pLCByZWZlcmVuY2VEYXRlKVxuICB9XG5cbiAgc3RhdGljIGdldExhc3RTZXZlbkRheXNJbmNsdWRpbmdUb2RheShcbiAgICByZWZlcmVuY2VEYXRlOiBUZW1wb3JhbC5QbGFpbkRhdGUgPSBUZW1wb3JhbFV0aWwuZ2V0RGF0ZVRvZGF5TG9jYWxpemVkKClcbiAgKTogVGVtcG9yYWxQbGFpbkRhdGVJbnRlcnZhbCB7XG4gICAgcmV0dXJuIG5ldyBUZW1wb3JhbFBsYWluRGF0ZUludGVydmFsKFxuICAgICAgcmVmZXJlbmNlRGF0ZS5zdWJ0cmFjdCh7IGRheXM6IDcgLSAxIH0pLFxuICAgICAgcmVmZXJlbmNlRGF0ZS5hZGQoeyBkYXlzOiAxIH0pXG4gICAgKVxuICB9XG5cbiAgc3RhdGljIGdldExhc3RUaGlydHlEYXlzKFxuICAgIHJlZmVyZW5jZURhdGU6IFRlbXBvcmFsLlBsYWluRGF0ZSA9IFRlbXBvcmFsVXRpbC5nZXREYXRlVG9kYXlMb2NhbGl6ZWQoKVxuICApOiBUZW1wb3JhbFBsYWluRGF0ZUludGVydmFsIHtcbiAgICByZXR1cm4gbmV3IFRlbXBvcmFsUGxhaW5EYXRlSW50ZXJ2YWwocmVmZXJlbmNlRGF0ZS5zdWJ0cmFjdCh7IGRheXM6IDMwIH0pLCByZWZlcmVuY2VEYXRlKVxuICB9XG5cbiAgc3RhdGljIGdldExhc3RUaGlydHlEYXlzSW5jbHVkaW5nVG9kYXkoXG4gICAgcmVmZXJlbmNlRGF0ZTogVGVtcG9yYWwuUGxhaW5EYXRlID0gVGVtcG9yYWxVdGlsLmdldERhdGVUb2RheUxvY2FsaXplZCgpXG4gICk6IFRlbXBvcmFsUGxhaW5EYXRlSW50ZXJ2YWwge1xuICAgIHJldHVybiBuZXcgVGVtcG9yYWxQbGFpbkRhdGVJbnRlcnZhbChcbiAgICAgIHJlZmVyZW5jZURhdGUuc3VidHJhY3QoeyBkYXlzOiAzMCAtIDEgfSksXG4gICAgICByZWZlcmVuY2VEYXRlLmFkZCh7IGRheXM6IDEgfSlcbiAgICApXG4gIH1cblxuICBzdGF0aWMgZ2V0Q3VycmVudFdlZWsoXG4gICAgcmVmZXJlbmNlRGF0ZTogVGVtcG9yYWwuUGxhaW5EYXRlID0gVGVtcG9yYWxVdGlsLmdldERhdGVUb2RheUxvY2FsaXplZCgpXG4gICk6IFRlbXBvcmFsUGxhaW5EYXRlSW50ZXJ2YWwge1xuICAgIGNvbnN0IHN0YXJ0T2ZXZWVrID0gcmVmZXJlbmNlRGF0ZS5zdWJ0cmFjdCh7XG4gICAgICBkYXlzOiByZWZlcmVuY2VEYXRlLmRheU9mV2VlayAtIDEsXG4gICAgfSlcbiAgICBjb25zdCBlbmRPZldlZWsgPSBzdGFydE9mV2Vlay5hZGQoeyBkYXlzOiA3IH0pXG4gICAgcmV0dXJuIG5ldyBUZW1wb3JhbFBsYWluRGF0ZUludGVydmFsKHN0YXJ0T2ZXZWVrLCBlbmRPZldlZWspXG4gIH1cblxuICBzdGF0aWMgZ2V0Q3VycmVudE1vbnRoKFxuICAgIHJlZmVyZW5jZURhdGU6IFRlbXBvcmFsLlBsYWluRGF0ZSA9IFRlbXBvcmFsVXRpbC5nZXREYXRlVG9kYXlMb2NhbGl6ZWQoKVxuICApOiBUZW1wb3JhbFBsYWluRGF0ZUludGVydmFsIHtcbiAgICBjb25zdCBzdGFydE9mTW9udGggPSByZWZlcmVuY2VEYXRlLnN1YnRyYWN0KHtcbiAgICAgIGRheXM6IHJlZmVyZW5jZURhdGUuZGF5IC0gMSxcbiAgICB9KVxuICAgIGNvbnN0IGVuZE9mTW9udGggPSBzdGFydE9mTW9udGguYWRkKHsgbW9udGhzOiAxIH0pXG4gICAgcmV0dXJuIG5ldyBUZW1wb3JhbFBsYWluRGF0ZUludGVydmFsKHN0YXJ0T2ZNb250aCwgZW5kT2ZNb250aClcbiAgfVxuXG4gIHN0YXRpYyBnZXRDdXJyZW50UXVhcnRlcihcbiAgICByZWZlcmVuY2VEYXRlOiBUZW1wb3JhbC5QbGFpbkRhdGUgPSBUZW1wb3JhbFV0aWwuZ2V0RGF0ZVRvZGF5TG9jYWxpemVkKClcbiAgKTogVGVtcG9yYWxQbGFpbkRhdGVJbnRlcnZhbCB7XG4gICAgY29uc3QgcXVhcnRlciA9IE1hdGguZmxvb3IoKHJlZmVyZW5jZURhdGUubW9udGggLSAxKSAvIDMpXG4gICAgY29uc3Qgc3RhcnRPZlF1YXJ0ZXIgPSByZWZlcmVuY2VEYXRlLnN1YnRyYWN0KHtcbiAgICAgIG1vbnRoczogcmVmZXJlbmNlRGF0ZS5tb250aCAtIDEgLSBxdWFydGVyICogMyxcbiAgICAgIGRheXM6IHJlZmVyZW5jZURhdGUuZGF5IC0gMSxcbiAgICB9KVxuICAgIGNvbnN0IGVuZE9mUXVhcnRlciA9IHN0YXJ0T2ZRdWFydGVyLmFkZCh7IG1vbnRoczogMyB9KVxuICAgIHJldHVybiBuZXcgVGVtcG9yYWxQbGFpbkRhdGVJbnRlcnZhbChzdGFydE9mUXVhcnRlciwgZW5kT2ZRdWFydGVyKVxuICB9XG5cbiAgc3RhdGljIGdldFByZXZpb3VzUXVhcnRlcihcbiAgICByZWZlcmVuY2VEYXRlOiBUZW1wb3JhbC5QbGFpbkRhdGUgPSBUZW1wb3JhbFV0aWwuZ2V0RGF0ZVRvZGF5TG9jYWxpemVkKClcbiAgKTogVGVtcG9yYWxQbGFpbkRhdGVJbnRlcnZhbCB7XG4gICAgcmV0dXJuIFRlbXBvcmFsVXRpbC5nZXRDdXJyZW50UXVhcnRlcihyZWZlcmVuY2VEYXRlKS5zaGlmdE1vbnRocygtMylcbiAgfVxuXG4gIHN0YXRpYyBnZXRDdXJyZW50WWVhcihcbiAgICByZWZlcmVuY2VEYXRlOiBUZW1wb3JhbC5QbGFpbkRhdGUgPSBUZW1wb3JhbFV0aWwuZ2V0RGF0ZVRvZGF5TG9jYWxpemVkKClcbiAgKTogVGVtcG9yYWxQbGFpbkRhdGVJbnRlcnZhbCB7XG4gICAgY29uc3Qgc3RhcnRPZlllYXIgPSByZWZlcmVuY2VEYXRlLnN1YnRyYWN0KHtcbiAgICAgIGRheXM6IHJlZmVyZW5jZURhdGUuZGF5T2ZZZWFyIC0gMSxcbiAgICB9KVxuICAgIGNvbnN0IGVuZE9mWWVhciA9IHN0YXJ0T2ZZZWFyLmFkZCh7IHllYXJzOiAxIH0pXG4gICAgcmV0dXJuIG5ldyBUZW1wb3JhbFBsYWluRGF0ZUludGVydmFsKHN0YXJ0T2ZZZWFyLCBlbmRPZlllYXIpXG4gIH1cblxuICBzdGF0aWMgZ2V0UHJldmlvdXNZZWFyKFxuICAgIHJlZmVyZW5jZURhdGU6IFRlbXBvcmFsLlBsYWluRGF0ZSA9IFRlbXBvcmFsVXRpbC5nZXREYXRlVG9kYXlMb2NhbGl6ZWQoKVxuICApOiBUZW1wb3JhbFBsYWluRGF0ZUludGVydmFsIHtcbiAgICByZXR1cm4gVGVtcG9yYWxVdGlsLmdldEN1cnJlbnRZZWFyKHJlZmVyZW5jZURhdGUpLnNoaWZ0WWVhcnMoLTEpXG4gIH1cblxuICBzdGF0aWMgZ2V0TmV4dFllYXIoXG4gICAgcmVmZXJlbmNlRGF0ZTogVGVtcG9yYWwuUGxhaW5EYXRlID0gVGVtcG9yYWxVdGlsLmdldERhdGVUb2RheUxvY2FsaXplZCgpXG4gICk6IFRlbXBvcmFsUGxhaW5EYXRlSW50ZXJ2YWwge1xuICAgIHJldHVybiBUZW1wb3JhbFV0aWwuZ2V0Q3VycmVudFllYXIocmVmZXJlbmNlRGF0ZSkuc2hpZnRZZWFycygxKVxuICB9XG5cbiAgc3RhdGljIGdldExhc3QzNjVEYXlzKFxuICAgIHJlZmVyZW5jZURhdGU6IFRlbXBvcmFsLlBsYWluRGF0ZSA9IFRlbXBvcmFsVXRpbC5nZXREYXRlVG9kYXlMb2NhbGl6ZWQoKVxuICApOiBUZW1wb3JhbFBsYWluRGF0ZUludGVydmFsIHtcbiAgICByZXR1cm4gbmV3IFRlbXBvcmFsUGxhaW5EYXRlSW50ZXJ2YWwocmVmZXJlbmNlRGF0ZS5zdWJ0cmFjdCh7IGRheXM6IDM2NSB9KSwgcmVmZXJlbmNlRGF0ZSlcbiAgfVxuXG4gIHN0YXRpYyBnZXRMYXN0OTBEYXlzKFxuICAgIHJlZmVyZW5jZURhdGU6IFRlbXBvcmFsLlBsYWluRGF0ZSA9IFRlbXBvcmFsVXRpbC5nZXREYXRlVG9kYXlMb2NhbGl6ZWQoKVxuICApOiBUZW1wb3JhbFBsYWluRGF0ZUludGVydmFsIHtcbiAgICByZXR1cm4gbmV3IFRlbXBvcmFsUGxhaW5EYXRlSW50ZXJ2YWwocmVmZXJlbmNlRGF0ZS5zdWJ0cmFjdCh7IGRheXM6IDkwIH0pLCByZWZlcmVuY2VEYXRlKVxuICB9XG5cbiAgc3RhdGljIGdldFByZXZpb3VzTW9udGgoXG4gICAgcmVmZXJlbmNlRGF0ZTogVGVtcG9yYWwuUGxhaW5EYXRlID0gVGVtcG9yYWxVdGlsLmdldERhdGVUb2RheUxvY2FsaXplZCgpXG4gICk6IFRlbXBvcmFsUGxhaW5EYXRlSW50ZXJ2YWwge1xuICAgIHJldHVybiBUZW1wb3JhbFV0aWwuZ2V0Q3VycmVudE1vbnRoKHJlZmVyZW5jZURhdGUpLnNoaWZ0TW9udGhzKC0xKVxuICB9XG5cbiAgc3RhdGljIGdldE5leHRNb250aChcbiAgICByZWZlcmVuY2VEYXRlOiBUZW1wb3JhbC5QbGFpbkRhdGUgPSBUZW1wb3JhbFV0aWwuZ2V0RGF0ZVRvZGF5TG9jYWxpemVkKClcbiAgKTogVGVtcG9yYWxQbGFpbkRhdGVJbnRlcnZhbCB7XG4gICAgcmV0dXJuIFRlbXBvcmFsVXRpbC5nZXRDdXJyZW50TW9udGgocmVmZXJlbmNlRGF0ZSkuc2hpZnRNb250aHMoMSlcbiAgfVxuXG4gIHN0YXRpYyBnZXRQcmV2aW91c1dlZWsoXG4gICAgcmVmZXJlbmNlRGF0ZTogVGVtcG9yYWwuUGxhaW5EYXRlID0gVGVtcG9yYWxVdGlsLmdldERhdGVUb2RheUxvY2FsaXplZCgpXG4gICk6IFRlbXBvcmFsUGxhaW5EYXRlSW50ZXJ2YWwge1xuICAgIHJldHVybiBUZW1wb3JhbFV0aWwuZ2V0Q3VycmVudFdlZWsocmVmZXJlbmNlRGF0ZSkuc2hpZnREYXlzKC03KVxuICB9XG5cbiAgc3RhdGljIGdldERhdGVUb2RheUxvY2FsaXplZCgpOiBUZW1wb3JhbC5QbGFpbkRhdGUge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZVRlbXBvcmFsTG9jYWxpemVkRGF0ZUZyb21UaW1lc3RhbXAoRGF0ZS5ub3coKSlcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVUZW1wb3JhbExvY2FsaXplZERhdGVGcm9tVGltZXN0YW1wKHRpbWVzdGFtcDogbnVtYmVyKTogVGVtcG9yYWwuUGxhaW5EYXRlIHtcbiAgICBjb25zdCBpbnN0YW50ID0gVGVtcG9yYWwuSW5zdGFudC5mcm9tRXBvY2hNaWxsaXNlY29uZHModGltZXN0YW1wKVxuICAgIGNvbnN0IGRhdGVUaW1lSXNvID0gaW5zdGFudC50b1pvbmVkRGF0ZVRpbWVJU08oVGVtcG9yYWwuTm93LnRpbWVab25lSWQoKSlcbiAgICBjb25zdCBkYXRlID0gVGVtcG9yYWwuUGxhaW5EYXRlLmZyb20oZGF0ZVRpbWVJc28pXG4gICAgcmV0dXJuIGRhdGVcbiAgfVxuXG4gIHN0YXRpYyBnZXRIdG1sRGF0ZVN0cmluZyhkYXRlOiBUZW1wb3JhbC5QbGFpbkRhdGUgfCBUZW1wb3JhbC5QbGFpbkRhdGVUaW1lKTogc3RyaW5nIHtcbiAgICBpZiAoIWRhdGUpIHtcbiAgICAgIHJldHVybiAnJ1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgZGF0ZS55ZWFyICtcbiAgICAgICctJyArXG4gICAgICBkYXRlLm1vbnRoLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKSArXG4gICAgICAnLScgK1xuICAgICAgZGF0ZS5kYXkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpXG4gICAgKVxuICB9XG5cbiAgc3RhdGljIGdldFBsYWluRGF0ZUZyb21IdG1sRGF0ZVN0cmluZyhkYXRlU3RyaW5nOiBzdHJpbmcpOiBUZW1wb3JhbC5QbGFpbkRhdGUge1xuICAgIGlmICghZGF0ZVN0cmluZykge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgY29uc3QgZGF0ZUFyciA9IGRhdGVTdHJpbmcuc3BsaXQoJy0nKVxuICAgIGlmIChkYXRlQXJyLmxlbmd0aCAhPT0gMykge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgcmV0dXJuIFRlbXBvcmFsLlBsYWluRGF0ZS5mcm9tKHtcbiAgICAgIHllYXI6IHBhcnNlSW50KGRhdGVBcnJbMF0pLFxuICAgICAgbW9udGg6IHBhcnNlSW50KGRhdGVBcnJbMV0pLFxuICAgICAgZGF5OiBwYXJzZUludChkYXRlQXJyWzJdKSxcbiAgICB9KVxuICB9XG5cbiAgc3RhdGljIGdldFBsYWluVGltZUZyb21IdG1sVGltZVN0cmluZyh0aW1lU3RyaW5nOiBzdHJpbmcpOiBUZW1wb3JhbC5QbGFpblRpbWUge1xuICAgIGlmICghdGltZVN0cmluZykge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgY29uc3QgdGltZUFyciA9IHRpbWVTdHJpbmcuc3BsaXQoJzonKVxuICAgIGlmICh0aW1lQXJyLmxlbmd0aCAhPT0gMiAmJiB0aW1lQXJyLmxlbmd0aCAhPT0gMykge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICBpZiAodGltZUFyci5sZW5ndGggPT09IDIpIHtcbiAgICAgIHJldHVybiBUZW1wb3JhbC5QbGFpblRpbWUuZnJvbSh7XG4gICAgICAgIGhvdXI6IHBhcnNlSW50KHRpbWVBcnJbMF0pLFxuICAgICAgICBtaW51dGU6IHBhcnNlSW50KHRpbWVBcnJbMV0pLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gVGVtcG9yYWwuUGxhaW5UaW1lLmZyb20oe1xuICAgICAgaG91cjogcGFyc2VJbnQodGltZUFyclswXSksXG4gICAgICBtaW51dGU6IHBhcnNlSW50KHRpbWVBcnJbMV0pLFxuICAgICAgc2Vjb25kOiBwYXJzZUludCh0aW1lQXJyWzJdKSxcbiAgICB9KVxuICB9XG59XG4iXX0=
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { Instant, LocalDate, nativeJs, ZoneId, } from '@js-joda/core';
|
|
2
|
-
export class TimeUtil {
|
|
3
|
-
static { this.SECONDS_PER_DAY = 86400; }
|
|
4
|
-
/**
|
|
5
|
-
* Returns an instant for a javascript date / iso date string.
|
|
6
|
-
* @param date
|
|
7
|
-
*/
|
|
8
|
-
static instant(date) {
|
|
9
|
-
if (date instanceof Date) {
|
|
10
|
-
return Instant.from(TimeUtil.temporalAccessor(date));
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
return Instant.parse(date);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
static dateToLocalDate(date) {
|
|
17
|
-
return LocalDate.from(TimeUtil.temporalAccessor(date));
|
|
18
|
-
}
|
|
19
|
-
static temporalAccessor(date) {
|
|
20
|
-
return nativeJs(date);
|
|
21
|
-
}
|
|
22
|
-
static date(instant) {
|
|
23
|
-
const d = new Date(0); // The 0 there is the key, which sets the date to the epoch
|
|
24
|
-
d.setUTCMilliseconds(instant.toEpochMilli());
|
|
25
|
-
return d;
|
|
26
|
-
}
|
|
27
|
-
static localDateToDate(localDate, zone = ZoneId.systemDefault()) {
|
|
28
|
-
return new Date(localDate.year(), localDate.monthValue() - 1, localDate.dayOfMonth(), 0, 0, 0, 0);
|
|
29
|
-
}
|
|
30
|
-
static isFullDays(duration) {
|
|
31
|
-
const r = duration.seconds() % TimeUtil.SECONDS_PER_DAY;
|
|
32
|
-
return r === 0;
|
|
33
|
-
}
|
|
34
|
-
static isStartOfDay(date) {
|
|
35
|
-
return date.second() === 0 && date.minute() === 0 && date.hour() === 0 && date.nano() === 0;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL3RpbWUvdGltZS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxPQUFPLEVBQ1AsU0FBUyxFQUNULFFBQVEsRUFHUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUE7QUFFdEIsTUFBTSxPQUFPLFFBQVE7YUFDSSxvQkFBZSxHQUFHLEtBQUssQ0FBQTtJQUU5Qzs7O09BR0c7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQW1CO1FBQ3ZDLElBQUksSUFBSSxZQUFZLElBQUksRUFBRSxDQUFDO1lBQ3pCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUN0RCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBVTtRQUN0QyxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDeEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFVO1FBQ3ZDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3ZCLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQWdCO1FBQ2pDLE1BQU0sQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsMkRBQTJEO1FBQ2pGLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQTtRQUM1QyxPQUFPLENBQUMsQ0FBQTtJQUNWLENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLFNBQW9CLEVBQUUsSUFBSSxHQUFHLE1BQU0sQ0FBQyxhQUFhLEVBQUU7UUFDL0UsT0FBTyxJQUFJLElBQUksQ0FDYixTQUFTLENBQUMsSUFBSSxFQUFFLEVBQ2hCLFNBQVMsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLEVBQzFCLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFDdEIsQ0FBQyxFQUNELENBQUMsRUFDRCxDQUFDLEVBQ0QsQ0FBQyxDQUNGLENBQUE7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFrQjtRQUN6QyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQTtRQUN2RCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBbUI7UUFDNUMsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQzdGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEdXJhdGlvbixcbiAgSW5zdGFudCxcbiAgTG9jYWxEYXRlLFxuICBuYXRpdmVKcyxcbiAgVGVtcG9yYWxBY2Nlc3NvcixcbiAgWm9uZWREYXRlVGltZSxcbiAgWm9uZUlkLFxufSBmcm9tICdAanMtam9kYS9jb3JlJ1xuXG5leHBvcnQgY2xhc3MgVGltZVV0aWwge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNFQ09ORFNfUEVSX0RBWSA9IDg2NDAwXG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gaW5zdGFudCBmb3IgYSBqYXZhc2NyaXB0IGRhdGUgLyBpc28gZGF0ZSBzdHJpbmcuXG4gICAqIEBwYXJhbSBkYXRlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGluc3RhbnQoZGF0ZTogRGF0ZSB8IHN0cmluZyk6IEluc3RhbnQge1xuICAgIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgcmV0dXJuIEluc3RhbnQuZnJvbShUaW1lVXRpbC50ZW1wb3JhbEFjY2Vzc29yKGRhdGUpKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gSW5zdGFudC5wYXJzZShkYXRlKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZGF0ZVRvTG9jYWxEYXRlKGRhdGU6IERhdGUpOiBMb2NhbERhdGUge1xuICAgIHJldHVybiBMb2NhbERhdGUuZnJvbShUaW1lVXRpbC50ZW1wb3JhbEFjY2Vzc29yKGRhdGUpKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0ZW1wb3JhbEFjY2Vzc29yKGRhdGU6IERhdGUpOiBUZW1wb3JhbEFjY2Vzc29yIHtcbiAgICByZXR1cm4gbmF0aXZlSnMoZGF0ZSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZGF0ZShpbnN0YW50OiBJbnN0YW50KTogRGF0ZSB7XG4gICAgY29uc3QgZCA9IG5ldyBEYXRlKDApIC8vIFRoZSAwIHRoZXJlIGlzIHRoZSBrZXksIHdoaWNoIHNldHMgdGhlIGRhdGUgdG8gdGhlIGVwb2NoXG4gICAgZC5zZXRVVENNaWxsaXNlY29uZHMoaW5zdGFudC50b0Vwb2NoTWlsbGkoKSlcbiAgICByZXR1cm4gZFxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBsb2NhbERhdGVUb0RhdGUobG9jYWxEYXRlOiBMb2NhbERhdGUsIHpvbmUgPSBab25lSWQuc3lzdGVtRGVmYXVsdCgpKTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKFxuICAgICAgbG9jYWxEYXRlLnllYXIoKSxcbiAgICAgIGxvY2FsRGF0ZS5tb250aFZhbHVlKCkgLSAxLFxuICAgICAgbG9jYWxEYXRlLmRheU9mTW9udGgoKSxcbiAgICAgIDAsXG4gICAgICAwLFxuICAgICAgMCxcbiAgICAgIDBcbiAgICApXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzRnVsbERheXMoZHVyYXRpb246IER1cmF0aW9uKTogYm9vbGVhbiB7XG4gICAgY29uc3QgciA9IGR1cmF0aW9uLnNlY29uZHMoKSAlIFRpbWVVdGlsLlNFQ09ORFNfUEVSX0RBWVxuICAgIHJldHVybiByID09PSAwXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzU3RhcnRPZkRheShkYXRlOiBab25lZERhdGVUaW1lKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGRhdGUuc2Vjb25kKCkgPT09IDAgJiYgZGF0ZS5taW51dGUoKSA9PT0gMCAmJiBkYXRlLmhvdXIoKSA9PT0gMCAmJiBkYXRlLm5hbm8oKSA9PT0gMFxuICB9XG59XG4iXX0=
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/router";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
/**
|
|
6
|
-
* Provides advanced router navigation support for Angular.
|
|
7
|
-
*
|
|
8
|
-
* Provides the ability to build external & absolute urls which
|
|
9
|
-
* can be used in iframes or external navigation, such as opening
|
|
10
|
-
* new tabs.
|
|
11
|
-
*
|
|
12
|
-
*/
|
|
13
|
-
export class ElderRouterService {
|
|
14
|
-
/***************************************************************************
|
|
15
|
-
* *
|
|
16
|
-
* Constructor *
|
|
17
|
-
* *
|
|
18
|
-
**************************************************************************/
|
|
19
|
-
constructor(router, location) {
|
|
20
|
-
this.router = router;
|
|
21
|
-
this.location = location;
|
|
22
|
-
}
|
|
23
|
-
/***************************************************************************
|
|
24
|
-
* *
|
|
25
|
-
* Public API *
|
|
26
|
-
* *
|
|
27
|
-
**************************************************************************/
|
|
28
|
-
/**
|
|
29
|
-
* Open the given url in a new window / tab.
|
|
30
|
-
* @param urlTree
|
|
31
|
-
* @param target
|
|
32
|
-
*/
|
|
33
|
-
openUrl(urlTree, target) {
|
|
34
|
-
const absoluteUrl = this.serializeUrlAbsolute(urlTree);
|
|
35
|
-
window.open(absoluteUrl, target);
|
|
36
|
-
}
|
|
37
|
-
serializeUrlAbsolute(urlTree) {
|
|
38
|
-
const externalUrl = this.serializeUrlExternal(urlTree);
|
|
39
|
-
return window.location.origin + externalUrl;
|
|
40
|
-
}
|
|
41
|
-
serializeUrlExternal(urlTree) {
|
|
42
|
-
const url = this.router.serializeUrl(urlTree);
|
|
43
|
-
return this.location.prepareExternalUrl(url);
|
|
44
|
-
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderRouterService, deps: [{ token: i1.Router }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
46
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderRouterService, providedIn: 'root' }); }
|
|
47
|
-
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElderRouterService, decorators: [{
|
|
49
|
-
type: Injectable,
|
|
50
|
-
args: [{
|
|
51
|
-
providedIn: 'root',
|
|
52
|
-
}]
|
|
53
|
-
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.Location }] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItcm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vdXJsL2VsZGVyLXJvdXRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7Ozs7QUFJMUM7Ozs7Ozs7R0FPRztBQUlILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ1UsTUFBYyxFQUNkLFFBQWtCO1FBRGxCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQ3pCLENBQUM7SUFFSjs7OztnRkFJNEU7SUFFNUU7Ozs7T0FJRztJQUNJLE9BQU8sQ0FBQyxPQUFnQixFQUFFLE1BQWU7UUFDOUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3RELE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxPQUFnQjtRQUMxQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDdEQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUE7SUFDN0MsQ0FBQztJQUVNLG9CQUFvQixDQUFDLE9BQWdCO1FBQzFDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzdDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM5QyxDQUFDOytHQXBDVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBSb3V0ZXIsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcblxuLyoqXG4gKiBQcm92aWRlcyBhZHZhbmNlZCByb3V0ZXIgbmF2aWdhdGlvbiBzdXBwb3J0IGZvciBBbmd1bGFyLlxuICpcbiAqIFByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGJ1aWxkIGV4dGVybmFsICYgYWJzb2x1dGUgdXJscyB3aGljaFxuICogY2FuIGJlIHVzZWQgaW4gaWZyYW1lcyBvciBleHRlcm5hbCBuYXZpZ2F0aW9uLCBzdWNoIGFzIG9wZW5pbmdcbiAqIG5ldyB0YWJzLlxuICpcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyUm91dGVyU2VydmljZSB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb25cbiAgKSB7fVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBPcGVuIHRoZSBnaXZlbiB1cmwgaW4gYSBuZXcgd2luZG93IC8gdGFiLlxuICAgKiBAcGFyYW0gdXJsVHJlZVxuICAgKiBAcGFyYW0gdGFyZ2V0XG4gICAqL1xuICBwdWJsaWMgb3BlblVybCh1cmxUcmVlOiBVcmxUcmVlLCB0YXJnZXQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBhYnNvbHV0ZVVybCA9IHRoaXMuc2VyaWFsaXplVXJsQWJzb2x1dGUodXJsVHJlZSlcbiAgICB3aW5kb3cub3BlbihhYnNvbHV0ZVVybCwgdGFyZ2V0KVxuICB9XG5cbiAgcHVibGljIHNlcmlhbGl6ZVVybEFic29sdXRlKHVybFRyZWU6IFVybFRyZWUpOiBzdHJpbmcge1xuICAgIGNvbnN0IGV4dGVybmFsVXJsID0gdGhpcy5zZXJpYWxpemVVcmxFeHRlcm5hbCh1cmxUcmVlKVxuICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgZXh0ZXJuYWxVcmxcbiAgfVxuXG4gIHB1YmxpYyBzZXJpYWxpemVVcmxFeHRlcm5hbCh1cmxUcmVlOiBVcmxUcmVlKTogc3RyaW5nIHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLnJvdXRlci5zZXJpYWxpemVVcmwodXJsVHJlZSlcbiAgICByZXR1cm4gdGhpcy5sb2NhdGlvbi5wcmVwYXJlRXh0ZXJuYWxVcmwodXJsKVxuICB9XG59XG4iXX0=
|