@elderbyte/ngx-starter 14.10.0 → 14.11.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/.eslintrc.json +44 -0
- package/karma-ci.conf.js +46 -0
- package/karma.conf.js +44 -0
- package/ng-package.json +15 -0
- package/ng-package.prod.json +14 -0
- package/package.json +8 -24
- package/src/lib/common/async/public_api.ts +3 -0
- package/src/lib/common/async/refreshing-entity.ts +128 -0
- package/src/lib/common/csv/csv-serializer.ts +82 -0
- package/src/lib/common/csv/csv-spec.ts +148 -0
- package/src/lib/common/csv/public_api.ts +3 -0
- package/src/lib/common/data/continuable-listing.ts +35 -0
- package/src/lib/common/data/data-context/data-context-active-page.ts +184 -0
- package/src/lib/common/data/data-context/data-context-auto-starter.ts +108 -0
- package/src/lib/common/data/data-context/data-context-base.ts +406 -0
- package/src/lib/common/data/data-context/data-context-builder.ts +354 -0
- package/src/lib/common/data/data-context/data-context-continuable-base.ts +100 -0
- package/src/lib/common/data/data-context/data-context-continuable-paged.ts +191 -0
- package/src/lib/common/data/data-context/data-context-continuable-token.ts +177 -0
- package/src/lib/common/data/data-context/data-context-life-cycle-binding.ts +59 -0
- package/src/lib/common/data/data-context/data-context-simple.ts +80 -0
- package/src/lib/common/data/data-context/data-context-source-auto-reloader.ts +21 -0
- package/src/lib/common/data/data-context/data-context-status.ts +56 -0
- package/src/lib/common/data/data-context/data-context.ts +204 -0
- package/src/lib/common/data/data-context/mat-table-data-context-binding.ts +209 -0
- package/src/lib/common/data/data-context/public_api.ts +19 -0
- package/src/lib/common/data/datasource/data-source-adapter.ts +96 -0
- package/src/lib/common/data/datasource/data-source-processor.ts +318 -0
- package/src/lib/common/data/datasource/data-source.ts +87 -0
- package/src/lib/common/data/datasource/entity-id-util.ts +11 -0
- package/src/lib/common/data/datasource/fetcher/delegate-data-source.ts +230 -0
- package/src/lib/common/data/datasource/local/local-list-data-source.ts +161 -0
- package/src/lib/common/data/datasource/local/local-paged-data-source.ts +129 -0
- package/src/lib/common/data/datasource/public_api.ts +14 -0
- package/src/lib/common/data/datasource/rest/public_api.ts +2 -0
- package/src/lib/common/data/datasource/rest/rest-client.ts +474 -0
- package/src/lib/common/data/entity-set-patch.ts +210 -0
- package/src/lib/common/data/field-comparator.ts +122 -0
- package/src/lib/common/data/filters/filter-context.spec.ts +150 -0
- package/src/lib/common/data/filters/filter-context.ts +163 -0
- package/src/lib/common/data/filters/filter.spec.ts +136 -0
- package/src/lib/common/data/filters/filter.ts +137 -0
- package/src/lib/common/data/http-params-builder.ts +138 -0
- package/src/lib/common/data/page.ts +92 -0
- package/src/lib/common/data/public_api.ts +12 -0
- package/src/lib/common/data/required-filter-evaluator.ts +122 -0
- package/src/lib/common/data/sort-context.ts +90 -0
- package/src/lib/common/data/sort.ts +16 -0
- package/src/lib/common/data/token-chunk-request.ts +10 -0
- package/src/lib/common/enums/elder-enum-translation.service.ts +116 -0
- package/src/lib/common/enums/public_api.ts +3 -0
- package/src/lib/common/errors/exception-detail.ts +6 -0
- package/{lib/common/errors/public_api.d.ts → src/lib/common/errors/public_api.ts} +0 -0
- package/src/lib/common/errors/standard-error-detail.ts +27 -0
- package/src/lib/common/format/bytes-format.ts +25 -0
- package/src/lib/common/format/bytes-per-second-format.ts +44 -0
- package/{lib/common/format/public_api.d.ts → src/lib/common/format/public_api.ts} +0 -0
- package/src/lib/common/forms/elder-entity-value-accessor.ts +70 -0
- package/src/lib/common/forms/elder-form-field-control-base.directive.ts +240 -0
- package/src/lib/common/forms/elder-from-field-base.ts +113 -0
- package/src/lib/common/forms/elder-from-field-entity-base.ts +63 -0
- package/src/lib/common/forms/elder-from-field-multi-entity-base.ts +86 -0
- package/src/lib/common/forms/elder-multi-entity-value-accessor.ts +84 -0
- package/src/lib/common/forms/form-field-base.component.ts +152 -0
- package/src/lib/common/forms/multi-model-base.component.ts +40 -0
- package/src/lib/common/forms/public_api.ts +12 -0
- package/src/lib/common/forms/template-composite-control.ts +158 -0
- package/src/lib/common/forms/value-accessor-base.ts +165 -0
- package/src/lib/common/forms/view-providers.ts +34 -0
- package/src/lib/common/http/http-client-builder.service.ts +55 -0
- package/src/lib/common/http/http-client-pristine.ts +15 -0
- package/src/lib/common/http/public_api.ts +5 -0
- package/src/lib/common/http/transfer/data-transfer-factory.ts +145 -0
- package/src/lib/common/http/transfer/data-transfer-progress-aggregate.ts +74 -0
- package/src/lib/common/http/transfer/data-transfer-progress.ts +18 -0
- package/src/lib/common/http/transfer/data-transfer-state.ts +129 -0
- package/src/lib/common/http/transfer/data-transfer-status.ts +28 -0
- package/src/lib/common/http/transfer/http-data-transfer.ts +276 -0
- package/src/lib/common/http/transfer/public_api.ts +9 -0
- package/src/lib/common/http/upload/file-upload-client.ts +74 -0
- package/src/lib/common/i18n/entity/impl/i18n-base.ts +9 -0
- package/src/lib/common/i18n/entity/impl/i18n-text.ts +25 -0
- package/src/lib/common/i18n/entity/language-tag.ts +19 -0
- package/src/lib/common/i18n/entity/locale.ts +20 -0
- package/src/lib/common/i18n/entity/localisation-picker.ts +51 -0
- package/src/lib/common/i18n/entity/localized.ts +11 -0
- package/src/lib/common/i18n/entity/public_api.ts +7 -0
- package/src/lib/common/i18n/public_api.ts +3 -0
- package/src/lib/common/json-map.ts +26 -0
- package/src/lib/common/objects.ts +46 -0
- package/src/lib/common/public_api.ts +20 -0
- package/src/lib/common/reactive-map.ts +113 -0
- package/{lib/common/selection/public_api.d.ts → src/lib/common/selection/public_api.ts} +0 -0
- package/src/lib/common/selection/selection-model.ts +274 -0
- package/src/lib/common/sets.ts +48 -0
- package/src/lib/common/suggestion-provider.ts +28 -0
- package/src/lib/common/templates/public_api.ts +1 -0
- package/src/lib/common/templates/template-slot-manager.ts +153 -0
- package/src/lib/common/time/date-util.ts +120 -0
- package/src/lib/common/time/interval.spec.ts +53 -0
- package/src/lib/common/time/interval.ts +539 -0
- package/src/lib/common/time/period-duration.ts +147 -0
- package/src/lib/common/time/public_api.ts +6 -0
- package/src/lib/common/time/time-util.ts +54 -0
- package/src/lib/common/url/elder-router.service.ts +55 -0
- package/src/lib/common/url/elder-url-fragment-params.service.ts +139 -0
- package/src/lib/common/url/public_api.ts +5 -0
- package/src/lib/common/url/url-query-params.ts +169 -0
- package/src/lib/common/utils/batcher.spec.ts +39 -0
- package/src/lib/common/utils/batcher.ts +55 -0
- package/src/lib/common/utils/collection-util.ts +125 -0
- package/src/lib/common/utils/filter-util.ts +67 -0
- package/src/lib/common/utils/next-number-util.ts +102 -0
- package/src/lib/common/utils/ng-zone-utils.ts +18 -0
- package/src/lib/common/utils/parse-util.ts +17 -0
- package/src/lib/common/utils/property-path-util.ts +29 -0
- package/{lib/common/utils/public_api.d.ts → src/lib/common/utils/public_api.ts} +0 -0
- package/src/lib/common/utils/query-list-binding.ts +105 -0
- package/src/lib/common/utils/sort-util.spec.ts +41 -0
- package/src/lib/common/utils/sort-util.ts +38 -0
- package/src/lib/common/utils/url-builder.spec.ts +83 -0
- package/src/lib/common/utils/url-builder.ts +363 -0
- package/src/lib/common/utils/uuid-util.ts +34 -0
- package/src/lib/common/utils/value-wrapper.ts +25 -0
- package/src/lib/components/access-denied/elder-access-denied.component.html +12 -0
- package/src/lib/components/access-denied/elder-access-denied.component.ts +16 -0
- package/src/lib/components/access-denied/elder-access-denied.module.ts +26 -0
- package/src/lib/components/auditing/audited-entity/elder-audited-entity.component.html +25 -0
- package/src/lib/components/auditing/audited-entity/elder-audited-entity.component.ts +42 -0
- package/src/lib/components/auditing/elder-audit.module.ts +32 -0
- package/src/lib/components/auditing/i-audited-entity.ts +17 -0
- package/src/lib/components/button-group/elder-button-group/elder-button-group.component.html +3 -0
- package/src/lib/components/button-group/elder-button-group/elder-button-group.component.ts +21 -0
- package/src/lib/components/button-group/elder-button-group.module.ts +25 -0
- package/src/lib/components/card-organizer/card-organizer/elder-card-organizer.component.html +28 -0
- package/src/lib/components/card-organizer/card-organizer/elder-card-organizer.component.ts +148 -0
- package/src/lib/components/card-organizer/card-organizer/elder-stack-card.directive.ts +9 -0
- package/src/lib/components/card-organizer/card-organizer-data.ts +124 -0
- package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.html +72 -0
- package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.ts +250 -0
- package/src/lib/components/card-organizer/card-stack.ts +231 -0
- package/src/lib/components/card-organizer/elder-card-organizer.module.ts +38 -0
- package/src/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.css +5 -0
- package/src/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.html +16 -0
- package/src/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.ts +14 -0
- package/src/lib/components/cards/elder-card/elder-card.component.html +21 -0
- package/src/lib/components/cards/elder-card/elder-card.component.ts +141 -0
- package/src/lib/components/cards/elder-card/elder-card.module.ts +48 -0
- package/src/lib/components/connectivity/elder-connectivity.module.ts +38 -0
- package/src/lib/components/connectivity/elder-connectivity.service.ts +83 -0
- package/src/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.html +11 -0
- package/src/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.ts +51 -0
- package/src/lib/components/connectivity/public_api.ts +3 -0
- package/src/lib/components/containers/elder-containers.module.ts +20 -0
- package/src/lib/components/containers/elder-scroll-container/elder-scroll-container.component.html +13 -0
- package/src/lib/components/containers/elder-scroll-container/elder-scroll-container.component.ts +30 -0
- package/src/lib/components/containers/public_api.ts +3 -0
- package/src/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.html +5 -0
- package/src/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.ts +105 -0
- package/src/lib/components/csv/elder-csv-stream-exporter-builder.service.ts +56 -0
- package/src/lib/components/csv/elder-csv-stream-exporter-builder.ts +68 -0
- package/src/lib/components/csv/elder-csv-stream-exporter.ts +192 -0
- package/src/lib/components/csv/elder-csv.module.ts +27 -0
- package/src/lib/components/currency/elder-currency.module.ts +18 -0
- package/src/lib/components/currency/elder-currency.pipe.ts +44 -0
- package/src/lib/components/currency/elder-currency.service.ts +83 -0
- package/src/lib/components/currency/model/currency-code.ts +37 -0
- package/src/lib/components/currency/model/currency-unit-registry.ts +39 -0
- package/src/lib/components/currency/model/currency-unit.ts +18 -0
- package/src/lib/components/currency/model/currency.ts +22 -0
- package/src/lib/components/currency/public_api.ts +7 -0
- package/src/lib/components/data-transfer/elder-data-transfer.module.ts +53 -0
- package/src/lib/components/data-transfer/elder-data-transfer.service.ts +120 -0
- package/src/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.html +47 -0
- package/src/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.ts +82 -0
- package/src/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.html +27 -0
- package/src/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.ts +46 -0
- package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.html +31 -0
- package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.ts +61 -0
- package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.html +24 -0
- package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.ts +41 -0
- package/src/lib/components/data-view/base/data-view-options-provider-binding.ts +99 -0
- package/src/lib/components/data-view/base/elder-data-view-base.ts +322 -0
- package/src/lib/components/data-view/base/elder-data-view-options-provider.ts +55 -0
- package/src/lib/components/data-view/base/elder-data-view-options.ts +89 -0
- package/src/lib/components/data-view/base/elder-data-view.ts +14 -0
- package/src/lib/components/data-view/base/public_api.ts +5 -0
- package/src/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.html +56 -0
- package/src/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.ts +51 -0
- package/src/lib/components/data-view/common/elder-data-common.module.ts +63 -0
- package/src/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.html +115 -0
- package/src/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.ts +181 -0
- package/src/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.html +25 -0
- package/src/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.ts +99 -0
- package/src/lib/components/data-view/common/selection/data-context-selection.directive.ts +127 -0
- package/src/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.html +22 -0
- package/src/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.ts +53 -0
- package/src/lib/components/data-view/common/selection/master-selection-state.ts +10 -0
- package/src/lib/components/data-view/elder-data-view-interaction-mode.ts +26 -0
- package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.html +160 -0
- package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.ts +348 -0
- package/src/lib/components/data-view/grid/elder-grid.module.ts +57 -0
- package/src/lib/components/data-view/public_api.ts +5 -0
- package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.css +0 -0
- package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.html +3 -0
- package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.ts +22 -0
- package/src/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.ts +51 -0
- package/src/lib/components/data-view/table/activation/elder-item-activator.ts +6 -0
- package/src/lib/components/data-view/table/activation/elder-table-activation-options.ts +19 -0
- package/src/lib/components/data-view/table/activation/elder-table-activation.directive.ts +308 -0
- package/src/lib/components/data-view/table/elder-number-cell.directive.ts +26 -0
- package/src/lib/components/data-view/table/elder-paginator-intl.ts +92 -0
- package/src/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.ts +14 -0
- package/src/lib/components/data-view/table/elder-table/elder-table.component.html +103 -0
- package/src/lib/components/data-view/table/elder-table/elder-table.component.ts +388 -0
- package/src/lib/components/data-view/table/elder-table-column.directive.ts +29 -0
- package/src/lib/components/data-view/table/elder-table-extension.directive.ts +107 -0
- package/src/lib/components/data-view/table/elder-table-root.directive.ts +24 -0
- package/src/lib/components/data-view/table/elder-table-row.directive.ts +154 -0
- package/src/lib/components/data-view/table/elder-table-sort.directive.ts +16 -0
- package/src/lib/components/data-view/table/elder-table.module.ts +95 -0
- package/src/lib/components/data-view/table/model/elder-column-layout.ts +164 -0
- package/src/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.ts +115 -0
- package/src/lib/components/data-view/table/model/elder-table-model-provider.ts +49 -0
- package/src/lib/components/data-view/table/model/elder-table-model-query-group.ts +153 -0
- package/src/lib/components/data-view/table/model/elder-table-model.ts +221 -0
- package/src/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.html +23 -0
- package/src/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.ts +34 -0
- package/src/lib/components/dialogs/elder-dialog-config.ts +21 -0
- package/src/lib/components/dialogs/elder-dialog.module.ts +65 -0
- package/src/lib/components/dialogs/elder-dialog.service.ts +198 -0
- package/src/lib/components/dialogs/question-dialog/elder-question-dialog.component.html +28 -0
- package/src/lib/components/dialogs/question-dialog/elder-question-dialog.component.ts +44 -0
- package/src/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.html +31 -0
- package/src/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.ts +55 -0
- package/src/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.ts +54 -0
- package/src/lib/components/errors/elder-error.module.ts +30 -0
- package/src/lib/components/errors/error-util.ts +107 -0
- package/src/lib/components/errors/exception-detail/elder-exception-detail.component.html +33 -0
- package/src/lib/components/errors/exception-detail/elder-exception-detail.component.ts +77 -0
- package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.html +14 -0
- package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.ts +57 -0
- package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.module.ts +24 -0
- package/src/lib/components/files/blob-url.ts +13 -0
- package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.html +62 -0
- package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.ts +304 -0
- package/src/lib/components/files/elder-file-drop-zone.directive.ts +116 -0
- package/src/lib/components/files/elder-file-select.directive.ts +184 -0
- package/src/lib/components/files/elder-file.module.ts +50 -0
- package/src/lib/components/files/file-select/file-select.component.html +9 -0
- package/src/lib/components/files/file-select/file-select.component.ts +61 -0
- package/src/lib/components/files/file-upload/file-upload.component.html +36 -0
- package/src/lib/components/files/file-upload/file-upload.component.ts +81 -0
- package/src/lib/components/forms/clipboard/elder-clipboard.service.ts +57 -0
- package/src/lib/components/forms/directives/base/elder-class-hostbinding-base.ts +55 -0
- package/src/lib/components/forms/directives/elder-clipboard-put.directive.ts +44 -0
- package/src/lib/components/forms/directives/elder-delayed-focus.directive.ts +44 -0
- package/src/lib/components/forms/directives/elder-form-field-dense.directive.ts +31 -0
- package/src/lib/components/forms/directives/elder-form-field-label.directive.ts +92 -0
- package/src/lib/components/forms/directives/elder-form-field-no-hint.directive.ts +28 -0
- package/src/lib/components/forms/directives/elder-form-field-no-spinner.directive.ts +32 -0
- package/src/lib/components/forms/directives/elder-forms-directives.module.ts +115 -0
- package/src/lib/components/forms/directives/elder-input-pattern.directive.ts +76 -0
- package/src/lib/components/forms/directives/elder-key-event.directive.ts +126 -0
- package/src/lib/components/forms/directives/elder-max.directive.ts +38 -0
- package/src/lib/components/forms/directives/elder-min.directive.ts +38 -0
- package/src/lib/components/forms/directives/elder-next-focusable.directive.ts +101 -0
- package/src/lib/components/forms/directives/elder-plug-parent-form.directive.ts +28 -0
- package/src/lib/components/forms/directives/elder-stop-event-propagation.directive.ts +22 -0
- package/src/lib/components/forms/directives/elder-tab-focus-trap.directive.ts +188 -0
- package/src/lib/components/forms/directives/elder-touched.directive.ts +25 -0
- package/src/lib/components/forms/directives/elder-triple-state-checkbox.directive.ts +132 -0
- package/src/lib/components/forms/directives/validation/elder-multiple-of.validator.ts +59 -0
- package/src/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.ts +80 -0
- package/src/lib/components/forms/elder-forms.module.ts +17 -0
- package/src/lib/components/forms/public_api.ts +3 -0
- package/src/lib/components/forms/search/elder-search-context.directive.ts +181 -0
- package/src/lib/components/forms/search/elder-search-input.directive.ts +244 -0
- package/src/lib/components/forms/search/elder-search.module.ts +49 -0
- package/src/lib/components/forms/search/model/search-input-state.ts +95 -0
- package/src/lib/components/forms/search/model/search-input.ts +30 -0
- package/src/lib/components/forms/search/model/simple-search-input.ts +69 -0
- package/src/lib/components/forms/search/search-box/elder-search-box.component.html +66 -0
- package/src/lib/components/forms/search/search-box/elder-search-box.component.ts +149 -0
- package/src/lib/components/forms/search/search-box/elder-search-panel.component.ts +10 -0
- package/src/lib/components/global-search/elder-global-search.component.html +54 -0
- package/src/lib/components/global-search/elder-global-search.component.ts +158 -0
- package/src/lib/components/global-search/elder-global-search.module.ts +28 -0
- package/src/lib/components/global-search/elder-global-search.service.ts +118 -0
- package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.component.html +19 -0
- package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.component.ts +112 -0
- package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.module.ts +22 -0
- package/src/lib/components/graph/elder-progress-bar/sub-bar.ts +6 -0
- package/{lib/components/graph/public_api.d.ts → src/lib/components/graph/public_api.ts} +0 -0
- package/src/lib/components/headers/elder-header/elder-header.component.css +0 -0
- package/src/lib/components/headers/elder-header/elder-header.component.html +5 -0
- package/src/lib/components/headers/elder-header/elder-header.component.ts +38 -0
- package/src/lib/components/headers/elder-header.module.ts +29 -0
- package/src/lib/components/http-support/elder-http-client.service.ts +82 -0
- package/src/lib/components/http-support/public_api.ts +3 -0
- package/src/lib/components/i18n/entities/elder-i18n-entities.module.ts +76 -0
- package/src/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.html +41 -0
- package/src/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.ts +176 -0
- package/src/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.html +36 -0
- package/src/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.ts +33 -0
- package/src/lib/components/i18n/entities/elder-localized-input-dialog.service.ts +35 -0
- package/src/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.html +56 -0
- package/src/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.ts +200 -0
- package/src/lib/components/i18n/entities/elder-localized-text-column.directive.ts +34 -0
- package/src/lib/components/i18n/entities/elder-localized-texts.directive.ts +62 -0
- package/src/lib/components/i18n/entities/picker/i18n-pick-async.pipe.ts +49 -0
- package/src/lib/components/i18n/entities/picker/i18n-pick.pipe.ts +36 -0
- package/src/lib/components/i18n/entities/picker/localisation-picker.service.ts +104 -0
- package/src/lib/components/i18n/language/elder-language-config.ts +18 -0
- package/src/lib/components/i18n/language/elder-language-interceptor.ts +94 -0
- package/src/lib/components/i18n/language/elder-language.module.ts +60 -0
- package/src/lib/components/i18n/language/elder-language.service.ts +139 -0
- package/src/lib/components/i18n/language/language-switcher/elder-language-switcher.component.html +24 -0
- package/src/lib/components/i18n/language/language-switcher/elder-language-switcher.component.ts +71 -0
- package/src/lib/components/i18n/locales/elder-locales-de-ch.module.ts +46 -0
- package/{lib/components/i18n/public_api.d.ts → src/lib/components/i18n/public_api.ts} +0 -0
- package/src/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.html +8 -0
- package/src/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.ts +173 -0
- package/src/lib/components/iframes/data-view/data-view-iframe-adapter.directive.ts +150 -0
- package/src/lib/components/iframes/elder-iframe.module.ts +63 -0
- package/src/lib/components/iframes/iframe-close.directive.ts +49 -0
- package/src/lib/components/iframes/iframe-dialog/iframe-dialog.component.html +11 -0
- package/src/lib/components/iframes/iframe-dialog/iframe-dialog.component.ts +63 -0
- package/src/lib/components/iframes/iframe-host/iframe-host.component.html +43 -0
- package/src/lib/components/iframes/iframe-host/iframe-host.component.ts +172 -0
- package/src/lib/components/iframes/iframe-side-content/iframe-side-content.component.html +14 -0
- package/src/lib/components/iframes/iframe-side-content/iframe-side-content.component.ts +102 -0
- package/src/lib/components/iframes/iframe.service.ts +59 -0
- package/src/lib/components/iframes/typed-event-message.ts +66 -0
- package/src/lib/components/infinitescroll/elder-infinite-autocomplete.directive.ts +79 -0
- package/src/lib/components/infinitescroll/elder-infinite-scroll.directive.ts +187 -0
- package/src/lib/components/infinitescroll/elder-infinite-scroll.module.ts +32 -0
- package/src/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.ts +11 -0
- package/src/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.html +66 -0
- package/src/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.ts +233 -0
- package/src/lib/components/input/autocomplete/elder-autocomplete-many.directive.ts +244 -0
- package/src/lib/components/input/autocomplete/elder-autocomplete.directive.ts +145 -0
- package/src/lib/components/input/autocomplete/elder-autocomplete.module.ts +41 -0
- package/src/lib/components/input/autocomplete/many/word-position-finder.spec.ts +74 -0
- package/src/lib/components/input/autocomplete/many/word-position-finder.ts +76 -0
- package/src/lib/components/input/public_api.ts +3 -0
- package/src/lib/components/labels/elder-labels.module.ts +22 -0
- package/src/lib/components/labels/labels-input/labels-input.component.html +44 -0
- package/src/lib/components/labels/labels-input/labels-input.component.ts +255 -0
- package/src/lib/components/measures/dimensions-input/elder-dimensions-input.component.html +71 -0
- package/src/lib/components/measures/dimensions-input/elder-dimensions-input.component.ts +307 -0
- package/src/lib/components/measures/directives/elder-unit-select.directive.ts +70 -0
- package/src/lib/components/measures/elder-measures.module.ts +78 -0
- package/src/lib/components/measures/elder-quantity-transform.pipe.ts +46 -0
- package/src/lib/components/measures/elder-quantity.pipe.ts +102 -0
- package/src/lib/components/measures/elder-unit.service.ts +135 -0
- package/src/lib/components/measures/model/dimensions.ts +40 -0
- package/src/lib/components/measures/model/quantity.ts +19 -0
- package/src/lib/components/measures/model/unit-dimension.ts +16 -0
- package/src/lib/components/measures/model/unit-registry.ts +110 -0
- package/src/lib/components/measures/model/unit.ts +192 -0
- package/src/lib/components/measures/public_api.ts +9 -0
- package/src/lib/components/measures/quantity-input/elder-quantity-input.component.html +64 -0
- package/src/lib/components/measures/quantity-input/elder-quantity-input.component.ts +221 -0
- package/src/lib/components/measures/util/elder-quantity.service.ts +313 -0
- package/src/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.html +89 -0
- package/src/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.ts +221 -0
- package/src/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.ts +38 -0
- package/src/lib/components/navigation/bread-crumbs/path/path.ts +49 -0
- package/src/lib/components/navigation/nav/elder-nav.module.ts +36 -0
- package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.html +34 -0
- package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.ts +94 -0
- package/src/lib/components/navigation/nav/nav-link/elder-nav-link.component.html +89 -0
- package/src/lib/components/navigation/nav/nav-link/elder-nav-link.component.ts +78 -0
- package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.html +5 -0
- package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.ts +16 -0
- package/{lib/components/navigation/public_api.d.ts → src/lib/components/navigation/public_api.ts} +0 -0
- package/src/lib/components/navigation/toolbar/elder-toolbar-column.directive.ts +53 -0
- package/src/lib/components/navigation/toolbar/elder-toolbar.module.ts +52 -0
- package/src/lib/components/navigation/toolbar/elder-toolbar.service.ts +77 -0
- package/src/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.html +50 -0
- package/src/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.ts +78 -0
- package/src/lib/components/navigation/toolbar/toolbar-column-position.ts +20 -0
- package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.html +1 -0
- package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.ts +54 -0
- package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.ts +107 -0
- package/src/lib/components/overlays/elder-overlay-origin.directive.ts +45 -0
- package/src/lib/components/overlays/elder-overlay-trigger.directive.ts +71 -0
- package/src/lib/components/overlays/elder-overlay.component.ts +262 -0
- package/src/lib/components/overlays/elder-overlay.module.ts +29 -0
- package/src/lib/components/panels/card-panel/elder-card-panel.component.html +4 -0
- package/src/lib/components/panels/card-panel/elder-card-panel.component.ts +11 -0
- package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.html +4 -0
- package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.ts +11 -0
- package/src/lib/components/panels/elder-panel.module.ts +31 -0
- package/src/lib/components/panels/flat/elder-panel.component.html +2 -0
- package/src/lib/components/panels/flat/elder-panel.component.ts +30 -0
- package/{lib/components/public_api.d.ts → src/lib/components/public_api.ts} +0 -0
- package/src/lib/components/select/auto/elder-auto-select-first.directive.ts +87 -0
- package/src/lib/components/select/auto/elder-select-first-util.ts +98 -0
- package/src/lib/components/select/elder-select-base.ts +355 -0
- package/src/lib/components/select/elder-select-chip.directive.ts +32 -0
- package/src/lib/components/select/elder-select-on-tab.directive.ts +150 -0
- package/src/lib/components/select/elder-select-value.directive.ts +9 -0
- package/src/lib/components/select/elder-select.module.ts +94 -0
- package/src/lib/components/select/multi/elder-multi-select-base.ts +451 -0
- package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.html +89 -0
- package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.ts +316 -0
- package/src/lib/components/select/multi/elder-multi-select-form-field.ts +80 -0
- package/src/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.ts +102 -0
- package/src/lib/components/select/popup/selection-model-popup.directive.ts +145 -0
- package/src/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.html +18 -0
- package/src/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.ts +56 -0
- package/src/lib/components/select/public_api.ts +5 -0
- package/src/lib/components/select/single/elder-clear-select.directive.ts +64 -0
- package/src/lib/components/select/single/elder-select/elder-select.component.html +91 -0
- package/src/lib/components/select/single/elder-select/elder-select.component.ts +530 -0
- package/src/lib/components/select/single/elder-select-form-field.ts +57 -0
- package/src/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.html +13 -0
- package/src/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.ts +169 -0
- package/src/lib/components/select-chip-list/elder-chip-list-select.module.ts +31 -0
- package/src/lib/components/select-list/elder-select-list.module.ts +27 -0
- package/src/lib/components/select-list/select-list/elder-select-list.component.html +5 -0
- package/src/lib/components/select-list/select-list/elder-select-list.component.ts +91 -0
- package/src/lib/components/select-list/select-list-item/elder-select-list-item.component.html +32 -0
- package/src/lib/components/select-list/select-list-item/elder-select-list-item.component.ts +135 -0
- package/src/lib/components/shell/drawers/drawer-outlet-binding.ts +73 -0
- package/src/lib/components/shell/drawers/elder-route-outlet-drawer.service.ts +137 -0
- package/src/lib/components/shell/drawers/elder-router-outlet.service.ts +145 -0
- package/src/lib/components/shell/elder-shell-slot.directive.ts +61 -0
- package/src/lib/components/shell/elder-shell.module.ts +69 -0
- package/src/lib/components/shell/elder-shell.service.ts +176 -0
- package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.html +25 -0
- package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.ts +89 -0
- package/src/lib/components/shell/shell/elder-shell.component.html +86 -0
- package/src/lib/components/shell/shell/elder-shell.component.ts +243 -0
- package/src/lib/components/shell/shell-content-slot.ts +8 -0
- package/src/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.html +4 -0
- package/src/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.ts +153 -0
- package/src/lib/components/tabs/elder-tab/elder-tab.directive.ts +31 -0
- package/src/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.ts +320 -0
- package/src/lib/components/tabs/elder-tab.module.ts +27 -0
- package/src/lib/components/theme/elder-theme-applier.directive.ts +73 -0
- package/src/lib/components/theme/elder-theme-preference.service.ts +79 -0
- package/src/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.html +9 -0
- package/src/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.ts +86 -0
- package/src/lib/components/theme/elder-theme.directive.ts +65 -0
- package/src/lib/components/theme/elder-theme.module.ts +52 -0
- package/src/lib/components/theme/elder-theme.service.ts +151 -0
- package/src/lib/components/theme/known-elder-themes.ts +17 -0
- package/{lib/components/theme/public_api.d.ts → src/lib/components/theme/public_api.ts} +0 -0
- package/src/lib/components/theme/theme-spec.ts +32 -0
- package/src/lib/components/time/date-adapters/custom-date-adapter.ts +34 -0
- package/src/lib/components/time/duration/duration-bucket.ts +143 -0
- package/src/lib/components/time/duration/duration-format.ts +346 -0
- package/src/lib/components/time/duration/elder-duration-input/elder-duration-input.component.html +51 -0
- package/src/lib/components/time/duration/elder-duration-input/elder-duration-input.component.ts +132 -0
- package/src/lib/components/time/duration/iso-duration-str.ts +5 -0
- package/src/lib/components/time/elder-date-switcher/elder-date-switcher.component.html +29 -0
- package/src/lib/components/time/elder-date-switcher/elder-date-switcher.component.ts +120 -0
- package/src/lib/components/time/elder-date-time-input/elder-date-time-input.component.html +16 -0
- package/src/lib/components/time/elder-date-time-input/elder-date-time-input.component.ts +93 -0
- package/src/lib/components/time/elder-interval-input/elder-interval-input.component.html +92 -0
- package/src/lib/components/time/elder-interval-input/elder-interval-input.component.ts +222 -0
- package/src/lib/components/time/elder-local-date-input/elder-local-date-input.component.html +41 -0
- package/src/lib/components/time/elder-local-date-input/elder-local-date-input.component.ts +213 -0
- package/src/lib/components/time/elder-local-time-input/elder-local-time-input.component.html +19 -0
- package/src/lib/components/time/elder-local-time-input/elder-local-time-input.component.ts +98 -0
- package/src/lib/components/time/elder-time.module.ts +95 -0
- package/src/lib/components/time/period/elder-period-input/elder-period-input.component.html +40 -0
- package/src/lib/components/time/period/elder-period-input/elder-period-input.component.ts +148 -0
- package/src/lib/components/time/period/period-bucket.ts +51 -0
- package/src/lib/components/time/period/period-format.ts +127 -0
- package/src/lib/components/time/public_api.ts +8 -0
- package/src/lib/components/toasts/elder-toast.module.ts +22 -0
- package/src/lib/components/toasts/elder-toast.service.ts +244 -0
- package/src/lib/components/toasts/standard-toast/standard-toast.component.html +34 -0
- package/src/lib/components/toasts/standard-toast/standard-toast.component.ts +80 -0
- package/src/lib/components/toasts/toast-type.ts +5 -0
- package/src/lib/components/toasts/toast.ts +12 -0
- package/src/lib/components/url-fragment/elder-url-fragment.module.ts +36 -0
- package/src/lib/components/url-fragment/elder-url-fragment.ts +10 -0
- package/src/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.html +25 -0
- package/src/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.ts +107 -0
- package/src/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.html +1 -0
- package/src/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.ts +81 -0
- package/src/lib/components/viewers/elder-viewers.module.ts +18 -0
- package/src/lib/features/event-source/elder-event-source.service.ts +71 -0
- package/src/lib/features/event-source/public_api.ts +3 -0
- package/src/lib/features/event-source/reactive-event-source.ts +252 -0
- package/src/lib/features/kafent/access-token-provider.ts +21 -0
- package/src/lib/features/kafent/kafent-config.ts +42 -0
- package/src/lib/features/kafent/kafent-event-stream.ts +48 -0
- package/src/lib/features/kafent/kafent-event.service.ts +128 -0
- package/src/lib/features/kafent/kafent-event.ts +14 -0
- package/src/lib/features/kafent/kafent-live-event-request.ts +75 -0
- package/src/lib/features/kafent/kafent.module.ts +61 -0
- package/src/lib/features/kafent/sse/kafent-event-stream-sse.service.ts +167 -0
- package/src/lib/features/kafent/sse/kafent-topic-sse.ts +145 -0
- package/src/lib/features/public_api.ts +4 -0
- package/src/lib/i18n/elder-composite-translation-loader.ts +14 -0
- package/src/lib/i18n/elder-starter-translation-loader.ts +20 -0
- package/src/lib/pipes/bytes.pipe.ts +18 -0
- package/src/lib/pipes/elder-pipes.module.ts +51 -0
- package/src/lib/pipes/elder-repeat.pipe.ts +16 -0
- package/src/lib/pipes/elder-round.pipe.ts +37 -0
- package/src/lib/pipes/elder-safe-url.pipe.ts +12 -0
- package/src/lib/pipes/elder-truncate.pipe.ts +45 -0
- package/src/lib/pipes/iso-duration.pipe.ts +64 -0
- package/src/lib/pipes/iso-interval-parse.pipe.ts +61 -0
- package/src/lib/pipes/iso-interval.pipe.ts +146 -0
- package/src/lib/pipes/public_api.ts +3 -0
- package/src/lib/pipes/time-ago.pipe.ts +88 -0
- package/src/lib/pipes/time-duration.pipe.ts +81 -0
- package/src/lib/pipes/weight.pipe.ts +45 -0
- package/src/public_api.ts +8 -0
- package/src/test.ts +28 -0
- package/tsconfig.lib.json +33 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +17 -0
- package/esm2020/elderbyte-ngx-starter.mjs +0 -5
- package/esm2020/lib/common/async/public_api.mjs +0 -2
- package/esm2020/lib/common/async/refreshing-entity.mjs +0 -86
- package/esm2020/lib/common/csv/csv-serializer.mjs +0 -55
- package/esm2020/lib/common/csv/csv-spec.mjs +0 -99
- package/esm2020/lib/common/csv/public_api.mjs +0 -3
- package/esm2020/lib/common/data/continuable-listing.mjs +0 -10
- package/esm2020/lib/common/data/data-context/data-context-active-page.mjs +0 -130
- package/esm2020/lib/common/data/data-context/data-context-auto-starter.mjs +0 -74
- package/esm2020/lib/common/data/data-context/data-context-base.mjs +0 -283
- package/esm2020/lib/common/data/data-context/data-context-builder.mjs +0 -246
- package/esm2020/lib/common/data/data-context/data-context-continuable-base.mjs +0 -69
- package/esm2020/lib/common/data/data-context/data-context-continuable-paged.mjs +0 -143
- package/esm2020/lib/common/data/data-context/data-context-continuable-token.mjs +0 -136
- package/esm2020/lib/common/data/data-context/data-context-life-cycle-binding.mjs +0 -30
- package/esm2020/lib/common/data/data-context/data-context-simple.mjs +0 -59
- package/esm2020/lib/common/data/data-context/data-context-source-auto-reloader.mjs +0 -12
- package/esm2020/lib/common/data/data-context/data-context-status.mjs +0 -46
- package/esm2020/lib/common/data/data-context/data-context.mjs +0 -30
- package/esm2020/lib/common/data/data-context/mat-table-data-context-binding.mjs +0 -139
- package/esm2020/lib/common/data/data-context/public_api.mjs +0 -14
- package/esm2020/lib/common/data/datasource/data-source-adapter.mjs +0 -55
- package/esm2020/lib/common/data/datasource/data-source-processor.mjs +0 -199
- package/esm2020/lib/common/data/datasource/data-source.mjs +0 -23
- package/esm2020/lib/common/data/datasource/entity-id-util.mjs +0 -11
- package/esm2020/lib/common/data/datasource/fetcher/delegate-data-source.mjs +0 -127
- package/esm2020/lib/common/data/datasource/local/local-list-data-source.mjs +0 -102
- package/esm2020/lib/common/data/datasource/local/local-paged-data-source.mjs +0 -73
- package/esm2020/lib/common/data/datasource/public_api.mjs +0 -8
- package/esm2020/lib/common/data/datasource/rest/public_api.mjs +0 -2
- package/esm2020/lib/common/data/datasource/rest/rest-client.mjs +0 -294
- package/esm2020/lib/common/data/entity-set-patch.mjs +0 -164
- package/esm2020/lib/common/data/field-comparator.mjs +0 -99
- package/esm2020/lib/common/data/filters/filter-context.mjs +0 -141
- package/esm2020/lib/common/data/filters/filter.mjs +0 -109
- package/esm2020/lib/common/data/http-params-builder.mjs +0 -110
- package/esm2020/lib/common/data/page.mjs +0 -58
- package/esm2020/lib/common/data/public_api.mjs +0 -12
- package/esm2020/lib/common/data/required-filter-evaluator.mjs +0 -70
- package/esm2020/lib/common/data/sort-context.mjs +0 -75
- package/esm2020/lib/common/data/sort.mjs +0 -11
- package/esm2020/lib/common/data/token-chunk-request.mjs +0 -8
- package/esm2020/lib/common/enums/elder-enum-translation.service.mjs +0 -81
- package/esm2020/lib/common/enums/public_api.mjs +0 -2
- package/esm2020/lib/common/errors/exception-detail.mjs +0 -2
- package/esm2020/lib/common/errors/public_api.mjs +0 -3
- package/esm2020/lib/common/errors/standard-error-detail.mjs +0 -2
- package/esm2020/lib/common/format/bytes-format.mjs +0 -22
- package/esm2020/lib/common/format/bytes-per-second-format.mjs +0 -41
- package/esm2020/lib/common/format/public_api.mjs +0 -3
- package/esm2020/lib/common/forms/elder-entity-value-accessor.mjs +0 -22
- package/esm2020/lib/common/forms/elder-form-field-control-base.directive.mjs +0 -178
- package/esm2020/lib/common/forms/elder-from-field-base.mjs +0 -94
- package/esm2020/lib/common/forms/elder-from-field-entity-base.mjs +0 -39
- package/esm2020/lib/common/forms/elder-from-field-multi-entity-base.mjs +0 -47
- package/esm2020/lib/common/forms/elder-multi-entity-value-accessor.mjs +0 -22
- package/esm2020/lib/common/forms/form-field-base.component.mjs +0 -106
- package/esm2020/lib/common/forms/multi-model-base.component.mjs +0 -32
- package/esm2020/lib/common/forms/public_api.mjs +0 -12
- package/esm2020/lib/common/forms/template-composite-control.mjs +0 -133
- package/esm2020/lib/common/forms/value-accessor-base.mjs +0 -146
- package/esm2020/lib/common/forms/view-providers.mjs +0 -30
- package/esm2020/lib/common/http/http-client-builder.service.mjs +0 -14
- package/esm2020/lib/common/http/http-client-pristine.mjs +0 -21
- package/esm2020/lib/common/http/public_api.mjs +0 -5
- package/esm2020/lib/common/http/transfer/data-transfer-factory.mjs +0 -95
- package/esm2020/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +0 -49
- package/esm2020/lib/common/http/transfer/data-transfer-progress.mjs +0 -17
- package/esm2020/lib/common/http/transfer/data-transfer-state.mjs +0 -82
- package/esm2020/lib/common/http/transfer/data-transfer-status.mjs +0 -24
- package/esm2020/lib/common/http/transfer/http-data-transfer.mjs +0 -180
- package/esm2020/lib/common/http/transfer/public_api.mjs +0 -7
- package/esm2020/lib/common/http/upload/file-upload-client.mjs +0 -42
- package/esm2020/lib/common/i18n/entity/impl/i18n-base.mjs +0 -6
- package/esm2020/lib/common/i18n/entity/impl/i18n-text.mjs +0 -16
- package/esm2020/lib/common/i18n/entity/language-tag.mjs +0 -12
- package/esm2020/lib/common/i18n/entity/locale.mjs +0 -12
- package/esm2020/lib/common/i18n/entity/localisation-picker.mjs +0 -30
- package/esm2020/lib/common/i18n/entity/localized.mjs +0 -2
- package/esm2020/lib/common/i18n/entity/public_api.mjs +0 -6
- package/esm2020/lib/common/i18n/public_api.mjs +0 -2
- package/esm2020/lib/common/json-map.mjs +0 -18
- package/esm2020/lib/common/objects.mjs +0 -41
- package/esm2020/lib/common/public_api.mjs +0 -19
- package/esm2020/lib/common/reactive-map.mjs +0 -69
- package/esm2020/lib/common/selection/public_api.mjs +0 -2
- package/esm2020/lib/common/selection/selection-model.mjs +0 -212
- package/esm2020/lib/common/sets.mjs +0 -44
- package/esm2020/lib/common/suggestion-provider.mjs +0 -12
- package/esm2020/lib/common/templates/template-slot-manager.mjs +0 -135
- package/esm2020/lib/common/time/date-util.mjs +0 -93
- package/esm2020/lib/common/time/interval.mjs +0 -419
- package/esm2020/lib/common/time/period-duration.mjs +0 -130
- package/esm2020/lib/common/time/public_api.mjs +0 -5
- package/esm2020/lib/common/time/time-util.mjs +0 -41
- package/esm2020/lib/common/url/elder-router.service.mjs +0 -54
- package/esm2020/lib/common/url/elder-url-fragment-params.service.mjs +0 -119
- package/esm2020/lib/common/url/public_api.mjs +0 -4
- package/esm2020/lib/common/url/url-query-params.mjs +0 -133
- package/esm2020/lib/common/utils/batcher.mjs +0 -35
- package/esm2020/lib/common/utils/collection-util.mjs +0 -109
- package/esm2020/lib/common/utils/filter-util.mjs +0 -52
- package/esm2020/lib/common/utils/next-number-util.mjs +0 -88
- package/esm2020/lib/common/utils/ng-zone-utils.mjs +0 -16
- package/esm2020/lib/common/utils/parse-util.mjs +0 -16
- package/esm2020/lib/common/utils/property-path-util.mjs +0 -28
- package/esm2020/lib/common/utils/public_api.mjs +0 -12
- package/esm2020/lib/common/utils/query-list-binding.mjs +0 -67
- package/esm2020/lib/common/utils/sort-util.mjs +0 -30
- package/esm2020/lib/common/utils/url-builder.mjs +0 -275
- package/esm2020/lib/common/utils/uuid-util.mjs +0 -29
- package/esm2020/lib/common/utils/value-wrapper.mjs +0 -19
- package/esm2020/lib/components/access-denied/elder-access-denied.component.mjs +0 -17
- package/esm2020/lib/components/access-denied/elder-access-denied.module.mjs +0 -34
- package/esm2020/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +0 -43
- package/esm2020/lib/components/auditing/elder-audit.module.mjs +0 -46
- package/esm2020/lib/components/auditing/i-audited-entity.mjs +0 -3
- package/esm2020/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +0 -16
- package/esm2020/lib/components/button-group/elder-button-group.module.mjs +0 -39
- package/esm2020/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +0 -124
- package/esm2020/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +0 -15
- package/esm2020/lib/components/card-organizer/card-organizer-data.mjs +0 -93
- package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +0 -206
- package/esm2020/lib/components/card-organizer/card-stack.mjs +0 -176
- package/esm2020/lib/components/card-organizer/elder-card-organizer.module.mjs +0 -50
- package/esm2020/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +0 -19
- package/esm2020/lib/components/cards/elder-card/elder-card.component.mjs +0 -158
- package/esm2020/lib/components/cards/elder-card/elder-card.module.mjs +0 -66
- package/esm2020/lib/components/connectivity/elder-connectivity.module.mjs +0 -57
- package/esm2020/lib/components/connectivity/elder-connectivity.service.mjs +0 -63
- package/esm2020/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +0 -46
- package/esm2020/lib/components/connectivity/public_api.mjs +0 -3
- package/esm2020/lib/components/containers/elder-containers.module.mjs +0 -29
- package/esm2020/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +0 -25
- package/esm2020/lib/components/containers/public_api.mjs +0 -2
- package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +0 -77
- package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.mjs +0 -40
- package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +0 -38
- package/esm2020/lib/components/csv/elder-csv-stream-exporter.mjs +0 -114
- package/esm2020/lib/components/csv/elder-csv.module.mjs +0 -37
- package/esm2020/lib/components/currency/elder-currency.module.mjs +0 -24
- package/esm2020/lib/components/currency/elder-currency.pipe.mjs +0 -33
- package/esm2020/lib/components/currency/model/currency-code.mjs +0 -38
- package/esm2020/lib/components/currency/model/currency-unit-registry.mjs +0 -30
- package/esm2020/lib/components/currency/model/currency-unit.mjs +0 -10
- package/esm2020/lib/components/currency/model/currency.mjs +0 -15
- package/esm2020/lib/components/currency/public_api.mjs +0 -7
- package/esm2020/lib/components/data-transfer/elder-data-transfer.module.mjs +0 -76
- package/esm2020/lib/components/data-transfer/elder-data-transfer.service.mjs +0 -89
- package/esm2020/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +0 -68
- package/esm2020/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +0 -35
- package/esm2020/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +0 -48
- package/esm2020/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +0 -33
- package/esm2020/lib/components/data-view/base/data-view-options-provider-binding.mjs +0 -67
- package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +0 -259
- package/esm2020/lib/components/data-view/base/elder-data-view-options-provider.mjs +0 -44
- package/esm2020/lib/components/data-view/base/elder-data-view-options.mjs +0 -45
- package/esm2020/lib/components/data-view/base/elder-data-view.mjs +0 -3
- package/esm2020/lib/components/data-view/base/public_api.mjs +0 -6
- package/esm2020/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +0 -46
- package/esm2020/lib/components/data-view/common/elder-data-common.module.mjs +0 -90
- package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +0 -150
- package/esm2020/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +0 -90
- package/esm2020/lib/components/data-view/common/selection/data-context-selection.directive.mjs +0 -98
- package/esm2020/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +0 -38
- package/esm2020/lib/components/data-view/common/selection/master-selection-state.mjs +0 -10
- package/esm2020/lib/components/data-view/elder-data-view-interaction-mode.mjs +0 -2
- package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +0 -293
- package/esm2020/lib/components/data-view/grid/elder-grid.module.mjs +0 -85
- package/esm2020/lib/components/data-view/public_api.mjs +0 -6
- package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +0 -19
- package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +0 -79
- package/esm2020/lib/components/data-view/table/activation/elder-item-activator.mjs +0 -2
- package/esm2020/lib/components/data-view/table/activation/elder-table-activation-options.mjs +0 -2
- package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +0 -261
- package/esm2020/lib/components/data-view/table/elder-number-cell.directive.mjs +0 -29
- package/esm2020/lib/components/data-view/table/elder-paginator-intl.mjs +0 -72
- package/esm2020/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +0 -18
- package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +0 -322
- package/esm2020/lib/components/data-view/table/elder-table-column.directive.mjs +0 -17
- package/esm2020/lib/components/data-view/table/elder-table-extension.directive.mjs +0 -96
- package/esm2020/lib/components/data-view/table/elder-table-root.directive.mjs +0 -29
- package/esm2020/lib/components/data-view/table/elder-table-row.directive.mjs +0 -136
- package/esm2020/lib/components/data-view/table/elder-table-sort.directive.mjs +0 -20
- package/esm2020/lib/components/data-view/table/elder-table.module.mjs +0 -142
- package/esm2020/lib/components/data-view/table/model/elder-column-layout.mjs +0 -110
- package/esm2020/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +0 -81
- package/esm2020/lib/components/data-view/table/model/elder-table-model-provider.mjs +0 -40
- package/esm2020/lib/components/data-view/table/model/elder-table-model-query-group.mjs +0 -87
- package/esm2020/lib/components/data-view/table/model/elder-table-model.mjs +0 -165
- package/esm2020/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +0 -23
- package/esm2020/lib/components/dialogs/elder-dialog-config.mjs +0 -3
- package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +0 -83
- package/esm2020/lib/components/dialogs/elder-dialog.service.mjs +0 -161
- package/esm2020/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +0 -41
- package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +0 -44
- package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +0 -46
- package/esm2020/lib/components/errors/elder-error.module.mjs +0 -45
- package/esm2020/lib/components/errors/error-util.mjs +0 -94
- package/esm2020/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +0 -67
- package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +0 -56
- package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +0 -28
- package/esm2020/lib/components/files/blob-url.mjs +0 -10
- package/esm2020/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +0 -226
- package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +0 -109
- package/esm2020/lib/components/files/elder-file-select.directive.mjs +0 -143
- package/esm2020/lib/components/files/elder-file.module.mjs +0 -68
- package/esm2020/lib/components/files/file-select/file-select.component.mjs +0 -55
- package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +0 -75
- package/esm2020/lib/components/forms/clipboard/elder-clipboard.service.mjs +0 -51
- package/esm2020/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +0 -34
- package/esm2020/lib/components/forms/directives/elder-clipboard-put.directive.mjs +0 -35
- package/esm2020/lib/components/forms/directives/elder-delayed-focus.directive.mjs +0 -42
- package/esm2020/lib/components/forms/directives/elder-form-field-dense.directive.mjs +0 -34
- package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +0 -82
- package/esm2020/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +0 -34
- package/esm2020/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +0 -34
- package/esm2020/lib/components/forms/directives/elder-forms-directives.module.mjs +0 -159
- package/esm2020/lib/components/forms/directives/elder-input-pattern.directive.mjs +0 -77
- package/esm2020/lib/components/forms/directives/elder-key-event.directive.mjs +0 -111
- package/esm2020/lib/components/forms/directives/elder-max.directive.mjs +0 -39
- package/esm2020/lib/components/forms/directives/elder-min.directive.mjs +0 -39
- package/esm2020/lib/components/forms/directives/elder-next-focusable.directive.mjs +0 -101
- package/esm2020/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +0 -36
- package/esm2020/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +0 -29
- package/esm2020/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +0 -157
- package/esm2020/lib/components/forms/directives/elder-touched.directive.mjs +0 -27
- package/esm2020/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +0 -120
- package/esm2020/lib/components/forms/directives/validation/elder-multiple-of.validator.mjs +0 -57
- package/esm2020/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.mjs +0 -68
- package/esm2020/lib/components/forms/elder-forms.module.mjs +0 -22
- package/esm2020/lib/components/forms/public_api.mjs +0 -2
- package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +0 -146
- package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +0 -185
- package/esm2020/lib/components/forms/search/elder-search.module.mjs +0 -67
- package/esm2020/lib/components/forms/search/model/search-input-state.mjs +0 -78
- package/esm2020/lib/components/forms/search/model/search-input.mjs +0 -2
- package/esm2020/lib/components/forms/search/search-box/elder-search-box.component.mjs +0 -124
- package/esm2020/lib/components/forms/search/search-box/elder-search-panel.component.mjs +0 -16
- package/esm2020/lib/components/global-search/elder-global-search.component.mjs +0 -127
- package/esm2020/lib/components/global-search/elder-global-search.module.mjs +0 -33
- package/esm2020/lib/components/global-search/elder-global-search.service.mjs +0 -93
- package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +0 -98
- package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +0 -30
- package/esm2020/lib/components/graph/elder-progress-bar/sub-bar.mjs +0 -7
- package/esm2020/lib/components/graph/public_api.mjs +0 -2
- package/esm2020/lib/components/headers/elder-header/elder-header.component.mjs +0 -29
- package/esm2020/lib/components/headers/elder-header.module.mjs +0 -44
- package/esm2020/lib/components/http-support/elder-http-client.service.mjs +0 -68
- package/esm2020/lib/components/http-support/public_api.mjs +0 -2
- package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +0 -123
- package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +0 -136
- package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +0 -29
- package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +0 -30
- package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +0 -152
- package/esm2020/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +0 -28
- package/esm2020/lib/components/i18n/entities/elder-localized-texts.directive.mjs +0 -56
- package/esm2020/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +0 -39
- package/esm2020/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +0 -30
- package/esm2020/lib/components/i18n/entities/picker/localisation-picker.service.mjs +0 -74
- package/esm2020/lib/components/i18n/language/elder-language-config.mjs +0 -3
- package/esm2020/lib/components/i18n/language/elder-language-interceptor.mjs +0 -69
- package/esm2020/lib/components/i18n/language/elder-language.module.mjs +0 -76
- package/esm2020/lib/components/i18n/language/elder-language.service.mjs +0 -121
- package/esm2020/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +0 -66
- package/esm2020/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +0 -53
- package/esm2020/lib/components/i18n/public_api.mjs +0 -4
- package/esm2020/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +0 -128
- package/esm2020/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +0 -136
- package/esm2020/lib/components/iframes/elder-iframe.module.mjs +0 -99
- package/esm2020/lib/components/iframes/iframe-close.directive.mjs +0 -41
- package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +0 -52
- package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +0 -127
- package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +0 -79
- package/esm2020/lib/components/iframes/iframe.service.mjs +0 -48
- package/esm2020/lib/components/iframes/typed-event-message.mjs +0 -42
- package/esm2020/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +0 -61
- package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +0 -157
- package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +0 -40
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +0 -9
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +0 -187
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +0 -197
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +0 -114
- package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +0 -62
- package/esm2020/lib/components/input/autocomplete/many/word-position-finder.mjs +0 -58
- package/esm2020/lib/components/input/public_api.mjs +0 -2
- package/esm2020/lib/components/labels/elder-labels.module.mjs +0 -30
- package/esm2020/lib/components/labels/labels-input/labels-input.component.mjs +0 -230
- package/esm2020/lib/components/measures/dimensions-input/elder-dimensions-input.component.mjs +0 -240
- package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +0 -64
- package/esm2020/lib/components/measures/elder-measures.module.mjs +0 -120
- package/esm2020/lib/components/measures/elder-quantity-transform.pipe.mjs +0 -41
- package/esm2020/lib/components/measures/elder-quantity.pipe.mjs +0 -73
- package/esm2020/lib/components/measures/elder-unit.service.mjs +0 -115
- package/esm2020/lib/components/measures/model/dimensions.mjs +0 -17
- package/esm2020/lib/components/measures/model/quantity.mjs +0 -12
- package/esm2020/lib/components/measures/model/unit-dimension.mjs +0 -14
- package/esm2020/lib/components/measures/model/unit-registry.mjs +0 -81
- package/esm2020/lib/components/measures/model/unit.mjs +0 -143
- package/esm2020/lib/components/measures/public_api.mjs +0 -8
- package/esm2020/lib/components/measures/quantity-input/elder-quantity-input.component.mjs +0 -190
- package/esm2020/lib/components/measures/util/elder-quantity.service.mjs +0 -237
- package/esm2020/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +0 -165
- package/esm2020/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +0 -56
- package/esm2020/lib/components/navigation/bread-crumbs/path/path.mjs +0 -37
- package/esm2020/lib/components/navigation/nav/elder-nav.module.mjs +0 -52
- package/esm2020/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +0 -94
- package/esm2020/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +0 -65
- package/esm2020/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +0 -14
- package/esm2020/lib/components/navigation/public_api.mjs +0 -4
- package/esm2020/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +0 -46
- package/esm2020/lib/components/navigation/toolbar/elder-toolbar.module.mjs +0 -77
- package/esm2020/lib/components/navigation/toolbar/elder-toolbar.service.mjs +0 -68
- package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +0 -67
- package/esm2020/lib/components/navigation/toolbar/toolbar-column-position.mjs +0 -2
- package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +0 -39
- package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +0 -85
- package/esm2020/lib/components/overlays/elder-overlay-origin.directive.mjs +0 -43
- package/esm2020/lib/components/overlays/elder-overlay-trigger.directive.mjs +0 -72
- package/esm2020/lib/components/overlays/elder-overlay.component.mjs +0 -204
- package/esm2020/lib/components/overlays/elder-overlay.module.mjs +0 -41
- package/esm2020/lib/components/panels/card-panel/elder-card-panel.component.mjs +0 -13
- package/esm2020/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +0 -13
- package/esm2020/lib/components/panels/elder-panel.module.mjs +0 -42
- package/esm2020/lib/components/panels/flat/elder-panel.component.mjs +0 -26
- package/esm2020/lib/components/public_api.mjs +0 -40
- package/esm2020/lib/components/select/auto/elder-auto-select-first.directive.mjs +0 -77
- package/esm2020/lib/components/select/auto/elder-select-first-util.mjs +0 -62
- package/esm2020/lib/components/select/elder-select-base.mjs +0 -284
- package/esm2020/lib/components/select/elder-select-chip.directive.mjs +0 -45
- package/esm2020/lib/components/select/elder-select-on-tab.directive.mjs +0 -133
- package/esm2020/lib/components/select/elder-select-value.directive.mjs +0 -15
- package/esm2020/lib/components/select/elder-select.module.mjs +0 -134
- package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +0 -356
- package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +0 -238
- package/esm2020/lib/components/select/multi/elder-multi-select-form-field.mjs +0 -67
- package/esm2020/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +0 -86
- package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +0 -126
- package/esm2020/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +0 -48
- package/esm2020/lib/components/select/public_api.mjs +0 -6
- package/esm2020/lib/components/select/single/elder-clear-select.directive.mjs +0 -57
- package/esm2020/lib/components/select/single/elder-select/elder-select.component.mjs +0 -443
- package/esm2020/lib/components/select/single/elder-select-form-field.mjs +0 -45
- package/esm2020/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +0 -154
- package/esm2020/lib/components/select-chip-list/elder-chip-list-select.module.mjs +0 -49
- package/esm2020/lib/components/select-list/elder-select-list.module.mjs +0 -37
- package/esm2020/lib/components/select-list/select-list/elder-select-list.component.mjs +0 -76
- package/esm2020/lib/components/select-list/select-list-item/elder-select-list-item.component.mjs +0 -119
- package/esm2020/lib/components/shell/drawers/drawer-outlet-binding.mjs +0 -60
- package/esm2020/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +0 -117
- package/esm2020/lib/components/shell/drawers/elder-router-outlet.service.mjs +0 -128
- package/esm2020/lib/components/shell/elder-shell-slot.directive.mjs +0 -46
- package/esm2020/lib/components/shell/elder-shell.module.mjs +0 -91
- package/esm2020/lib/components/shell/elder-shell.service.mjs +0 -145
- package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +0 -74
- package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +0 -207
- package/esm2020/lib/components/shell/shell-content-slot.mjs +0 -2
- package/esm2020/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +0 -137
- package/esm2020/lib/components/tabs/elder-tab/elder-tab.directive.mjs +0 -25
- package/esm2020/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +0 -256
- package/esm2020/lib/components/tabs/elder-tab.module.mjs +0 -36
- package/esm2020/lib/components/theme/elder-theme-applier.directive.mjs +0 -62
- package/esm2020/lib/components/theme/elder-theme-preference.service.mjs +0 -74
- package/esm2020/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +0 -72
- package/esm2020/lib/components/theme/elder-theme.directive.mjs +0 -61
- package/esm2020/lib/components/theme/elder-theme.module.mjs +0 -74
- package/esm2020/lib/components/theme/elder-theme.service.mjs +0 -123
- package/esm2020/lib/components/theme/known-elder-themes.mjs +0 -6
- package/esm2020/lib/components/theme/public_api.mjs +0 -2
- package/esm2020/lib/components/theme/theme-spec.mjs +0 -15
- package/esm2020/lib/components/time/date-adapters/custom-date-adapter.mjs +0 -23
- package/esm2020/lib/components/time/duration/duration-bucket.mjs +0 -67
- package/esm2020/lib/components/time/duration/duration-format.mjs +0 -271
- package/esm2020/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +0 -110
- package/esm2020/lib/components/time/duration/iso-duration-str.mjs +0 -2
- package/esm2020/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +0 -101
- package/esm2020/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +0 -80
- package/esm2020/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +0 -127
- package/esm2020/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +0 -190
- package/esm2020/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +0 -85
- package/esm2020/lib/components/time/elder-time.module.mjs +0 -143
- package/esm2020/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +0 -120
- package/esm2020/lib/components/time/period/period-bucket.mjs +0 -31
- package/esm2020/lib/components/time/period/period-format.mjs +0 -89
- package/esm2020/lib/components/time/public_api.mjs +0 -8
- package/esm2020/lib/components/toasts/elder-toast.module.mjs +0 -23
- package/esm2020/lib/components/toasts/elder-toast.service.mjs +0 -197
- package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +0 -74
- package/esm2020/lib/components/toasts/toast-type.mjs +0 -7
- package/esm2020/lib/components/toasts/toast.mjs +0 -2
- package/esm2020/lib/components/url-fragment/elder-url-fragment.mjs +0 -9
- package/esm2020/lib/components/url-fragment/elder-url-fragment.module.mjs +0 -58
- package/esm2020/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +0 -85
- package/esm2020/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +0 -65
- package/esm2020/lib/components/viewers/elder-viewers.module.mjs +0 -25
- package/esm2020/lib/features/event-source/elder-event-source.service.mjs +0 -56
- package/esm2020/lib/features/event-source/public_api.mjs +0 -3
- package/esm2020/lib/features/event-source/reactive-event-source.mjs +0 -198
- package/esm2020/lib/features/kafent/access-token-provider.mjs +0 -20
- package/esm2020/lib/features/kafent/kafent-config.mjs +0 -24
- package/esm2020/lib/features/kafent/kafent-event-stream.mjs +0 -25
- package/esm2020/lib/features/kafent/kafent-event.mjs +0 -3
- package/esm2020/lib/features/kafent/kafent-event.service.mjs +0 -107
- package/esm2020/lib/features/kafent/kafent-live-event-request.mjs +0 -2
- package/esm2020/lib/features/kafent/kafent.module.mjs +0 -61
- package/esm2020/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +0 -128
- package/esm2020/lib/features/kafent/sse/kafent-topic-sse.mjs +0 -98
- package/esm2020/lib/features/public_api.mjs +0 -3
- package/esm2020/lib/pipes/bytes.pipe.mjs +0 -24
- package/esm2020/lib/pipes/elder-pipes.module.mjs +0 -67
- package/esm2020/lib/pipes/elder-repeat.pipe.mjs +0 -21
- package/esm2020/lib/pipes/elder-round.pipe.mjs +0 -35
- package/esm2020/lib/pipes/elder-safe-url.pipe.mjs +0 -20
- package/esm2020/lib/pipes/elder-truncate.pipe.mjs +0 -40
- package/esm2020/lib/pipes/iso-duration.pipe.mjs +0 -58
- package/esm2020/lib/pipes/iso-interval-parse.pipe.mjs +0 -49
- package/esm2020/lib/pipes/iso-interval.pipe.mjs +0 -109
- package/esm2020/lib/pipes/public_api.mjs +0 -2
- package/esm2020/lib/pipes/time-ago.pipe.mjs +0 -104
- package/esm2020/lib/pipes/time-duration.pipe.mjs +0 -98
- package/esm2020/lib/pipes/weight.pipe.mjs +0 -56
- package/esm2020/public_api.mjs +0 -8
- package/fesm2015/elderbyte-ngx-starter.mjs +0 -27541
- package/fesm2015/elderbyte-ngx-starter.mjs.map +0 -1
- package/fesm2020/elderbyte-ngx-starter.mjs +0 -27428
- package/fesm2020/elderbyte-ngx-starter.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/common/async/public_api.d.ts +0 -1
- package/lib/common/async/refreshing-entity.d.ts +0 -55
- package/lib/common/csv/csv-serializer.d.ts +0 -33
- package/lib/common/csv/csv-spec.d.ts +0 -71
- package/lib/common/csv/public_api.d.ts +0 -2
- package/lib/common/data/continuable-listing.d.ts +0 -28
- package/lib/common/data/data-context/data-context-active-page.d.ts +0 -75
- package/lib/common/data/data-context/data-context-auto-starter.d.ts +0 -41
- package/lib/common/data/data-context/data-context-base.d.ts +0 -149
- package/lib/common/data/data-context/data-context-builder.d.ts +0 -142
- package/lib/common/data/data-context/data-context-continuable-base.d.ts +0 -43
- package/lib/common/data/data-context/data-context-continuable-paged.d.ts +0 -58
- package/lib/common/data/data-context/data-context-continuable-token.d.ts +0 -48
- package/lib/common/data/data-context/data-context-life-cycle-binding.d.ts +0 -33
- package/lib/common/data/data-context/data-context-simple.d.ts +0 -30
- package/lib/common/data/data-context/data-context-source-auto-reloader.d.ts +0 -8
- package/lib/common/data/data-context/data-context-status.d.ts +0 -30
- package/lib/common/data/data-context/data-context.d.ts +0 -154
- package/lib/common/data/data-context/mat-table-data-context-binding.d.ts +0 -60
- package/lib/common/data/data-context/public_api.d.ts +0 -13
- package/lib/common/data/datasource/data-source-adapter.d.ts +0 -39
- package/lib/common/data/datasource/data-source-processor.d.ts +0 -106
- package/lib/common/data/datasource/data-source.d.ts +0 -58
- package/lib/common/data/datasource/entity-id-util.d.ts +0 -3
- package/lib/common/data/datasource/fetcher/delegate-data-source.d.ts +0 -84
- package/lib/common/data/datasource/local/local-list-data-source.d.ts +0 -61
- package/lib/common/data/datasource/local/local-paged-data-source.d.ts +0 -49
- package/lib/common/data/datasource/public_api.d.ts +0 -7
- package/lib/common/data/datasource/rest/public_api.d.ts +0 -1
- package/lib/common/data/datasource/rest/rest-client.d.ts +0 -162
- package/lib/common/data/entity-set-patch.d.ts +0 -74
- package/lib/common/data/field-comparator.d.ts +0 -43
- package/lib/common/data/filters/filter-context.d.ts +0 -63
- package/lib/common/data/filters/filter.d.ts +0 -52
- package/lib/common/data/http-params-builder.d.ts +0 -45
- package/lib/common/data/page.d.ts +0 -41
- package/lib/common/data/public_api.d.ts +0 -11
- package/lib/common/data/required-filter-evaluator.d.ts +0 -46
- package/lib/common/data/sort-context.d.ts +0 -42
- package/lib/common/data/sort.d.ts +0 -8
- package/lib/common/data/token-chunk-request.d.ts +0 -8
- package/lib/common/enums/elder-enum-translation.service.d.ts +0 -52
- package/lib/common/enums/public_api.d.ts +0 -1
- package/lib/common/errors/exception-detail.d.ts +0 -5
- package/lib/common/errors/standard-error-detail.d.ts +0 -22
- package/lib/common/format/bytes-format.d.ts +0 -4
- package/lib/common/format/bytes-per-second-format.d.ts +0 -5
- package/lib/common/forms/elder-entity-value-accessor.d.ts +0 -42
- package/lib/common/forms/elder-form-field-control-base.directive.d.ts +0 -103
- package/lib/common/forms/elder-from-field-base.d.ts +0 -52
- package/lib/common/forms/elder-from-field-entity-base.d.ts +0 -31
- package/lib/common/forms/elder-from-field-multi-entity-base.d.ts +0 -35
- package/lib/common/forms/elder-multi-entity-value-accessor.d.ts +0 -52
- package/lib/common/forms/form-field-base.component.d.ts +0 -74
- package/lib/common/forms/multi-model-base.component.d.ts +0 -23
- package/lib/common/forms/public_api.d.ts +0 -11
- package/lib/common/forms/template-composite-control.d.ts +0 -64
- package/lib/common/forms/value-accessor-base.d.ts +0 -98
- package/lib/common/forms/view-providers.d.ts +0 -23
- package/lib/common/http/http-client-builder.service.d.ts +0 -6
- package/lib/common/http/http-client-pristine.d.ts +0 -10
- package/lib/common/http/public_api.d.ts +0 -4
- package/lib/common/http/transfer/data-transfer-factory.d.ts +0 -70
- package/lib/common/http/transfer/data-transfer-progress-aggregate.d.ts +0 -27
- package/lib/common/http/transfer/data-transfer-progress.d.ts +0 -13
- package/lib/common/http/transfer/data-transfer-state.d.ts +0 -52
- package/lib/common/http/transfer/data-transfer-status.d.ts +0 -22
- package/lib/common/http/transfer/http-data-transfer.d.ts +0 -96
- package/lib/common/http/transfer/public_api.d.ts +0 -6
- package/lib/common/http/upload/file-upload-client.d.ts +0 -38
- package/lib/common/i18n/entity/impl/i18n-base.d.ts +0 -6
- package/lib/common/i18n/entity/impl/i18n-text.d.ts +0 -11
- package/lib/common/i18n/entity/language-tag.d.ts +0 -15
- package/lib/common/i18n/entity/locale.d.ts +0 -8
- package/lib/common/i18n/entity/localisation-picker.d.ts +0 -14
- package/lib/common/i18n/entity/localized.d.ts +0 -10
- package/lib/common/i18n/entity/public_api.d.ts +0 -5
- package/lib/common/i18n/public_api.d.ts +0 -1
- package/lib/common/json-map.d.ts +0 -7
- package/lib/common/objects.d.ts +0 -19
- package/lib/common/public_api.d.ts +0 -18
- package/lib/common/reactive-map.d.ts +0 -40
- package/lib/common/selection/selection-model.d.ts +0 -82
- package/lib/common/sets.d.ts +0 -20
- package/lib/common/suggestion-provider.d.ts +0 -13
- package/lib/common/templates/template-slot-manager.d.ts +0 -70
- package/lib/common/time/date-util.d.ts +0 -54
- package/lib/common/time/interval.d.ts +0 -287
- package/lib/common/time/period-duration.d.ts +0 -84
- package/lib/common/time/public_api.d.ts +0 -4
- package/lib/common/time/time-util.d.ts +0 -15
- package/lib/common/url/elder-router.service.d.ts +0 -36
- package/lib/common/url/elder-url-fragment-params.service.d.ts +0 -62
- package/lib/common/url/public_api.d.ts +0 -3
- package/lib/common/url/url-query-params.d.ts +0 -96
- package/lib/common/utils/batcher.d.ts +0 -14
- package/lib/common/utils/collection-util.d.ts +0 -35
- package/lib/common/utils/filter-util.d.ts +0 -7
- package/lib/common/utils/next-number-util.d.ts +0 -39
- package/lib/common/utils/ng-zone-utils.d.ts +0 -7
- package/lib/common/utils/parse-util.d.ts +0 -8
- package/lib/common/utils/property-path-util.d.ts +0 -8
- package/lib/common/utils/query-list-binding.d.ts +0 -57
- package/lib/common/utils/sort-util.d.ts +0 -10
- package/lib/common/utils/url-builder.d.ts +0 -160
- package/lib/common/utils/uuid-util.d.ts +0 -18
- package/lib/common/utils/value-wrapper.d.ts +0 -15
- package/lib/components/access-denied/elder-access-denied.component.d.ts +0 -8
- package/lib/components/access-denied/elder-access-denied.module.d.ts +0 -12
- package/lib/components/auditing/audited-entity/elder-audited-entity.component.d.ts +0 -21
- package/lib/components/auditing/elder-audit.module.d.ts +0 -15
- package/lib/components/auditing/i-audited-entity.d.ts +0 -13
- package/lib/components/button-group/elder-button-group/elder-button-group.component.d.ts +0 -8
- package/lib/components/button-group/elder-button-group.module.d.ts +0 -13
- package/lib/components/card-organizer/card-organizer/elder-card-organizer.component.d.ts +0 -64
- package/lib/components/card-organizer/card-organizer/elder-stack-card.directive.d.ts +0 -9
- package/lib/components/card-organizer/card-organizer-data.d.ts +0 -57
- package/lib/components/card-organizer/card-stack/elder-card-stack.component.d.ts +0 -89
- package/lib/components/card-organizer/card-stack.d.ts +0 -146
- package/lib/components/card-organizer/elder-card-organizer.module.d.ts +0 -23
- package/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.d.ts +0 -6
- package/lib/components/cards/elder-card/elder-card.component.d.ts +0 -68
- package/lib/components/cards/elder-card/elder-card.module.d.ts +0 -14
- package/lib/components/connectivity/elder-connectivity.module.d.ts +0 -15
- package/lib/components/connectivity/elder-connectivity.service.d.ts +0 -36
- package/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.d.ts +0 -33
- package/lib/components/connectivity/public_api.d.ts +0 -2
- package/lib/components/containers/elder-containers.module.d.ts +0 -10
- package/lib/components/containers/elder-scroll-container/elder-scroll-container.component.d.ts +0 -12
- package/lib/components/containers/public_api.d.ts +0 -1
- package/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.d.ts +0 -51
- package/lib/components/csv/elder-csv-stream-exporter-builder.d.ts +0 -35
- package/lib/components/csv/elder-csv-stream-exporter-builder.service.d.ts +0 -28
- package/lib/components/csv/elder-csv-stream-exporter.d.ts +0 -58
- package/lib/components/csv/elder-csv.module.d.ts +0 -14
- package/lib/components/currency/elder-currency.module.d.ts +0 -8
- package/lib/components/currency/elder-currency.pipe.d.ts +0 -21
- package/lib/components/currency/model/currency-code.d.ts +0 -36
- package/lib/components/currency/model/currency-unit-registry.d.ts +0 -23
- package/lib/components/currency/model/currency-unit.d.ts +0 -7
- package/lib/components/currency/model/currency.d.ts +0 -10
- package/lib/components/currency/public_api.d.ts +0 -6
- package/lib/components/data-transfer/elder-data-transfer.module.d.ts +0 -27
- package/lib/components/data-transfer/elder-data-transfer.service.d.ts +0 -55
- package/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.d.ts +0 -30
- package/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.d.ts +0 -29
- package/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.d.ts +0 -31
- package/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.d.ts +0 -28
- package/lib/components/data-view/base/data-view-options-provider-binding.d.ts +0 -39
- package/lib/components/data-view/base/elder-data-view-base.d.ts +0 -129
- package/lib/components/data-view/base/elder-data-view-options-provider.d.ts +0 -38
- package/lib/components/data-view/base/elder-data-view-options.d.ts +0 -34
- package/lib/components/data-view/base/elder-data-view.d.ts +0 -7
- package/lib/components/data-view/base/public_api.d.ts +0 -5
- package/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.d.ts +0 -32
- package/lib/components/data-view/common/elder-data-common.module.d.ts +0 -30
- package/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.d.ts +0 -66
- package/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.d.ts +0 -45
- package/lib/components/data-view/common/selection/data-context-selection.directive.d.ts +0 -48
- package/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.d.ts +0 -26
- package/lib/components/data-view/common/selection/master-selection-state.d.ts +0 -8
- package/lib/components/data-view/elder-data-view-interaction-mode.d.ts +0 -21
- package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +0 -112
- package/lib/components/data-view/grid/elder-grid.module.d.ts +0 -25
- package/lib/components/data-view/public_api.d.ts +0 -5
- package/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.d.ts +0 -9
- package/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.d.ts +0 -29
- package/lib/components/data-view/table/activation/elder-item-activator.d.ts +0 -3
- package/lib/components/data-view/table/activation/elder-table-activation-options.d.ts +0 -16
- package/lib/components/data-view/table/activation/elder-table-activation.directive.d.ts +0 -78
- package/lib/components/data-view/table/elder-number-cell.directive.d.ts +0 -12
- package/lib/components/data-view/table/elder-paginator-intl.d.ts +0 -38
- package/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.d.ts +0 -12
- package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +0 -129
- package/lib/components/data-view/table/elder-table-column.directive.d.ts +0 -9
- package/lib/components/data-view/table/elder-table-extension.directive.d.ts +0 -53
- package/lib/components/data-view/table/elder-table-root.directive.d.ts +0 -15
- package/lib/components/data-view/table/elder-table-row.directive.d.ts +0 -63
- package/lib/components/data-view/table/elder-table-sort.directive.d.ts +0 -11
- package/lib/components/data-view/table/elder-table.module.d.ts +0 -48
- package/lib/components/data-view/table/model/elder-column-layout.d.ts +0 -44
- package/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.d.ts +0 -44
- package/lib/components/data-view/table/model/elder-table-model-provider.d.ts +0 -25
- package/lib/components/data-view/table/model/elder-table-model-query-group.d.ts +0 -53
- package/lib/components/data-view/table/model/elder-table-model.d.ts +0 -83
- package/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.d.ts +0 -22
- package/lib/components/dialogs/elder-dialog-config.d.ts +0 -16
- package/lib/components/dialogs/elder-dialog.module.d.ts +0 -36
- package/lib/components/dialogs/elder-dialog.service.d.ts +0 -71
- package/lib/components/dialogs/question-dialog/elder-question-dialog.component.d.ts +0 -22
- package/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.d.ts +0 -29
- package/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.d.ts +0 -24
- package/lib/components/errors/elder-error.module.d.ts +0 -17
- package/lib/components/errors/error-util.d.ts +0 -23
- package/lib/components/errors/exception-detail/elder-exception-detail.component.d.ts +0 -42
- package/lib/components/expand-toggle-button/elder-expand-toggle-button.component.d.ts +0 -33
- package/lib/components/expand-toggle-button/elder-expand-toggle-button.module.d.ts +0 -12
- package/lib/components/files/blob-url.d.ts +0 -6
- package/lib/components/files/blob-viewer/elder-blob-viewer.component.d.ts +0 -107
- package/lib/components/files/elder-file-drop-zone.directive.d.ts +0 -45
- package/lib/components/files/elder-file-select.directive.d.ts +0 -66
- package/lib/components/files/elder-file.module.d.ts +0 -24
- package/lib/components/files/file-select/file-select.component.d.ts +0 -34
- package/lib/components/files/file-upload/file-upload.component.d.ts +0 -45
- package/lib/components/forms/clipboard/elder-clipboard.service.d.ts +0 -26
- package/lib/components/forms/directives/base/elder-class-hostbinding-base.d.ts +0 -32
- package/lib/components/forms/directives/elder-clipboard-put.directive.d.ts +0 -22
- package/lib/components/forms/directives/elder-delayed-focus.directive.d.ts +0 -21
- package/lib/components/forms/directives/elder-form-field-dense.directive.d.ts +0 -19
- package/lib/components/forms/directives/elder-form-field-label.directive.d.ts +0 -58
- package/lib/components/forms/directives/elder-form-field-no-hint.directive.d.ts +0 -19
- package/lib/components/forms/directives/elder-form-field-no-spinner.directive.d.ts +0 -19
- package/lib/components/forms/directives/elder-forms-directives.module.d.ts +0 -68
- package/lib/components/forms/directives/elder-input-pattern.directive.d.ts +0 -41
- package/lib/components/forms/directives/elder-key-event.directive.d.ts +0 -58
- package/lib/components/forms/directives/elder-max.directive.d.ts +0 -11
- package/lib/components/forms/directives/elder-min.directive.d.ts +0 -11
- package/lib/components/forms/directives/elder-next-focusable.directive.d.ts +0 -48
- package/lib/components/forms/directives/elder-plug-parent-form.directive.d.ts +0 -13
- package/lib/components/forms/directives/elder-stop-event-propagation.directive.d.ts +0 -16
- package/lib/components/forms/directives/elder-tab-focus-trap.directive.d.ts +0 -63
- package/lib/components/forms/directives/elder-touched.directive.d.ts +0 -14
- package/lib/components/forms/directives/elder-triple-state-checkbox.directive.d.ts +0 -51
- package/lib/components/forms/directives/validation/elder-multiple-of.validator.d.ts +0 -20
- package/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.d.ts +0 -33
- package/lib/components/forms/elder-forms.module.d.ts +0 -12
- package/lib/components/forms/public_api.d.ts +0 -1
- package/lib/components/forms/search/elder-search-context.directive.d.ts +0 -79
- package/lib/components/forms/search/elder-search-input.directive.d.ts +0 -85
- package/lib/components/forms/search/elder-search.module.d.ts +0 -26
- package/lib/components/forms/search/model/search-input-state.d.ts +0 -67
- package/lib/components/forms/search/model/search-input.d.ts +0 -21
- package/lib/components/forms/search/search-box/elder-search-box.component.d.ts +0 -72
- package/lib/components/forms/search/search-box/elder-search-panel.component.d.ts +0 -6
- package/lib/components/global-search/elder-global-search.component.d.ts +0 -39
- package/lib/components/global-search/elder-global-search.module.d.ts +0 -19
- package/lib/components/global-search/elder-global-search.service.d.ts +0 -54
- package/lib/components/graph/elder-progress-bar/elder-progress-bar.component.d.ts +0 -54
- package/lib/components/graph/elder-progress-bar/elder-progress-bar.module.d.ts +0 -11
- package/lib/components/graph/elder-progress-bar/sub-bar.d.ts +0 -5
- package/lib/components/headers/elder-header/elder-header.component.d.ts +0 -25
- package/lib/components/headers/elder-header.module.d.ts +0 -12
- package/lib/components/http-support/elder-http-client.service.d.ts +0 -48
- package/lib/components/http-support/public_api.d.ts +0 -1
- package/lib/components/i18n/entities/elder-i18n-entities.module.d.ts +0 -38
- package/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.d.ts +0 -62
- package/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.d.ts +0 -22
- package/lib/components/i18n/entities/elder-localized-input-dialog.service.d.ts +0 -13
- package/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.d.ts +0 -67
- package/lib/components/i18n/entities/elder-localized-text-column.directive.d.ts +0 -17
- package/lib/components/i18n/entities/elder-localized-texts.directive.d.ts +0 -37
- package/lib/components/i18n/entities/picker/i18n-pick-async.pipe.d.ts +0 -23
- package/lib/components/i18n/entities/picker/i18n-pick.pipe.d.ts +0 -22
- package/lib/components/i18n/entities/picker/localisation-picker.service.d.ts +0 -44
- package/lib/components/i18n/language/elder-language-config.d.ts +0 -14
- package/lib/components/i18n/language/elder-language-interceptor.d.ts +0 -41
- package/lib/components/i18n/language/elder-language.module.d.ts +0 -27
- package/lib/components/i18n/language/elder-language.service.d.ts +0 -77
- package/lib/components/i18n/language/language-switcher/elder-language-switcher.component.d.ts +0 -37
- package/lib/components/i18n/locales/elder-locales-de-ch.module.d.ts +0 -10
- package/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.d.ts +0 -68
- package/lib/components/iframes/data-view/data-view-iframe-adapter.directive.d.ts +0 -62
- package/lib/components/iframes/elder-iframe.module.d.ts +0 -28
- package/lib/components/iframes/iframe-close.directive.d.ts +0 -24
- package/lib/components/iframes/iframe-dialog/iframe-dialog.component.d.ts +0 -36
- package/lib/components/iframes/iframe-host/iframe-host.component.d.ts +0 -92
- package/lib/components/iframes/iframe-side-content/iframe-side-content.component.d.ts +0 -48
- package/lib/components/iframes/iframe.service.d.ts +0 -25
- package/lib/components/iframes/typed-event-message.d.ts +0 -26
- package/lib/components/infinitescroll/elder-infinite-autocomplete.directive.d.ts +0 -30
- package/lib/components/infinitescroll/elder-infinite-scroll.directive.d.ts +0 -63
- package/lib/components/infinitescroll/elder-infinite-scroll.module.d.ts +0 -19
- package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.d.ts +0 -8
- package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.d.ts +0 -87
- package/lib/components/input/autocomplete/elder-autocomplete-many.directive.d.ts +0 -78
- package/lib/components/input/autocomplete/elder-autocomplete.directive.d.ts +0 -60
- package/lib/components/input/autocomplete/elder-autocomplete.module.d.ts +0 -20
- package/lib/components/input/autocomplete/many/word-position-finder.d.ts +0 -15
- package/lib/components/input/public_api.d.ts +0 -1
- package/lib/components/labels/elder-labels.module.d.ts +0 -15
- package/lib/components/labels/labels-input/labels-input.component.d.ts +0 -91
- package/lib/components/measures/dimensions-input/elder-dimensions-input.component.d.ts +0 -111
- package/lib/components/measures/directives/elder-unit-select.directive.d.ts +0 -30
- package/lib/components/measures/elder-measures.module.d.ts +0 -33
- package/lib/components/measures/elder-quantity-transform.pipe.d.ts +0 -22
- package/lib/components/measures/elder-quantity.pipe.d.ts +0 -40
- package/lib/components/measures/elder-unit.service.d.ts +0 -39
- package/lib/components/measures/model/dimensions.d.ts +0 -11
- package/lib/components/measures/model/quantity.d.ts +0 -7
- package/lib/components/measures/model/unit-dimension.d.ts +0 -12
- package/lib/components/measures/model/unit-registry.d.ts +0 -46
- package/lib/components/measures/model/unit.d.ts +0 -111
- package/lib/components/measures/public_api.d.ts +0 -7
- package/lib/components/measures/quantity-input/elder-quantity-input.component.d.ts +0 -94
- package/lib/components/measures/util/elder-quantity.service.d.ts +0 -116
- package/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.d.ts +0 -69
- package/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.d.ts +0 -19
- package/lib/components/navigation/bread-crumbs/path/path.d.ts +0 -31
- package/lib/components/navigation/nav/elder-nav.module.d.ts +0 -19
- package/lib/components/navigation/nav/nav-group/elder-nav-group.component.d.ts +0 -45
- package/lib/components/navigation/nav/nav-link/elder-nav-link.component.d.ts +0 -27
- package/lib/components/navigation/nav/nav-list/elder-nav-list.component.d.ts +0 -8
- package/lib/components/navigation/toolbar/elder-toolbar-column.directive.d.ts +0 -34
- package/lib/components/navigation/toolbar/elder-toolbar.module.d.ts +0 -24
- package/lib/components/navigation/toolbar/elder-toolbar.service.d.ts +0 -46
- package/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.d.ts +0 -42
- package/lib/components/navigation/toolbar/toolbar-column-position.d.ts +0 -9
- package/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.d.ts +0 -30
- package/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.d.ts +0 -47
- package/lib/components/overlays/elder-overlay-origin.directive.d.ts +0 -28
- package/lib/components/overlays/elder-overlay-trigger.directive.d.ts +0 -36
- package/lib/components/overlays/elder-overlay.component.d.ts +0 -88
- package/lib/components/overlays/elder-overlay.module.d.ts +0 -14
- package/lib/components/panels/card-panel/elder-card-panel.component.d.ts +0 -6
- package/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.d.ts +0 -6
- package/lib/components/panels/elder-panel.module.d.ts +0 -15
- package/lib/components/panels/flat/elder-panel.component.d.ts +0 -15
- package/lib/components/select/auto/elder-auto-select-first.directive.d.ts +0 -45
- package/lib/components/select/auto/elder-select-first-util.d.ts +0 -22
- package/lib/components/select/elder-select-base.d.ts +0 -149
- package/lib/components/select/elder-select-chip.directive.d.ts +0 -23
- package/lib/components/select/elder-select-on-tab.directive.d.ts +0 -55
- package/lib/components/select/elder-select-value.directive.d.ts +0 -9
- package/lib/components/select/elder-select.module.d.ts +0 -49
- package/lib/components/select/multi/elder-multi-select-base.d.ts +0 -120
- package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +0 -105
- package/lib/components/select/multi/elder-multi-select-form-field.d.ts +0 -34
- package/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.d.ts +0 -42
- package/lib/components/select/popup/selection-model-popup.directive.d.ts +0 -49
- package/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.d.ts +0 -32
- package/lib/components/select/public_api.d.ts +0 -5
- package/lib/components/select/single/elder-clear-select.directive.d.ts +0 -34
- package/lib/components/select/single/elder-select/elder-select.component.d.ts +0 -155
- package/lib/components/select/single/elder-select-form-field.d.ts +0 -30
- package/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.d.ts +0 -78
- package/lib/components/select-chip-list/elder-chip-list-select.module.d.ts +0 -13
- package/lib/components/select-list/elder-select-list.module.d.ts +0 -16
- package/lib/components/select-list/select-list/elder-select-list.component.d.ts +0 -53
- package/lib/components/select-list/select-list-item/elder-select-list-item.component.d.ts +0 -57
- package/lib/components/shell/drawers/drawer-outlet-binding.d.ts +0 -36
- package/lib/components/shell/drawers/elder-route-outlet-drawer.service.d.ts +0 -55
- package/lib/components/shell/drawers/elder-router-outlet.service.d.ts +0 -64
- package/lib/components/shell/elder-shell-slot.directive.d.ts +0 -34
- package/lib/components/shell/elder-shell.module.d.ts +0 -31
- package/lib/components/shell/elder-shell.service.d.ts +0 -98
- package/lib/components/shell/header/elder-app-header/elder-app-header.component.d.ts +0 -43
- package/lib/components/shell/shell/elder-shell.component.d.ts +0 -99
- package/lib/components/shell/shell-content-slot.d.ts +0 -4
- package/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.d.ts +0 -66
- package/lib/components/tabs/elder-tab/elder-tab.directive.d.ts +0 -19
- package/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.d.ts +0 -100
- package/lib/components/tabs/elder-tab.module.d.ts +0 -13
- package/lib/components/theme/elder-theme-applier.directive.d.ts +0 -36
- package/lib/components/theme/elder-theme-preference.service.d.ts +0 -35
- package/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.d.ts +0 -37
- package/lib/components/theme/elder-theme.directive.d.ts +0 -38
- package/lib/components/theme/elder-theme.module.d.ts +0 -22
- package/lib/components/theme/elder-theme.service.d.ts +0 -51
- package/lib/components/theme/known-elder-themes.d.ts +0 -5
- package/lib/components/theme/theme-spec.d.ts +0 -18
- package/lib/components/time/date-adapters/custom-date-adapter.d.ts +0 -12
- package/lib/components/time/duration/duration-bucket.d.ts +0 -37
- package/lib/components/time/duration/duration-format.d.ts +0 -62
- package/lib/components/time/duration/elder-duration-input/elder-duration-input.component.d.ts +0 -58
- package/lib/components/time/duration/iso-duration-str.d.ts +0 -5
- package/lib/components/time/elder-date-switcher/elder-date-switcher.component.d.ts +0 -60
- package/lib/components/time/elder-date-time-input/elder-date-time-input.component.d.ts +0 -42
- package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +0 -84
- package/lib/components/time/elder-local-date-input/elder-local-date-input.component.d.ts +0 -78
- package/lib/components/time/elder-local-time-input/elder-local-time-input.component.d.ts +0 -47
- package/lib/components/time/elder-time.module.d.ts +0 -39
- package/lib/components/time/period/elder-period-input/elder-period-input.component.d.ts +0 -71
- package/lib/components/time/period/period-bucket.d.ts +0 -21
- package/lib/components/time/period/period-format.d.ts +0 -43
- package/lib/components/time/public_api.d.ts +0 -7
- package/lib/components/toasts/elder-toast.module.d.ts +0 -13
- package/lib/components/toasts/elder-toast.service.d.ts +0 -96
- package/lib/components/toasts/standard-toast/standard-toast.component.d.ts +0 -38
- package/lib/components/toasts/toast-type.d.ts +0 -5
- package/lib/components/toasts/toast.d.ts +0 -7
- package/lib/components/url-fragment/elder-url-fragment.d.ts +0 -7
- package/lib/components/url-fragment/elder-url-fragment.module.d.ts +0 -18
- package/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.d.ts +0 -38
- package/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.d.ts +0 -41
- package/lib/components/viewers/elder-viewers.module.d.ts +0 -9
- package/lib/features/event-source/elder-event-source.service.d.ts +0 -43
- package/lib/features/event-source/public_api.d.ts +0 -2
- package/lib/features/event-source/reactive-event-source.d.ts +0 -97
- package/lib/features/kafent/access-token-provider.d.ts +0 -12
- package/lib/features/kafent/kafent-config.d.ts +0 -32
- package/lib/features/kafent/kafent-event-stream.d.ts +0 -28
- package/lib/features/kafent/kafent-event.d.ts +0 -11
- package/lib/features/kafent/kafent-event.service.d.ts +0 -77
- package/lib/features/kafent/kafent-live-event-request.d.ts +0 -58
- package/lib/features/kafent/kafent.module.d.ts +0 -30
- package/lib/features/kafent/sse/kafent-event-stream-sse.service.d.ts +0 -56
- package/lib/features/kafent/sse/kafent-topic-sse.d.ts +0 -70
- package/lib/features/public_api.d.ts +0 -2
- package/lib/pipes/bytes.pipe.d.ts +0 -7
- package/lib/pipes/elder-pipes.module.d.ts +0 -46
- package/lib/pipes/elder-repeat.pipe.d.ts +0 -7
- package/lib/pipes/elder-round.pipe.d.ts +0 -23
- package/lib/pipes/elder-safe-url.pipe.d.ts +0 -10
- package/lib/pipes/elder-truncate.pipe.d.ts +0 -17
- package/lib/pipes/iso-duration.pipe.d.ts +0 -26
- package/lib/pipes/iso-interval-parse.pipe.d.ts +0 -30
- package/lib/pipes/iso-interval.pipe.d.ts +0 -43
- package/lib/pipes/public_api.d.ts +0 -1
- package/lib/pipes/time-ago.pipe.d.ts +0 -18
- package/lib/pipes/time-duration.pipe.d.ts +0 -13
- package/lib/pipes/weight.pipe.d.ts +0 -7
- package/public_api.d.ts +0 -4
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
export class DateUtil {
|
|
2
|
-
/***************************************************************************
|
|
3
|
-
* *
|
|
4
|
-
* Public API *
|
|
5
|
-
* *
|
|
6
|
-
**************************************************************************/
|
|
7
|
-
static instantToDate(instant) {
|
|
8
|
-
return new Date(instant.toEpochMilli());
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Returns the given Date as ISO formatted local date string.
|
|
12
|
-
*
|
|
13
|
-
* YYYY-MM-DD
|
|
14
|
-
*
|
|
15
|
-
* @param date
|
|
16
|
-
*/
|
|
17
|
-
static toLocalDateIso(date) {
|
|
18
|
-
return DateUtil.dateString(date);
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Returns the given Date as ISO formatted local date-time string.
|
|
22
|
-
*
|
|
23
|
-
* YYYY-MM-DDTHH:mm:ss.sss
|
|
24
|
-
*
|
|
25
|
-
* @param date
|
|
26
|
-
*/
|
|
27
|
-
static toLocalDateTimeIso(date) {
|
|
28
|
-
const dateString = DateUtil.toLocalDateIso(date);
|
|
29
|
-
const timeString = DateUtil.timeString(date);
|
|
30
|
-
return dateString + DateUtil.DateTimeSeparator + timeString;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Checks if the given DateTime is represents the start of the day.
|
|
34
|
-
*
|
|
35
|
-
* @param dateTime DateTime to check
|
|
36
|
-
*/
|
|
37
|
-
static isStartOfDay(date) {
|
|
38
|
-
date = new Date(date);
|
|
39
|
-
return date.getMilliseconds() === 0
|
|
40
|
-
&& date.getSeconds() === 0
|
|
41
|
-
&& date.getMinutes() === 0
|
|
42
|
-
&& date.getHours() === 0;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Sets the given Date to the start of its day by setting its time to 0.
|
|
46
|
-
*
|
|
47
|
-
* @param localDate Date to set to start of day
|
|
48
|
-
*/
|
|
49
|
-
static startOfDay(localDate) {
|
|
50
|
-
const startOfDay = new Date(localDate);
|
|
51
|
-
startOfDay.setHours(0, 0, 0, 0);
|
|
52
|
-
return startOfDay;
|
|
53
|
-
}
|
|
54
|
-
static plusDays(date, days) {
|
|
55
|
-
const plus = new Date(date);
|
|
56
|
-
plus.setDate(plus.getDate() + days);
|
|
57
|
-
return plus;
|
|
58
|
-
}
|
|
59
|
-
/***************************************************************************
|
|
60
|
-
* *
|
|
61
|
-
* private Methods *
|
|
62
|
-
* *
|
|
63
|
-
**************************************************************************/
|
|
64
|
-
static dateString(date) {
|
|
65
|
-
const values = [
|
|
66
|
-
String(date.getFullYear()),
|
|
67
|
-
DateUtil.format(date.getMonth() + 1),
|
|
68
|
-
DateUtil.format(date.getDate())
|
|
69
|
-
];
|
|
70
|
-
return values.join(DateUtil.IsoDateDelimiter);
|
|
71
|
-
}
|
|
72
|
-
static timeString(date) {
|
|
73
|
-
const values = [
|
|
74
|
-
DateUtil.format(date.getHours()),
|
|
75
|
-
DateUtil.format(date.getMinutes()),
|
|
76
|
-
DateUtil.format(date.getSeconds())
|
|
77
|
-
];
|
|
78
|
-
return values.join(DateUtil.IsoTimeDelimiter) +
|
|
79
|
-
'.' +
|
|
80
|
-
DateUtil.format(date.getMilliseconds(), 3);
|
|
81
|
-
}
|
|
82
|
-
static format(value, digitCount = 2) {
|
|
83
|
-
let zeros = '';
|
|
84
|
-
for (let i = 0; i < digitCount; i++) {
|
|
85
|
-
zeros += '0';
|
|
86
|
-
}
|
|
87
|
-
return (zeros + value).slice(-digitCount);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
DateUtil.IsoDateDelimiter = '-';
|
|
91
|
-
DateUtil.IsoTimeDelimiter = ':';
|
|
92
|
-
DateUtil.DateTimeSeparator = 'T';
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL3RpbWUvZGF0ZS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sT0FBTyxRQUFRO0lBTW5COzs7O2dGQUk0RTtJQUVyRSxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQWdCO1FBQzFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBVTtRQUNyQyxPQUFPLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFVO1FBQ3pDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxPQUFPLFVBQVUsR0FBRyxRQUFRLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxDQUFDO0lBQzlELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFVO1FBQ25DLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDO2VBQzlCLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDO2VBQ3ZCLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDO2VBQ3ZCLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQWU7UUFDdEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoQyxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFVLEVBQUUsSUFBWTtRQUM3QyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFVO1FBQ2xDLE1BQU0sTUFBTSxHQUFHO1lBQ2IsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQixRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDcEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDaEMsQ0FBQztRQUVGLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFVO1FBRWxDLE1BQU0sTUFBTSxHQUFHO1lBQ2IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkMsQ0FBQztRQUVGLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7WUFDM0MsR0FBRztZQUNILFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRS9DLENBQUM7SUFFTyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWEsRUFBRSxVQUFVLEdBQUcsQ0FBQztRQUNqRCxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7UUFFZixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLEtBQUssSUFBSSxHQUFHLENBQUM7U0FDZDtRQUVELE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7QUExR3NCLHlCQUFnQixHQUFHLEdBQUcsQ0FBQztBQUN2Qix5QkFBZ0IsR0FBRyxHQUFHLENBQUM7QUFDdkIsMEJBQWlCLEdBQUcsR0FBRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXByZXNlbnRzIGFuIElTTy04NjAxIGRhdGUgc3RyaW5nLlxuICogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPXzg2MDEjRGF0ZXNcbiAqL1xuaW1wb3J0IHtJbnN0YW50fSBmcm9tICdAanMtam9kYS9jb3JlJztcblxuZXhwb3J0IHR5cGUgSXNvRGF0ZVN0ciA9IHN0cmluZztcblxuZXhwb3J0IGNsYXNzIERhdGVVdGlsIHtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElzb0RhdGVEZWxpbWl0ZXIgPSAnLSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSXNvVGltZURlbGltaXRlciA9ICc6JztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEYXRlVGltZVNlcGFyYXRvciA9ICdUJztcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc3RhdGljIGluc3RhbnRUb0RhdGUoaW5zdGFudDogSW5zdGFudCk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZShpbnN0YW50LnRvRXBvY2hNaWxsaSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBnaXZlbiBEYXRlIGFzIElTTyBmb3JtYXR0ZWQgbG9jYWwgZGF0ZSBzdHJpbmcuXG4gICAqXG4gICAqIFlZWVktTU0tRERcbiAgICpcbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdG9Mb2NhbERhdGVJc28oZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIERhdGVVdGlsLmRhdGVTdHJpbmcoZGF0ZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZ2l2ZW4gRGF0ZSBhcyBJU08gZm9ybWF0dGVkIGxvY2FsIGRhdGUtdGltZSBzdHJpbmcuXG4gICAqXG4gICAqIFlZWVktTU0tRERUSEg6bW06c3Muc3NzXG4gICAqXG4gICAqIEBwYXJhbSBkYXRlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHRvTG9jYWxEYXRlVGltZUlzbyhkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICBjb25zdCBkYXRlU3RyaW5nID0gRGF0ZVV0aWwudG9Mb2NhbERhdGVJc28oZGF0ZSk7XG4gICAgY29uc3QgdGltZVN0cmluZyA9IERhdGVVdGlsLnRpbWVTdHJpbmcoZGF0ZSk7XG4gICAgcmV0dXJuIGRhdGVTdHJpbmcgKyBEYXRlVXRpbC5EYXRlVGltZVNlcGFyYXRvciArIHRpbWVTdHJpbmc7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBEYXRlVGltZSBpcyByZXByZXNlbnRzIHRoZSBzdGFydCBvZiB0aGUgZGF5LlxuICAgKlxuICAgKiBAcGFyYW0gZGF0ZVRpbWUgRGF0ZVRpbWUgdG8gY2hlY2tcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaXNTdGFydE9mRGF5KGRhdGU6IERhdGUpOiBib29sZWFuIHtcbiAgICBkYXRlID0gbmV3IERhdGUoZGF0ZSk7XG4gICAgcmV0dXJuIGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCkgPT09IDBcbiAgICAgICYmIGRhdGUuZ2V0U2Vjb25kcygpID09PSAwXG4gICAgICAmJiBkYXRlLmdldE1pbnV0ZXMoKSA9PT0gMFxuICAgICAgJiYgZGF0ZS5nZXRIb3VycygpID09PSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGdpdmVuIERhdGUgdG8gdGhlIHN0YXJ0IG9mIGl0cyBkYXkgYnkgc2V0dGluZyBpdHMgdGltZSB0byAwLlxuICAgKlxuICAgKiBAcGFyYW0gbG9jYWxEYXRlIERhdGUgdG8gc2V0IHRvIHN0YXJ0IG9mIGRheVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzdGFydE9mRGF5KGxvY2FsRGF0ZTogRGF0ZSk6IERhdGUge1xuICAgIGNvbnN0IHN0YXJ0T2ZEYXkgPSBuZXcgRGF0ZShsb2NhbERhdGUpO1xuICAgIHN0YXJ0T2ZEYXkuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gICAgcmV0dXJuIHN0YXJ0T2ZEYXk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHBsdXNEYXlzKGRhdGU6IERhdGUsIGRheXM6IG51bWJlcik6IERhdGUge1xuICAgIGNvbnN0IHBsdXMgPSBuZXcgRGF0ZShkYXRlKTtcbiAgICBwbHVzLnNldERhdGUocGx1cy5nZXREYXRlKCkgKyBkYXlzKTtcbiAgICByZXR1cm4gcGx1cztcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBwcml2YXRlIE1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgc3RhdGljIGRhdGVTdHJpbmcoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWVzID0gW1xuICAgICAgU3RyaW5nKGRhdGUuZ2V0RnVsbFllYXIoKSksXG4gICAgICBEYXRlVXRpbC5mb3JtYXQoZGF0ZS5nZXRNb250aCgpICsgMSksXG4gICAgICBEYXRlVXRpbC5mb3JtYXQoZGF0ZS5nZXREYXRlKCkpXG4gICAgXTtcblxuICAgIHJldHVybiB2YWx1ZXMuam9pbihEYXRlVXRpbC5Jc29EYXRlRGVsaW1pdGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHRpbWVTdHJpbmcoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG5cbiAgICBjb25zdCB2YWx1ZXMgPSBbXG4gICAgICBEYXRlVXRpbC5mb3JtYXQoZGF0ZS5nZXRIb3VycygpKSxcbiAgICAgIERhdGVVdGlsLmZvcm1hdChkYXRlLmdldE1pbnV0ZXMoKSksXG4gICAgICBEYXRlVXRpbC5mb3JtYXQoZGF0ZS5nZXRTZWNvbmRzKCkpXG4gICAgXTtcblxuICAgIHJldHVybiB2YWx1ZXMuam9pbihEYXRlVXRpbC5Jc29UaW1lRGVsaW1pdGVyKSArXG4gICAgICAnLicgK1xuICAgICAgRGF0ZVV0aWwuZm9ybWF0KGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCksIDMpO1xuXG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBmb3JtYXQodmFsdWU6IG51bWJlciwgZGlnaXRDb3VudCA9IDIpOiBzdHJpbmcge1xuICAgIGxldCB6ZXJvcyA9ICcnO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaWdpdENvdW50OyBpKyspIHtcbiAgICAgIHplcm9zICs9ICcwJztcbiAgICB9XG5cbiAgICByZXR1cm4gKHplcm9zICsgdmFsdWUpLnNsaWNlKC1kaWdpdENvdW50KTtcbiAgfVxuXG5cbn1cbiJdfQ==
|
|
@@ -1,419 +0,0 @@
|
|
|
1
|
-
import { Duration, Instant, LocalDate, nativeJs, Period, ZoneId } from '@js-joda/core';
|
|
2
|
-
import { TimeUtil } from './time-util';
|
|
3
|
-
import { PeriodDuration } from './period-duration';
|
|
4
|
-
export class Interval {
|
|
5
|
-
/***************************************************************************
|
|
6
|
-
* *
|
|
7
|
-
* Constructor *
|
|
8
|
-
* *
|
|
9
|
-
**************************************************************************/
|
|
10
|
-
constructor(start, end) {
|
|
11
|
-
this.start = start;
|
|
12
|
-
this.end = end;
|
|
13
|
-
}
|
|
14
|
-
/***************************************************************************
|
|
15
|
-
* *
|
|
16
|
-
* Static Builders *
|
|
17
|
-
* *
|
|
18
|
-
**************************************************************************/
|
|
19
|
-
/**
|
|
20
|
-
* Parses an ISO-8601 interval string.
|
|
21
|
-
* https://en.wikipedia.org/wiki/ISO_8601#Time_intervals
|
|
22
|
-
* @param iso
|
|
23
|
-
*/
|
|
24
|
-
static parse(iso) {
|
|
25
|
-
const parts = iso.split('/');
|
|
26
|
-
if (parts.length !== 2) {
|
|
27
|
-
throw new Error('The given string is not a valid iso interval: ' + iso);
|
|
28
|
-
}
|
|
29
|
-
const start = Instant.parse(parts[0]);
|
|
30
|
-
const endStr = parts[1];
|
|
31
|
-
// The 'end' part can either be an instant or a duration in iso format
|
|
32
|
-
if (endStr.startsWith('P') || endStr.startsWith('-P')) {
|
|
33
|
-
const duration = Duration.parse(endStr);
|
|
34
|
-
return Interval.ofStartAndOffset(start, duration);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
return Interval.of(start, Instant.parse(endStr));
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
static yesterday(zoneId) {
|
|
41
|
-
return Interval.ofDay(LocalDate.now().minusDays(1), zoneId);
|
|
42
|
-
}
|
|
43
|
-
static tomorrow(zoneId) {
|
|
44
|
-
return Interval.ofDay(LocalDate.now().plusDays(1), zoneId);
|
|
45
|
-
}
|
|
46
|
-
static today(zoneId) {
|
|
47
|
-
return Interval.ofDay(LocalDate.now(), zoneId);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Creates a Interval from a Date by spreading it to the begin and end of its day.
|
|
51
|
-
* @param date Date to spread
|
|
52
|
-
*/
|
|
53
|
-
static ofDayDate(date) {
|
|
54
|
-
const localDate = LocalDate.from(nativeJs(date));
|
|
55
|
-
return Interval.ofDay(localDate, ZoneId.systemDefault());
|
|
56
|
-
}
|
|
57
|
-
static ofDay(day, zoneId) {
|
|
58
|
-
return Interval.betweenDays(day, day.plusDays(1), zoneId);
|
|
59
|
-
}
|
|
60
|
-
static betweenDays(startDayInclusive, endDayExclusive, zoneId) {
|
|
61
|
-
return Interval.of(startDayInclusive.atStartOfDay(zoneId).toInstant(), endDayExclusive.atStartOfDay(zoneId).toInstant());
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Creates a new interval with the given start time point
|
|
65
|
-
* and a offset from the start.
|
|
66
|
-
*
|
|
67
|
-
* Note that you should use Period for days to account for zone specific
|
|
68
|
-
* things like daylight saving.
|
|
69
|
-
*
|
|
70
|
-
* @param startInclusive
|
|
71
|
-
* @param offsetExclusive A Period or Duration offset.
|
|
72
|
-
*/
|
|
73
|
-
static ofStartAndOffset(startInclusive, offsetExclusive) {
|
|
74
|
-
return Interval.of(startInclusive, startInclusive.plus(offsetExclusive));
|
|
75
|
-
}
|
|
76
|
-
static of(startInclusive, endExclusive) {
|
|
77
|
-
return new Interval(startInclusive, endExclusive);
|
|
78
|
-
}
|
|
79
|
-
static ofDate(startInclusive, endExclusive) {
|
|
80
|
-
return new Interval(TimeUtil.instant(startInclusive), TimeUtil.instant(endExclusive));
|
|
81
|
-
}
|
|
82
|
-
/***************************************************************************
|
|
83
|
-
* *
|
|
84
|
-
* Properties *
|
|
85
|
-
* *
|
|
86
|
-
**************************************************************************/
|
|
87
|
-
/**
|
|
88
|
-
* Checks if the range is empty.
|
|
89
|
-
* <p>
|
|
90
|
-
* An empty range occurs when the start date equals the inclusive end date.
|
|
91
|
-
*
|
|
92
|
-
* @return true if the range is empty
|
|
93
|
-
*/
|
|
94
|
-
isEmpty() {
|
|
95
|
-
return this.start.equals(this.end);
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Checks if the start of the interval is unbounded.
|
|
99
|
-
*
|
|
100
|
-
* @return true if start is unbounded
|
|
101
|
-
*/
|
|
102
|
-
isUnboundedStart() {
|
|
103
|
-
return this.start.equals(Instant.MIN);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Checks if the end of the interval is unbounded.
|
|
107
|
-
*
|
|
108
|
-
* @return true if end is unbounded
|
|
109
|
-
*/
|
|
110
|
-
isUnboundedEnd() {
|
|
111
|
-
return this.end.equals(Instant.MAX);
|
|
112
|
-
}
|
|
113
|
-
/***************************************************************************
|
|
114
|
-
* *
|
|
115
|
-
* Public API *
|
|
116
|
-
* *
|
|
117
|
-
**************************************************************************/
|
|
118
|
-
toDuration() {
|
|
119
|
-
return Duration.between(this.start, this.end);
|
|
120
|
-
}
|
|
121
|
-
toPeriodDuration(zone) {
|
|
122
|
-
return PeriodDuration.between(this.start.atZone(zone), this.end.atZone(zone));
|
|
123
|
-
}
|
|
124
|
-
toString() {
|
|
125
|
-
return this.toDurationString();
|
|
126
|
-
}
|
|
127
|
-
toInstantString() {
|
|
128
|
-
return this.start.toString() + '/' + this.end.toString();
|
|
129
|
-
}
|
|
130
|
-
toDurationString() {
|
|
131
|
-
return this.start.toString() + '/' + this.toDuration().toString();
|
|
132
|
-
}
|
|
133
|
-
/***************************************************************************
|
|
134
|
-
* *
|
|
135
|
-
* Public Modification API *
|
|
136
|
-
* *
|
|
137
|
-
**************************************************************************/
|
|
138
|
-
/**
|
|
139
|
-
* Returns a copy of this range with the specified start instant.
|
|
140
|
-
*
|
|
141
|
-
* @param start the start instant for the new interval, not null
|
|
142
|
-
* @return an interval with the end from this interval and the specified start
|
|
143
|
-
* @throws DateTimeException if the resulting interval has end before start
|
|
144
|
-
*/
|
|
145
|
-
withStart(start) {
|
|
146
|
-
return Interval.of(start, this.end);
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Returns a copy of this range with the specified end instant.
|
|
150
|
-
*
|
|
151
|
-
* @param end the end instant for the new interval, not null
|
|
152
|
-
* @return an interval with the start from this interval and the specified end
|
|
153
|
-
* @throws DateTimeException if the resulting interval has end before start
|
|
154
|
-
*/
|
|
155
|
-
withEnd(end) {
|
|
156
|
-
return Interval.of(this.start, end);
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Calculates the interval that is the intersection of this interval and the specified interval.
|
|
160
|
-
* <p>
|
|
161
|
-
* This finds the intersection of two intervals.
|
|
162
|
-
* This throws an exception if the two intervals are not {@linkplain #isConnected(Interval) connected}.
|
|
163
|
-
*
|
|
164
|
-
* @param other the other interval to check for, not null
|
|
165
|
-
* @return the interval that is the intersection of the two intervals
|
|
166
|
-
* @throws DateTimeException if the intervals do not connect
|
|
167
|
-
*/
|
|
168
|
-
intersection(other) {
|
|
169
|
-
if (this.isConnected(other) === false) {
|
|
170
|
-
throw new Error('Intervals do not connect: ' + this + ' and ' + other);
|
|
171
|
-
}
|
|
172
|
-
const cmpStart = this.start.compareTo(other.start);
|
|
173
|
-
const cmpEnd = this.end.compareTo(other.end);
|
|
174
|
-
if (cmpStart >= 0 && cmpEnd <= 0) {
|
|
175
|
-
return this;
|
|
176
|
-
}
|
|
177
|
-
else if (cmpStart <= 0 && cmpEnd >= 0) {
|
|
178
|
-
return other;
|
|
179
|
-
}
|
|
180
|
-
else {
|
|
181
|
-
const newStart = (cmpStart >= 0 ? this.start : other.start);
|
|
182
|
-
const newEnd = (cmpEnd <= 0 ? this.end : other.end);
|
|
183
|
-
return Interval.of(newStart, newEnd);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Calculates the interval that is the union of this interval and the specified interval.
|
|
188
|
-
* <p>
|
|
189
|
-
* This finds the union of two intervals.
|
|
190
|
-
* This throws an exception if the two intervals are not {@linkplain #isConnected(Interval) connected}.
|
|
191
|
-
*
|
|
192
|
-
* @param other the other interval to check for, not null
|
|
193
|
-
* @return the interval that is the union of the two intervals
|
|
194
|
-
* @throws DateTimeException if the intervals do not connect
|
|
195
|
-
*/
|
|
196
|
-
union(other) {
|
|
197
|
-
if (this.isConnected(other) === false) {
|
|
198
|
-
throw new Error('Intervals do not connect: ' + this + ' and ' + other);
|
|
199
|
-
}
|
|
200
|
-
const cmpStart = this.start.compareTo(other.start);
|
|
201
|
-
const cmpEnd = this.end.compareTo(other.end);
|
|
202
|
-
if (cmpStart >= 0 && cmpEnd <= 0) {
|
|
203
|
-
return other;
|
|
204
|
-
}
|
|
205
|
-
else if (cmpStart <= 0 && cmpEnd >= 0) {
|
|
206
|
-
return this;
|
|
207
|
-
}
|
|
208
|
-
else {
|
|
209
|
-
const newStart = (cmpStart >= 0 ? other.start : this.start);
|
|
210
|
-
const newEnd = (cmpEnd <= 0 ? other.end : this.end);
|
|
211
|
-
return Interval.of(newStart, newEnd);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* Calculates the smallest interval that encloses this interval and the specified interval.
|
|
216
|
-
* <p>
|
|
217
|
-
* The result of this method will {@linkplain #encloses(Interval) enclose}
|
|
218
|
-
* this interval and the specified interval.
|
|
219
|
-
*
|
|
220
|
-
* @param other the other interval to check for, not null
|
|
221
|
-
* @return the interval that spans the two intervals
|
|
222
|
-
*/
|
|
223
|
-
span(other) {
|
|
224
|
-
const cmpStart = this.start.compareTo(other.start);
|
|
225
|
-
const cmpEnd = this.end.compareTo(other.end);
|
|
226
|
-
const newStart = (cmpStart >= 0 ? other.start : this.start);
|
|
227
|
-
const newEnd = (cmpEnd <= 0 ? other.end : this.end);
|
|
228
|
-
return Interval.of(newStart, newEnd);
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Shift the whole interval by the given days period.
|
|
232
|
-
* @param days
|
|
233
|
-
*/
|
|
234
|
-
shiftDays(days) {
|
|
235
|
-
return this.shift(Period.ofDays(days));
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* Shift the whole interval by the given temporal amount.
|
|
239
|
-
* Note that only Period will account for zone specific things such as daylight savings.
|
|
240
|
-
* Use Duration only if you are below days.
|
|
241
|
-
* @param offset
|
|
242
|
-
*/
|
|
243
|
-
shift(offset) {
|
|
244
|
-
return Interval.of(this.start.plus(offset), this.end.plus(offset));
|
|
245
|
-
}
|
|
246
|
-
moveStart(offset) {
|
|
247
|
-
return Interval.of(this.start.plus(offset), this.end);
|
|
248
|
-
}
|
|
249
|
-
moveEnd(offset) {
|
|
250
|
-
return Interval.of(this.start, this.end.plus(offset));
|
|
251
|
-
}
|
|
252
|
-
/***************************************************************************
|
|
253
|
-
* *
|
|
254
|
-
* Interval Query API *
|
|
255
|
-
* *
|
|
256
|
-
**************************************************************************/
|
|
257
|
-
/**
|
|
258
|
-
* Checks if the given TimeFrame overlaps with this one.
|
|
259
|
-
*
|
|
260
|
-
* @param other TimeFrame to check against
|
|
261
|
-
* @return Returns {@code true} if the two candidates overlap, false otherwise
|
|
262
|
-
*/
|
|
263
|
-
overlaps(other) {
|
|
264
|
-
return other.equals(this) || (this.start.compareTo(other.end) < 0 && other.start.compareTo(this.end) < 0);
|
|
265
|
-
}
|
|
266
|
-
/**
|
|
267
|
-
* Checks it the given localDate overlaps with the given TimeFrame.
|
|
268
|
-
*
|
|
269
|
-
* @param timeFrame TimeFrame to check against
|
|
270
|
-
* @param localDate LocalDate to check
|
|
271
|
-
*/
|
|
272
|
-
overlapsWithLocalDate(localDate) {
|
|
273
|
-
return this.overlaps(Interval.ofDayDate(localDate));
|
|
274
|
-
}
|
|
275
|
-
/**
|
|
276
|
-
* Checks if this interval contains the specified instant.
|
|
277
|
-
* <p>
|
|
278
|
-
* This checks if the specified instant is within the bounds of this interval.
|
|
279
|
-
* If this range has an unbounded start then {@code contains(Instant#MIN)} returns true.
|
|
280
|
-
* If this range has an unbounded end then {@code contains(Instant#MAX)} returns true.
|
|
281
|
-
* If this range is empty then this method always returns false.
|
|
282
|
-
*
|
|
283
|
-
* @param instant the instant, not null
|
|
284
|
-
* @return true if this interval contains the instant
|
|
285
|
-
*/
|
|
286
|
-
contains(instant) {
|
|
287
|
-
return this.start.compareTo(instant) <= 0 && (instant.compareTo(this.end) < 0 || this.isUnboundedEnd());
|
|
288
|
-
}
|
|
289
|
-
/**
|
|
290
|
-
* Checks if this interval encloses the specified interval.
|
|
291
|
-
* <p>
|
|
292
|
-
* This checks if the bounds of the specified interval are within the bounds of this interval.
|
|
293
|
-
* An empty interval encloses itself.
|
|
294
|
-
*
|
|
295
|
-
* @param other the other interval, not null
|
|
296
|
-
* @return true if this interval contains the other interval
|
|
297
|
-
*/
|
|
298
|
-
encloses(other) {
|
|
299
|
-
return this.start.compareTo(other.start) <= 0 && other.end.compareTo(this.end) <= 0;
|
|
300
|
-
}
|
|
301
|
-
/**
|
|
302
|
-
* Checks if this interval abuts (is next to or has a common boundary with) the specified interval.
|
|
303
|
-
* <p>
|
|
304
|
-
* The result is true if the end of this interval is the start of the other, or vice versa.
|
|
305
|
-
* An empty interval does not abut itself.
|
|
306
|
-
*
|
|
307
|
-
* @param other the other interval, not null
|
|
308
|
-
* @return true if this interval abuts the other interval
|
|
309
|
-
*/
|
|
310
|
-
abuts(other) {
|
|
311
|
-
return this.end.equals(other.start) !== this.start.equals(other.end); // !== means XOR
|
|
312
|
-
}
|
|
313
|
-
/**
|
|
314
|
-
* Checks if this interval is connected to the specified interval.
|
|
315
|
-
* <p>
|
|
316
|
-
* The result is true if the two intervals have an enclosed interval in common, even if that interval is empty.
|
|
317
|
-
* An empty interval is connected to itself.
|
|
318
|
-
* <p>
|
|
319
|
-
* This is equivalent to {@code (overlaps(other) || abuts(other))}.
|
|
320
|
-
*
|
|
321
|
-
* @param other the other interval, not null
|
|
322
|
-
* @return true if this interval is connected to the other interval
|
|
323
|
-
*/
|
|
324
|
-
isConnected(other) {
|
|
325
|
-
return this.equals(other) || (this.start.compareTo(other.end) <= 0 && other.start.compareTo(this.end) <= 0);
|
|
326
|
-
}
|
|
327
|
-
// ---
|
|
328
|
-
/**
|
|
329
|
-
* Checks if this interval is after the specified instant.
|
|
330
|
-
* <p>
|
|
331
|
-
* The result is true if this instant starts after the specified instant.
|
|
332
|
-
* An empty interval behaves as though it is an instant for comparison purposes.
|
|
333
|
-
*
|
|
334
|
-
* @param instant the other instant to compare to, not null
|
|
335
|
-
* @return true if the start of this interval is after the specified instant
|
|
336
|
-
*/
|
|
337
|
-
isAfterInstant(instant) {
|
|
338
|
-
return this.start.compareTo(instant) > 0;
|
|
339
|
-
}
|
|
340
|
-
/**
|
|
341
|
-
* Checks if this interval is before the specified instant.
|
|
342
|
-
* <p>
|
|
343
|
-
* The result is true if this instant ends before the specified instant.
|
|
344
|
-
* Since intervals do not include their end points, this will return true if the
|
|
345
|
-
* instant equals the end of the interval.
|
|
346
|
-
* An empty interval behaves as though it is an instant for comparison purposes.
|
|
347
|
-
*
|
|
348
|
-
* @param instant the other instant to compare to, not null
|
|
349
|
-
* @return true if the start of this interval is before the specified instant
|
|
350
|
-
*/
|
|
351
|
-
isBeforeInstant(instant) {
|
|
352
|
-
return this.end.compareTo(instant) <= 0 && this.start.compareTo(instant) < 0;
|
|
353
|
-
}
|
|
354
|
-
/**
|
|
355
|
-
* Checks if this interval is after the specified interval.
|
|
356
|
-
* <p>
|
|
357
|
-
* The result is true if this instant starts after the end of the specified interval.
|
|
358
|
-
* Since intervals do not include their end points, this will return true if the
|
|
359
|
-
* instant equals the end of the interval.
|
|
360
|
-
* An empty interval behaves as though it is an instant for comparison purposes.
|
|
361
|
-
*
|
|
362
|
-
* @param interval the other interval to compare to, not null
|
|
363
|
-
* @return true if this instant is after the specified instant
|
|
364
|
-
*/
|
|
365
|
-
isAfter(interval) {
|
|
366
|
-
return this.start.compareTo(interval.end) >= 0 && !interval.equals(this);
|
|
367
|
-
}
|
|
368
|
-
/**
|
|
369
|
-
* Checks if this interval is before the specified interval.
|
|
370
|
-
* <p>
|
|
371
|
-
* The result is true if this instant ends before the start of the specified interval.
|
|
372
|
-
* Since intervals do not include their end points, this will return true if the
|
|
373
|
-
* two intervals abut.
|
|
374
|
-
* An empty interval behaves as though it is an instant for comparison purposes.
|
|
375
|
-
*
|
|
376
|
-
* @param interval the other interval to compare to, not null
|
|
377
|
-
* @return true if this instant is before the specified instant
|
|
378
|
-
*/
|
|
379
|
-
isBefore(interval) {
|
|
380
|
-
return this.end.compareTo(interval.start) <= 0 && !interval.equals(this);
|
|
381
|
-
}
|
|
382
|
-
/***************************************************************************
|
|
383
|
-
* *
|
|
384
|
-
* Equality & Hashcode *
|
|
385
|
-
* *
|
|
386
|
-
**************************************************************************/
|
|
387
|
-
/**
|
|
388
|
-
* Checks if this interval is equal to another interval.
|
|
389
|
-
* <p>
|
|
390
|
-
* Compares this {@code Interval} with another ensuring that the two instants are the same.
|
|
391
|
-
* Only objects of type {@code Interval} are compared, other types return false.
|
|
392
|
-
*
|
|
393
|
-
* @param obj the object to check, null returns false
|
|
394
|
-
* @return true if this is equal to the other interval
|
|
395
|
-
*/
|
|
396
|
-
equals(obj) {
|
|
397
|
-
if (this === obj) {
|
|
398
|
-
return true;
|
|
399
|
-
}
|
|
400
|
-
if (obj instanceof Interval) {
|
|
401
|
-
const other = obj;
|
|
402
|
-
return this.start.equals(other.start) && this.end.equals(other.end);
|
|
403
|
-
}
|
|
404
|
-
return false;
|
|
405
|
-
}
|
|
406
|
-
/**
|
|
407
|
-
* Compares this Interval to the given Interval.
|
|
408
|
-
* <p>
|
|
409
|
-
* The comparison is based on the time-line position of the lower bound instants (Interval start).
|
|
410
|
-
*
|
|
411
|
-
* @param other the other Interval to compare to, not null
|
|
412
|
-
* @return the comparator value, negative if less, positive if greater
|
|
413
|
-
* @throws NullPointerException if other is null
|
|
414
|
-
*/
|
|
415
|
-
compareTo(other) {
|
|
416
|
-
return this.start.compareTo(other.start);
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJ2YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21tb24vdGltZS9pbnRlcnZhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBa0IsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBUWpELE1BQU0sT0FBTyxRQUFRO0lBR25COzs7O2dGQUk0RTtJQUU1RSxZQUNrQixLQUFjLEVBQ2QsR0FBWTtRQURaLFVBQUssR0FBTCxLQUFLLENBQVM7UUFDZCxRQUFHLEdBQUgsR0FBRyxDQUFTO0lBQzFCLENBQUM7SUFFTDs7OztnRkFJNEU7SUFFNUU7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQ2pCLEdBQW1CO1FBRW5CLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFN0IsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxHQUFHLEdBQUcsQ0FBQyxDQUFDO1NBQ3pFO1FBRUQsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0QyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFeEIsc0VBQXNFO1FBRXRFLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lB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QUksR0FBRyxZQUFZLFFBQVEsRUFBRTtZQUMzQixNQUFNLEtBQUssR0FBYyxHQUFHLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3JFO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxTQUFTLENBQUMsS0FBZTtRQUM5QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGVVdGlsfSBmcm9tICcuL2RhdGUtdXRpbCc7XG5pbXBvcnQge0R1cmF0aW9uLCBJbnN0YW50LCBMb2NhbERhdGUsIG5hdGl2ZUpzLCBQZXJpb2QsIFRlbXBvcmFsQW1vdW50LCBab25lSWR9IGZyb20gJ0Bqcy1qb2RhL2NvcmUnO1xuaW1wb3J0IHtUaW1lVXRpbH0gZnJvbSAnLi90aW1lLXV0aWwnO1xuaW1wb3J0IHtQZXJpb2REdXJhdGlvbn0gZnJvbSAnLi9wZXJpb2QtZHVyYXRpb24nO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gSVNPLTg2MDEgaW50ZXJ2YWwgc3RyaW5nLlxuICogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPXzg2MDEjVGltZV9pbnRlcnZhbHNcbiAqL1xuZXhwb3J0IHR5cGUgSXNvSW50ZXJ2YWxTdHIgPSBzdHJpbmc7XG5cbmV4cG9ydCBjbGFzcyBJbnRlcnZhbCB7XG5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3RhcnQ6IEluc3RhbnQsXG4gICAgcHVibGljIHJlYWRvbmx5IGVuZDogSW5zdGFudFxuICApIHsgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBTdGF0aWMgQnVpbGRlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBQYXJzZXMgYW4gSVNPLTg2MDEgaW50ZXJ2YWwgc3RyaW5nLlxuICAgKiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNUaW1lX2ludGVydmFsc1xuICAgKiBAcGFyYW0gaXNvXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHBhcnNlKFxuICAgIGlzbzogSXNvSW50ZXJ2YWxTdHJcbiAgKTogSW50ZXJ2YWwge1xuICAgIGNvbnN0IHBhcnRzID0gaXNvLnNwbGl0KCcvJyk7XG5cbiAgICBpZiAocGFydHMubGVuZ3RoICE9PSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBnaXZlbiBzdHJpbmcgaXMgbm90IGEgdmFsaWQgaXNvIGludGVydmFsOiAnICsgaXNvKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydCA9IEluc3RhbnQucGFyc2UocGFydHNbMF0pO1xuXG4gICAgY29uc3QgZW5kU3RyID0gcGFydHNbMV07XG5cbiAgICAvLyBUaGUgJ2VuZCcgcGFydCBjYW4gZWl0aGVyIGJlIGFuIGluc3RhbnQgb3IgYSBkdXJhdGlvbiBpbiBpc28gZm9ybWF0XG5cbiAgICBpZiAoZW5kU3RyLnN0YXJ0c1dpdGgoJ1AnKSB8fCBlbmRTdHIuc3RhcnRzV2l0aCgnLVAnKSkge1xuXG4gICAgICBjb25zdCBkdXJhdGlvbiA9IER1cmF0aW9uLnBhcnNlKGVuZFN0cik7XG5cbiAgICAgIHJldHVybiBJbnRlcnZhbC5vZlN0YXJ0QW5kT2Zmc2V0KFxuICAgICAgICBzdGFydCxcbiAgICAgICAgZHVyYXRpb25cbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBJbnRlcnZhbC5vZihcbiAgICAgICAgc3RhcnQsXG4gICAgICAgIEluc3RhbnQucGFyc2UoZW5kU3RyKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHllc3RlcmRheSh6b25lSWQ6IFpvbmVJZCk6IEludGVydmFsIHtcbiAgICByZXR1cm4gSW50ZXJ2YWwub2ZEYXkoXG4gICAgICBMb2NhbERhdGUubm93KCkubWludXNEYXlzKDEpLFxuICAgICAgem9uZUlkXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgIHRvbW9ycm93KHpvbmVJZDogWm9uZUlkKTogSW50ZXJ2YWwge1xuICAgIHJldHVybiBJbnRlcnZhbC5vZkRheShcbiAgICAgIExvY2FsRGF0ZS5ub3coKS5wbHVzRGF5cygxKSxcbiAgICAgIHpvbmVJZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRvZGF5KHpvbmVJZDogWm9uZUlkKTogSW50ZXJ2YWwge1xuICAgIHJldHVybiBJbnRlcnZhbC5vZkRheShMb2NhbERhdGUubm93KCksIHpvbmVJZCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIEludGVydmFsIGZyb20gYSBEYXRlIGJ5IHNwcmVhZGluZyBpdCB0byB0aGUgYmVnaW4gYW5kIGVuZCBvZiBpdHMgZGF5LlxuICAgKiBAcGFyYW0gZGF0ZSBEYXRlIHRvIHNwcmVhZFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvZkRheURhdGUoZGF0ZTogRGF0ZSk6IEludGVydmFsIHtcbiAgICBjb25zdCBsb2NhbERhdGUgPSBMb2NhbERhdGUuZnJvbShuYXRpdmVKcyhkYXRlKSk7XG4gICAgcmV0dXJuIEludGVydmFsLm9mRGF5KGxvY2FsRGF0ZSwgWm9uZUlkLnN5c3RlbURlZmF1bHQoKSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIG9mRGF5KGRheTogTG9jYWxEYXRlLCB6b25lSWQ6IFpvbmVJZCk6IEludGVydmFsIHtcbiAgICByZXR1cm4gSW50ZXJ2YWwuYmV0d2VlbkRheXMoXG4gICAgICBkYXksXG4gICAgICBkYXkucGx1c0RheXMoMSksXG4gICAgICB6b25lSWRcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBiZXR3ZWVuRGF5cyhcbiAgICBzdGFydERheUluY2x1c2l2ZTogTG9jYWxEYXRlLFxuICAgIGVuZERheUV4Y2x1c2l2ZTogTG9jYWxEYXRlLFxuICAgIHpvbmVJZDogWm9uZUlkXG4gICkge1xuICAgIHJldHVybiBJbnRlcnZhbC5vZihcbiAgICAgIHN0YXJ0RGF5SW5jbHVzaXZlLmF0U3RhcnRPZkRheSh6b25lSWQpLnRvSW5zdGFudCgpLFxuICAgICAgZW5kRGF5RXhjbHVzaXZlLmF0U3RhcnRPZkRheSh6b25lSWQpLnRvSW5zdGFudCgpXG4gICAgKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBpbnRlcnZhbCB3aXRoIHRoZSBnaXZlbiBzdGFydCB0aW1lIHBvaW50XG4gICAqIGFuZCBhIG9mZnNldCBmcm9tIHRoZSBzdGFydC5cbiAgICpcbiAgICogTm90ZSB0aGF0IHlvdSBzaG91bGQgdXNlIFBlcmlvZCBmb3IgZGF5cyB0byBhY2NvdW50IGZvciB6b25lIHNwZWNpZmljXG4gICAqIHRoaW5ncyBsaWtlIGRheWxpZ2h0IHNhdmluZy5cbiAgICpcbiAgICogQHBhcmFtIHN0YXJ0SW5jbHVzaXZlXG4gICAqIEBwYXJhbSBvZmZzZXRFeGNsdXNpdmUgQSBQZXJpb2Qgb3IgRHVyYXRpb24gb2Zmc2V0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvZlN0YXJ0QW5kT2Zmc2V0KHN0YXJ0SW5jbHVzaXZlOiBJbnN0YW50LCBvZmZzZXRFeGNsdXNpdmU6IFRlbXBvcmFsQW1vdW50KTogSW50ZXJ2YWwge1xuICAgIHJldHVybiBJbnRlcnZhbC5vZihcbiAgICAgIHN0YXJ0SW5jbHVzaXZlLFxuICAgICAgc3RhcnRJbmNsdXNpdmUucGx1cyhvZmZzZXRFeGNsdXNpdmUpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgb2YoXG4gICAgc3RhcnRJbmNsdXNpdmU6IEluc3RhbnQsXG4gICAgZW5kRXhjbHVzaXZlOiBJbnN0YW50XG4gICk6IEludGVydmFsIHtcbiAgICByZXR1cm4gbmV3IEludGVydmFsKFxuICAgICAgc3RhcnRJbmNsdXNpdmUsXG4gICAgICBlbmRFeGNsdXNpdmVcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBvZkRhdGUoXG4gICAgc3RhcnRJbmNsdXNpdmU6IERhdGUgfCBzdHJpbmcsXG4gICAgZW5kRXhjbHVzaXZlOiBEYXRlIHwgc3RyaW5nXG4gICk6IEludGVydmFsIHtcbiAgICByZXR1cm4gbmV3IEludGVydmFsKFxuICAgICAgVGltZVV0aWwuaW5zdGFudChzdGFydEluY2x1c2l2ZSksXG4gICAgICBUaW1lVXRpbC5pbnN0YW50KGVuZEV4Y2x1c2l2ZSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgcmFuZ2UgaXMgZW1wdHkuXG4gICAqIDxwPlxuICAgKiBBbiBlbXB0eSByYW5nZSBvY2N1cnMgd2hlbiB0aGUgc3RhcnQgZGF0ZSBlcXVhbHMgdGhlIGluY2x1c2l2ZSBlbmQgZGF0ZS5cbiAgICpcbiAgICogQHJldHVybiB0cnVlIGlmIHRoZSByYW5nZSBpcyBlbXB0eVxuICAgKi9cbiAgcHVibGljIGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnQuZXF1YWxzKHRoaXMuZW5kKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIHN0YXJ0IG9mIHRoZSBpbnRlcnZhbCBpcyB1bmJvdW5kZWQuXG4gICAqXG4gICAqIEByZXR1cm4gdHJ1ZSBpZiBzdGFydCBpcyB1bmJvdW5kZWRcbiAgICovXG4gIHB1YmxpYyBpc1VuYm91bmRlZFN0YXJ0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXJ0LmVxdWFscyhJbnN0YW50Lk1JTik7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBlbmQgb2YgdGhlIGludGVydmFsIGlzIHVuYm91bmRlZC5cbiAgICpcbiAgICogQHJldHVybiB0cnVlIGlmIGVuZCBpcyB1bmJvdW5kZWRcbiAgICovXG4gIHB1YmxpYyBpc1VuYm91bmRlZEVuZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbmQuZXF1YWxzKEluc3RhbnQuTUFYKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyB0b0R1cmF0aW9uKCk6IER1cmF0aW9uIHtcbiAgICByZXR1cm4gRHVyYXRpb24uYmV0d2Vlbih0aGlzLnN0YXJ0LCB0aGlzLmVuZCk7XG4gIH1cblxuICBwdWJsaWMgdG9QZXJpb2REdXJhdGlvbih6b25lOiBab25lSWQpOiBQZXJpb2REdXJhdGlvbiB7XG4gICAgcmV0dXJuIFBlcmlvZER1cmF0aW9uLmJldHdlZW4oXG4gICAgICB0aGlzLnN0YXJ0LmF0Wm9uZSh6b25lKSxcbiAgICAgIHRoaXMuZW5kLmF0Wm9uZSh6b25lKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgdG9TdHJpbmcoKTogSXNvSW50ZXJ2YWxTdHIge1xuICAgIHJldHVybiB0aGlzLnRvRHVyYXRpb25TdHJpbmcoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b0luc3RhbnRTdHJpbmcoKTogSXNvSW50ZXJ2YWxTdHIge1xuICAgIHJldHVybiB0aGlzLnN0YXJ0LnRvU3RyaW5nKCkgKyAnLycgKyB0aGlzLmVuZC50b1N0cmluZygpO1xuICB9XG5cbiAgcHVibGljIHRvRHVyYXRpb25TdHJpbmcoKTogSXNvSW50ZXJ2YWxTdHIge1xuICAgIHJldHVybiB0aGlzLnN0YXJ0LnRvU3RyaW5nKCkgKyAnLycgKyB0aGlzLnRvRHVyYXRpb24oKS50b1N0cmluZygpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBNb2RpZmljYXRpb24gQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBjb3B5IG9mIHRoaXMgcmFuZ2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHN0YXJ0IGluc3RhbnQuXG4gICAqXG4gICAqIEBwYXJhbSBzdGFydCAgdGhlIHN0YXJ0IGluc3RhbnQgZm9yIHRoZSBuZXcgaW50ZXJ2YWwsIG5vdCBudWxsXG4gICAqIEByZXR1cm4gYW4gaW50ZXJ2YWwgd2l0aCB0aGUgZW5kIGZyb20gdGhpcyBpbnRlcnZhbCBhbmQgdGhlIHNwZWNpZmllZCBzdGFydFxuICAgKiBAdGhyb3dzIERhdGVUaW1lRXhjZXB0aW9uIGlmIHRoZSByZXN1bHRpbmcgaW50ZXJ2YWwgaGFzIGVuZCBiZWZvcmUgc3RhcnRcbiAgICovXG4gIHB1YmxpYyB3aXRoU3RhcnQoc3RhcnQ6IEluc3RhbnQpOiBJbnRlcnZhbCB7XG4gICAgcmV0dXJuIEludGVydmFsLm9mKHN0YXJ0LCB0aGlzLmVuZCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGNvcHkgb2YgdGhpcyByYW5nZSB3aXRoIHRoZSBzcGVjaWZpZWQgZW5kIGluc3RhbnQuXG4gICAqXG4gICAqIEBwYXJhbSBlbmQgIHRoZSBlbmQgaW5zdGFudCBmb3IgdGhlIG5ldyBpbnRlcnZhbCwgbm90IG51bGxcbiAgICogQHJldHVybiBhbiBpbnRlcnZhbCB3aXRoIHRoZSBzdGFydCBmcm9tIHRoaXMgaW50ZXJ2YWwgYW5kIHRoZSBzcGVjaWZpZWQgZW5kXG4gICAqIEB0aHJvd3MgRGF0ZVRpbWVFeGNlcHRpb24gaWYgdGhlIHJlc3VsdGluZyBpbnRlcnZhbCBoYXMgZW5kIGJlZm9yZSBzdGFydFxuICAgKi9cbiAgcHVibGljIHdpdGhFbmQoZW5kOiBJbnN0YW50KTogSW50ZXJ2YWwge1xuICAgIHJldHVybiBJbnRlcnZhbC5vZih0aGlzLnN0YXJ0LCBlbmQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGN1bGF0ZXMgdGhlIGludGVydmFsIHRoYXQgaXMgdGhlIGludGVyc2VjdGlvbiBvZiB0aGlzIGludGVydmFsIGFuZCB0aGUgc3BlY2lmaWVkIGludGVydmFsLlxuICAgKiA8cD5cbiAgICogVGhpcyBmaW5kcyB0aGUgaW50ZXJzZWN0aW9uIG9mIHR3byBpbnRlcnZhbHMuXG4gICAqIFRoaXMgdGhyb3dzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgdHdvIGludGVydmFscyBhcmUgbm90IHtAbGlua3BsYWluICNpc0Nvbm5lY3RlZChJbnRlcnZhbCkgY29ubmVjdGVkfS5cbiAgICpcbiAgICogQHBhcmFtIG90aGVyICB0aGUgb3RoZXIgaW50ZXJ2YWwgdG8gY2hlY2sgZm9yLCBub3QgbnVsbFxuICAgKiBAcmV0dXJuIHRoZSBpbnRlcnZhbCB0aGF0IGlzIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhlIHR3byBpbnRlcnZhbHNcbiAgICogQHRocm93cyBEYXRlVGltZUV4Y2VwdGlvbiBpZiB0aGUgaW50ZXJ2YWxzIGRvIG5vdCBjb25uZWN0XG4gICAqL1xuICBwdWJsaWMgaW50ZXJzZWN0aW9uKG90aGVyOiBJbnRlcnZhbCk6IEludGVydmFsIHtcbiAgICBpZiAodGhpcy5pc0Nvbm5lY3RlZChvdGhlcikgPT09IGZhbHNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludGVydmFscyBkbyBub3QgY29ubmVjdDogJyArIHRoaXMgKyAnIGFuZCAnICsgb3RoZXIpO1xuICAgIH1cbiAgICBjb25zdCBjbXBTdGFydCA9IHRoaXMuc3RhcnQuY29tcGFyZVRvKG90aGVyLnN0YXJ0KTtcbiAgICBjb25zdCBjbXBFbmQgPSB0aGlzLmVuZC5jb21wYXJlVG8ob3RoZXIuZW5kKTtcbiAgICBpZiAoY21wU3RhcnQgPj0gMCAmJiBjbXBFbmQgPD0gMCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSBlbHNlIGlmIChjbXBTdGFydCA8PSAwICYmIGNtcEVuZCA+PSAwKSB7XG4gICAgICByZXR1cm4gb3RoZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5ld1N0YXJ0ID0gKGNtcFN0YXJ0ID49IDAgPyB0aGlzLnN0YXJ0IDogb3RoZXIuc3RhcnQpO1xuICAgICAgY29uc3QgbmV3RW5kID0gKGNtcEVuZCA8PSAwID8gdGhpcy5lbmQgOiBvdGhlci5lbmQpO1xuICAgICAgcmV0dXJuIEludGVydmFsLm9mKG5ld1N0YXJ0LCBuZXdFbmQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIHRoZSBpbnRlcnZhbCB0aGF0IGlzIHRoZSB1bmlvbiBvZiB0aGlzIGludGVydmFsIGFuZCB0aGUgc3BlY2lmaWVkIGludGVydmFsLlxuICAgKiA8cD5cbiAgICogVGhpcyBmaW5kcyB0aGUgdW5pb24gb2YgdHdvIGludGVydmFscy5cbiAgICogVGhpcyB0aHJvd3MgYW4gZXhjZXB0aW9uIGlmIHRoZSB0d28gaW50ZXJ2YWxzIGFyZSBub3Qge0BsaW5rcGxhaW4gI2lzQ29ubmVjdGVkKEludGVydmFsKSBjb25uZWN0ZWR9LlxuICAgKlxuICAgKiBAcGFyYW0gb3RoZXIgIHRoZSBvdGhlciBpbnRlcnZhbCB0byBjaGVjayBmb3IsIG5vdCBudWxsXG4gICAqIEByZXR1cm4gdGhlIGludGVydmFsIHRoYXQgaXMgdGhlIHVuaW9uIG9mIHRoZSB0d28gaW50ZXJ2YWxzXG4gICAqIEB0aHJvd3MgRGF0ZVRpbWVFeGNlcHRpb24gaWYgdGhlIGludGVydmFscyBkbyBub3QgY29ubmVjdFxuICAgKi9cbiAgcHVibGljIHVuaW9uKG90aGVyOiBJbnRlcnZhbCk6IEludGVydmFsIHtcbiAgICBpZiAodGhpcy5pc0Nvbm5lY3RlZChvdGhlcikgPT09IGZhbHNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludGVydmFscyBkbyBub3QgY29ubmVjdDogJyArIHRoaXMgKyAnIGFuZCAnICsgb3RoZXIpO1xuICAgIH1cbiAgICBjb25zdCBjbXBTdGFydCA9IHRoaXMuc3RhcnQuY29tcGFyZVRvKG90aGVyLnN0YXJ0KTtcbiAgICBjb25zdCBjbXBFbmQgPSB0aGlzLmVuZC5jb21wYXJlVG8ob3RoZXIuZW5kKTtcbiAgICBpZiAoY21wU3RhcnQgPj0gMCAmJiBjbXBFbmQgPD0gMCkge1xuICAgICAgcmV0dXJuIG90aGVyO1xuICAgIH0gZWxzZSBpZiAoY21wU3RhcnQgPD0gMCAmJiBjbXBFbmQgPj0gMCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5ld1N0YXJ0ID0gKGNtcFN0YXJ0ID49IDAgPyBvdGhlci5zdGFydCA6IHRoaXMuc3RhcnQpO1xuICAgICAgY29uc3QgbmV3RW5kID0gKGNtcEVuZCA8PSAwID8gb3RoZXIuZW5kIDogdGhpcy5lbmQpO1xuICAgICAgcmV0dXJuIEludGVydmFsLm9mKG5ld1N0YXJ0LCBuZXdFbmQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIHRoZSBzbWFsbGVzdCBpbnRlcnZhbCB0aGF0IGVuY2xvc2VzIHRoaXMgaW50ZXJ2YWwgYW5kIHRoZSBzcGVjaWZpZWQgaW50ZXJ2YWwuXG4gICAqIDxwPlxuICAgKiBUaGUgcmVzdWx0IG9mIHRoaXMgbWV0aG9kIHdpbGwge0BsaW5rcGxhaW4gI2VuY2xvc2VzKEludGVydmFsKSBlbmNsb3NlfVxuICAgKiB0aGlzIGludGVydmFsIGFuZCB0aGUgc3BlY2lmaWVkIGludGVydmFsLlxuICAgKlxuICAgKiBAcGFyYW0gb3RoZXIgIHRoZSBvdGhlciBpbnRlcnZhbCB0byBjaGVjayBmb3IsIG5vdCBudWxsXG4gICAqIEByZXR1cm4gdGhlIGludGVydmFsIHRoYXQgc3BhbnMgdGhlIHR3byBpbnRlcnZhbHNcbiAgICovXG4gIHB1YmxpYyBzcGFuKG90aGVyOiBJbnRlcnZhbCk6IEludGVydmFsIHtcbiAgICBjb25zdCBjbXBTdGFydCA9IHRoaXMuc3RhcnQuY29tcGFyZVRvKG90aGVyLnN0YXJ0KTtcbiAgICBjb25zdCBjbXBFbmQgPSB0aGlzLmVuZC5jb21wYXJlVG8ob3RoZXIuZW5kKTtcbiAgICBjb25zdCBuZXdTdGFydCA9IChjbXBTdGFydCA+PSAwID8gb3RoZXIuc3RhcnQgOiB0aGlzLnN0YXJ0KTtcbiAgICBjb25zdCBuZXdFbmQgPSAoY21wRW5kIDw9IDAgPyBvdGhlci5lbmQgOiB0aGlzLmVuZCk7XG4gICAgcmV0dXJuIEludGVydmFsLm9mKG5ld1N0YXJ0LCBuZXdFbmQpO1xuICB9XG5cblxuICAvKipcbiAgICogU2hpZnQgdGhlIHdob2xlIGludGVydmFsIGJ5IHRoZSBnaXZlbiBkYXlzIHBlcmlvZC5cbiAgICogQHBhcmFtIGRheXNcbiAgICovXG4gIHB1YmxpYyBzaGlmdERheXMoZGF5czogbnVtYmVyKTogSW50ZXJ2YWwge1xuICAgIHJldHVybiB0aGlzLnNoaWZ0KFBlcmlvZC5vZkRheXMoZGF5cykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNoaWZ0IHRoZSB3aG9sZSBpbnRlcnZhbCBieSB0aGUgZ2l2ZW4gdGVtcG9yYWwgYW1vdW50LlxuICAgKiBOb3RlIHRoYXQgb25seSBQZXJpb2Qgd2lsbCBhY2NvdW50IGZvciB6b25lIHNwZWNpZmljIHRoaW5ncyBzdWNoIGFzIGRheWxpZ2h0IHNhdmluZ3MuXG4gICAqIFVzZSBEdXJhdGlvbiBvbmx5IGlmIHlvdSBhcmUgYmVsb3cgZGF5cy5cbiAgICogQHBhcmFtIG9mZnNldFxuICAgKi9cbiAgcHVibGljIHNoaWZ0KG9mZnNldDogVGVtcG9yYWxBbW91bnQpOiBJbnRlcnZhbCB7XG4gICAgcmV0dXJuIEludGVydmFsLm9mKFxuICAgICAgdGhpcy5zdGFydC5wbHVzKG9mZnNldCksXG4gICAgICB0aGlzLmVuZC5wbHVzKG9mZnNldClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG1vdmVTdGFydChvZmZzZXQ6IFRlbXBvcmFsQW1vdW50KTogSW50ZXJ2YWwge1xuICAgIHJldHVybiBJbnRlcnZhbC5vZihcbiAgICAgIHRoaXMuc3RhcnQucGx1cyhvZmZzZXQpLFxuICAgICAgdGhpcy5lbmRcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG1vdmVFbmQob2Zmc2V0OiBUZW1wb3JhbEFtb3VudCk6IEludGVydmFsIHtcbiAgICByZXR1cm4gSW50ZXJ2YWwub2YoXG4gICAgICB0aGlzLnN0YXJ0LFxuICAgICAgdGhpcy5lbmQucGx1cyhvZmZzZXQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBJbnRlcnZhbCBRdWVyeSBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gVGltZUZyYW1lIG92ZXJsYXBzIHdpdGggdGhpcyBvbmUuXG4gICAqXG4gICAqIEBwYXJhbSBvdGhlciBUaW1lRnJhbWUgdG8gY2hlY2sgYWdhaW5zdFxuICAgKiBAcmV0dXJuIFJldHVybnMge0Bjb2RlIHRydWV9IGlmIHRoZSB0d28gY2FuZGlkYXRlcyBvdmVybGFwLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHB1YmxpYyBvdmVybGFwcyhvdGhlcjogSW50ZXJ2YWwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gb3RoZXIuZXF1YWxzKHRoaXMpIHx8ICh0aGlzLnN0YXJ0LmNvbXBhcmVUbyhvdGhlci5lbmQpIDwgMCAmJiBvdGhlci5zdGFydC5jb21wYXJlVG8odGhpcy5lbmQpIDwgMCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGl0IHRoZSBnaXZlbiBsb2NhbERhdGUgb3ZlcmxhcHMgd2l0aCB0aGUgZ2l2ZW4gVGltZUZyYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gdGltZUZyYW1lIFRpbWVGcmFtZSB0byBjaGVjayBhZ2FpbnN0XG4gICAqIEBwYXJhbSBsb2NhbERhdGUgTG9jYWxEYXRlIHRvIGNoZWNrXG4gICAqL1xuICBwdWJsaWMgb3ZlcmxhcHNXaXRoTG9jYWxEYXRlKFxuICAgIGxvY2FsRGF0ZTogRGF0ZVxuICApOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vdmVybGFwcyhJbnRlcnZhbC5vZkRheURhdGUobG9jYWxEYXRlKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoaXMgaW50ZXJ2YWwgY29udGFpbnMgdGhlIHNwZWNpZmllZCBpbnN0YW50LlxuICAgKiA8cD5cbiAgICogVGhpcyBjaGVja3MgaWYgdGhlIHNwZWNpZmllZCBpbnN0YW50IGlzIHdpdGhpbiB0aGUgYm91bmRzIG9mIHRoaXMgaW50ZXJ2YWwuXG4gICAqIElmIHRoaXMgcmFuZ2UgaGFzIGFuIHVuYm91bmRlZCBzdGFydCB0aGVuIHtAY29kZSBjb250YWlucyhJbnN0YW50I01JTil9IHJldHVybnMgdHJ1ZS5cbiAgICogSWYgdGhpcyByYW5nZSBoYXMgYW4gdW5ib3VuZGVkIGVuZCB0aGVuIHtAY29kZSBjb250YWlucyhJbnN0YW50I01BWCl9IHJldHVybnMgdHJ1ZS5cbiAgICogSWYgdGhpcyByYW5nZSBpcyBlbXB0eSB0aGVuIHRoaXMgbWV0aG9kIGFsd2F5cyByZXR1cm5zIGZhbHNlLlxuICAgKlxuICAgKiBAcGFyYW0gaW5zdGFudCAgdGhlIGluc3RhbnQsIG5vdCBudWxsXG4gICAqIEByZXR1cm4gdHJ1ZSBpZiB0aGlzIGludGVydmFsIGNvbnRhaW5zIHRoZSBpbnN0YW50XG4gICAqL1xuICBwdWJsaWMgIGNvbnRhaW5zKGluc3RhbnQ6IEluc3RhbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGFydC5jb21wYXJlVG8oaW5zdGFudCkgPD0gMCAmJiAoaW5zdGFudC5jb21wYXJlVG8odGhpcy5lbmQpIDwgMCB8fCB0aGlzLmlzVW5ib3VuZGVkRW5kKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGlzIGludGVydmFsIGVuY2xvc2VzIHRoZSBzcGVjaWZpZWQgaW50ZXJ2YWwuXG4gICAqIDxwPlxuICAgKiBUaGlzIGNoZWNrcyBpZiB0aGUgYm91bmRzIG9mIHRoZSBzcGVjaWZpZWQgaW50ZXJ2YWwgYXJlIHdpdGhpbiB0aGUgYm91bmRzIG9mIHRoaXMgaW50ZXJ2YWwuXG4gICAqIEFuIGVtcHR5IGludGVydmFsIGVuY2xvc2VzIGl0c2VsZi5cbiAgICpcbiAgICogQHBhcmFtIG90aGVyICB0aGUgb3RoZXIgaW50ZXJ2YWwsIG5vdCBudWxsXG4gICAqIEByZXR1cm4gdHJ1ZSBpZiB0aGlzIGludGVydmFsIGNvbnRhaW5zIHRoZSBvdGhlciBpbnRlcnZhbFxuICAgKi9cbiAgcHVibGljIGVuY2xvc2VzKG90aGVyOiBJbnRlcnZhbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXJ0LmNvbXBhcmVUbyhvdGhlci5zdGFydCkgPD0gMCAmJiBvdGhlci5lbmQuY29tcGFyZVRvKHRoaXMuZW5kKSA8PSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGlzIGludGVydmFsIGFidXRzIChpcyBuZXh0IHRvIG9yIGhhcyBhIGNvbW1vbiBib3VuZGFyeSB3aXRoKSB0aGUgc3BlY2lmaWVkIGludGVydmFsLlxuICAgKiA8cD5cbiAgICogVGhlIHJlc3VsdCBpcyB0cnVlIGlmIHRoZSBlbmQgb2YgdGhpcyBpbnRlcnZhbCBpcyB0aGUgc3RhcnQgb2YgdGhlIG90aGVyLCBvciB2aWNlIHZlcnNhLlxuICAgKiBBbiBlbXB0eSBpbnRlcnZhbCBkb2VzIG5vdCBhYnV0IGl0c2VsZi5cbiAgICpcbiAgICogQHBhcmFtIG90aGVyICB0aGUgb3RoZXIgaW50ZXJ2YWwsIG5vdCBudWxsXG4gICAqIEByZXR1cm4gdHJ1ZSBpZiB0aGlzIGludGVydmFsIGFidXRzIHRoZSBvdGhlciBpbnRlcnZhbFxuICAgKi9cbiAgcHVibGljIGFidXRzKG90aGVyOiBJbnRlcnZhbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVuZC5lcXVhbHMob3RoZXIuc3RhcnQpICE9PSB0aGlzLnN0YXJ0LmVxdWFscyhvdGhlci5lbmQpOyAvLyAhPT0gbWVhbnMgWE9SXG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoaXMgaW50ZXJ2YWwgaXMgY29ubmVjdGVkIHRvIHRoZSBzcGVjaWZpZWQgaW50ZXJ2YWwuXG4gICAqIDxwPlxuICAgKiBUaGUgcmVzdWx0IGlzIHRydWUgaWYgdGhlIHR3byBpbnRlcnZhbHMgaGF2ZSBhbiBlbmNsb3NlZCBpbnRlcnZhbCBpbiBjb21tb24sIGV2ZW4gaWYgdGhhdCBpbnRlcnZhbCBpcyBlbXB0eS5cbiAgICogQW4gZW1wdHkgaW50ZXJ2YWwgaXMgY29ubmVjdGVkIHRvIGl0c2VsZi5cbiAgICogPHA+XG4gICAqIFRoaXMgaXMgZXF1aXZhbGVudCB0byB7QGNvZGUgKG92ZXJsYXBzKG90aGVyKSB8fCBhYnV0cyhvdGhlcikpfS5cbiAgICpcbiAgICogQHBhcmFtIG90aGVyICB0aGUgb3RoZXIgaW50ZXJ2YWwsIG5vdCBudWxsXG4gICAqIEByZXR1cm4gdHJ1ZSBpZiB0aGlzIGludGVydmFsIGlzIGNvbm5lY3RlZCB0byB0aGUgb3RoZXIgaW50ZXJ2YWxcbiAgICovXG4gIHB1YmxpYyBpc0Nvbm5lY3RlZChvdGhlcjogSW50ZXJ2YWwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lcXVhbHMob3RoZXIpIHx8ICh0aGlzLnN0YXJ0LmNvbXBhcmVUbyhvdGhlci5lbmQpIDw9IDAgJiYgb3RoZXIuc3RhcnQuY29tcGFyZVRvKHRoaXMuZW5kKSA8PSAwKTtcbiAgfVxuXG4gIC8vIC0tLVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhpcyBpbnRlcnZhbCBpcyBhZnRlciB0aGUgc3BlY2lmaWVkIGluc3RhbnQuXG4gICAqIDxwPlxuICAgKiBUaGUgcmVzdWx0IGlzIHRydWUgaWYgdGhpcyBpbnN0YW50IHN0YXJ0cyBhZnRlciB0aGUgc3BlY2lmaWVkIGluc3RhbnQuXG4gICAqIEFuIGVtcHR5IGludGVydmFsIGJlaGF2ZXMgYXMgdGhvdWdoIGl0IGlzIGFuIGluc3RhbnQgZm9yIGNvbXBhcmlzb24gcHVycG9zZXMuXG4gICAqXG4gICAqIEBwYXJhbSBpbnN0YW50ICB0aGUgb3RoZXIgaW5zdGFudCB0byBjb21wYXJlIHRvLCBub3QgbnVsbFxuICAgKiBAcmV0dXJuIHRydWUgaWYgdGhlIHN0YXJ0IG9mIHRoaXMgaW50ZXJ2YWwgaXMgYWZ0ZXIgdGhlIHNwZWNpZmllZCBpbnN0YW50XG4gICAqL1xuICBwdWJsaWMgaXNBZnRlckluc3RhbnQoaW5zdGFudDogSW5zdGFudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXJ0LmNvbXBhcmVUbyhpbnN0YW50KSA+IDA7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoaXMgaW50ZXJ2YWwgaXMgYmVmb3JlIHRoZSBzcGVjaWZpZWQgaW5zdGFudC5cbiAgICogPHA+XG4gICAqIFRoZSByZXN1bHQgaXMgdHJ1ZSBpZiB0aGlzIGluc3RhbnQgZW5kcyBiZWZvcmUgdGhlIHNwZWNpZmllZCBpbnN0YW50LlxuICAgKiBTaW5jZSBpbnRlcnZhbHMgZG8gbm90IGluY2x1ZGUgdGhlaXIgZW5kIHBvaW50cywgdGhpcyB3aWxsIHJldHVybiB0cnVlIGlmIHRoZVxuICAgKiBpbnN0YW50IGVxdWFscyB0aGUgZW5kIG9mIHRoZSBpbnRlcnZhbC5cbiAgICogQW4gZW1wdHkgaW50ZXJ2YWwgYmVoYXZlcyBhcyB0aG91Z2ggaXQgaXMgYW4gaW5zdGFudCBmb3IgY29tcGFyaXNvbiBwdXJwb3Nlcy5cbiAgICpcbiAgICogQHBhcmFtIGluc3RhbnQgIHRoZSBvdGhlciBpbnN0YW50IHRvIGNvbXBhcmUgdG8sIG5vdCBudWxsXG4gICAqIEByZXR1cm4gdHJ1ZSBpZiB0aGUgc3RhcnQgb2YgdGhpcyBpbnRlcnZhbCBpcyBiZWZvcmUgdGhlIHNwZWNpZmllZCBpbnN0YW50XG4gICAqL1xuICBwdWJsaWMgaXNCZWZvcmVJbnN0YW50KGluc3RhbnQ6IEluc3RhbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbmQuY29tcGFyZVRvKGluc3RhbnQpIDw9IDAgJiYgdGhpcy5zdGFydC5jb21wYXJlVG8oaW5zdGFudCkgPCAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGlzIGludGVydmFsIGlzIGFmdGVyIHRoZSBzcGVjaWZpZWQgaW50ZXJ2YWwuXG4gICAqIDxwPlxuICAgKiBUaGUgcmVzdWx0IGlzIHRydWUgaWYgdGhpcyBpbnN0YW50IHN0YXJ0cyBhZnRlciB0aGUgZW5kIG9mIHRoZSBzcGVjaWZpZWQgaW50ZXJ2YWwuXG4gICAqIFNpbmNlIGludGVydmFscyBkbyBub3QgaW5jbHVkZSB0aGVpciBlbmQgcG9pbnRzLCB0aGlzIHdpbGwgcmV0dXJuIHRydWUgaWYgdGhlXG4gICAqIGluc3RhbnQgZXF1YWxzIHRoZSBlbmQgb2YgdGhlIGludGVydmFsLlxuICAgKiBBbiBlbXB0eSBpbnRlcnZhbCBiZWhhdmVzIGFzIHRob3VnaCBpdCBpcyBhbiBpbnN0YW50IGZvciBjb21wYXJpc29uIHB1cnBvc2VzLlxuICAgKlxuICAgKiBAcGFyYW0gaW50ZXJ2YWwgIHRoZSBvdGhlciBpbnRlcnZhbCB0byBjb21wYXJlIHRvLCBub3QgbnVsbFxuICAgKiBAcmV0dXJuIHRydWUgaWYgdGhpcyBpbnN0YW50IGlzIGFmdGVyIHRoZSBzcGVjaWZpZWQgaW5zdGFudFxuICAgKi9cbiAgcHVibGljIGlzQWZ0ZXIoaW50ZXJ2YWw6IEludGVydmFsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnQuY29tcGFyZVRvKGludGVydmFsLmVuZCkgPj0gMCAmJiAhaW50ZXJ2YWwuZXF1YWxzKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGlzIGludGVydmFsIGlzIGJlZm9yZSB0aGUgc3BlY2lmaWVkIGludGVydmFsLlxuICAgKiA8cD5cbiAgICogVGhlIHJlc3VsdCBpcyB0cnVlIGlmIHRoaXMgaW5zdGFudCBlbmRzIGJlZm9yZSB0aGUgc3RhcnQgb2YgdGhlIHNwZWNpZmllZCBpbnRlcnZhbC5cbiAgICogU2luY2UgaW50ZXJ2YWxzIGRvIG5vdCBpbmNsdWRlIHRoZWlyIGVuZCBwb2ludHMsIHRoaXMgd2lsbCByZXR1cm4gdHJ1ZSBpZiB0aGVcbiAgICogdHdvIGludGVydmFscyBhYnV0LlxuICAgKiBBbiBlbXB0eSBpbnRlcnZhbCBiZWhhdmVzIGFzIHRob3VnaCBpdCBpcyBhbiBpbnN0YW50IGZvciBjb21wYXJpc29uIHB1cnBvc2VzLlxuICAgKlxuICAgKiBAcGFyYW0gaW50ZXJ2YWwgIHRoZSBvdGhlciBpbnRlcnZhbCB0byBjb21wYXJlIHRvLCBub3QgbnVsbFxuICAgKiBAcmV0dXJuIHRydWUgaWYgdGhpcyBpbnN0YW50IGlzIGJlZm9yZSB0aGUgc3BlY2lmaWVkIGluc3RhbnRcbiAgICovXG4gIHB1YmxpYyBpc0JlZm9yZShpbnRlcnZhbDogSW50ZXJ2YWwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbmQuY29tcGFyZVRvKGludGVydmFsLnN0YXJ0KSA8PSAwICYmICFpbnRlcnZhbC5lcXVhbHModGhpcyk7XG4gIH1cblxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBFcXVhbGl0eSAmIEhhc2hjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhpcyBpbnRlcnZhbCBpcyBlcXVhbCB0byBhbm90aGVyIGludGVydmFsLlxuICAgKiA8cD5cbiAgICogQ29tcGFyZXMgdGhpcyB7QGNvZGUgSW50ZXJ2YWx9IHdpdGggYW5vdGhlciBlbnN1cmluZyB0aGF0IHRoZSB0d28gaW5zdGFudHMgYXJlIHRoZSBzYW1lLlxuICAgKiBPbmx5IG9iamVjdHMgb2YgdHlwZSB7QGNvZGUgSW50ZXJ2YWx9IGFyZSBjb21wYXJlZCwgb3RoZXIgdHlwZXMgcmV0dXJuIGZhbHNlLlxuICAgKlxuICAgKiBAcGFyYW0gb2JqICB0aGUgb2JqZWN0IHRvIGNoZWNrLCBudWxsIHJldHVybnMgZmFsc2VcbiAgICogQHJldHVybiB0cnVlIGlmIHRoaXMgaXMgZXF1YWwgdG8gdGhlIG90aGVyIGludGVydmFsXG4gICAqL1xuICBwdWJsaWMgZXF1YWxzKG9iajogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMgPT09IG9iaikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChvYmogaW5zdGFuY2VvZiBJbnRlcnZhbCkge1xuICAgICAgY29uc3Qgb3RoZXIgPSA8SW50ZXJ2YWw+IG9iajtcbiAgICAgIHJldHVybiB0aGlzLnN0YXJ0LmVxdWFscyhvdGhlci5zdGFydCkgJiYgdGhpcy5lbmQuZXF1YWxzKG90aGVyLmVuZCk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wYXJlcyB0aGlzIEludGVydmFsIHRvIHRoZSBnaXZlbiBJbnRlcnZhbC5cbiAgICogPHA+XG4gICAqIFRoZSBjb21wYXJpc29uIGlzIGJhc2VkIG9uIHRoZSB0aW1lLWxpbmUgcG9zaXRpb24gb2YgdGhlIGxvd2VyIGJvdW5kIGluc3RhbnRzIChJbnRlcnZhbCBzdGFydCkuXG4gICAqXG4gICAqIEBwYXJhbSBvdGhlciB0aGUgb3RoZXIgSW50ZXJ2YWwgdG8gY29tcGFyZSB0bywgbm90IG51bGxcbiAgICogQHJldHVybiB0aGUgY29tcGFyYXRvciB2YWx1ZSwgbmVnYXRpdmUgaWYgbGVzcywgcG9zaXRpdmUgaWYgZ3JlYXRlclxuICAgKiBAdGhyb3dzIE51bGxQb2ludGVyRXhjZXB0aW9uIGlmIG90aGVyIGlzIG51bGxcbiAgICovXG4gIHB1YmxpYyBjb21wYXJlVG8ob3RoZXI6IEludGVydmFsKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdGFydC5jb21wYXJlVG8ob3RoZXIuc3RhcnQpO1xuICB9XG5cblxufVxuIl19
|